Combined Code
// unknown tag 88 length 4
button 9 {
on (release) {
play();
_parent.magicGraphics.play();
}
}
movieClip 10 scanBox {
frame 1 {
_alpha = 20;
}
frame 2 {
_alpha = 40;
}
frame 3 {
_alpha = 60;
}
frame 4 {
_alpha = 80;
}
frame 5 {
_alpha = 100;
stop();
}
frame 6 {
_alpha = 80;
}
frame 7 {
_alpha = 60;
}
frame 8 {
_alpha = 40;
}
frame 9 {
_alpha = 20;
}
frame 10 {
this.removeMovieClip();
}
}
movieClip 14 minishine {
frame 6 {
this.removeMovieClip();
}
frame 13 {
this.removeMovieClip();
}
}
movieClip 16 fire {
frame 26 {
this.removeMovieClip();
}
}
movieClip 18 {
}
movieClip 40 {
}
movieClip 51 {
frame 1 {
gotoAndStop(_parent.monster);
}
}
movieClip 53 splatter {
frame 1 {
this._xscale /= 2;
this._yscale /= 2;
this._x += 41;
this._y -= 2;
b = 0;
while (b < 20) {
attachMovie('chunk', 'chunk' + b, b);
this['chunk' + b]._rotation += random(360);
scale = (50 + random(100)) / 2;
this['chunk' + b]._xscale = scale;
this['chunk' + b]._yscale = scale;
++b;
}
}
frame 18 {
this.removeMovieClip();
}
}
movieClip 55 {
}
movieClip 61 {
frame 1 {
gotoAndStop(_parent.monster);
}
}
button 64 {
on (press) {
kill();
}
}
movieClip 65 slime drop {
frame 1 {
function kill() {
_parent.attachMovie('splatter', 'splat' + ID, ID + 1);
_parent['splat' + ID]._x = slime._x / 2 + this._x;
_parent['splat' + ID]._y = slime._y / 2 + this._y + 37;
_parent['splat' + ID].monster = monster;
_parent.removeSlime(_name);
hitbox.swapDepths(9999);
slime.swapDepths(9999);
slime.swapDepths(9999);
tail.swapDepths(9999);
hitbox.removeMovieClip();
shade.removeMovieClip();
slime.removeMovieClip();
tail.removeMovieClip();
}
monster = random(17) + 1;
_visible = false;
}
frame 2 {
_visible = true;
}
frame 90 {
gotoAndPlay('stand');
}
}
movieClip 71 {
frame 1 {
gotoAndStop(random(8) + 1);
}
}
movieClip 72 {
}
movieClip 73 fallingrock {
}
movieClip 81 beachItem {
frame 1 {
stop();
}
}
movieClip 114 {
frame 1 {
gotoAndStop(_parent._parent.hair);
}
}
movieClip 148 NPChair {
frame 1 {
gotoAndStop(_parent.hair);
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 195 NPChold {
frame 1 {
gotoAndStop(_parent.hold);
}
}
movieClip 202 {
}
movieClip 237 NPChat {
frame 1 {
gotoAndStop(_parent.hat);
}
frame 7 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 248 NPCglasses {
frame 1 {
gotoAndStop(_parent.glasses);
}
}
movieClip 255 {
frame 1 {
gotoAndStop(_parent._parent.beard);
}
}
movieClip 264 NPCbeard {
frame 1 {
gotoAndStop(_parent.beard);
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 317 NPCemote {
frame 1 {
gotoAndStop(_parent.emote);
}
}
movieClip 328 {
}
movieClip 332 {
}
movieClip 334 NPCrace {
frame 1 {
gotoAndStop(_parent.race);
}
frame 11 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
frame 12 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
frame 13 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 347 {
frame 1 {
gotoAndStop(_parent._parent.race);
}
}
movieClip 415 {
frame 1 {
gotoAndStop(_parent._parent.race);
}
}
movieClip 418 {
}
movieClip 421 NPCbody {
frame 1 {
gotoAndStop(_parent.body);
}
frame 61 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
frame 62 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 432 NPChold2 {
frame 1 {
gotoAndStop(_parent.hold2);
}
}
movieClip 445 {
frame 1 {
gotoAndStop(_parent._parent.race);
}
}
movieClip 464 NPCshoes {
frame 1 {
gotoAndStop(_parent.shoes);
}
}
movieClip 503 {
}
movieClip 506 NPCback {
frame 1 {
gotoAndStop(_parent.back);
}
frame 39 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
frame 40 {
var hairdye = new Color('hair');
hairdye.setRGB(_parent.hairColors[_parent.dye]);
}
}
movieClip 515 {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (2892 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -160 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 121;
+= 93;
+= 246;
-= 382;
-= 147;
+= 208;
+= 89;
-= 786;
+= 713;
+= 421;
+= 632;
+= 170;
-= 505;
-= 131;
+= 308;
var = 1;
-= 763;
-= 219;
-= 263;
+= 510;
+= 775;
-= 327;
+= 46;
-= 421;
+= 250;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!= 177;
true;
'';
eval(!true);
true;
}
}
movieClip 517 {
frame 10 {
stop();
}
}
movieClip 519 {
frame 37 {
_parent.setGotoFrame('done');
stop();
}
}
movieClip 521 {
}
movieClip 523 NewgroundsAPIAsset_Medal_Icon_Placeholder {
}
movieClip 531 NewgroundsAPIAsset_Medal_Popup {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (737 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 9 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 132;
-= 891;
var eval( != 235) = true;
+= 345;
+= 166;
// An attempt to read a value from empty stack
+= 77;
+= 206;
-= 422;
-= 355;
-= 135;
-= 235;
-= 105;
-= 669;
+= 29;
-= 171;
-= 128;
+= 953;
-= 490;
+= 556;
-= 54;
-= 408;
+= 401;
+= 185;
+= 252;
+= 541;
+= 568;
-= 293;
-= 318;
-= 688;
-= 425;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!undefined;
true;
true;
'';
true;
'';
eval(1);
}
frame 2 {
medal.attachIcon(icon);
}
frame 10 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (2142 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 78 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 609;
+= 436;
+= 231;
+= 5;
+= 93;
+= 176;
+= 286;
-= 784;
+= 356;
+= 909;
-= 455;
+= 716;
-= 447;
+= 515;
+= 342;
+= 890;
-= 600;
-= 210;
var eval(1) = true;
-= 347;
-= 25;
-= 224;
-= 252;
-= 791;
-= 170;
-= 121;
-= 150;
-= 549;
-= 124;
-= 859;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!= 176;
true;
!true;
true;
'';
;
}
frame 21 {
this.removeMovieClip();
_visible = false;
stop();
}
}
movieClip 537 NewgroundsAPIAsset_Login_Warning {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (2309 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 253 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
-= 105;
+= 855;
+= 520;
+= 184;
-= 889;
-= 443;
var eval(true) = '';
-= 669;
-= 472;
+= 117;
+= 423;
+= 503;
-= 308;
+= 574;
-= 739;
+= 231;
-= 419;
+= 63;
-= 24;
+= 346;
-= 46;
+= 151;
+= 275;
-= 2;
-= 338;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
eval( != 518);
'';
!1;
true;
true;
}
frame 10 {
stop();
}
frame 21 {
this.removeMovieClip();
_visible = false;
stop();
}
}
movieClip 540 NewgroundsAPIAsset_Connection_Error {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (1793 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 705 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
-= 568;
+= 3;
-= 156;
+= 917;
-= 334;
+= 421;
-= 509;
+= 266;
+= 482;
+= 39;
+= 216;
-= 595;
var = eval(!1);
-= 616;
-= 339;
+= 62;
-= 73;
-= 724;
+= 346;
-= 468;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!= 965;
true;
true;
'';
}
frame 10 {
stop();
}
frame 21 {
this.removeMovieClip();
_visible = false;
stop();
}
}
movieClip 542 {
}
movieClip 544 {
}
movieClip 546 {
}
movieClip 548 {
}
movieClip 550 {
}
movieClip 552 {
}
movieClip 554 {
}
movieClip 556 {
}
movieClip 558 {
}
movieClip 560 {
}
movieClip 561 NewgroundsAPIAsset_big_popup_background {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (827 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 669 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
-= 86;
+= 812;
+= 156;
-= 229;
-= 400;
-= 450;
+= 77;
-= 377;
+= 565;
-= 221;
-= 116;
-= 534;
+= 234;
-= 553;
+= 145;
-= 96;
+= 96;
+= 666;
+= 162;
+= 199;
+= 165;
-= 47;
-= 105;
+= 166;
var = 1;
-= 111;
-= 30;
+= 364;
-= 18;
-= 779;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!= 985;
!true;
true;
true;
true;
;
}
}
button 565 {
on (release) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (2726 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 118 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 703;
-= 63;
+= 37;
-= 852;
-= 553;
-= 15;
+= 840;
+= 107;
-= 319;
-= 280;
-= 74;
+= 115;
+= 315;
+= 448;
+= 215;
-= 481;
-= 40;
-= 136;
+= 357;
+= 53;
-= 355;
var eval(true) = true;
-= 221;
-= 732;
+= 183;
-= 21;
-= 243;
+= 530;
+= 682;
-= 833;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
!= 289;
eval(!true);
true;
'';
'';
1;
}
}
button 571 {
on (release) {
getURL(official_version_url, '_blank');
}
}
movieClip 573 NewgroundsAsset_New_Version_Available {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (980 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -291 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 237;
+= 80;
-= 86;
-= 744;
-= 541;
+= 96;
+= 723;
-= 947;
var eval( != 178) = eval(!true);
+= 553;
+= 317;
+= 419;
+= 713;
+= 16;
-= 541;
+= 471;
-= 807;
+= 75;
-= 332;
-= 116;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
'';
1;
true;
'';
}
}
button 574 {
on (release) {
getURL(official_version_url, '_blank');
}
}
movieClip 578 NewgroundsAsset_Illegal_Host {
frame 1 {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
Unknown action: 0xfc
function () {
= (2307 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -142 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 383;
+= 45;
+= 276;
-= 104;
var eval( != 121) = !true;
+= 305;
+= 176;
+= 243;
+= 6;
-= 560;
+= 388;
+= 359;
+= 409;
-= 527;
+= 561;
-= 903;
-= 615;
-= 315;
+= 89;
-= 203;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
'';
eval(true);
'';
1;
}
}
movieClip 579 API Connector (NewgroundsAPI) {
#initclip
Object.registerClass('API Connector (NewgroundsAPI)', com.newgrounds.components.APIConnector);
#endinitclip
frame 20 {
_visible = false;
}
}
frame 1 {
}
frame 1 {
function saveOptions() {
trace('Saving Options...');
var v2 = SharedObject.getLocal('EBF3options');
v2.data.flag = 'derp';
v2.data.musicVolume = _global.musicVolume;
v2.data.soundVolume = _global.soundVolume;
v2.data.rootVolume = _global.rootVolume;
v2.data.gameSpeed = _global.gameSpeed;
v2.data.stageQuality = _quality;
v2.flush();
}
function loadOptions() {
trace('Loading Options...');
var v2 = SharedObject.getLocal('EBF3options');
if (v2.data.flag != 'derp') {
trace('No data to laod!');
return undefined;
}
_global.musicVolume = v2.data.musicVolume;
if (_global.musicVolume == 'Off') {
musicVolume = 0;
}
_global.soundVolume = v2.data.soundVolume;
if (_global.soundVolume == 'Off') {
sound.setVolume(0);
_global.soundVolume = 'Off';
}
_global.rootVolume = v2.data.rootVolume;
if (_global.rootVolume == undefined) {
_global.rootVolume = 60;
}
if (_global.soundVolume == 'On') {
sound.setVolume(_global.rootVolume);
}
_global.gameSpeed = v2.data.gameSpeed;
if (_global.gameSpeed == 'FrameSkip') {
frameskipper.gotoAndStop(2);
}
_quality = v2.data.stageQuality;
}
function resetSpeed() {}
var kongregate = _global.kongregate;
kongregate.services.connect();
sound = new Sound();
_root.musicVolume = 100;
trace('Options init');
_global.musicVolume = 'On';
_global.soundVolume = 'On';
_global.windowSize = 'Small';
_global.gameSpeed = 'x1.0';
_global.fullscreenMode = 'Off';
_global.rootVolume = 60;
sound.setVolume(_global.rootVolume);
_root.musicVolume = 100;
loadOptions();
frameskipper.swapDepths(1000002);
}
frame 1 {
function deadClick() {}
function gotoMySite() {
getURL('http://kupo707.deviantart.com/', '_blank');
}
function gotoMySite2() {
getURL('http://www.facebook.com/pages/Epic-Battle-Fantasy-3/121491377896263', '_blank');
}
function gotoAG() {
getURL('http://kongregate.com/?gamereferral=epic-battle-fantasy-3', '_blank');
}
function gotoHal() {
getURL('http://halcyonicfalconx.newgrounds.com/news/post/504939', '_blank');
}
function gotoEP1() {
getURL('http://www.kongregate.com/games/kupo707/epic-battle-fantasy/?gamereferral=epic-battle-fantasy-3', '_blank');
}
function gotoEP2() {
getURL('http://www.kongregate.com/games/kupo707/epic-battle-fantasy-2/?gamereferral=epic-battle-fantasy-3', '_blank');
}
function lowQF() {
_quality = 'LOW';
}
function medQF() {
_quality = 'MEDIUM';
}
function highQF() {
_quality = 'HIGH';
}
function unmute() {
_root.sound.setVolume(100);
}
function mute() {
_root.sound.setVolume(0);
}
function unmute2() {
_root.musicVolume = 100;
_root.music.music.setVolume(60);
}
function mute2() {
_root.musicVolume = 0;
_root.music.music.setVolume(0);
}
var myMenu = new ContextMenu();
myMenu.hideBuiltInItems();
var copyrightNotice = new ContextMenuItem('© 2010 Matt Roszak', gotoMySite);
var copyrightNotice2 = new ContextMenuItem('', gotoHal);
var mySiteLink = new ContextMenuItem('Visit the author\'s Deviant Art!', gotoMySite);
var mySiteLink2 = new ContextMenuItem('Visit the game\'s Facebook Page!', gotoMySite2);
mySiteLink.separatorBefore = true;
var moregames = new ContextMenuItem('Play More Games @ Kongregate', gotoAG);
var EP = new ContextMenuItem('Play Epic Battle Fantasy 1', gotoEP1);
var EP2 = new ContextMenuItem('Play Epic Battle Fantasy 2', gotoEP2);
EP.separatorBefore = true;
var Mulink = new ContextMenuItem('Get the soundtrack!', gotoHal);
Mulink.separatorBefore = true;
var quality = new ContextMenuItem('Quality:', deadClick);
quality.separatorBefore = true;
var lowQ = new ContextMenuItem('Low', lowQF);
var medQ = new ContextMenuItem('Medium', medQF);
var highQ = new ContextMenuItem('High', highQF);
var unmute = new ContextMenuItem('Sound On', unmute);
var mute = new ContextMenuItem('Sound Off', mute);
unmute.separatorBefore = true;
var munmute = new ContextMenuItem('Music On', unmute2);
var mmute = new ContextMenuItem('Music Off', mute2);
munmute.separatorBefore = true;
myMenu.customItems.push(moregames, copyrightNotice2, quality, lowQ, medQ, highQ);
_root.menu = myMenu;
}
frame 1 {
P1equips = [2, 13, 2];
P2equips = [13, 5, 14];
P3equips = [2, 3, 6];
trace('Setting intro equips');
trace(_root.P1equips[0]);
trace(_root.P2equips[0]);
trace(_root.P3equips[0]);
}
frame 1 {
stop();
trace('frame 1 init done');
}
// unknown tag 88 length 64
movieClip 609 {
}
movieClip 610 {
frame 1 {
stop();
}
}
movieClip 611 {
frame 1 {
function createSlime(a) {
while (!false) {
ran = random(20);
if (!spaces[ran]) {
spaces[ran] = 1;
break;
}
}
attachMovie('slime drop', 'slime' + a, ran * 2);
this['slime' + a]._xscale = 50;
this['slime' + a]._yscale = 50;
this['slime' + a]._y = ran * 9 + 120;
this['slime' + a]._x = random(500) - 20;
this['slime' + a].ID = ran * 2;
}
function removeSlime(a) {
spaces[this[a].ID / 2] = 0;
removeMovieClip(a);
createSlime(a.substr(-1, 1));
addScore();
}
function addScore() {
++slimeScore;
scoreCounter.play();
_root.slimeScore = slimeScore;
}
stop();
spaces = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
slimeScore = 0;
scoreCounter.swapDepths(500);
a = 0;
while (a < 8) {
createSlime(a);
++a;
}
}
}
// unknown tag 88 length 73
button 618 {
on (release) {
play();
}
}
movieClip 622 {
}
// unknown tag 88 length 68
button 635 {
on (release) {
decreaseSound();
}
}
button 636 {
on (release) {
increaseSound();
}
}
button 638 {
on (release) {
toggleSound();
}
}
button 639 {
on (release) {
toggleQuality();
}
}
button 640 {
on (release) {
toggleMusic();
}
}
button 641 {
on (release) {
toggleFrameskip();
}
}
movieClip 642 {
frame 1 {
stop();
}
frame 5 {
function saveOptions() {
_root.saveOptions();
}
function decreaseSound() {
if (_global.rootVolume >= 5) {
_global.rootVolume -= 5;
}
t6 = _global.rootVolume;
if (_global.soundVolume == 'On') {
_root.sound.setVolume(_global.rootVolume);
}
saveOptions();
}
function increaseSound() {
if (_global.rootVolume <= 95) {
_global.rootVolume += 5;
}
t6 = _global.rootVolume;
if (_global.soundVolume == 'On') {
_root.sound.setVolume(_global.rootVolume);
}
saveOptions();
}
function toggleMusic() {
if (_global.musicVolume == 'On') {
_global.musicVolume = 'Off';
_root.musicVolume = 0;
_root.music.music.setVolume(0);
t0 = 'Off';
} else {
if (_global.musicVolume == 'Off') {
_global.musicVolume = 'On';
_root.musicVolume = 100;
_root.music.music.setVolume(100);
t0 = 'On';
}
}
saveOptions();
}
function toggleSound() {
if (_global.soundVolume == 'On') {
_root.sound.setVolume(0);
_global.soundVolume = 'Off';
t1 = 'Off';
} else {
if (_global.soundVolume == 'Off') {
_root.sound.setVolume(_global.rootVolume);
_global.soundVolume = 'On';
t1 = 'On';
}
}
saveOptions();
}
function toggleQuality() {
if (_quality == 'LOW') {
_quality = 'MEDIUM';
t3 = 'Medium';
} else {
if (_quality == 'MEDIUM') {
_quality = 'HIGH';
t3 = 'High';
} else {
if (_quality == 'HIGH') {
_quality = 'LOW';
t3 = 'Low';
}
}
}
saveOptions();
}
function toggleFrameskip() {
if (_global.gameSpeed == 'x1.0') {
_root.frameskipper.gotoAndStop(2);
_global.gameSpeed = 'FrameSkip';
} else {
if (_global.gameSpeed == 'FrameSkip') {
_root.frameskipper.gotoAndStop(1);
_global.gameSpeed = 'x1.0';
}
}
if (_global.gameSpeed == 'x1.0') {
t4 = 'Off';
} else {
t4 = 'On';
}
saveOptions();
}
function unmute() {
_root.sound.setVolume(100);
}
function mute() {}
stop();
if (_quality == 'LOW') {
t3 = 'Low';
}
if (_quality == 'MEDIUM') {
t3 = 'Medium';
}
if (_quality == 'HIGH') {
t3 = 'High';
}
t0 = _global.musicVolume;
t1 = _global.soundVolume;
if (_global.gameSpeed == 'x1.0') {
t4 = 'Off';
} else {
t4 = 'On';
}
t6 = _global.rootVolume;
}
}
movieClip 645 {
}
movieClip 647 {
}
movieClip 651 {
}
button 653 {
on (release) {
startMovie();
}
}
movieClip 654 {
frame 1 {
function timerHandler() {
if (!loadingComplete) {
var v4 = _root.getBytesLoaded() / _root.getBytesTotal();
bar._yscale = 100 * v4;
percent.text = Math.round(100 * v4) + '%';
if (v4 == 1) {
loadingComplete = true;
if (AUTO_PLAY) {
startMovie();
} else {
gotoAndStop('loaded');
}
return undefined;
}
}
dt = getTimer() - time;
time += dt;
frameAccum += dt;
var v3 = 0;
for (;;) {
if (!(frameAccum >= FRAME_TIME && v3 < MAX_FRAME_SKIP)) break;
advanceFrame(tankLogo, true, true);
advanceFrame(loadingText, false, true);
advanceFrame(barGfx, false, true);
if (loadingComplete) {
advanceFrame(this, false, false);
}
frameAccum -= FRAME_TIME;
v3++;
}
updateAfterEvent();
}
function advanceFrame(clip, recurse, loop) {
if (!clip) {
return undefined;
}
clip.stop();
if (clip._currentframe == clip._totalframes) {
if (loop) {
clip.gotoAndStop(1);
}
} else {
clip.nextFrame();
}
if (recurse) {
for (childName in clip) {
if (typeof clip[childName] == 'movieclip') {
advanceFrame(clip[childName], recurse, loop);
}
}
}
}
function startMovie() {
clearInterval(intervalId);
_root.play();
}
_root.stop();
stop();
var FRAME_TIME = 33.33333333333334;
var AUTO_PLAY = false;
var MAX_FRAME_SKIP = 5;
var loadingComplete;
var intervalId;
var time;
var frameAccum;
loadingComplete = false;
intervalId = setInterval(this, 'timerHandler', FRAME_TIME / 2);
frameAccum = 0;
time = getTimer();
timerHandler();
}
frame 15 {
stop();
}
}
// unknown tag 88 length 64
movieClip 659 {
}
// unknown tag 88 length 78
button 663 {
on (release) {
getURL('http://kongregate.com/?gamereferral=epic-battle-fantasy-3', '_blank');
}
}
// unknown tag 88 length 69
movieClip 669 {
}
movieClip 670 {
frame 1 {
stop();
}
frame 3 {
gotoAndStop(1);
}
}
movieClip 7033 __Packages.Target {
#initclip
if (!_global.Target) {
var v1 = function () {};
_global.Target = v1;
var v2 = v1.prototype;
v2.getClass = function () {};
v2.getHit = function (hit) {};
v2.getHeal = function (damage) {};
v2.healStatus = function () {};
v2.getX = function (a) {};
v2.getY = function (a) {};
v2.getGraphicDepth = function () {};
v2.getPower = function () {};
v2.healDefects = function () {};
v2.buff = function () {};
v2.revive = function () {};
ASSetPropFlags(_global.Target.prototype, null, 1);
}
#endinitclip
}
movieClip 7034 __Packages.DamageObject {
#initclip
if (!_global.DamageObject) {
var v1 = function (u, p, r, e, ee, s, ss, sss, a, c) {
this.t = u;
this.damage = p;
this.randomness = r;
this.element = e;
this.elementDegree = ee;
this.statusEffect = s;
this.statusChance = ss;
this.statusDegree = sss;
this.accuracy = a;
this.crit = c;
};
_global.DamageObject = v1;
var v2 = v1.prototype;
v2.toString = function () {
return '\nDamageObject\n\nType: ' + this.t + '\nDamage: ' + this.damage + '\nRandomness: ' + this.randomness + '\nElement: ' + this.element + '\nElementDegree: ' + this.elementDegree + '\nStatus: ' + this.statusEffect + '\nStatusChance: ' + this.statusChance + '\nStatusDegree: ' + this.statusDegree + '\nAccuracy: ' + this.accuracy + '\nCritProb: ' + this.crit;
};
ASSetPropFlags(_global.DamageObject.prototype, null, 1);
}
#endinitclip
}
movieClip 7035 __Packages.Player {
#initclip
if (!_global.Player) {
var v1 = function (n, na, p, point) {
super();
this.playerName = na;
this.playerNumber = n;
};
_global.Player = v1;
_global.Player extends Target;
var v2 = v1.prototype;
v2.cheer = function () {
if (!this.dead) {
trace('cheer');
this.graphic.gotoAndPlay('cheer');
}
};
v2.getLimitPercent = function () {
return Math.round((this.limit / this.maxLimit) * 100);
};
v2.getClass = function () {
return 'Player';
};
v2.setStats = function (hp, mp, atk, def, matk, mdef, acc, eva, spe) {
this.setHP(hp);
this.setMP(mp);
this.adjustHPMP();
this.HP = this.maxHP;
this.MP = this.maxMP;
this.attack = atk;
this.defence = def;
this.magicAttack = matk;
this.magicDefence = mdef;
this.accuracy = acc;
this.evade = eva;
this.speed = spe;
};
v2.unbusy = function () {
this.busy = false;
this.parent.checkBusy();
};
v2.dispel = function () {
this.regen = 0;
if (this.attackBuff > 1) {
this.attackBuff = 1;
}
if (this.defenceBuff > 1) {
this.defenceBuff = 1;
}
if (this.magicAttackBuff > 1) {
this.magicAttackBuff = 1;
}
if (this.magicDefenceBuff > 1) {
this.magicDefenceBuff = 1;
}
if (this.evadeBuff > 1) {
this.evadeBuff = 1;
}
if (this.accuracyBuff > 1) {
this.accuracyBuff = 1;
}
};
v2.resetStatus = function () {
this.regen = 0;
this.freeze = 0;
this.doom = 0;
this.counter = false;
this.defending = false;
this.autolife = 0;
this.attackBuff = 1;
this.defenceBuff = 1;
this.magicAttackBuff = 1;
this.magicDefenceBuff = 1;
this.evadeBuff = 1;
this.accuracyBuff = 1;
this.healStatus();
};
v2.autoRevive = function () {
if (this.autolife > 0) {
this.revive(33, 0);
this.autolife = 0;
this.parent.showStatus(this.getX(3), this.getY(3), 15);
} else {
this.graphic.stop();
this.unbusy();
}
};
v2.canMove = function () {
return !this.dead and !this.stun and !this.freeze;
};
v2.setItem = function (i) {
this.currentItem = i;
this.isItem = true;
this.graphic.currentItem = i;
};
v2.useItem = function () {
this.turnTaken = true;
this.busy = true;
this.parent.takingTurn = false;
this.graphic.foodLike(this.currentItem.name);
this.currentItem.quantity -= 1;
if (this.currentItem.type == 'Food') {
if (this.currentItem.targets == 'onePlayer' and this.target == this) {
this.graphic.gotoAndPlay('itemeat');
} else {
this.graphic.gotoAndPlay('itempass');
}
}
if (this.currentItem.type == 'Misc') {
this.graphic.gotoAndPlay('item2');
}
};
v2.attackItem = function () {
this.noStat = true;
this.parent.magicGraphics.user = this;
this.parent.magicGraphics.target = this.target;
this.parent.magicGraphics.targetAll = this.targetAll;
this.parent.magicGraphics.busy = true;
this.parent.magicGraphics.gotoAndPlay(this.currentItem.effect);
};
v2.throwItem = function () {
var v2 = 0;
while (v2 < 3) {
this.parent.players[v2].currentItem = this.currentItem;
this.parent.players[v2].graphic.currentItem = this.currentItem;
++v2;
}
if (this.currentItem.targets == 'onePlayer') {
this.target.busy = true;
this.target.graphic.gotoAndPlay('itemcatch');
this.graphic.k();
this.target.graphic.foodLike(this.currentItem.name);
} else {
if (this.currentItem.targets == 'deadPlayer') {
this.target.revive(50, 1);
this.graphic.k();
} else {
v2 = 0;
while (v2 < 3) {
if (!this.parent.players[v2].dead) {
this.parent.players[v2].graphic.foodLike(this.currentItem.name);
this.parent.players[v2].graphic.gotoAndPlay('itemcatch');
}
++v2;
}
}
}
};
v2.eatItem = function () {
if (this.currentItem.effect == 'HP' or this.currentItem.effect == 'MP' or this.currentItem.effect == 'HPMP') {
if (this.currentItem.effect == 'HP' or this.currentItem.effect == 'HPMP') {
this.getHeal(this.currentItem.power * this.casual(), 0);
}
if (this.currentItem.effect == 'MP' or this.currentItem.effect == 'HPMP') {
this.MpHeal(this.currentItem.power * this.casual(), 0);
}
} else {
if (this.currentItem.effect == 'status') {
this.healDefects();
this.graphic.k();
} else {
this.buff(this.currentItem.effect, this.currentItem.power);
this.graphic.k();
}
}
};
v2.effectiveHP = function () {
return this.maxHP;
};
v2.effectiveMP = function () {
return this.maxMP;
};
v2.casual = function () {
if (this.parent.user.armor.name == 'Casual Shirt') {
return 2;
} else {
return 1;
}
};
v2.healDefects = function () {
this.stun = 0;
this.poison = 0;
this.syphon = 0;
this.berserk = 0;
this.doom = 0;
this.parent.updatePlayerBars();
};
v2.getHpPercent = function () {
return Math.round((this.HP / this.maxHP) * 100) + 1;
};
v2.getExpPercent = function () {
return Math.round((this.exp / this.exp2) * 100) + 1;
};
v2.getHp = function () {
return '' + this.HP + '/' + this.maxHP;
};
v2.getExp = function () {
return '' + this.exp + '/' + this.exp2;
};
v2.getMpPercent = function () {
return Math.round((this.MP / this.maxMP) * 100) + 1;
};
v2.getMp = function () {
return '' + this.MP + '/' + this.maxMP;
};
v2.getEquipStats = function (s) {
var v5 = this.weapon[s][this.weapon.level - 1];
if (v5 == undefined) {
v5 = this.weapon[s][0];
}
var v4 = this.hat[s][this.hat.level - 1];
if (v4 == undefined) {
v4 = this.hat[s][0];
}
var v3 = this.armor[s][this.armor.level - 1];
if (v3 == undefined) {
v3 = this.armor[s][0];
}
return (v5 + v4 + v3) / 100;
};
v2.equip = function (h, a, w) {
this.hideArrow();
trace('Equipping ' + h.name + ', ' + a.name + ', ' + w.name);
this.hat = h;
this.armor = a;
this.weapon = w;
this.adjustHPMP();
this.graphic.gotoAndPlay('equip');
this.turnTaken = true;
this.busy = true;
this.parent.takingTurn = false;
};
v2.adjustHPMP = function () {
this.maxHP = Math.round((this.baseHP + this.maxHPBonus) * (this.getEquipStats('HP') + 1));
this.maxMP = Math.round((this.baseMP + this.maxMPBonus) * (this.getEquipStats('MP') + 1));
if (this.HP > this.maxHP) {
this.HP = this.maxHP;
}
if (this.MP > this.maxMP) {
this.MP = this.maxMP;
}
this.parent.updatePlayerBars();
};
v2.equipWeapon = function (e) {
this.weapon = e;
this.updatePlayerGraphics(this.playerNumber, e.graphic, 0);
};
v2.equipArmor = function (e) {
this.armor = e;
this.updatePlayerGraphics(this.playerNumber, e.graphic, 2);
};
v2.equipHat = function (e) {
this.hat = e;
this.updatePlayerGraphics(this.playerNumber, e.graphic, 1);
};
v2.getEquipElementalResistance = function (s) {
if (this.weapon.resistance[s][this.weapon.level - 1] == undefined) {
this.weapon.resistance[s][this.weapon.level - 1] = this.weapon.resistance[s][0];
}
if (this.hat.resistance[s][this.hat.level - 1] == undefined) {
this.hat.resistance[s][this.hat.level - 1] = this.hat.resistance[s][0];
}
if (this.armor.resistance[s][this.armor.level - 1] == undefined) {
this.armor.resistance[s][this.armor.level - 1] = this.armor.resistance[s][0];
}
if (this.weapon.resistance[s][this.weapon.level - 1] == undefined) {
this.weapon.resistance[s] = [0, 0, 0, 0, 0];
}
if (this.hat.resistance[s][this.hat.level - 1] == undefined) {
this.hat.resistance[s] = [0, 0, 0, 0, 0];
}
if (this.armor.resistance[s][this.armor.level - 1] == undefined) {
this.armor.resistance[s] = [0, 0, 0, 0, 0];
}
return (this.weapon.resistance[s][this.weapon.level - 1] + this.hat.resistance[s][this.hat.level - 1] + this.armor.resistance[s][this.armor.level - 1]) / 100 + 1;
};
v2.getEquipStatusResistance = function (s) {
return this.weapon.getStatusResistance(s) + this.armor.getStatusResistance(s) + this.hat.getStatusResistance(s) - 3;
};
v2.defend = function () {
this.hideArrow();
this.defending = true;
};
v2.hideArrow = function () {
this.parent.playerArrow._x = -1000;
};
v2.useSkill = function () {
this.noStat = false;
this.hideArrow();
this.turnTaken = true;
if (this.isItem) {
this.useItem();
} else {
trace('using ' + this.currentSkill.name);
this.graphic.gotoAndPlay(this.currentSkill.effect);
this.graphic.skill = this.currentSkill;
this.graphic.user = this;
this.graphic.target = this.target;
this.parent.magicGraphics.skill = this.currentSkill;
this.parent.magicGraphics.user = this;
this.parent.magicGraphics.target = this.target;
this.MP -= this.currentSkill.mp[this.currentSkill.level - 1];
this.parent.updatePlayerBars();
this.busy = true;
this.parent.takingTurn = false;
}
};
v2.drawSpell = function () {
this.parent.magicGraphics.targetAll = this.targetAll;
this.parent.magicGraphics.gotoAndPlay(this.currentSkill.name);
this.parent.magicGraphics.busy = true;
};
v2.sendHeal = function (pow, ran) {
var v3 = pow * this.magicAttack * this.magicAttackBuff * (this.getEquipStats('magicAttack') + 1);
trace('healing for ' + v3);
if (this.targetAll == 'allPlayers') {
var v2 = 0;
while (v2 < this.parent.players.length) {
if (!this.parent.players[v2].dead) {
this.parent.players[v2].getHeal(v3, ran);
}
++v2;
}
}
if (this.targetAll == 'onePlayer') {
this.target.getHeal(v3, ran);
}
};
v2.autoBuff = function () {
if (this.armor.level > 3) {
if (this.armor.specials[3] == 'attackUp' or this.armor.specials[3] == 'defenceUp' or this.armor.specials[3] == 'magicDefenceUp' or this.armor.specials[3] == 'magicAttackUp' or this.armor.specials[3] == 'evadeUp') {
if (this.armor.level == 5) {
var v2 = 0.2;
} else {
var v2 = 0.15;
}
this.buff(this.armor.specials[3], v2);
}
}
};
v2.getHeal = function (damage, ran) {
this.busy = true;
damage = this.randomize(damage, ran);
damage = Math.round(damage);
this.HP += damage;
if (this.HP > this.maxHP) {
this.HP = this.maxHP;
}
this.graphic.gotoAndPlay('heal');
this.showDamage(damage, 1);
this.parent.updatePlayerBars();
};
v2.revive = function (damage, ran) {
this.busy = true;
damage = this.randomize(damage, ran) * (this.maxHP / 100);
damage = Math.round(damage);
this.HP += damage;
if (this.HP > this.maxHP) {
this.HP = this.maxHP;
}
this.dead = false;
this.graphic.gotoAndPlay('revive');
this.showDamage(damage, 1);
this.parent.updatePlayerBars();
};
v2.MpHeal = function (damage, ran) {
damage = this.randomize(damage, ran);
damage = Math.round(damage);
this.MP += damage;
if (this.MP > this.maxMP) {
this.MP = this.maxMP;
}
this.graphic.gotoAndPlay('heal');
this.showDamage(damage, 4);
this.parent.updatePlayerBars();
};
v2.MpHeal2 = function (damage, ran) {
damage = this.randomize(damage, ran);
damage = Math.round(damage);
this.MP += damage;
if (this.MP > this.maxMP) {
this.MP = this.maxMP;
}
this.showDamage(damage, 4);
};
v2.sendHit = function (type, power, randomness, element, e, stat, s, ss, acc, critP) {
var v4;
if (this.currentSkill.extra == 'noStats') {
trace('special meow meow stat get');
acc *= this.accuracy + this.accuracyBonus;
v4 = power * this.level * 5;
} else {
if (this.noStat) {
acc *= this.accuracy + this.accuracyBonus;
v4 = power * this.level * 3;
trace('No stat formula used.');
} else {
if (type == 'attack') {
acc = acc * (this.accuracy + this.accuracyBonus) * this.accuracyBuff * (this.getEquipStats('accuracy') + 1);
v4 = power * (this.attack + this.attackBonus) * this.attackBuff * (this.getEquipStats('attack') + 1);
} else {
if (type == 'magic') {
acc = acc * (this.accuracy + this.accuracyBonus) * this.accuracyBuff * (this.getEquipStats('accuracy') + 1);
v4 = power * (this.magicAttack + this.magicAttackBonus) * this.magicAttackBuff * (this.getEquipStats('magicAttack') + 1);
}
}
}
}
if (this.berserk) {
v4 *= 2.4;
}
trace('mag: ' + this.magicAttack + ' magBonus: ' + this.magicAttackBonus + ' magBuff: ' + this.magicAttackBuff + ' magEquip: ' + (this.getEquipStats('magicAttack') + 1) + ' skillPower: ' + power);
if (this.targetAll == 'oneFoe') {
this.target.getHit(new DamageObject(type, v4, randomness, element, e, stat, s, ss, acc, critP));
}
if (this.targetAll == 'allFoes') {
var v2 = 0;
while (v2 < this.parent.foes.length) {
this.parent.foes[v2].getHit(new DamageObject(type, v4, randomness, element, e, stat, s, ss, acc, critP));
++v2;
}
}
if (this.targetAll == 'allPlayers') {
v2 = 0;
while (v2 < this.parent.players.length) {
if (!this.parent.players[v2].dead) {
this.parent.players[v2].getHit(new DamageObject(type, v4, randomness, element, e, stat, s, ss, acc, critP));
}
++v2;
}
}
if (this.targetAll == 'allButOneFoe') {
v2 = 0;
while (v2 < this.parent.foes.length) {
if (this.parent.foes[v2] != this.target) {
this.parent.foes[v2].getHit(new DamageObject(type, v4, randomness, element, e, stat, s, ss, acc, critP));
}
++v2;
}
}
if (this.targetAll == 'deadPlayer') {
this.target.revive(new DamageObject());
}
};
v2.swapLayer = function (b) {
if (b) {
this.graphic.swapDepths(this.target.getGraphicDepth() - 1);
} else {
this.graphic.swapDepths(this.depth);
}
};
v2.getGraphicDepth = function () {
return this.depth;
};
v2.randomize = function (damage, randomness) {
damage = damage - damage * randomness / 2 + random(damage) * randomness;
damage = Math.round(damage);
return damage;
};
v2.getHit = function (hit) {
var v6 = this.HP * 33;
if (!this.dead) {
this.busy = true;
this.gettingHit = true;
this.graphic.createEmptyMovieClip('delay', 100);
this.graphic.delay.a = this;
this.graphic.delay.onEnterFrame = function () {
this.a.gettingHit = false;
this.removeMovieClip();
};
if (this.defending and this.playerName == 'Lance') {
var v5 = 1.3;
} else {
var v5 = 1;
}
trace('Accuracy: ' + hit.accuracy + ' Evade: ' + this.evade * (this.getEquipStats('evade') + 1));
if (Math.random() > hit.accuracy / (this.evade + this.evadeBonus) * (this.getEquipStats('evade') + 1) * v5 * this.evadeBuff and !this.stun and !this.freeze) {
this.graphic.gotoAndPlay('evade');
this.showDamage(0, 3);
} else {
this.hitBy = this.parent.user;
if (this.defending) {
hit.damage /= 2;
}
if (this.freeze == 2) {
hit.damage *= 2;
this.freeze = 1;
}
if (hit.t == 'attack') {
if (this.defending and this.playerName == 'Matt') {
hit.damage /= 2;
}
hit.damage /= (this.defence + this.defenceBonus) * this.defenceBuff * (this.getEquipStats('defence') + 1);
}
if (hit.t == 'magic') {
hit.damage /= (this.magicDefence + this.magicDefenceBonus) * this.magicDefenceBuff * (this.getEquipStats('magicDefence') + 1);
}
if (hit.crit > Math.random()) {
hit.damage *= 1.5;
} else {
hit.crit = 0;
}
if (hit.element == 'ice') {
this.berserk = 0;
}
if (hit.element != 'null') {
var v4 = 2 - this.getEquipElementalResistance(hit.element);
trace('Elem multiplier: ' + v4);
hit.damage = hit.damage * hit.elementDegree * v4 + hit.damage * (1 - hit.elementDegree);
}
hit.damage = this.randomize(hit.damage, hit.randomness);
hit.damage = Math.round(hit.damage);
if (hit.statusEffect != 'null') {
if (Math.random() < hit.statusChance * (2 - this.getEquipElementalResistance(hit.statusEffect))) {
trace('inflicted with ' + hit.statusEffect);
if (hit.statusEffect == 'stun') {
this.stun += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 8);
} else {
if (hit.statusEffect == 'poison') {
this.poison += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 11);
} else {
if (hit.statusEffect == 'syphon') {
this.syphon += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 9);
} else {
if (hit.statusEffect == 'berserk') {
this.berserk += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 13);
} else {
if (hit.statusEffect == 'dispel') {
this.dispel();
this.parent.showStatus(this.getX(3), this.getY(3), 10);
} else {
if (hit.statusEffect == 'doom' and !this.doom) {
this.doom = hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 7);
} else {
if (hit.statusEffect == 'freeze' and !this.berserk) {
this.freeze = 2;
this.defending = false;
this.parent.showStatus(this.getX(3), this.getY(3), 12);
} else {
if (hit.statusEffect == 'death') {
hit.damage = 9999999;
} else {
this.debuff(hit.statusEffect, hit.statusDegree);
}
}
}
}
}
}
}
}
}
}
if (hit.damage < 0) {
this.getHeal(-hit.damage, 0);
} else {
this.HP -= hit.damage;
this.getCounter(0.25);
if (this.defending and this.playerName == 'Natalie' and hit.t == 'magic') {
this.MpHeal2(hit.damage / 10, 0.1);
}
if (this.skills3[1].level != 0 or this.skills3[2].level != 0 or this.skills3[3].level != 0) {
if (hit.damage != 9999999) {
this.limit += (hit.damage / this.maxHP) * 133 / ((this.level + 1) / 5);
} else {
this.limit += 50;
}
}
if (hit.damage == 9999999) {
this.showDamage(2, 5);
} else {
if (hit.crit) {
this.showDamage(hit.damage, 2);
} else {
if (this.getEquipElementalResistance(hit.element) < 1) {
this.showDamage(hit.damage, 17);
} else {
if (this.getEquipElementalResistance(hit.element) > 1) {
this.showDamage(hit.damage, 16);
} else {
this.showDamage(hit.damage, 0);
}
}
}
}
if (this.HP <= 0) {
this.HP = 0;
this.graphic.gotoAndPlay('die');
this.dead = true;
++_root.defs.flags.deathCount;
_root.kongregate.stats.submit('deaths', 1);
this.parent.playerStatus[this.playerNumber] = false;
if (!this.autolife) {
this.resetStatus();
}
} else {
if (this.freeze == 2) {
this.graphic.gotoAndPlay('freeze');
} else {
if (this.defending) {
this.graphic.gotoAndPlay('defhit');
} else {
if (hit.damage > this.hit2HP * this.maxHP) {
this.graphic.gotoAndPlay('hit2');
this.getCounter(1);
this.autoBuff();
} else {
this.graphic.gotoAndPlay('hit');
}
}
}
}
}
}
}
this.parent.updatePlayerBars();
};
v2.active = function (b) {
if (b) {
this.act = true;
} else {
this.act = false;
this.parent.turnEnd();
}
};
v2.getCounter = function (e) {
trace(this.parent.user.getClass());
if (Math.random() <= e and this.parent.user.getClass() == 'Foe') {
this.counter = true;
}
};
v2.round = function (nn) {
return Math.round(nn * 100) / 100;
};
v2.debuff = function (stat, ss) {
var v2 = stat.substring(0, stat.length - 4);
this[v2 + 'Buff'] -= ss;
if (this[v2 + 'Buff'] < this.minBuff) {
this[v2 + 'Buff'] = this.minBuff;
}
this[v2 + 'Buff'] = this.round(this[v2 + 'Buff']);
this.graphic.idle.stats.update();
};
v2.buff = function (stat, ss) {
trace('buffing ' + stat + ' by ' + ss);
var v2 = stat.substring(0, stat.length - 2);
this[v2 + 'Buff'] += ss;
if (this[v2 + 'Buff'] > this.maxBuff) {
this[v2 + 'Buff'] = this.maxBuff;
}
this[v2 + 'Buff'] = this.round(this[v2 + 'Buff']);
this.graphic.idle.stats.update();
};
v2.showDamage = function (damage, style) {
this.parent.showDamage(damage, this.getX(3), this.getY(3), style);
};
v2.healStatus = function () {
this.poison = 0;
this.doom = 0;
this.stun = 0;
this.berserk = 0;
this.syphon = 0;
this.graphic.idle.stats.update();
};
v2.doomed = function () {
if (this.doom > 0) {
--this.doom;
if (this.doom == 0) {
this.busy = true;
this.getHit(new DamageObject('magic', this.maxHP * this.hit2HP * this.magicDefence, 0.1, 'null', 1, 'death', 3, 1, 999, 0));
}
}
this.graphic.idle.stats.update();
};
v2.getElementalResistance = function (el) {
var v2 = 0;
while (v2 < this.elementalResistance.length) {
if (this.elementalResistance[v2] == el) {
return this.elementalResistance[v2 + 1];
}
v2 += 2;
}
};
v2.getStatusResistance = function (el) {
var v2 = 0;
while (v2 < this.statusResistance.length) {
if (this.statusResistance[v2] == el) {
return this.statusResistance[v2 + 1];
}
v2 += 2;
}
};
v2.sortResistance = function (arr) {
var v5 = [];
var v6 = 0;
var v8;
var v7 = 0;
while (v7 < arr.length) {
var v4 = -5;
var v2 = 0;
while (v2 < arr.length) {
if (arr[v2 + 1] >= v4 and this.notIn(v5, arr[v2])) {
v4 = arr[v2 + 1];
v8 = arr[v2];
}
v2 += 2;
}
v5[v6] = v8;
++v6;
v5[v6] = v4;
++v6;
v7 += 2;
}
return v5;
};
v2.notIn = function (arr, item) {
var v1 = 0;
while (v1 < arr.length) {
if (arr[v1] == item) {
return false;
}
++v1;
}
return true;
};
v2.getWeakness = function (arr) {
arr = this.sortResistance(arr);
var v5 = [];
var v2 = 0;
var v4 = 0;
while (arr[v2 + 1] >= 1.3) {
v5[v4] = arr[v2];
v2 += 2;
++v4;
}
return v5;
};
v2.getResistance = function (arr) {
arr = this.sortResistance(arr);
var v5 = [];
var v2 = arr.length;
var v4 = 0;
while (arr[v2 - 1] <= 0.7) {
v5[v4] = arr[v2 - 2];
v2 -= 2;
++v4;
}
return v5;
};
v2.updatePlayerGraphics = function (num, gra, ind) {
if (num == 1) {
_root.P1equips[ind] = gra;
}
if (num == 2) {
_root.P2equips[ind] = gra;
}
if (num == 3) {
_root.P3equips[ind] = gra;
}
};
v2.levelUp = function () {
this.exp -= this.exp2;
var v4 = this.HP;
var v3 = this.MP;
++this.level;
_root.kongregate.stats.submit('level', this.level);
if (this.level >= 30) {
_root.defs.medals.medalGet('level3');
} else {
if (this.level >= 20) {
_root.defs.medals.medalGet('level2');
} else {
if (this.level >= 10) {
_root.defs.medals.medalGet('level1');
}
}
}
_root.defs.getBaseStats(this.playerNumber);
this.baseHP = Math.floor(this.baseHP * Math.pow(1.15, this.level));
this.baseMP = Math.floor(this.baseMP * Math.pow(1.1, this.level));
this.adjustHPMP();
this.attack = Math.floor(this.attack * Math.pow(1.13, this.level));
this.magicAttack = Math.floor(this.magicAttack * Math.pow(1.13, this.level));
this.defence = Math.floor(this.defence * Math.pow(1.11, this.level));
this.magicDefence = Math.floor(this.magicDefence * Math.pow(1.11, this.level));
this.evade = Math.floor(this.evade + 0.2 * this.evade * (this.level / 7));
this.accuracy = Math.floor(this.accuracy + 0.2 * this.accuracy * (this.level / 7));
this.MP = v3;
this.HP = v4;
this.adjustHPMP();
this.nextExp();
if (this.level == 30 and this.levelCap) {
this.exp2 = Infinity;
}
if (this.exp >= this.exp2) {
this.levelUp();
}
};
v2.nextExp = function () {
this.exp2 = Math.floor(50 * Math.pow(1.39, this.level));
};
v2.createGraphics = function (p, point) {
_root.kongregate.stats.submit('level', this.level);
this.turnTaken = false;
this.defending = false;
this.dead = false;
this.resetStatus();
this.parent = p;
this.graphic = eval('p.player' + this.playerNumber + 'Graphic');
this.graphic.playerData = this;
this.graphic._xscale = 67.7;
this.graphic._yscale = 67.7;
this.graphic.k = function () {
if (!this.playerData.gettingHit) {
this.gotoAndPlay('stand');
}
};
this.graphic.run = function (X, Y) {
this._x -= this.X;
this._y -= this.Y;
};
this.graphic.getPoint = function (a) {
return eval('this.point' + a);
};
this.graphic.shake = function (a) {
this._parent.shake.gotoAndPlay(a);
};
this.depth = this.graphic.getDepth();
this.reposition(point);
trace(this.graphic);
};
v2.getXY = function (a) {
this.graphic.X = (this.getX(a) - this.target.getX(2) + 50) / 12;
this.graphic.Y = (this.getY(a) - this.target.getY(2)) / 12;
};
v2.getX = function (a) {
return (this.graphic.getPoint(a))._x * this.graphic._xscale / 100 + this.graphic._x;
};
v2.getY = function (a) {
return (this.graphic.getPoint(a))._y * this.graphic._yscale / 100 + this.graphic._y;
};
v2.reposition = function (point) {
this.graphic._x = point._x - this.graphic.point1._x * this.scaleGraphic / 100;
this.graphic._y = point._y - this.graphic.point1._y * this.scaleGraphic / 100;
this.graphic._yscale = this.scaleGraphic;
this.graphic._xscale = this.graphic._yscale;
};
v2.printStats = function () {
trace('\nName: ' + this.playerName + '\nHP: ' + this.HP + '/' + this.maxHP + '\n' + 'Elem Weakness: ' + this.getWeakness(this.elementalResistance) + '\nElem Resistance: ' + this.getResistance(this.elementalResistance) + '\nStat Weakness: ' + this.getWeakness(this.statusResistance) + '\nStat Resistance: ' + this.getResistance(this.statusResistance) + '\n');
};
v2.setHP = function (h) {
this.HP = h;
this.baseHP = h;
this.adjustHPMP();
};
v2.setMP = function (h) {
this.MP = h;
this.baseMP = h;
this.adjustHPMP();
};
v2.fadeBuffs = function () {
this.defending = false;
var v3 = ['attack', 'magicAttack', 'defence', 'magicDefence', 'evade', 'accuracy'];
var v2 = 0;
while (v2 < v3.length) {
if (this[v3[v2] + 'Buff'] > 1) {
this[v3[v2] + 'Buff'] -= 0.05;
}
if (this[v3[v2] + 'Buff'] < 1) {
this[v3[v2] + 'Buff'] += 0.05;
}
this[v3[v2] + 'Buff'] *= 100;
this[v3[v2] + 'Buff'] = Math.round(this[v3[v2] + 'Buff']) / 100;
++v2;
}
this.graphic.idle.stats.update();
};
v2.fadeStatus = function () {
this.turnTaken = true;
if (this.stun > 0) {
--this.stun;
}
if (this.syphon > 0) {
--this.syphon;
}
if (this.berserk > 0) {
--this.berserk;
}
if (this.hat.name == 'Viking Helmet') {
this.berserk = 1;
this.parent.showStatus(this.getX(3), this.getY(3), 13);
}
if (this.regen > 0) {
--this.regen;
}
if (this.autolife > 0) {
--this.autolife;
}
this.graphic.idle.stats.update();
};
v2.poisonDamage = function () {
if (this.poison != 0) {
this.getHit(new DamageObject('magic', 3 * this.level * (this.level / 5) * this.poison * this.magicDefence + 5, 0.1, 'poison', 1, 'null', 0, 0, 999, 0));
}
};
v2.regenDamage = function () {
if (this.regen != 0) {
if (_root.defs.regen.level) {
this.getHeal(_root.defs.player2.magicAttack * _root.defs.regen.power[_root.defs.regen.level - 1] / 2, 0.1);
}
}
};
v2.level = 0;
v2.busy = true;
v2.turnTaken = false;
v2.defending = false;
v2.abilityPoints = 0;
v2.exp = 0;
v2.exp2 = 50;
v2.limit = 0;
v2.maxLimit = 100;
v2.hit2HP = 0.5;
v2.counter = false;
v2.maxHPBonus = 0;
v2.maxMPBonus = 0;
v2.attackBonus = 0;
v2.defenceBonus = 0;
v2.magicAttackBonus = 0;
v2.magicDefenceBonus = 0;
v2.accuracyBonus = 0;
v2.evadeBonus = 0;
v2.noStat = false;
v2.attackBuff = 1;
v2.defenceBuff = 1;
v2.magicAttackBuff = 1;
v2.magicDefenceBuff = 1;
v2.evadeBuff = 1;
v2.accuracyBuff = 1;
v2.scaleGraphic = 67.7;
v2.stun = 0;
v2.poison = 0;
v2.syphon = 0;
v2.berserk = 0;
v2.regen = 0;
v2.doom = 0;
v2.autolife = 0;
v2.freeze = 0;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.isItem = false;
v2.currentItem = null;
v2.act = false;
v2.maxBuff = 1.7;
v2.minBuff = 0.5;
v2.gettingHit = false;
v2.levelCap = true;
ASSetPropFlags(_global.Player.prototype, null, 1);
}
#endinitclip
}
movieClip 7036 __Packages.FoeIcon {
#initclip
if (!_global.FoeIcon) {
var v1 = function (N, X2, Y2, R, B, M) {
this.ID = N;
this.X = X2;
this.Y = Y2;
this.respawn = R;
this.battle = B;
this.map = M;
};
_global.FoeIcon = v1;
var v2 = v1.prototype;
v2.die = function () {
this.alive = false;
this['_parent.foe' + this.ID]._visible = false;
};
v2.toString = function () {};
v2.alive = true;
ASSetPropFlags(_global.FoeIcon.prototype, null, 1);
}
#endinitclip
}
movieClip 7037 __Packages.Foe {
#initclip
if (!_global.Foe) {
var v1 = function (n, m, p, point) {
super();
this.parent = p;
this.levelUp(m);
this.foeNumber = n;
var graphicData = {'foeData': this, 'monster': this.subGraphic, 'k': function () {
if (this.foeData.graphic == undefined) {
this.foeData.graphic = this;
this.foeData.reposition(point);
trace('FOE GRAPHIC WAS UNDEFINED, FOE FIXED IT');
}
if (!this.foeData.gettingHit) {
this.gotoAndPlay('stand');
this.foeData.unbusy();
this.swapLayer(false);
}
}, 'run': function (X, Y) {
this._x -= this.X;
this._y -= this.Y;
}, 'getPoint': function (a) {
return eval('this.point' + a);
}, 'shake': function (a) {
this._parent.shake.gotoAndPlay(a);
}};
this.parent.attachMovie(this.mainGraphic, 'foe' + this.foeNumber + 'Graphic', 50 + n * 5, graphicData);
this.graphic = eval('p.foe' + this.foeNumber + 'Graphic');
this.reposition(point);
this.depth = 50 + n * 5;
trace('Foe graphic at depth: ');
trace(this.graphic.getDepth());
};
_global.Foe = v1;
_global.Foe extends Target;
var v2 = v1.prototype;
v2.dropItems = function () {
var v2 = 0;
while (v2 < this.dropList.length) {
var v3 = false;
if (v2 == 0 or v2 == 1 and Math.random() > 0.2 or v2 == 2 and Math.random() > 0.4 or v2 == 3 and Math.random() > 0.6 or v2 == 4 and Math.random() > 0.8 or v2 == 5 and Math.random() > 0.9 or v2 == 6 and Math.random() > 0.95) {
v3 = true;
}
if (v3) {
this.parent.dropItem(this.dropList[v2]);
}
++v2;
}
};
v2.getClass = function () {
return 'Foe';
};
v2.doomed = function () {
if (this.doom > 0) {
--this.doom;
if (this.doom == 0) {
this.busy = true;
this.getHit(new DamageObject('magic', this.maxHP * this.hit2HP * this.magicDefence, 0.1, 'null', 1, 'death', 3, 1, 999, 0));
}
}
this.graphic.idle.stats.update();
this.graphic.stats.update();
};
v2.unbusy = function () {
this.busy = false;
this.parent.checkBusy();
};
v2.getPower = function (t) {
var v2;
if (t == 'attack') {
v2 = this.attack * this.attackBuff;
}
if (t == 'magic') {
v2 = this.magicAttack * this.magicAttackBuff;
}
return v2;
};
v2.getHpPercent = function () {
return Math.round((this.HP / this.maxHP) * 100) + 1;
};
v2.sendHeal = function (pow, ran) {
var v3 = pow * this.magicAttack * this.magicAttackBuff;
trace('healing for ' + v3);
if (this.targetAll == 'allFoes') {
var v2 = 0;
while (v2 < this.parent.foes.length) {
if (!this.parent.foes[v2].dead) {
this.parent.foes[v2].getHeal(v3, ran);
}
++v2;
}
}
if (this.targetAll == 'oneFoe') {
this.target.getHeal(v3, ran);
}
};
v2.sendHit = function (type, power, randomness, element, e, stat, s, ss, acc, critP) {
var v3 = this.getPower(type) * power;
v3 = this.randomize(v3, randomness);
acc = acc * this.accuracy * this.accuracyBuff;
if (this.berserk) {
v3 *= 2;
}
if (this.targetAll == 'onePlayer') {
this.target.getHit(new DamageObject(type, v3, randomness, element, e, stat, s, ss, acc, critP));
}
if (this.targetAll == 'allPlayers') {
var v2 = 0;
while (v2 < this.parent.players.length) {
if (!this.parent.players[v2].dead) {
this.parent.players[v2].getHit(new DamageObject(type, v3, randomness, element, e, stat, s, ss, acc, critP));
}
++v2;
}
}
if (this.targetAll == 'oneFoe') {
this.target.getHit(new DamageObject(type, v3, randomness, element, e, stat, s, ss, acc, critP));
}
if (this.targetAll == 'allFoes') {
v2 = 0;
while (v2 < this.parent.foes.length) {
this.parent.foes[v2].getHit(new DamageObject(type, v3, randomness, element, e, stat, s, ss, acc, critP));
++v2;
}
}
if (this.targetAll == 'all') {
}
};
v2.swapLayer = function (b) {
if (b) {
this.graphic.swapDepths(this.target.getGraphicDepth() + 1);
} else {
this.graphic.swapDepths(this.depth);
}
};
v2.getGraphicDepth = function () {
return this.depth;
};
v2.randomize = function (damage, randomness) {
damage = damage - damage * randomness / 2 + random(damage) * randomness;
damage = Math.round(damage);
return damage;
};
v2.specialHit1 = function (h) {};
v2.specialHit2 = function (h) {};
v2.specialHit3 = function (h) {};
v2.specialHit4 = function (h) {};
v2.specialHit5 = function (h) {};
v2.getHit = function (hit) {
trace('foe takes damage: ' + hit.damage + ' element: ' + hit.element + ' status: ' + hit.statusEffect + ' chance: ' + hit.statusChance);
if (!this.dead) {
this.busy = true;
this.gettingHit = true;
this.graphic.createEmptyMovieClip('delay', 100);
this.graphic.delay.a = this;
this.graphic.delay.onEnterFrame = function () {
this.a.gettingHit = false;
this.removeMovieClip();
};
trace('Accuracy: ' + hit.accuracy + ' Evade: ' + this.evade);
if (Math.random() > hit.accuracy / this.evade * this.evadeBuff and !this.stun) {
this.graphic.gotoAndPlay('evade');
this.showDamage(0, 3);
this.parent.user.dealt = 0;
} else {
this.specialHit1(hit);
hit.damage = this.randomize(hit.damage, hit.randomness);
if (hit.t == 'attack') {
if (this.berserk) {
hit.damage /= 2;
}
hit.damage /= this.defence * this.defenceBuff;
}
if (hit.t == 'magic') {
hit.damage /= this.magicDefence * this.magicDefenceBuff;
}
if (hit.crit > Math.random()) {
hit.damage *= 1.5;
} else {
hit.crit = 0;
}
if (hit.element == 'ice') {
this.berserk = 0;
}
if (hit.element != 'null') {
hit.damage = hit.damage * this.getElementalResistance(hit.element) * hit.elementDegree + hit.damage * (1 - hit.elementDegree);
}
hit.damage = Math.round(hit.damage);
if (hit.statusEffect != 'null') {
if (Math.random() < hit.statusChance * this.getStatusResistance(hit.statusEffect)) {
trace('Inflicted with ' + hit.statusEffect);
if (hit.statusEffect == 'stun') {
this.stun += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 8);
} else {
if (hit.statusEffect == 'poison') {
this.poison += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 11);
if (this.poison > 9) {
this.poison = 9;
}
} else {
if (hit.statusEffect == 'syphon') {
this.syphon += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 9);
} else {
if (hit.statusEffect == 'berserk') {
this.berserk += hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 13);
} else {
if (hit.statusEffect == 'dispel') {
this.dispel();
this.parent.showStatus(this.getX(3), this.getY(3), 10);
} else {
if (hit.statusEffect == 'doom' and !this.doom) {
this.doom = hit.statusDegree;
this.parent.showStatus(this.getX(3), this.getY(3), 7);
} else {
if (hit.statusEffect == 'death') {
hit.damage = 9999999;
} else {
this.debuff(hit.statusEffect, hit.statusDegree);
}
}
}
}
}
}
}
}
}
trace('after defence applied: ' + hit.damage + ' element: ' + hit.element + ' status: ' + hit.statusEffect + ' chance: ' + hit.statusChance);
if (hit.damage < 0) {
this.getHeal(-hit.damage);
} else {
this.HP -= hit.damage;
if (this.parent.user.getClass() == 'Player' and hit.damage != 9999999) {
this.parent.user.dealt = hit.damage;
trace(hit.damage);
_root.defs.damageRecord(hit.damage);
_root.kongregate.stats.submit('maxDamage', hit.damage);
}
if (hit.damage == 9999999) {
this.showDamage(2, 5);
} else {
if (hit.crit) {
this.showDamage(hit.damage, 2);
} else {
if (this.getElementalResistance(hit.element) > 1) {
this.showDamage(hit.damage, 17);
} else {
if (this.getElementalResistance(hit.element) < 1) {
this.showDamage(hit.damage, 16);
} else {
this.showDamage(hit.damage, 0);
}
}
}
}
if (this.HP <= 0) {
this.doDie();
this.graphic.gotoAndPlay('die');
this.specialHit5(hit);
} else {
if (this.specialHit2(hit)) {
} else {
if (hit.damage > this.hit2HP * this.maxHP) {
this.graphic.gotoAndPlay('hit2');
} else {
this.graphic.gotoAndPlay('hit');
}
}
}
}
}
}
this.parent.updateFoeBars();
};
v2.doDie = function () {
this.addPool();
this.HP = 0;
this.dead = true;
this.dropItems();
++_root.defs.flags.killCount;
_root.kongregate.stats.submit('kills', 1);
this.parent.playerStatus[this.foeNumber] = false;
this.parent.checkAllDead();
this.doom = 0;
this.regen = 0;
this.poison = 0;
this.parent.updateFoeBars();
};
v2.addPool = function () {
this.parent.goldPool += this.gold;
this.parent.expPool += this.experience;
this.parent.abilityPool += this.abilityPoints;
};
v2.dispel = function () {
this.regen = 0;
if (this.attackBuff > 1) {
this.attackBuff = 1;
}
if (this.defenceBuff > 1) {
this.defenceBuff = 1;
}
if (this.magicAttackBuff > 1) {
this.magicAttackBuff = 1;
}
if (this.magicDefenceBuff > 1) {
this.magicDefenceBuff = 1;
}
if (this.evadeBuff > 1) {
this.evadeBuff = 1;
}
if (this.accuracyBuff > 1) {
this.accuracyBuff = 1;
}
};
v2.active = function (b) {
if (b) {
this.act = true;
} else {
this.act = false;
this.parent.turnEnd();
}
};
v2.turnStart = function () {
this.busy = true;
this.turnTaken = true;
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
this.getXY(2);
this.gettingHit = true;
this.graphic.createEmptyMovieClip('delay', 100);
this.graphic.delay.a = this;
this.graphic.delay.c = 2;
this.graphic.delay.onEnterFrame = function () {
if (this.c == 0) {
this.a.gettingHit = false;
this.removeMovieClip();
} else {
--this.c;
}
};
};
v2.round = function (nn) {
return Math.round(nn * 100) / 100;
};
v2.debuff = function (stat, ss) {
var v2 = stat.substring(0, stat.length - 4);
this[v2 + 'Buff'] -= ss;
if (this[v2 + 'Buff'] < this.minBuff) {
this[v2 + 'Buff'] = this.minBuff;
}
this[v2 + 'Buff'] = this.round(this[v2 + 'Buff']);
this.graphic.idle.stats.update();
this.graphic.stats.update();
};
v2.buff = function (stat, ss) {
var v2 = stat.substring(0, stat.length - 2);
this[v2 + 'Buff'] += ss;
if (this[v2 + 'Buff'] > this.maxBuff) {
this[v2 + 'Buff'] = this.maxBuff;
}
this[v2 + 'Buff'] = this.round(this[v2 + 'Buff']);
this.graphic.idle.stats.update();
this.graphic.stats.update();
};
v2.showDamage = function (damage, style) {
this.parent.showDamage(damage, this.getX(3), this.getY(3), style);
};
v2.getHeal = function (damage) {
if (!this.dead) {
damage = Math.round(damage);
this.HP += damage;
if (this.HP > this.maxHP) {
this.HP = this.maxHP;
}
this.graphic.gotoAndPlay('heal');
this.busy = true;
this.showDamage(damage, 1);
this.parent.updateFoeBars();
}
};
v2.healStatus = function () {};
v2.castSpell = function (spell) {
this.parent.magicGraphics.user = this;
this.parent.magicGraphics.targetAll = this.targetAll;
this.parent.magicGraphics.target = this.target;
this.parent.magicGraphics.gotoAndPlay(spell);
this.parent.magicGraphics.busy = true;
};
v2.getElementalResistance = function (el) {
var v2 = 0;
while (v2 < this.elementalResistance.length) {
if (this.elementalResistance[v2] == el) {
return this.elementalResistance[v2 + 1];
}
v2 += 2;
}
};
v2.getStatusResistance = function (el) {
var v2 = 0;
while (v2 < this.statusResistance.length) {
if (this.statusResistance[v2] == el) {
trace(el + ' resistance ' + this.statusResistance[v2 + 1]);
return this.statusResistance[v2 + 1];
}
v2 += 2;
}
};
v2.sortResistance = function (arr) {
var v5 = [];
var v6 = 0;
var v8;
var v7 = 0;
while (v7 < arr.length) {
var v4 = -5;
var v2 = 0;
while (v2 < arr.length) {
if (arr[v2 + 1] >= v4 and this.notIn(v5, arr[v2])) {
v4 = arr[v2 + 1];
v8 = arr[v2];
}
v2 += 2;
}
v5[v6] = v8;
++v6;
v5[v6] = v4;
++v6;
v7 += 2;
}
return v5;
};
v2.notIn = function (arr, item) {
var v1 = 0;
while (v1 < arr.length) {
if (arr[v1] == item) {
return false;
}
++v1;
}
return true;
};
v2.getWeakness = function (arr) {
arr = this.sortResistance(arr);
var v5 = [];
var v2 = 0;
var v4 = 0;
while (arr[v2 + 1] >= 1.3) {
v5[v4] = ' ' + arr[v2];
v2 += 2;
++v4;
}
return v5;
};
v2.getResistance = function (arr) {
arr = this.sortResistance(arr);
var v5 = [];
var v2 = arr.length;
var v4 = 0;
while (arr[v2 - 1] <= 0.7) {
v5[v4] = ' ' + arr[v2 - 2];
v2 -= 2;
++v4;
}
return v5;
};
v2.levelUp = function (m) {
var v4;
var v5;
if (_root.defs.difficulty == 'easy') {
v4 = 0.7;
v5 = 0.7;
}
if (_root.defs.difficulty == 'normal') {
v4 = 1;
v5 = 1;
}
if (_root.defs.difficulty == 'hard') {
v4 = 1.3;
v5 = 1;
}
if (_root.defs.difficulty == 'epic') {
v4 = 1.6;
v5 = 1;
}
this.level = m;
this.maxHP = Math.floor(this.maxHP * Math.pow(1.18, m) * v5);
this.HP = this.maxHP;
this.attack = this.attack * Math.pow(1.28, m) * v4;
this.magicAttack = this.magicAttack * Math.pow(1.28, m) * v4;
this.defence = Math.floor(this.defence + 0.2 * this.defence * (m / 5));
this.magicDefence = Math.floor(this.magicDefence + 0.2 * this.magicDefence * (m / 5));
this.evade = Math.floor(this.evade + 0.2 * this.evade * (m / 5));
this.accuracy = Math.floor(this.accuracy + 0.2 * this.accuracy * (m / 5));
this.gold = Math.floor(this.gold * Math.pow(1.2, m));
this.experience = Math.floor(this.experience * Math.pow(1.21, m));
this.abilityPoints = Math.floor(this.abilityPoints * Math.pow(1.21, m));
};
v2.getXY = function (a) {
this.graphic.X = (this.getX(a) - this.target.getX(2)) / 12;
this.graphic.Y = (this.getY(a) - this.target.getY(2)) / 12;
};
v2.getX = function (a) {
return (this.graphic.getPoint(a))._x * this.graphic._xscale / 100 + this.graphic._x;
};
v2.getY = function (a) {
return (this.graphic.getPoint(a))._y * this.graphic._yscale / 100 + this.graphic._y;
};
v2.reposition = function (point) {
this.graphic._x = point._x - this.graphic.point1._x * this.scaleGraphic / 100;
this.graphic._y = point._y - this.graphic.point1._y * this.scaleGraphic / 100;
this.graphic._yscale = this.scaleGraphic;
this.graphic._xscale = this.graphic._yscale;
};
v2.printStats = function () {
trace('\nName: ' + this.foeName + '\nType: ' + this.foeType + '\nHP: ' + this.HP + '/' + this.maxHP + '\n' + 'Elem Weakness: ' + this.getWeakness(this.elementalResistance) + '\nElem Resistance: ' + this.getResistance(this.elementalResistance) + '\nStat Weakness: ' + this.getWeakness(this.statusResistance) + '\nStat Resistance: ' + this.getResistance(this.statusResistance) + '\n' + this.foeDescription + '\n');
};
v2.printStats2 = function () {
return 'Name: ' + this.foeName + '\nLevel: ' + this.level + '\nType: ' + this.foeType + '\nHP: ' + this.HP + '/' + this.maxHP + '\n\n' + 'Defence: ' + this.defence + '\nMagic Def: ' + this.magicDefence + '\nEvade: ' + this.evade + '\n\n' + this.foeDescription;
};
v2.printStats3 = function () {
return 'Elemental Weakness: \n' + this.getWeakness(this.elementalResistance) + '\n\nElemental Resistance: \n' + this.getResistance(this.elementalResistance) + '\n\nStat Weakness: \n' + this.getWeakness(this.statusResistance) + '\n\nStat Resistance: \n' + this.getResistance(this.statusResistance);
};
v2.printStats4 = function () {
return '' + this.foeDescription + '\n' + this.printStats3();
};
v2.setHP = function (h) {
this.HP = h;
this.maxHP = h;
};
v2.makeMove = function () {
var v2 = random(4);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
};
v2.fadeBuffs = function () {
var v3 = ['attack', 'magicAttack', 'defence', 'magicDefence', 'evade', 'accuracy'];
var v2 = 0;
while (v2 < v3.length) {
if (this[v3[v2] + 'Buff'] > 1) {
this[v3[v2] + 'Buff'] -= 0.05;
}
if (this[v3[v2] + 'Buff'] < 1) {
this[v3[v2] + 'Buff'] += 0.05;
}
this[v3[v2] + 'Buff'] *= 100;
this[v3[v2] + 'Buff'] = Math.round(this[v3[v2] + 'Buff']) / 100;
++v2;
}
this.graphic.idle.stats.update();
this.graphic.stats.update();
};
v2.fadeStatus = function () {
if (this.stun > 0) {
--this.stun;
}
if (this.syphon > 0) {
--this.syphon;
}
if (this.berserk > 0) {
--this.berserk;
}
if (this.regen > 0) {
--this.regen;
}
if (this.autolife > 0) {
--this.autolife;
}
this.graphic.idle.stats.update();
this.graphic.stats.update();
};
v2.poisonDamage = function () {
if (this.poison != 0) {
this.getHit(new DamageObject('magic', 7 * this.level * (this.level / 5) * this.poison * this.magicDefence + 5, 0.1, 'poison', 1, 'null', 0, 0, 999, 0));
}
};
v2.regenDamage = function () {
if (this.regen != 0 and !this.dead) {
this.getHeal(this.level * this.level * this.level / 6, 0.1);
}
};
v2.foeDescription = 'default';
v2.level = 1;
v2.busy = true;
v2.turnTaken = false;
v2.hit2HP = 0.25;
v2.attack = 1;
v2.defence = 1;
v2.magicAttack = 1;
v2.magicDefence = 1;
v2.evade = 1;
v2.accuracy = 1;
v2.attackBuff = 1;
v2.defenceBuff = 1;
v2.magicAttackBuff = 1;
v2.magicDefenceBuff = 1;
v2.evadeBuff = 1;
v2.accuracyBuff = 1;
v2.scaleGraphic = 100;
v2.stun = 0;
v2.poison = 0;
v2.syphon = 0;
v2.berserk = 0;
v2.regen = 0;
v2.doom = 0;
v2.autolife = 0;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.act = false;
v2.maxBuff = 1.7;
v2.minBuff = 0.5;
v2.gettingHit = false;
ASSetPropFlags(_global.Foe.prototype, null, 1);
}
#endinitclip
}
movieClip 7038 __Packages.Akron {
#initclip
if (!_global.Akron) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 100;
this.dropList = [0, 0, 0, 0, 0, 0, 0];
this.reposition(d);
this.orb1 = this.elements[random(6)];
this.orb2 = this.elements[random(6)];
this.orb3 = this.elements[random(6)];
this.orb4 = this.elements[random(6)];
this.newWeakness();
};
_global.Akron = v1;
_global.Akron extends Foe;
var v2 = v1.prototype;
v2.specialHit2 = function (hit) {
this.formDamage += hit.damage;
trace('FORM DAMAGE: ' + this.formDamage);
if (this.getHpPercent() <= 70) {
this.graphic.scars = 2;
}
if (this.getHpPercent() <= 40) {
this.graphic.scars = 3;
}
if (hit.damage >= 20000) {
this.graphic.gotoAndPlay('hit6');
return true;
}
if (hit.damage >= 10000) {
this.graphic.gotoAndPlay('hit2');
return true;
}
return false;
};
v2.newWeakness = function () {
if (this.orb1 == 'fire') {
this.elementalResistance = this.fireSet;
}
if (this.orb1 == 'earth') {
this.elementalResistance = this.earthSet;
}
if (this.orb1 == 'thunder') {
this.elementalResistance = this.thunderSet;
}
if (this.orb1 == 'ice') {
this.elementalResistance = this.iceSet;
}
if (this.orb1 == 'holy') {
this.elementalResistance = this.holySet;
}
if (this.orb1 == 'dark') {
this.elementalResistance = this.darkSet;
}
};
v2.element = function () {
this.orb1 = this.orb2;
this.orb2 = this.orb3;
this.orb3 = this.orb4;
this.orb4 = this.elements[random(6)];
this.buff('magicAttackUp', 0.5);
this.newWeakness();
this.accuracy = 9;
this.evade = 11;
};
v2.makeMove = function () {
if (!this.speck) {
this.speck = true;
} else {
this.parent.doSpeech(199);
this.parent.doSpeech(200);
this.parent.doSpeech(201);
this.parent.doSpeech(202);
this.parent.doSpeech(203);
this.parent.doSpeech(204);
this.parent.doSpeech(205);
this.parent.doSpeech(206);
this.parent.doSpeech(207);
this.parent.doSpeech(208);
this.parent.doSpeech(209);
this.speck = false;
}
trace('AKRON PATTERN:');
trace('Raised: ' + this.graphic.raised);
trace('Charge: ' + this.charge);
trace('Til Claw: ' + this.clawWait);
trace('Til Up: ' + this.raisedWait);
trace('Til Element: ' + this.swapWait);
this.turnStart();
if (this.graphic.raised) {
var v4 = random(5);
if (this.raisedWait <= 0 and this.getHpPercent() >= 25) {
v4 = 6;
}
if (this.charge) {
v4 = 5;
}
if (v4 == 0) {
this.graphic.gotoAndPlay('special');
}
if (v4 == 1) {
this.graphic.gotoAndPlay('special2');
}
if (v4 == 2) {
this.graphic.gotoAndPlay('special4');
}
if (v4 == 3) {
this.graphic.gotoAndPlay('special5');
}
if (v4 == 4) {
this.graphic.gotoAndPlay('special6');
}
if (v4 == 5) {
this.graphic.gotoAndPlay('special7');
}
if (v4 == 6) {
this.graphic.gotoAndPlay('down');
this.poison = 0;
this.formDamage = 0;
this.clawWait = 5;
}
--this.raisedWait;
} else {
var v3 = [0, 0, 0, 0, 0, 0];
if (this.orb1 == 'fire') {
v3[2] = 0;
v3[1] = 0;
v3[0] = 0;
}
if (this.orb1 == 'thunder') {
v3[2] = 1;
v3[1] = 1;
v3[0] = 1;
}
if (this.orb1 == 'ice') {
v3[2] = 2;
v3[1] = 2;
v3[0] = 2;
}
if (this.orb1 == 'earth') {
v3[2] = 4;
v3[1] = 4;
v3[0] = 4;
}
if (this.orb1 == 'dark') {
v3[2] = 5;
v3[1] = 5;
v3[0] = 5;
}
if (this.orb1 == 'heal') {
v3[2] = 6;
v3[1] = 6;
v3[0] = 6;
}
var v2 = 2;
while (v2 < 5) {
if (this['orb' + v2] == 'fire') {
v3[v2 + 1] = 0;
}
if (this['orb' + v2] == 'thunder') {
v3[v2 + 1] = 1;
}
if (this['orb' + v2] == 'ice') {
v3[v2 + 1] = 2;
}
if (this['orb' + v2] == 'earth') {
v3[v2 + 1] = 4;
}
if (this['orb' + v2] == 'dark') {
v3[v2 + 1] = 5;
}
if (this['orb' + v2] == 'heal') {
v3[v2 + 1] = 6;
}
++v2;
}
trace('CHOICES: ' + v3);
var v4 = v3[random(6)];
if (this.clawWait <= 0) {
v4 = 3;
}
if (this.formDamage >= this.maxHP / 15) {
v4 = 7;
}
if (this.swapWait <= 0) {
v4 = 8;
this.swapWait = 10;
}
if (v4 == 0) {
this.graphic.gotoAndPlay('special8');
}
if (v4 == 1) {
this.graphic.gotoAndPlay('special9');
}
if (v4 == 2) {
this.graphic.gotoAndPlay('special10');
}
if (v4 == 3) {
this.graphic.gotoAndPlay('special11');
this.clawWait = 5;
}
if (v4 == 4) {
this.graphic.gotoAndPlay('special12');
}
if (v4 == 5) {
this.graphic.gotoAndPlay('special13');
}
if (v4 == 6) {
this.graphic.gotoAndPlay('special14');
}
if (v4 == 8) {
this.graphic.gotoAndPlay('element');
}
if (v4 == 7) {
this.graphic.gotoAndPlay('up');
this.poison = 0;
this.formDamage = 0;
this.raisedWait = 3;
}
--this.clawWait;
}
if (this.spawnWait == 0) {
this.spawnWait = 8;
v4 = random(3);
if (v4 == 0) {
this.parent.spawnFoe(DarkClay, 30);
}
if (v4 == 2) {
this.parent.spawnFoe2(CosmicMonolith, 30);
}
if (v4 == 1) {
this.parent.spawnFoe(SkullGhost, 30);
}
}
--this.spawnWait;
--this.swapWait;
};
v2.special1 = function () {
this.castSpell('darkeyes');
};
v2.darkeyes = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 80, 0.1, 'dark', 1, 'doom', 0.7, 3, 1.9, 0.1);
};
v2.special2 = function () {
this.sendHit('attack', 120, 0.1, 'bomb', 1, 'null', 1, 0.3, 1.1, 0.2);
this.target = this.parent.randomPlayer();
};
v2.special3 = function () {
this.parent.spawnWorm();
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 130, 0.1, 'dark', 1, 'defenceDown', 0.8, 0.3, 1.5, 0.1);
};
v2.special5 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 130, 0.1, 'thunder', 0.5, 'stun', 0.3, 1, 0.9, 0.1);
};
v2.special6 = function () {
this.charge = true;
this.buff('magicAttackUp', 0.5);
};
v2.special7 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 20, 0.1, 'dark', 0.5, 'death', 0.05, 1, 0.9, 0.1);
};
v2.special77 = function () {
this.targetAll = 'allPlayers';
this.castSpell('darkball');
};
v2.darkball = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 190, 0.1, 'dark', 0.5, 'death', 0.1, 1, 2, 0.1);
this.charge = false;
};
v2.special8 = function () {
this.sendHit('magic', 62.5, 0.1, 'fire', 1, 'berserk', 0.07000000000000001, 1, 1.4, 0.1);
this.target = this.parent.randomPlayer();
};
v2.special9 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 70, 0.1, 'thunder', 1, 'stun', 0.1, 1, 1.4, 0.1);
};
v2.special10 = function () {
this.sendHit('magic', 160, 0.1, 'ice', 1, 'freeze', 1, 1, 0.9, 0.1);
};
v2.special11 = function () {
this.parent.spawnClaws();
this.buff('magicDefenceUp', 0.5);
this.buff('defenceUp', 0.5);
};
v2.special12 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 85, 0.1, 'earth', 1, 'null', 0.1, 1, 1.5, 0.1);
};
v2.special13 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 50, 0.1, 'dark', 1, 'dispel', 0.6, 1, 1.5, 0.1);
};
v2.special14 = function () {
this.targetAll = 'allFoes';
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].getHeal(30000, 0.1);
this.parent.foes[v2].regen += 3;
++v2;
}
};
v2.hideFoes = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].graphic._visible = false;
++v2;
}
this.graphic._visible = true;
};
v2.foeName = 'Akron';
v2.foeType = 'Ancient Deity';
v2.foeDescription = 'Has lived for billions of years. Can change elements and attack patterns.';
v2.maxHP = 5000;
v2.attack = 3.5;
v2.defence = 4;
v2.magicAttack = 3.5;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.recall = 5;
v2.minBuff = 0.8;
v2.experience = 0;
v2.abilityPoints = 0;
v2.gold = 0;
v2.dropList = [];
v2.mainGraphic = 'satan';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.fireSet = ['fire', -1, 'water', 2, 'ice', 1.7, 'thunder', 1, 'wind', 1.7, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', -1];
v2.iceSet = ['fire', 2, 'water', -1, 'ice', -1, 'thunder', 1, 'wind', 0.3, 'poison', 1, 'earth', 1.8, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.thunderSet = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', -1, 'wind', 1, 'poison', 1, 'earth', 1.9, 'dark', 1, 'holy', 0, 'bomb', 1];
v2.earthSet = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 2.3, 'poison', -1, 'earth', -1, 'dark', 1, 'holy', 1, 'bomb', 1.9];
v2.darkSet = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.9, 'wind', 1, 'poison', 0, 'earth', 0, 'dark', -1, 'holy', 2, 'bomb', 1];
v2.holySet = ['fire', 1, 'water', -1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1.7, 'earth', 1, 'dark', 2, 'holy', -1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 0, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 0, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.elements = ['earth', 'ice', 'fire', 'holy', 'dark', 'thunder'];
v2.charge = false;
v2.raised = false;
v2.spawnWait = 7;
v2.clawWait = 4;
v2.raisedWait = 5;
v2.formDamage = 0;
v2.swapWait = 5;
v2.speck = false;
ASSetPropFlags(_global.Akron.prototype, null, 1);
}
#endinitclip
}
movieClip 7039 __Packages.DarkClay {
#initclip
if (!_global.DarkClay) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.brick, 0, _root.defs.earthball, _root.defs.steelplate, 0, 0, _root.defs.darkrune];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.DarkClay = v1;
_global.DarkClay extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 24, 0.1, 'earth', 0.3, 'null', 0.5, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 15, 0.1, 'earth', 0.3, 'null', 0.5, 1, 0.9, 0.2);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('haunt');
} else {
this.castSpell('quake');
}
};
v2.foeName = 'Dark Clay';
v2.foeType = 'Living Statue';
v2.foeDescription = 'An elite clay soldier. Uses earth and dark elemental attacks.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.1;
v2.accuracy = 4;
v2.experience = 26;
v2.abilityPoints = 6;
v2.gold = 40;
v2.dropList = [0];
v2.mainGraphic = 'clay';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 0, 'water', 2.2, 'ice', 1, 'thunder', 0, 'wind', 1, 'poison', 0, 'earth', -1, 'dark', -1, 'holy', 2, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.DarkClay.prototype, null, 1);
}
#endinitclip
}
movieClip 7040 __Packages.CosmicMonolith {
#initclip
if (!_global.CosmicMonolith) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 95;
this.dropList = [_root.defs.darkrune, 0, 0, _root.defs.darkmatter, 0, 0, 0];
this.reposition(d);
};
_global.CosmicMonolith = v1;
_global.CosmicMonolith extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.beam >= 3) {
this.beam = 0;
v2 = 3;
}
if (this.berserk) {
v2 = 3;
}
if (this.syphon) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('special5');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special6');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('nothing');
}
++this.beam;
};
v2.special5 = function () {
this.buff('magicAttackUp', 0.7);
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('evadeUp', 0.5);
++v2;
}
};
v2.magic1 = function () {
if (random(2)) {
this.targetAll = 'allPlayers';
this.castSpell('pulsar');
} else {
this.targetAll = 'allPlayers';
this.castSpell('antimatter');
}
};
v2.special6 = function () {
this.castSpell('doomsday');
};
v2.special7 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 10, 0.1, 'null', 1, 'accuracyDown', 1, 0.2, 1.6, 0);
};
v2.foeName = 'Cosmic Monolith';
v2.foeType = 'Unknown Machine';
v2.foeDescription = 'Distorts the space and time around it to avoid attacks. Destroys everything.';
v2.maxHP = 500;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 7;
v2.accuracy = 4;
v2.experience = 420;
v2.abilityPoints = 25;
v2.gold = 200;
v2.dropList = [];
v2.mainGraphic = 'monolith';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 0, 'water', 0, 'ice', 0, 'thunder', 2, 'wind', 0, 'poison', 0, 'earth', 0, 'dark', -3, 'holy', 0, 'bomb', 2];
v2.statusResistance = ['poison', 0, 'stun', 0.3, 'syphon', 0.3, 'death', 0, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.beam = 3;
ASSetPropFlags(_global.CosmicMonolith.prototype, null, 1);
}
#endinitclip
}
movieClip 7041 __Packages.SkullGhost {
#initclip
if (!_global.SkullGhost) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.jawbone, 0, _root.defs.curlyhorn, _root.defs.solidspike, 0, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
if (_root.defs.difficulty == 'epic') {
this.poison = 3;
}
};
_global.SkullGhost = v1;
_global.SkullGhost extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (h.t == 'attack') {
h.damage = 0;
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = 1;
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack2 = function () {
this.sendHit('attack', 20, 0.1, 'null', 0.3, 'doom', 0.5, 3, 1, 0.1);
};
v2.magic1 = function () {
var v2 = random(6);
if (v2 == 0) {
this.castSpell('icespike');
}
if (v2 == 1) {
this.castSpell('hellfire');
}
if (v2 == 2) {
this.castSpell('death');
}
if (v2 == 3) {
this.castSpell('darkflare');
}
if (v2 == 4) {
this.castSpell('poisoncloud');
}
if (v2 == 5) {
this.castSpell('freeze');
}
};
v2.foeName = 'Skull Ghost';
v2.foeType = 'Undead Being';
v2.foeDescription = 'Only casts spells. IMMUNE TO PHYSICAL DAMAGE.';
v2.maxHP = 200;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.experience = 33;
v2.abilityPoints = 8;
v2.gold = 40;
v2.dropList = [0];
v2.mainGraphic = 'ghost';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.8, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', -1, 'earth', 1, 'dark', -1, 'holy', 1.7, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.SkullGhost.prototype, null, 1);
}
#endinitclip
}
movieClip 7042 __Packages.BlueClay {
#initclip
if (!_global.BlueClay) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.brick, 0, _root.defs.earthball, _root.defs.lightfeather, 0, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.BlueClay = v1;
_global.BlueClay extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
} else {
if (this.getHpPercent() < 30) {
v2 = 1;
trace('low HP mode');
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'null', 1, 'null', 0.5, 1, 1.2, 0.1);
};
v2.attack4 = function () {
this.sendHit('attack', 10.5, 0.1, 'null', 1, 'null', 0.5, 1, 0.9, 0.2);
};
v2.attack2 = function () {
this.buff('evadeUp', 0.3);
this.targetAll = 'allPlayers';
this.sendHit('attack', 20, 0.1, 'null', 1, 'null', 0.5, 1, 1, 0.1);
};
v2.magic2 = function () {
this.castSpell('tornado');
};
v2.foeName = 'Blue Clay';
v2.foeType = 'Living Statue';
v2.foeDescription = 'A soldier made of clay. Uses wind elemental attacks.';
v2.maxHP = 140;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.1;
v2.accuracy = 4;
v2.experience = 17;
v2.abilityPoints = 4;
v2.gold = 20;
v2.dropList = [0];
v2.mainGraphic = 'clay';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.6, 'water', 0, 'ice', 1, 'thunder', 0, 'wind', -1, 'poison', 0, 'earth', -1, 'dark', 1, 'holy', 1, 'bomb', 1.7];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.BlueClay.prototype, null, 1);
}
#endinitclip
}
movieClip 7043 __Packages.TundraMammoth {
#initclip
if (!_global.TundraMammoth) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 95;
this.dropList = [_root.defs.curlyhorn, _root.defs.solidspike, _root.defs.finefur, 0, 0, 0];
this.reposition(d);
};
_global.TundraMammoth = v1;
_global.TundraMammoth extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
var v2 = random(5);
this.turnStart();
if (this.berserk) {
v2 = 3;
} else {
if (this.syphon) {
v2 = random(4);
} else {
if (this.getHpPercent() >= 50) {
v2 = random(4) + 1;
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
++this.recall;
if (this.recall == 2 or this.recall == 4) {
v2 = random(2);
if (v2 == 0) {
this.parent.spawnFoe(IceBit, 22);
}
if (v2 == 1) {
this.parent.spawnFoe(FireBit, 22);
}
}
if (this.recall == 4) {
this.recall = 0;
v2 = random(5);
if (v2 == 0) {
this.parent.spawnFoe2(VikingMonolith, 22);
}
if (v2 == 1) {
this.parent.spawnFoe2(IceElemental, 22);
}
if (v2 == 2) {
this.parent.spawnFoe2(HolyEye, 22);
}
if (v2 == 3) {
this.parent.spawnFoe2(GlacierEater, 22);
}
if (v2 == 4) {
this.parent.spawnFoe2(LavaEater, 22);
}
}
};
v2.attack1 = function () {
if (_root.defs.difficulty == 'epic') {
this.parent.spawnFoe(FireBit, 22);
}
this.sendHit('attack', 58, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.2);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('attack', 40, 0.1, 'earth', 1, 'dispel', 0.8, 1, 1.2, 0.1);
} else {
this.sendHit('attack', 30, 0.1, 'earth', 1, 'dispel', 0.2, 1, 1.2, 0.1);
}
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
this.getXY(2);
var v3 = random(3);
if (v3 == 0) {
this.castSpell('eruption');
}
if (v3 == 1) {
this.castSpell('icespike');
}
if (v3 == 2) {
this.castSpell('rockslide');
}
};
v2.attack3 = function () {
if (_root.defs.difficulty == 'epic') {
this.parent.spawnFoe2(VikingMonolith, 20);
}
this.sendHit('attack', 90, 0.1, 'null', 1, 'stun', 0.8, 3, 1.1, 0.1);
};
v2.attack4 = function () {
this.targetAll = 'allPlayers';
this.castSpell('stampede');
};
v2.magic1 = function () {
this.castSpell('snow');
};
v2.die2 = function () {
this.parent.spawnFoe(FireBit, 22);
};
v2.foeName = 'Tundra Mammoth';
v2.foeType = 'Living Fossil';
v2.foeDescription = 'Attacks with earth, fire and ice. Summons a variety of backup.';
v2.maxHP = 3200;
v2.attack = 6;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.hit2HP = 0.04;
v2.recall = 0;
v2.minBuff = 0.8;
v2.experience = 600;
v2.abilityPoints = 100;
v2.gold = 600;
v2.dropList = [];
v2.mainGraphic = 'mammoth';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.6, 'water', 0.5, 'ice', -1, 'thunder', 1, 'wind', 0.5, 'poison', 1.5, 'earth', 1, 'dark', 1.5, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 0.8, 'stun', 0, 'syphon', 0.5, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.TundraMammoth.prototype, null, 1);
}
#endinitclip
}
movieClip 7044 __Packages.IceBit {
#initclip
if (!_global.IceBit) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.earthball, 0, 0, 0, _root.defs.icecrystal, 0, _root.defs.geode];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.IceBit = v1;
_global.IceBit extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = 0;
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
};
v2.attack1 = function () {
this.sendHit('attack', 15, 0.1, 'ice', 0.8, 'freeze', 0.7, 2, 1, 0.1);
};
v2.foeName = 'Ice Bit';
v2.foeType = 'Enchanted Rock';
v2.foeDescription = 'A floating and annoying chunk of ice and rock.';
v2.maxHP = 70;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 10;
v2.abilityPoints = 1.5;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'rockbit';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', -1, 'thunder', 1, 'wind', 0, 'poison', 0, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1.7];
v2.statusResistance = ['poison', 0, 'stun', 0, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.IceBit.prototype, null, 1);
}
#endinitclip
}
movieClip 7045 __Packages.FireBit {
#initclip
if (!_global.FireBit) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.earthball, 0, 0, 0, _root.defs.magmaball, 0, _root.defs.geode];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.FireBit = v1;
_global.FireBit extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = 0;
if (this.syphon) {
this.graphic.gotoAndPlay('nothing');
} else {
this.graphic.gotoAndPlay('special');
}
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 40, 0.1, 'bomb', 1, 'null', 0.7, 2, 1.2, 0.1);
this.doDie();
};
v2.foeName = 'Fire Bit';
v2.foeType = 'Enchanted Rock';
v2.foeDescription = 'A floating and self-destructive chunk of molten rock.';
v2.maxHP = 70;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 10;
v2.abilityPoints = 1.5;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'rockbit';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', -1, 'water', 3, 'ice', 1.7, 'thunder', 1, 'wind', 1, 'poison', 0, 'earth', 0.5, 'dark', 1, 'holy', 1, 'bomb', 1.7];
v2.statusResistance = ['poison', 0, 'stun', 0, 'syphon', 1.6, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.FireBit.prototype, null, 1);
}
#endinitclip
}
movieClip 7046 __Packages.VikingMonolith {
#initclip
if (!_global.VikingMonolith) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 95;
this.dropList = [0, _root.defs.icecrystal, _root.defs.amethyst, 0, _root.defs.lightrune, 0, 0];
this.reposition(d);
};
_global.VikingMonolith = v1;
_global.VikingMonolith extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.beam >= 3) {
this.beam = 0;
v2 = 3;
}
if (this.berserk) {
v2 = 3;
}
if (this.syphon) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special4');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('nothing');
}
++this.beam;
};
v2.special3 = function () {
this.buff('magicAttackUp', 0.7);
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('attackUp', 0.35);
++v2;
}
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('frost');
} else {
this.castSpell('icespike');
}
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('magic', 70, 0.1, 'ice', 1, 'freeze', 2, 2, 1.3, 0.1);
} else {
this.sendHit('magic', 70, 0.1, 'ice', 1, 'freeze', 0.4, 2, 1.3, 0.1);
}
};
v2.foeName = 'Viking Monolith';
v2.foeType = 'Unmovable Stone';
v2.foeDescription = 'Uses extremely powerful attacks and has much HP.';
v2.maxHP = 450;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 150;
v2.abilityPoints = 15;
v2.gold = 80;
v2.dropList = [];
v2.mainGraphic = 'monolith';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 0, 'water', 0, 'ice', 0, 'thunder', 0, 'wind', 0, 'poison', 0, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 0.3, 'syphon', 0.3, 'death', 0.2, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.beam = 3;
ASSetPropFlags(_global.VikingMonolith.prototype, null, 1);
}
#endinitclip
}
movieClip 7047 __Packages.IceElemental {
#initclip
if (!_global.IceElemental) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, _root.defs.icecrystal, 0, 0, _root.defs.solidspike, _root.defs.amethyst, 0];
this.reposition(d);
};
_global.IceElemental = v1;
_global.IceElemental extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 35, 0.1, 'ice', 0.6, 'null', 0.2, 2, 1.1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 12.5, 0.1, 'ice', 0.6, 'null', 0.2, 2, 1.1, 0.1);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('icespike');
} else {
this.castSpell('snow');
}
};
v2.special1 = function () {
this.sendHit('attack', 45, 0.1, 'ice', 0.6, 'freeze', 0.5, 2, 1.3, 0.3);
};
v2.foeName = 'Ice Elemental';
v2.foeType = 'Demonic Entity';
v2.foeDescription = 'Attacks with blades and ice magic.';
v2.maxHP = 300;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 45;
v2.abilityPoints = 8;
v2.gold = 50;
v2.dropList = [];
v2.mainGraphic = 'elementals';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', -1, 'thunder', 1, 'wind', 0, 'poison', 1, 'earth', 1.5, 'dark', 1, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.IceElemental.prototype, null, 1);
}
#endinitclip
}
movieClip 7048 __Packages.HolyEye {
#initclip
if (!_global.HolyEye) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [_root.defs.talisman, _root.defs.lightfeather, 0, 0, 0, 0, _root.defs.pearl];
this.reposition(d);
};
_global.HolyEye = v1;
_global.HolyEye extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special6');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'holy', 0.5, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 16.5, 0.1, 'holy', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 11, 0.1, 'holy', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.magic2 = function () {
if (random(2)) {
this.castSpell('tornado');
} else {
this.castSpell('shine');
}
};
v2.special6 = function () {
this.targetAll = 'allFoes';
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].getHeal(3000, 0.1);
this.parent.foes[v2].regen += 2;
++v2;
}
};
v2.foeName = 'Holy Eye';
v2.foeType = 'Magical Eye';
v2.foeDescription = 'Uses holy, wind and healing spells.';
v2.maxHP = 130;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4;
v2.experience = 20;
v2.abilityPoints = 3;
v2.gold = 15;
v2.dropList = [];
v2.mainGraphic = 'eyeguy';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 0, 'earth', 1, 'dark', 2, 'holy', -1, 'bomb', 1];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.HolyEye.prototype, null, 1);
}
#endinitclip
}
movieClip 7049 __Packages.GlacierEater {
#initclip
if (!_global.GlacierEater) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.jawbone, _root.defs.dragonfin, _root.defs.icecrystal, _root.defs.dragonscales, 0, _root.defs.solidspike, 0];
this.scaleGraphic = 77;
this.reposition(d);
};
_global.GlacierEater = v1;
_global.GlacierEater extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
} else {
if (this.getHpPercent() < 30) {
v2 = 2;
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 37, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.2);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 12.5, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 11, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
this.buff('defenceUp', 0.6);
this.buff('magicDefenceUp', 0.6);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('magic', 7.5, 0.1, 'ice', 1, 'freeze', 0.5, 1, 0.9, 0.1);
} else {
this.sendHit('magic', 7.5, 0.1, 'ice', 1, 'freeze', 0.12, 1, 0.9, 0.1);
}
};
v2.foeName = 'Glacier Eater';
v2.foeType = 'Giant Tortoise';
v2.foeDescription = 'A defensive foe which attacks with earth and ice.';
v2.maxHP = 250;
v2.attack = 4;
v2.defence = 4.5;
v2.magicAttack = 4;
v2.magicDefence = 4.5;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 38;
v2.abilityPoints = 13;
v2.gold = 20;
v2.dropList = [0];
v2.mainGraphic = 'turtle';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1.6, 'water', -1, 'ice', -1, 'thunder', 0, 'wind', 0, 'poison', 1, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GlacierEater.prototype, null, 1);
}
#endinitclip
}
movieClip 7050 __Packages.LavaEater {
#initclip
if (!_global.LavaEater) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.jawbone, _root.defs.dragonfin, _root.defs.magmaball, _root.defs.dragonscales, 0, _root.defs.solidspike, 0];
this.scaleGraphic = 77;
this.reposition(d);
};
_global.LavaEater = v1;
_global.LavaEater extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
} else {
if (this.getHpPercent() < 30) {
v2 = 3;
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special3');
}
};
v2.attack1 = function () {
this.sendHit('attack', 42, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.2);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 12.5, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 11, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
this.buff('attackUp', 0.6);
this.buff('magicAttackUp', 0.6);
};
v2.special3 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('magic', 8.25, 0.1, 'fire', 1, 'defenceDown', 0.6, 0.2, 0.9, 0.1);
} else {
this.sendHit('magic', 7, 0.1, 'fire', 1, 'defenceDown', 0.1, 0.2, 0.9, 0.1);
}
};
v2.foeName = 'Lava Eater';
v2.foeType = 'Giant Tortoise';
v2.foeDescription = 'An offensive foe which attacks with earth and fire.';
v2.maxHP = 250;
v2.attack = 4;
v2.defence = 4.5;
v2.magicAttack = 4;
v2.magicDefence = 4.5;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 38;
v2.abilityPoints = 13;
v2.gold = 20;
v2.dropList = [0];
v2.mainGraphic = 'turtle';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', -1, 'water', 2, 'ice', 1.7, 'thunder', 0, 'wind', 0, 'poison', 1, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.LavaEater.prototype, null, 1);
}
#endinitclip
}
movieClip 7051 __Packages.FireRune {
#initclip
if (!_global.FireRune) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, _root.defs.magmaball, 0, 0, 0, 0, 0, 0];
this.scaleGraphic = 90;
this.reposition(d);
};
_global.FireRune = v1;
_global.FireRune extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (this.syphon or this.berserk) {
v2 = 0;
}
if (this.getHpPercent() <= 20) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 12, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 50, 0.1, 'bomb', 1, 'null', 0.7, 2, 1.2, 0.1);
this.doDie();
this.unbusy();
};
v2.magic2 = function () {
if (random(2)) {
this.castSpell('fume');
} else {
this.castSpell('eruption');
}
};
v2.foeName = 'Fire Rune';
v2.foeType = 'Magic Cannon Ball';
v2.foeDescription = 'Casts fire spells. Suicides at low HP.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 15;
v2.abilityPoints = 1.5;
v2.gold = 9;
v2.dropList = [0];
v2.mainGraphic = 'rune';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', -1, 'water', 2.2, 'ice', 1.8, 'thunder', 1, 'wind', 1.5, 'poison', 0, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 0.5];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.FireRune.prototype, null, 1);
}
#endinitclip
}
movieClip 7052 __Packages.LightGolem {
#initclip
if (!_global.LightGolem) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 72;
this.dropList = [0, 0, 0, _root.defs.lightrune, _root.defs.sadstatue, _root.defs.goldplate, _root.defs.geode];
this.reposition(d);
this.shieldHP = this.maxHP / 3;
this.swordHP = this.maxHP / 4;
trace('SHILED HP ' + this.shieldHP);
};
_global.LightGolem = v1;
_global.LightGolem extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (this.shield) {
trace('SHIELD HIT!');
trace(h.damage / 2 * this.defence);
this.shieldHP -= h.damage / 2 * this.defence;
} else {
trace('SWORD HIT!');
this.swordHP -= h.damage / this.defence;
}
if (this.swordHP <= 0) {
if (this.swordBreak == 0) {
this.swordBreak = 1;
}
}
if (this.shieldHP <= 0) {
if (this.shieldBreak == 0) {
this.shieldBreak = 1;
}
} else {
h.damage /= 2;
}
};
v2.specialHit2 = function (h) {
if (this.shieldBreak == 1) {
this.shieldBreak = 2;
this.shield = false;
this.graphic.gotoAndPlay('break2');
return true;
return false;
}
if (this.swordBreak == 1) {
this.swordBreak = 2;
this.sword = false;
this.graphic.gotoAndPlay('break');
return true;
}
return false;
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (!this.shield) {
v2 = random(2) + 1;
}
if (!this.sword) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'earth', 0.7, 'defenceDown', 0.5, 0.3, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
this.castSpell('fume');
}
};
v2.attack2 = function () {
this.sendHit('attack', 50, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
this.castSpell('rockslide');
}
};
v2.attack3 = function () {
this.sendHit('attack', 33, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.8, 0.1);
};
v2.magic1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 12, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.9, 0.1);
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
if (random(2)) {
this.castSpell('rockslide');
} else {
this.buff('defenceUp', 0.5);
this.buff('attackUp', 0.5);
}
};
v2.foeName = 'Light Golem';
v2.foeType = 'Earthen Knight';
v2.foeDescription = 'Gets weaker as it takes damage and loses limbs.';
v2.maxHP = 400;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 90;
v2.abilityPoints = 8;
v2.gold = 70;
v2.dropList = [];
v2.mainGraphic = 'golem';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0, 'water', 2.2, 'ice', 1.7, 'thunder', 0, 'wind', 1, 'poison', 0, 'earth', -1, 'dark', 2, 'holy', -1, 'bomb', 1.9];
v2.statusResistance = ['poison', 0, 'stun', 0.3, 'syphon', 1, 'death', 0.5, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.sword = true;
v2.shield = true;
v2.shieldBreak = 0;
v2.swordBreak = 0;
v2.shieldHP = 0;
v2.swordHP = 0;
ASSetPropFlags(_global.LightGolem.prototype, null, 1);
}
#endinitclip
}
movieClip 7053 __Packages.AncientEye {
#initclip
if (!_global.AncientEye) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [_root.defs.talisman, _root.defs.gear, _root.defs.handbomb, _root.defs.magnet, 0, 0, 0];
this.reposition(d);
};
_global.AncientEye = v1;
_global.AncientEye extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'null', 0.5, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 16.5, 0.1, 'null', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 11, 0.1, 'null', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.magic2 = function () {
this.buff('attackUp', 0.7);
};
v2.special1 = function () {
this.sendHit('magic', 33, 0.1, 'null', 0.5, 'syphon', 0.9, 3, 1, 0.1);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 22, 0.1, 'null', 0.5, 'magicAttackDown', 0.7, 0.5, 1, 0.1);
};
v2.foeName = 'Ancient Eye';
v2.foeType = 'Magical Eye';
v2.foeDescription = 'Inflicts syphon status and lowers magical attack power. Attacks with no element.';
v2.maxHP = 130;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4;
v2.experience = 22;
v2.abilityPoints = 3;
v2.gold = 15;
v2.dropList = [];
v2.mainGraphic = 'eyeguy';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.6, 'wind', 1, 'poison', 0, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.AncientEye.prototype, null, 1);
}
#endinitclip
}
movieClip 7054 __Packages.SpikeCrab {
#initclip
if (!_global.SpikeCrab) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, _root.defs.seashell, 0, 0, 0, _root.defs.magmaball, _root.defs.solidspike];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.SpikeCrab = v1;
_global.SpikeCrab extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(4);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('defend');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack2 = function () {
this.sendHit('magic', 20, 0.1, 'water', 1, 'evadeDown', 0.5, 0.3, 1.2, 0);
};
v2.attack1 = function () {
this.sendHit('attack', 28, 0.1, 'null', 1, 'null', 0.5, 0.3, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 40, 0.1, 'earth', 0.8, 'null', 0.1, 1, 0.7, 0.5);
};
v2.special1 = function () {
this.buff('defenceUp', 0.4);
this.buff('attackUp', 0.4);
};
v2.magic1 = function () {
if (this.parent.battleBG == 'cave') {
this.castSpell('quake');
} else {
if (this.parent.battleBG == 'fire' or this.parent.battleBG == 'lava' or this.parent.battleBG == 'volcano') {
if (random(2)) {
this.castSpell('quake');
} else {
this.castSpell('fume');
}
} else {
this.castSpell('flood');
}
}
};
v2.foeName = 'Spike Crab';
v2.foeType = 'Underground Dweller';
v2.foeDescription = 'Defensive creature which attacks differently in different environments.';
v2.maxHP = 155;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 33;
v2.abilityPoints = 2.6;
v2.gold = 22;
v2.dropList = [0];
v2.mainGraphic = 'crab';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 0, 'water', -2, 'ice', 1, 'thunder', 0, 'wind', 0, 'poison', 1, 'earth', 1.7, 'dark', 1, 'holy', 1.6, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.SpikeCrab.prototype, null, 1);
}
#endinitclip
}
movieClip 7055 __Packages.DrillBot {
#initclip
if (!_global.DrillBot) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 75;
this.dropList = [_root.defs.gear, _root.defs.microcontroller, _root.defs.steelplate, _root.defs.magnet, 0, _root.defs.ramchip, 0];
this.reposition(d);
};
_global.DrillBot = v1;
_global.DrillBot extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special3');
}
};
v2.attack1 = function () {
this.sendHit('attack', 12, 0.1, 'null', 0.5, 'null', 0.2, 2, 1, 0.1);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.castSpell('handbomb');
};
v2.special2 = function () {
this.sendHit('magic', 33, 0.1, 'null', 0.5, 'syphon', 0.7, 2, 1, 0.1);
};
v2.special3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 33, 0.1, 'null', 0.5, 'null', 0.7, 0.5, 1, 0.1);
};
v2.foeName = 'Drill Bot';
v2.foeType = 'Armored Sentry';
v2.foeDescription = 'It\'s drills will pierce your heavens.';
v2.maxHP = 240;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4;
v2.experience = 30;
v2.abilityPoints = 4;
v2.gold = 20;
v2.dropList = [];
v2.mainGraphic = 'flybot';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.8, 'wind', 1, 'poison', 0, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.DrillBot.prototype, null, 1);
}
#endinitclip
}
movieClip 7056 __Packages.HauntedTree {
#initclip
if (!_global.HauntedTree) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, _root.defs.garlic, _root.defs.oldwood, _root.defs.mushroom, 0, 0];
this.scaleGraphic = 90;
this.reposition(d);
};
_global.HauntedTree = v1;
_global.HauntedTree extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 8, 0.1, 'poison', 1, 'poison', 0.5, 1, 1.2, 0);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 7, 0.1, 'poison', 1, 'stun', 0.2, 1, 1.2, 0);
};
v2.magic1 = function () {
this.castSpell('vines');
};
v2.foeName = 'Haunted Tree';
v2.foeType = 'Evil Spirit';
v2.foeDescription = 'An old tree posessed by evil. Can inflict stun and poison.';
v2.maxHP = 120;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.3;
v2.accuracy = 3.9;
v2.experience = 15;
v2.abilityPoints = 2.5;
v2.gold = 10;
v2.dropList = [0];
v2.mainGraphic = 'eviltree';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', -2, 'ice', 1, 'thunder', 1.6, 'wind', 1, 'poison', 0.5, 'earth', 1.5, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 0.5, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.HauntedTree.prototype, null, 1);
}
#endinitclip
}
movieClip 7057 __Packages.RedJelly {
#initclip
if (!_global.RedJelly) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, _root.defs.tentacle, _root.defs.redpotion, _root.defs.bubblestone, 0, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.RedJelly = v1;
_global.RedJelly extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'poison', 0.6, 'null', 0.6, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 22, 0.1, 'poison', 0.6, 'poison', 1, 1, 0.9, 0.1);
};
v2.foeName = 'Red Jelly';
v2.foeType = 'Poisonous Jellyfish';
v2.foeDescription = 'Jellyfish which stuns and poisons with a sting.';
v2.maxHP = 110;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 13;
v2.abilityPoints = 2.5;
v2.gold = 12;
v2.dropList = [0];
v2.mainGraphic = 'jelly';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', -2, 'ice', 1.6, 'thunder', 1.5, 'wind', 0.5, 'poison', -1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RedJelly.prototype, null, 1);
}
#endinitclip
}
movieClip 7058 __Packages.MageBird {
#initclip
if (!_global.MageBird) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.talisman, 0, _root.defs.lightfeather, _root.defs.rainbowgems, 0, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.MageBird = v1;
_global.MageBird extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = 1;
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 16, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.magic2 = function () {
var v2 = random(4);
if (v2 == 0) {
this.castSpell('fireball');
}
if (v2 == 1) {
this.castSpell('thunderbolt');
}
if (v2 == 2) {
this.castSpell('iceshard');
}
if (v2 == 3) {
this.castSpell('toxic');
}
};
v2.foeName = 'Mage Bird';
v2.foeType = 'Spellcasting Bird';
v2.foeDescription = 'Casts a wide variety of elemental spells.';
v2.maxHP = 100;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 5;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 20;
v2.abilityPoints = 3;
v2.gold = 15;
v2.dropList = [0];
v2.mainGraphic = 'bird';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.7, 'wind', 1.6, 'poison', 1, 'earth', 0, 'dark', 1.9, 'holy', 0, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1.5, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1.5, 'evadeDown', 1];
ASSetPropFlags(_global.MageBird.prototype, null, 1);
}
#endinitclip
}
movieClip 7059 __Packages.DarkBush {
#initclip
if (!_global.DarkBush) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.herb, 0, _root.defs.curlyhorn, 0, 0, 0, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.DarkBush = v1;
_global.DarkBush extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 17, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 22, 0.1, 'none', 1, 'null', 0.1, 1, 0.9, 0.3);
};
v2.special1 = function () {
this.sendHit('magic', 15, 0.1, 'wind', 1, 'defenceDown', 1, 0.3, 1, 0);
};
v2.special2 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('attackUp', 0.3);
++v2;
}
};
v2.foeName = 'Dark Bush';
v2.foeType = 'Sooty Shrub';
v2.foeDescription = 'A timid creature well hidden under the ash.';
v2.maxHP = 100;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.4;
v2.accuracy = 4;
v2.experience = 12;
v2.abilityPoints = 1.5;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'bush';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 2, 'earth', 1, 'dark', -1, 'holy', 2, 'bomb', 1];
v2.statusResistance = ['poison', 2, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.DarkBush.prototype, null, 1);
}
#endinitclip
}
movieClip 7060 __Packages.GreenSlime {
#initclip
if (!_global.GreenSlime) {
var v1 = function (a, b, c, d) {
this.subGraphic += random(3);
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, 0, _root.defs.kiwi, 0];
this.scaleGraphic = 60;
this.reposition(d);
if (_root.defs.difficulty == 'epic') {
this.poison = 3;
}
};
_global.GreenSlime = v1;
_global.GreenSlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 10, 0.1, 'none', 1, 'null', 1, 2, 1, 0);
};
v2.attack2 = function () {
this.sendHit('attack', 13, 0.1, 'none', 1, 'poison', 0.1, 1, 1, 0.2);
};
v2.foeName = 'Green Slime';
v2.foeType = 'Forest Dwelling Slime';
v2.foeDescription = 'The most common resident of every forest. Is very weak and only uses standard attacks.';
v2.maxHP = 50;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 5;
v2.abilityPoints = 1;
v2.gold = 5;
v2.dropList = [0];
v2.mainGraphic = 'slime';
v2.subGraphic = 6;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', 1.4, 'thunder', 1.3, 'wind', 1, 'poison', -1, 'earth', 0.2, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 2, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GreenSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7061 __Packages.BoltRune {
#initclip
if (!_global.BoltRune) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, _root.defs.magnet, 0, 0, 0, 0, 0, 0];
this.scaleGraphic = 90;
this.reposition(d);
};
_global.BoltRune = v1;
_global.BoltRune extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (this.syphon) {
v2 = 0;
}
if (this.getHpPercent() <= 20) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special5');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 50, 0.1, 'bomb', 1, 'null', 0.7, 2, 1.2, 0.1);
this.doDie();
this.unbusy();
};
v2.special5 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('magicAttackUp', 0.5);
++v2;
}
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('thunderbolt');
} else {
this.targetAll = 'allPlayers';
this.castSpell('thunderstorm');
}
};
v2.foeName = 'Bolt Rune';
v2.foeType = 'Magic Cannon Ball';
v2.foeDescription = 'Casts thunder spells. Suicides at low HP.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 15;
v2.abilityPoints = 1.5;
v2.gold = 9;
v2.dropList = [0];
v2.mainGraphic = 'rune';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1, 'water', 2.2, 'ice', 1, 'thunder', -1, 'wind', 1, 'poison', 0, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.BoltRune.prototype, null, 1);
}
#endinitclip
}
movieClip 7062 __Packages.SharkIgloo {
#initclip
if (!_global.SharkIgloo) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [_root.defs.brick, _root.defs.finefur, _root.defs.icecream, _root.defs.steelplate, _root.defs.silk, 0, 0];
this.reposition(d);
};
_global.SharkIgloo = v1;
_global.SharkIgloo extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 33, 0.1, 'null', 0, 'null', 0.2, 2, 0.9, 0.3);
};
v2.attack3 = function () {
this.sendHit('attack', 20, 0.1, 'null', 1, 'null', 0.3, 0.2, 0.9, 0.2);
};
v2.special1 = function () {
this.sendHit('magic', 33, 0.1, 'bomb', 1, 'null', 0.3, 0.2, 0.9, 0.2);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 25, 0.1, 'bomb', 1, 'null', 0.3, 0.2, 1, 0.1);
};
v2.foeName = 'Shark Igloo';
v2.foeType = 'Cat\'s Food Storage';
v2.foeDescription = 'An igloo storing fish for the kitten army.';
v2.maxHP = 380;
v2.attack = 4;
v2.defence = 4.2;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.6;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.poison = 0;
v2.experience = 55;
v2.abilityPoints = 10;
v2.gold = 50;
v2.dropList = [];
v2.mainGraphic = 'kittenKart';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', 0, 'ice', -1, 'thunder', 1, 'wind', 0.5, 'poison', 1.6, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.SharkIgloo.prototype, null, 1);
}
#endinitclip
}
movieClip 7063 __Packages.SwiftCrow {
#initclip
if (!_global.SwiftCrow) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, _root.defs.lightfeather, _root.defs.rainbowgems, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.SwiftCrow = v1;
_global.SwiftCrow extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
};
v2.attack1 = function () {
this.sendHit('attack', 16, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 11, 0.1, 'none', 0.6, 'null', 0.1, 1, 0.9, 0.1);
};
v2.special1 = function () {
this.sendHit('magic', 12, 0.1, 'wind', 1, 'accuracyDown', 0.8, 0.4, 1.1, 0.1);
};
v2.foeName = 'Swift Crow';
v2.foeType = 'Scavenger Bird';
v2.foeDescription = 'An evasive bird which searches for shiny gems.';
v2.maxHP = 80;
v2.attack = 4;
v2.defence = 3.6;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 5;
v2.experience = 10;
v2.abilityPoints = 2;
v2.gold = 15;
v2.dropList = [0];
v2.mainGraphic = 'bird';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1.4, 'thunder', 1.7, 'wind', 1.6, 'poison', 1, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1.5, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1.5, 'evadeDown', 1];
ASSetPropFlags(_global.SwiftCrow.prototype, null, 1);
}
#endinitclip
}
movieClip 7064 __Packages.EvilWorm {
#initclip
if (!_global.EvilWorm) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 70;
this.dropList = [0, 0, 0, 0, 0, 0, 0];
this.reposition(d);
this.accuracy = 9;
this.evade = 11;
};
_global.EvilWorm = v1;
_global.EvilWorm extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.getHpPercent() < 66) {
v2 = random(6) + 2;
}
if (this.getHpPercent() < 33) {
v2 = 6;
}
if (this.berserk) {
v2 = 0;
}
if (this.syphon) {
v2 = random(2);
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special4');
}
if (v2 == 7) {
this.graphic.gotoAndPlay('special5');
}
};
v2.attack1 = function () {
this.sendHit('attack', 40, 0.1, 'null', 0, 'null', 0.2, 2, 1.1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 70, 0.1, 'null', 0, 'poison', 1, 2, 1.1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 75, 0.1, 'fire', 0.3, 'null', 0.2, 2, 0.9, 0.1);
};
v2.attack4 = function () {
this.sendHit('attack', 35, 0.1, 'bomb', 1, 'null', 0.2, 2, 0.9, 0.1);
this.target = this.parent.randomPlayer();
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 30, 0.1, 'water', 1, 'evadeDown', 0.7, 0.2, 1.5, 0.1);
};
v2.special3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 33, 0.1, 'poison', 1, 'poison', 0.5, 3, 1.5, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 40, 0.1, 'poison', 1, 'poison', 1, 2, 1.5, 0.1);
};
v2.special5 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 35, 0.1, 'dark', 1, 'accuracyDown', 0.5, 0.3, 1.5, 0.1);
};
v2.foeName = 'Evil Worm';
v2.foeType = 'Mutant Tentacle';
v2.foeDescription = 'Uses poison, water, dark and bomb attacks.';
v2.maxHP = 440;
v2.attack = 3.5;
v2.defence = 4;
v2.magicAttack = 3.7;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4.2;
v2.experience = 150;
v2.abilityPoints = 0;
v2.gold = 0;
v2.dropList = [];
v2.mainGraphic = 'worm2';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1.9, 'dark', 1, 'holy', 1.8, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0.4, 'syphon', 0.4, 'death', 0.6, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.EvilWorm.prototype, null, 1);
}
#endinitclip
}
movieClip 7065 __Packages.HolyRune {
#initclip
if (!_global.HolyRune) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.talisman, 0, 0, 0, 0, 0, _root.defs.pearl];
this.scaleGraphic = 90;
this.reposition(d);
};
_global.HolyRune = v1;
_global.HolyRune extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (this.syphon) {
v2 = 0;
}
if (this.getHpPercent() <= 20) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 50, 0.1, 'bomb', 1, 'null', 0.7, 2, 1.2, 0.1);
this.doDie();
this.unbusy();
};
v2.special1 = function () {
this.sendHit('magic', 35, 0.1, 'holy', 1, 'magicDefenceDown', 1, 0.5, 1, 0.1);
};
v2.special2 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('magicDefenceUp', 0.3);
this.parent.foes[v2].buff('defenceUp', 0.3);
++v2;
}
};
v2.special3 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].getHeal(3333, 0.1);
this.parent.foes[v2].regen += 3;
++v2;
}
};
v2.foeName = 'Holy Rune';
v2.foeType = 'Magic Cannon Ball';
v2.foeDescription = 'Casts holy spells. Suicides at low HP.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 15;
v2.abilityPoints = 1.5;
v2.gold = 9;
v2.dropList = [0];
v2.mainGraphic = 'rune';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 2.2, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 0, 'earth', 1, 'dark', 2, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.HolyRune.prototype, null, 1);
}
#endinitclip
}
movieClip 7066 __Packages.RockRune {
#initclip
if (!_global.RockRune) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.earthball, 0, 0, 0, _root.defs.geode, 0, 0, 0, 0];
this.scaleGraphic = 90;
this.reposition(d);
};
_global.RockRune = v1;
_global.RockRune extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (this.syphon) {
v2 = 0;
}
if (this.getHpPercent() <= 20) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 12, 0.1, 'null', 0.8, 'null', 0.7, 2, 1, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 50, 0.1, 'bomb', 1, 'null', 0.7, 2, 1.2, 0.1);
this.doDie();
this.unbusy();
};
v2.magic2 = function () {
var v2 = random(3);
if (v2 == 0) {
this.castSpell('quake');
}
if (v2 == 1) {
this.castSpell('rockslide');
}
if (v2 == 2) {
this.castSpell('ivy');
}
};
v2.foeName = 'Rock Rune';
v2.foeType = 'Magic Cannon Ball';
v2.foeDescription = 'Casts earth spells. Suicides at low HP.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 15;
v2.abilityPoints = 1.5;
v2.gold = 9;
v2.dropList = [0];
v2.mainGraphic = 'rune';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1, 'water', 2.2, 'ice', 1, 'thunder', 0, 'wind', 2, 'poison', 0, 'earth', -1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RockRune.prototype, null, 1);
}
#endinitclip
}
movieClip 7067 __Packages.RedClay {
#initclip
if (!_global.RedClay) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.brick, 0, _root.defs.earthball, 0, 0, _root.defs.magmaball, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.RedClay = v1;
_global.RedClay extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
} else {
if (this.getHpPercent() < 20) {
v2 = 1;
trace('low HP mode');
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 24, 0.1, 'earth', 0.3, 'null', 0.5, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 15, 0.1, 'earth', 0.3, 'null', 0.5, 1, 0.9, 0.2);
};
v2.magic1 = function () {
if (this.level < 16) {
if (random(2)) {
this.castSpell('fume');
} else {
this.castSpell('quake');
}
} else {
if (random(2)) {
this.castSpell('eruption');
} else {
this.castSpell('quake');
}
}
};
v2.foeName = 'Red Clay';
v2.foeType = 'Living Statue';
v2.foeDescription = 'A soldier made of clay. Uses earth and fire elemental attacks.';
v2.maxHP = 145;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.1;
v2.accuracy = 4;
v2.experience = 18;
v2.abilityPoints = 4;
v2.gold = 22;
v2.dropList = [0];
v2.mainGraphic = 'clay';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', -1, 'water', 2, 'ice', 1.7, 'thunder', 0, 'wind', 0, 'poison', 0, 'earth', -1, 'dark', 1, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RedClay.prototype, null, 1);
}
#endinitclip
}
movieClip 7068 __Packages.GiantSquid {
#initclip
if (!_global.GiantSquid) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 100;
this.dropList = [_root.defs.rainbowgems, _root.defs.purplepotion, _root.defs.bubblestone, 0, 0, 0];
this.reposition(d);
if (_root.defs.difficulty == 'epic') {
this.recall2 = 2;
}
};
_global.GiantSquid = v1;
_global.GiantSquid extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
var v2 = random(6);
this.turnStart();
if (this.syphon) {
v2 = random(3);
} else {
if (this.getHpPercent() >= 30) {
v2 = random(4) + 1;
} else {
if (this.getHpPercent() >= 60) {
v2 = random(3) + 2;
}
}
}
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 2;
}
}
if (this.recall == this.recall2) {
v2 = 6;
this.recall = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special4');
}
++this.recall;
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 40, 0.1, 'water', 1, 'evadeDown', 0.6, 0.2, 0.9, 0);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 28, 0.1, 'dark', 1, 'accuracyDown', 0.4, 0.2, 1.1, 0);
};
v2.special3 = function () {
this.castSpell('ink');
};
v2.special4 = function () {
this.parent.spawnArms();
this.buff('defenceUp', 0.3);
this.buff('magicDefenceUp', 0.3);
if (_root.defs.difficulty == 'epic') {
this.buff('magicAttackUp', 0.7);
this.buff('attackUp', 0.7);
}
};
v2.magic1 = function () {
var v2 = random(7);
if (this.getHpPercent() < 50) {
v2 = random(5) + 2;
}
if (v2 == 0) {
this.castSpell('flood');
}
if (v2 == 2) {
this.castSpell('narwhal');
}
if (v2 == 1) {
this.castSpell('iceshard');
}
if (v2 == 3) {
this.parent.spawnFoe(BlueJelly, 14);
}
if (v2 == 4) {
this.parent.spawnFoe(BlueSlime, 14);
}
if (v2 == 5) {
this.parent.spawnFoe(BlueClay, 14);
}
if (v2 == 6) {
this.parent.spawnFoe(SpiralCrab, 14);
}
};
v2.die2 = function () {
trace(this.parent.foe1.dead);
if (!this.parent.foe1.dead) {
this.parent.foe1.dead = true;
this.parent.foe1.HP = 0;
this.parent.foe1.graphic.gotoAndPlay('die');
}
if (!this.parent.foe3.dead) {
this.parent.foe3.dead = true;
this.parent.foe3.HP = 0;
this.parent.foe3.graphic.gotoAndPlay('die');
}
this.parent.spawnFoe(SpiralCrab, 14);
this.parent.updateFoeBars();
};
v2.foeName = 'Giant Squid';
v2.foeType = 'Huge Sea Creature';
v2.foeDescription = 'Spawns tentacles and attacks with water and dark magic.';
v2.maxHP = 2200;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.7;
v2.accuracy = 4;
v2.hit2HP = 0.03333333333333333;
v2.recall = 0;
v2.recall2 = 5;
v2.experience = 400;
v2.abilityPoints = 70;
v2.gold = 400;
v2.dropList = [];
v2.mainGraphic = 'squid';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0.2, 'water', -2, 'ice', 1.6, 'thunder', 1.7, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 1, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GiantSquid.prototype, null, 1);
}
#endinitclip
}
movieClip 7069 __Packages.BlueJelly {
#initclip
if (!_global.BlueJelly) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, _root.defs.tentacle, _root.defs.bubblestone, 0, 0, 0, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.BlueJelly = v1;
_global.BlueJelly extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
if (this.berserk or this.syphon) {
this.unbusy();
} else {
this.graphic.gotoAndPlay('magic');
}
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('bubbles');
} else {
this.castSpell('rain');
}
};
v2.foeName = 'Blue Jelly';
v2.foeType = 'Watery Jellyfish';
v2.foeDescription = 'Jellyfish which heals allies with water spells.';
v2.maxHP = 130;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 22;
v2.abilityPoints = 2.5;
v2.gold = 12;
v2.dropList = [0];
v2.mainGraphic = 'jelly';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 0.5, 'water', -2, 'ice', 1.7, 'thunder', 1.9, 'wind', 0.5, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1.5, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.BlueJelly.prototype, null, 1);
}
#endinitclip
}
movieClip 7070 __Packages.BlueSlime {
#initclip
if (!_global.BlueSlime) {
var v1 = function (a, b, c, d) {
this.subGraphic += random(3);
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, _root.defs.bubblestone, 0, _root.defs.rainbowgems];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.BlueSlime = v1;
_global.BlueSlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 13, 0.1, 'water', 1, 'null', 1, 2, 1, 0);
};
v2.attack2 = function () {
this.sendHit('attack', 18, 0.1, 'water', 1, 'evadeDown', 0.8, 0.3, 1, 0.2);
};
v2.foeName = 'Blue Slime';
v2.foeType = 'Seashore Dwelling Slime';
v2.foeDescription = 'Water based variety of the common Slime. It\'s attacks have a watery property.';
v2.maxHP = 60;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 6;
v2.abilityPoints = 1.3;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'slime';
v2.subGraphic = 9;
v2.elementalResistance = ['fire', 0, 'water', -3, 'ice', 0.3, 'thunder', 1.7, 'wind', 0.3, 'poison', 1, 'earth', 0.3, 'dark', 1, 'holy', 1, 'bomb', 1.4];
v2.statusResistance = ['poison', 1, 'stun', 1.5, 'syphon', 1, 'blind', 1, 'death', 2, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.BlueSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7071 __Packages.SpiralCrab {
#initclip
if (!_global.SpiralCrab) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, _root.defs.seashell, 0, _root.defs.bubblestone, _root.defs.earthball, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.SpiralCrab = v1;
_global.SpiralCrab extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(4);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('defend');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack2 = function () {
this.sendHit('magic', 18, 0.1, 'water', 1, 'evadeDown', 0.5, 0.3, 1.2, 0);
};
v2.attack1 = function () {
this.sendHit('attack', 23, 0.1, 'null', 1, 'null', 0.5, 0.3, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 33, 0.1, 'earth', 0.8, 'null', 0.1, 1, 0.9, 0.2);
};
v2.special1 = function () {
this.buff('defenceUp', 0.4);
this.buff('magicDefenceUp', 0.4);
};
v2.magic1 = function () {
this.castSpell('flood');
};
v2.foeName = 'Spiral Crab';
v2.foeType = 'Seafloor Dweller';
v2.foeDescription = 'Defensive creature which attacks with bursts of water.';
v2.maxHP = 140;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 26;
v2.abilityPoints = 2;
v2.gold = 15;
v2.dropList = [0];
v2.mainGraphic = 'crab';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0, 'water', -2, 'ice', 1, 'thunder', 1.6, 'wind', 0, 'poison', 1.6, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.SpiralCrab.prototype, null, 1);
}
#endinitclip
}
movieClip 7072 __Packages.GiantBlueSlime {
#initclip
if (!_global.GiantBlueSlime) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 100;
this.dropList = [_root.defs.icecream, _root.defs.rainbowgems, _root.defs.icecrystal, 0, 0, _root.defs.sundae, 0, 0];
this.reposition(d);
};
_global.GiantBlueSlime = v1;
_global.GiantBlueSlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 44, 0.1, 'ice', 1, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 20, 0.1, 'earth', 1, 'null', 0.5, 1, 1.1, 0.1);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('hail');
} else {
this.castSpell('snow');
}
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 18, 0.2, 'wind', 1, 'magicDefenceDown', 0.4, 0.2, 1.3, 0.1);
};
v2.foeName = 'Giant Blue Slime';
v2.foeType = 'Glacier Dwelling Slime';
v2.foeDescription = 'Frosty and massive slime, can heal allies with hail.';
v2.maxHP = 450;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.6;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.experience = 80;
v2.abilityPoints = 15;
v2.gold = 80;
v2.dropList = [];
v2.mainGraphic = 'giantSlime';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', 1.7, 'water', 0, 'ice', -2, 'thunder', 1, 'wind', 0, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GiantBlueSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7073 __Packages.Jack {
#initclip
if (!_global.Jack) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 85;
this.dropList = [_root.defs.gear, _root.defs.steelplate, _root.defs.magnet, 0, 0, 0];
this.reposition(d);
};
_global.Jack = v1;
_global.Jack extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
var v2 = random(5);
this.turnStart();
if (this.syphon) {
v2 = random(3);
} else {
if (this.getHpPercent() >= 30) {
v2 = random(4) + 1;
} else {
if (this.getHpPercent() >= 60) {
v2 = random(3) + 2;
}
}
}
if (this.recall == 5) {
v2 = 5;
this.recall = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special3');
}
++this.recall;
};
v2.attack1 = function () {
this.sendHit('attack', 50, 0.1, 'null', 0, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 23.33333333333333, 0.1, 'null', 0, 'null', 0.2, 2, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
var v3 = random(2);
if (v3 == 0) {
this.parent.spawnFoe2(PurpleBee, 7);
}
if (v3 == 1) {
this.parent.spawnFoe2(YellowBee, 7);
}
}
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 33, 0.1, 'earth', 1, 'null', 0.2, 2, 1.1, 0.1);
if (_root.defs.difficulty == 'epic') {
this.special3();
}
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 6, 0.1, 'bomb', 1, 'null', 0.3, 0.2, 0.9, 0.1);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 11, 0.1, 'fire', 1, 'defenceDown', 0.3, 0.2, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
this.buff('attackUp', 0.3);
}
};
v2.special3 = function () {
var v2 = random(4);
if (v2 == 0) {
this.parent.spawnFoe(GreenBush, 8);
}
if (v2 == 1) {
this.parent.spawnFoe(KittenSoldier, 8);
}
if (v2 == 2) {
this.parent.spawnFoe(GreenSlime, 8);
}
if (v2 == 3) {
this.parent.spawnFoe(RedBush, 8);
}
};
v2.foeName = 'Jack';
v2.foeType = 'Mechanical Pumpkin';
v2.foeDescription = 'Powerful robot boss. Attacks with fire, earth and bomb attacks.';
v2.maxHP = 1600;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.hit2HP = 0.04;
v2.recall = 0;
v2.experience = 100;
v2.abilityPoints = 50;
v2.gold = 200;
v2.dropList = [];
v2.mainGraphic = 'Jack';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0.5, 'water', 1, 'ice', 1, 'thunder', 1.6, 'wind', 0, 'poison', 0, 'earth', 1.5, 'dark', 1, 'holy', 1, 'bomb', 1.7];
v2.statusResistance = ['poison', 0, 'stun', 0, 'syphon', 1, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Jack.prototype, null, 1);
}
#endinitclip
}
movieClip 7074 __Packages.PurpleBee {
#initclip
if (!_global.PurpleBee) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 60;
this.dropList = [0, 0, _root.defs.bugwing, 0, 0, _root.defs.purplepotion];
this.reposition(d);
};
_global.PurpleBee = v1;
_global.PurpleBee extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 12, 0.1, 'null', 0, 'null', 0.2, 2, 0.9, 0.1);
};
v2.special3 = function () {
this.targetAll = 'allFoes';
this.sendHeal(10, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 20, 0.1, 'wind', 1, 'syphon', 0.2, 2, 1, 0);
};
v2.foeName = 'Purple Bee';
v2.foeType = 'Mystic Butterfly';
v2.foeDescription = 'A bug which can heal it\'s allies and attack with sparkly stuff.';
v2.maxHP = 90;
v2.attack = 4;
v2.defence = 3.7;
v2.magicAttack = 4.2;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 15;
v2.abilityPoints = 4;
v2.gold = 10;
v2.dropList = [];
v2.mainGraphic = 'wasp';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.7, 'wind', 1.5, 'poison', 0.7, 'earth', 0.2, 'dark', 1.9, 'holy', 0.5, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1.5, 'death', 0.4, 'berserk', 1, 'dispel', 1, 'doom', 0.4, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.PurpleBee.prototype, null, 1);
}
#endinitclip
}
movieClip 7075 __Packages.YellowBee {
#initclip
if (!_global.YellowBee) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, 0, _root.defs.bugwing, 0, _root.defs.redpotion, 0];
this.reposition(d);
};
_global.YellowBee = v1;
_global.YellowBee extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 1;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
};
v2.attack1 = function () {
this.sendHit('attack', 16, 0.1, 'null', 0, 'null', 0.2, 2, 0.9, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 22, 0.1, 'wind', 0.4, 'stun', 0.7, 1, 1, 0.3);
};
v2.special1 = function () {
this.sendHit('magic', 22, 0.1, 'wind', 1, 'defenceDown', 0.7, 0.4, 1, 0);
};
v2.foeName = 'Yellow Bee';
v2.foeType = 'Angry Hornet';
v2.foeDescription = 'Evasive bug. Can stun with a sting, and also lower defence.';
v2.maxHP = 80;
v2.attack = 4;
v2.defence = 3.7;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.5;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 11;
v2.abilityPoints = 1.8;
v2.gold = 8;
v2.dropList = [];
v2.mainGraphic = 'wasp';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.7, 'wind', 1.5, 'poison', 0.7, 'earth', 0.2, 'dark', 1, 'holy', 1.6, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.YellowBee.prototype, null, 1);
}
#endinitclip
}
movieClip 7076 __Packages.GreenBush {
#initclip
if (!_global.GreenBush) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, 0, _root.defs.herb, 0, 0, _root.defs.cactus];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.GreenBush = v1;
_global.GreenBush extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (v2 == 0 or v2 == 4) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1 or v2 == 5) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 12, 0.1, 'poison', 0.4, 'poison', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 15, 0.1, 'none', 1, 'null', 0.1, 1, 0.9, 0.3);
};
v2.special1 = function () {
this.sendHit('magic', 10, 0.1, 'wind', 1, 'defenceDown', 1, 0.2, 1, 0);
};
v2.special2 = function () {
this.buff('attackUp', 0.5);
};
v2.foeName = 'Green Bush';
v2.foeType = 'Small Shrub';
v2.foeDescription = 'A timid creature well hidden among other plants.';
v2.maxHP = 60;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 6;
v2.abilityPoints = 1;
v2.gold = 4;
v2.dropList = [0];
v2.mainGraphic = 'bush';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', -0.5, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1.4, 'earth', 1.5, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 0.5, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GreenBush.prototype, null, 1);
}
#endinitclip
}
movieClip 7077 __Packages.KittenSoldier {
#initclip
if (!_global.KittenSoldier) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, _root.defs.muffin, 0, _root.defs.steelplate];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.KittenSoldier = v1;
_global.KittenSoldier extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (this.shield) {
trace('SHIELD DOWN!');
this.shield = false;
h.damage /= 2;
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 2;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
};
v2.attack1 = function () {
this.sendHit('attack', 12, 0.1, 'null', 0, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 4, 0.1, 'null', 0, 'null', 0.2, 2, 0.8, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 22, 0.1, 'null', 0, 'null', 0.2, 2, 0.6, 0.3);
};
v2.foeName = 'Kitten Soldier';
v2.foeType = 'Domestic Cat';
v2.foeDescription = 'Rebellious pets that joined the army. Not very dangerous.';
v2.maxHP = 65;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.shield = true;
v2.experience = 7;
v2.abilityPoints = 1;
v2.gold = 5;
v2.dropList = [0];
v2.mainGraphic = 'kitten';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.5, 'water', 1.6, 'ice', 1, 'thunder', 1.4, 'wind', 1, 'poison', 1.4, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 2, 'stun', 0.5, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.KittenSoldier.prototype, null, 1);
}
#endinitclip
}
movieClip 7078 __Packages.RedBush {
#initclip
if (!_global.RedBush) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, _root.defs.raggedcloth, 0, _root.defs.mushroom];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.RedBush = v1;
_global.RedBush extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (v2 == 0 or v2 == 4) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1 or v2 == 5) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 14, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 22, 0.1, 'none', 1, 'null', 0.1, 1, 0.9, 0.3);
};
v2.special1 = function () {
this.sendHit('magic', 10, 0.1, 'wind', 1, 'defenceDown', 1, 0.2, 1, 0);
};
v2.special2 = function () {
this.buff('evadeUp', 0.3);
};
v2.foeName = 'Red Bush';
v2.foeType = 'Small Shrub';
v2.foeDescription = 'A rare variety of Bush, with better defensive skills.';
v2.maxHP = 75;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 8;
v2.abilityPoints = 1;
v2.gold = 4;
v2.dropList = [0];
v2.mainGraphic = 'bush';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', 1, 'thunder', 1, 'wind', 1.4, 'poison', 1, 'earth', 1.5, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 0.5, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RedBush.prototype, null, 1);
}
#endinitclip
}
movieClip 7079 __Packages.GardenSnail {
#initclip
if (!_global.GardenSnail) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, _root.defs.earthball, 0, _root.defs.seashell];
this.scaleGraphic = 70;
this.reposition(d);
};
_global.GardenSnail = v1;
_global.GardenSnail extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (v2 == 0 or v2 == 3) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('defend');
}
};
v2.attack2 = function () {
this.sendHit('attack', 10, 0.1, 'water', 1, 'evadeDown', 0.5, 0.3, 1.2, 0);
};
v2.attack3 = function () {
this.sendHit('attack', 20, 0.1, 'earth', 0.6, 'null', 0.1, 1, 0.9, 0.2);
};
v2.special1 = function () {
this.buff('defenceUp', 0.3);
this.buff('magicDefenceUp', 0.3);
};
v2.foeName = 'Garden Snail';
v2.foeType = 'Vegetable Destroyer';
v2.foeDescription = 'Destroyer of your crops. Attacks with water.';
v2.maxHP = 70;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3;
v2.accuracy = 4;
v2.experience = 7;
v2.abilityPoints = 1.2;
v2.gold = 4;
v2.dropList = [0];
v2.mainGraphic = 'crab';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 0.7, 'water', 0.7, 'ice', 1.7, 'thunder', 0.5, 'wind', 0.5, 'poison', 1.6, 'earth', 1.4, 'dark', 1, 'holy', 1, 'bomb', 1.4];
v2.statusResistance = ['poison', 2, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GardenSnail.prototype, null, 1);
}
#endinitclip
}
movieClip 7080 __Packages.WhiteBush {
#initclip
if (!_global.WhiteBush) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.herb, 0, 0, 0, 0, 0, _root.defs.cactus];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.WhiteBush = v1;
_global.WhiteBush extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 14, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 17, 0.1, 'none', 1, 'null', 0.1, 1, 0.9, 0.3);
};
v2.special1 = function () {
this.sendHit('magic', 10, 0.1, 'wind', 1, 'defenceDown', 1, 0.3, 1, 0);
};
v2.special2 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('attackUp', 0.15);
++v2;
}
};
v2.foeName = 'White Bush';
v2.foeType = 'Snowy Shrub';
v2.foeDescription = 'A timid creature well hidden under the snow.';
v2.maxHP = 70;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.4;
v2.accuracy = 4;
v2.experience = 9;
v2.abilityPoints = 1.5;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'bush';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', 1.7, 'water', 1, 'ice', -1, 'thunder', 1, 'wind', 0, 'poison', 1.6, 'earth', 1.5, 'dark', 1.9, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.WhiteBush.prototype, null, 1);
}
#endinitclip
}
movieClip 7081 __Packages.DarkMoth {
#initclip
if (!_global.DarkMoth) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [_root.defs.bugwing, _root.defs.redpotion, _root.defs.purplepotion, _root.defs.solidspike, 0, 0, 0];
this.reposition(d);
};
_global.DarkMoth = v1;
_global.DarkMoth extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
};
v2.attack1 = function () {
this.sendHit('attack', 25, 0.1, 'null', 0, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 16.66666666666667, 0.1, 'null', 0, 'poison', 0.2, 1, 1, 0.1);
};
v2.special1 = function () {
this.sendHit('magic', 33, 0.1, 'wind', 1, 'defenceDown', 1, 0.5, 1, 0);
};
v2.foeName = 'Dark Moth';
v2.foeType = 'Angry Hornet';
v2.foeDescription = 'Evasive bug. Very aggressive and can inflict poison.';
v2.maxHP = 130;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 18;
v2.abilityPoints = 2;
v2.gold = 15;
v2.dropList = [];
v2.mainGraphic = 'wasp';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', 1.9, 'water', 1, 'ice', 1, 'thunder', 1.8, 'wind', 1.7, 'poison', 1, 'earth', 0, 'dark', 0, 'holy', 2, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.DarkMoth.prototype, null, 1);
}
#endinitclip
}
movieClip 7082 __Packages.Blaze {
#initclip
if (!_global.Blaze) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 90;
this.dropList = [_root.defs.ruby, _root.defs.ruby, _root.defs.dragonscales, _root.defs.dragonscales, _root.defs.dragonscales, 0];
this.reposition(d);
};
_global.Blaze = v1;
_global.Blaze extends Foe;
var v2 = v1.prototype;
v2.specialHit5 = function () {
trace('BLZE CALLS OUT');
this.parent.foes[1].deadDragon();
this.parent.foes[2].deadDragon();
this.parent.foes[3].deadDragon();
};
v2.deadDragon = function () {
++this.deadDragons;
trace('DRAGON DEATH');
this.buff('attackUp', 0.7);
this.buff('defenceUp', 0.7);
if (this.deadDragons == 1) {
this.attack *= 1.5;
this.magicAttack *= 1.5;
}
if (this.deadDragons == 2) {
this.attack *= 2;
this.magicAttack *= 2;
this.evade *= 1.5;
}
if (this.deadDragons == 3) {
_root.defs.medals.medalGet('boss5');
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(9);
if (this.getHpPercent() <= 50) {
v2 = random(8) + 1;
}
if (this.syphon or this.berserk) {
v2 = random(2);
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 7) {
this.graphic.gotoAndPlay('special4');
}
if (v2 == 8) {
this.graphic.gotoAndPlay('special4');
}
if (this.spawnWait <= 0 and this.deadDragons == 2) {
this.spawnWait = 4;
v2 = random(4);
if (v2 == 0) {
this.parent.spawnFoe(RedClay, 31);
}
if (v2 == 1) {
this.parent.spawnFoe(DrillBot, 31);
}
if (v2 == 2) {
this.parent.spawnFoe(Eyeball, 31);
}
if (v2 == 3) {
this.parent.spawnFoe(FireBit, 31);
}
}
--this.spawnWait;
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 50, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 18, 0.1, 'fire', 1, 'accuracyDown', 0.7, 0.2, 1.2, 0.1);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 33, 0.1, 'fire', 1, 'magicDefenceDown', 0.7, 0.2, 1.2, 0.1);
};
v2.special3 = function () {
this.sendHit('magic', 45, 0.1, 'fire', 1, 'defenceDown', 1, 0.5, 1.2, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 55, 0.1, 'fire', 1, 'defenceDown', 0.7, 0.2, 1.2, 0.1);
};
v2.magic1 = function () {
var v2 = random(2);
if (v2 == 0) {
this.targetAll = 'allPlayers';
this.castSpell('hotash');
}
if (v2 == 1) {
this.castSpell('hellfire');
}
};
v2.effect1 = function () {
this.castSpell('dragonflash');
};
v2.foeName = 'Blaze';
v2.foeType = 'Red Hydra Head';
v2.foeDescription = 'Attacks with fire, smoke and sharp teeth.';
v2.maxHP = 1700;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.hit2HP = 0.04;
v2.spawnWait = 4;
v2.minBuff = 0.8;
v2.deadDragons = 0;
v2.experience = 400;
v2.abilityPoints = 60;
v2.gold = 400;
v2.dropList = [];
v2.mainGraphic = 'dragon';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', -0.5, 'water', 2, 'ice', 1.9, 'thunder', 1, 'wind', 1.8, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 0];
v2.statusResistance = ['poison', 0.1, 'stun', 0, 'syphon', 0.1, 'death', 0, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Blaze.prototype, null, 1);
}
#endinitclip
}
movieClip 7083 __Packages.Eyeball {
#initclip
if (!_global.Eyeball) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 70;
this.dropList = [0, 0, _root.defs.redpotion, 0, 0, _root.defs.dragonscales, 0];
this.reposition(d);
};
_global.Eyeball = v1;
_global.Eyeball extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'null', 0, 'null', 0.2, 2, 1, 0.1);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 28, 0.1, 'null', 1, 'null', 0.5, 0.2, 0.9, 0.1);
};
v2.special2 = function () {
this.sendHit('magic', 35, 0.1, 'null', 1, 'stun', 0.3, 2, 1, 0.1);
};
v2.foeName = 'Eyeball';
v2.foeType = 'Giant Floating Eye';
v2.foeDescription = 'Attacks with non-elemental laser beams.';
v2.maxHP = 120;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.1;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 16;
v2.abilityPoints = 2.2;
v2.gold = 15;
v2.dropList = [];
v2.mainGraphic = 'eye';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0, 'water', 1, 'ice', 1, 'thunder', 1.8, 'wind', 1, 'poison', 2, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Eyeball.prototype, null, 1);
}
#endinitclip
}
movieClip 7084 __Packages.TrojanHorse {
#initclip
if (!_global.TrojanHorse) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, 0, 0, _root.defs.oldwood, _root.defs.gear, 0];
this.reposition(d);
};
_global.TrojanHorse = v1;
_global.TrojanHorse extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special3');
}
};
v2.attack1 = function () {
this.sendHit('attack', 40, 0.1, 'null', 0, 'null', 0.2, 2, 0.8, 0.3);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 25, 0.1, 'null', 1, 'null', 0.3, 0.2, 1, 0.2);
};
v2.special3 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('attackUp', 0.35);
++v2;
}
};
v2.foeName = 'Trojan Horse';
v2.foeType = 'Kitten Battering Ram';
v2.foeDescription = 'Not really a horse at all. Attacks with explosives and rallies the troops.';
v2.maxHP = 380;
v2.attack = 4;
v2.defence = 4.2;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.6;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.poison = 0;
v2.experience = 50;
v2.abilityPoints = 10;
v2.gold = 50;
v2.dropList = [];
v2.mainGraphic = 'kittenKart';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.7, 'water', 1, 'ice', 1, 'thunder', 0.3, 'wind', 0.3, 'poison', 1, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 0.5, 'stun', 0.5, 'syphon', 2, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.TrojanHorse.prototype, null, 1);
}
#endinitclip
}
movieClip 7085 __Packages.YellowSlime {
#initclip
if (!_global.YellowSlime) {
var v1 = function (a, b, c, d) {
this.subGraphic += random(3);
super(a, b, c, d);
this.dropList = [0, 0, _root.defs.magnet, 0, 0, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.YellowSlime = v1;
_global.YellowSlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (this.syphon or this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 18, 0.1, 'thunder', 0.6, 'stun', 0.2, 1, 1, 0);
};
v2.magic1 = function () {
this.castSpell('thunderbolt');
};
v2.foeName = 'Yellow Slime';
v2.foeType = 'Desert Dwelling Slime';
v2.foeDescription = 'Electric slime, it\'s attacks may stun. Casts Thunderbolt.';
v2.maxHP = 70;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 8;
v2.abilityPoints = 1.6;
v2.gold = 8;
v2.dropList = [0];
v2.mainGraphic = 'slime';
v2.subGraphic = 15;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', -1, 'wind', 1, 'poison', 1.7, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 1, 'blind', 1, 'death', 2, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.YellowSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7086 __Packages.EvilTail {
#initclip
if (!_global.EvilTail) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 70;
this.dropList = [0, 0, 0, 0, 0, 0, 0];
this.reposition(d);
this.accuracy = 9;
this.evade = 11;
};
_global.EvilTail = v1;
_global.EvilTail extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.getHpPercent() < 33) {
v2 = random(2) + 3;
}
if (this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.action = 'attack';
}
if (v2 == 1) {
this.graphic.action = 'attack2';
}
if (v2 == 2) {
this.graphic.action = 'attack3';
}
if (v2 == 3) {
this.graphic.action = 'attack4';
}
if (v2 == 4) {
this.graphic.action = 'attack5';
}
this.graphic.gotoAndPlay('hide');
};
v2.attack1 = function () {
this.sendHit('attack', 30, 0.1, 'earth', 0.5, 'null', 0.2, 2, 1.1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0, 'stun', 0.8, 2, 1.1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 30, 0.1, 'null', 0.3, 'null', 0.2, 2, 0.8, 0.1);
};
v2.attack4 = function () {
this.sendHit('attack', 8.333333333333334, 0.1, 'poison', 0.3, 'poison', 0.3, 1, 1.1, 0.1);
};
v2.attack5 = function () {
this.sendHit('attack', 70, 0.1, 'dark', 0.3, 'death', 0.8, 2, 0.8, 0.1);
};
v2.foeName = 'Evil Tail';
v2.foeType = 'Mutant Tentacle';
v2.foeDescription = 'Uses poison, water, dark and bomb attacks.';
v2.maxHP = 340;
v2.attack = 3.6;
v2.defence = 4;
v2.magicAttack = 3.7;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 80;
v2.abilityPoints = 0;
v2.gold = 0;
v2.dropList = [];
v2.mainGraphic = 'tail2';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1.7, 'wind', 1, 'poison', 1, 'earth', 1.9, 'dark', 1, 'holy', 1.8, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0.4, 'syphon', 0, 'death', 0.6, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.EvilTail.prototype, null, 1);
}
#endinitclip
}
movieClip 7087 __Packages.SquidArm {
#initclip
if (!_global.SquidArm) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.tentacle, _root.defs.bubblestone, 0, 0, _root.defs.seashell, 0, 0];
this.scaleGraphic = 100;
this.reposition(d);
};
_global.SquidArm = v1;
_global.SquidArm extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 40, 0.1, 'water', 0.5, 'null', 1, 2, 1.2, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 31, 0.1, 'water', 0.5, 'null', 1, 2, 1, 0.1);
};
v2.attack3 = function () {
if (_root.defs.difficulty == 'epic') {
this.sendHit('attack', 33, 0.1, 'water', 0.5, 'poison', 1, 2, 1, 0.1);
} else {
this.sendHit('attack', 22, 0.1, 'water', 0.5, 'poison', 0.7, 1, 1, 0.1);
}
};
v2.attack4 = function () {
this.sendHit('attack', 28, 0.1, 'water', 0.5, 'stun', 0.5, 1, 1, 0.1);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('bubbles');
} else {
this.castSpell('rain');
}
};
v2.foeName = 'Squid Arm';
v2.foeType = 'Rapist Tentacle';
v2.foeDescription = 'The Giant Squid\'s tentacle, which can stun and poison, and regenerate.';
v2.maxHP = 300;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 15;
v2.abilityPoints = 3;
v2.gold = 15;
v2.dropList = [0];
v2.mainGraphic = 'tentacle';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0.2, 'water', -2, 'ice', 1.6, 'thunder', 1.7, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1.5, 'syphon', 1.5, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.SquidArm.prototype, null, 1);
}
#endinitclip
}
movieClip 7088 __Packages.Beholder {
#initclip
if (!_global.Beholder) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.minBuff = 0.75;
this.scaleGraphic = 90;
this.dropList = [0, 0, _root.defs.redpotion, 0, 0, _root.defs.dragonscales, 0];
this.reposition(d);
};
_global.Beholder = v1;
_global.Beholder extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special');
}
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'null', 0, 'stun', 1, 1, 1, 0.1);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 60, 0.1, 'null', 1, 'dispel', 0.5, 1, 0.9, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 70, 0.1, 'poison', 0.6, 'poison', 1, 5, 1, 0.1);
};
v2.attack3 = function () {
this.castSpell('tentacles');
};
v2.foeName = 'Beholder';
v2.foeType = 'Child Molester';
v2.foeDescription = 'Attacks with non-elemental laser beams and poisonous tentacles.';
v2.maxHP = 800;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.8;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 300;
v2.abilityPoints = 10;
v2.gold = 100;
v2.dropList = [];
v2.mainGraphic = 'behold';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0, 'water', 1, 'ice', 1, 'thunder', 1.8, 'wind', 1, 'poison', 2, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0.2, 'syphon', 0.2, 'death', 0.2, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Beholder.prototype, null, 1);
}
#endinitclip
}
movieClip 7089 __Packages.ZombieDragon {
#initclip
if (!_global.ZombieDragon) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 90;
this.dropList = [_root.defs.solidspike, _root.defs.dragonscales, 0, 0, 0, 0, 0];
this.reposition(d);
};
_global.ZombieDragon = v1;
_global.ZombieDragon extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.getHpPercent() <= 50) {
v2 = random(5) + 1;
}
if (this.syphon or this.berserk) {
v2 = random(3);
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 50, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 23.33333333333333, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.attack3 = function () {
this.castSpell('dragontail');
};
v2.magic1 = function () {
var v2 = random(3);
if (v2 == 0) {
this.targetAll = 'allPlayers';
this.castSpell('thedead');
}
if (v2 == 1) {
this.castSpell('death');
}
if (v2 == 2) {
this.castSpell('poisoncloud');
}
};
v2.foeName = 'Zombie Dragon';
v2.foeType = 'Rotting Hydra';
v2.foeDescription = 'Attacks with dark and poison magic.';
v2.maxHP = 600;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.hit2HP = 0.06666666666666667;
v2.experience = 400;
v2.abilityPoints = 60;
v2.gold = 400;
v2.dropList = [];
v2.mainGraphic = 'hydra';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.9, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', -1, 'earth', 1, 'dark', -1, 'holy', 2, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0.2, 'syphon', 0.2, 'death', 0, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.ZombieDragon.prototype, null, 1);
}
#endinitclip
}
movieClip 7090 __Packages.Sandworm {
#initclip
if (!_global.Sandworm) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 88;
this.dropList = [_root.defs.solidspike, _root.defs.curlyhorn, _root.defs.jawbone, _root.defs.greenpotion, _root.defs.redpotion, 0, 0];
this.reposition(d);
};
_global.Sandworm = v1;
_global.Sandworm extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.getHpPercent() < 70) {
v2 = random(5);
}
if (this.getHpPercent() < 40) {
v2 = 5;
}
if (this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special3');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'null', 0, 'null', 0.2, 2, 1.1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 100, 0.1, 'null', 0, 'poison', 1, 3, 1.1, 0.1);
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 30, 0.1, 'wind', 1, 'attackDown', 0.8, 0.2, 1.5, 0.1);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 30, 0.1, 'earth', 1, 'accuracyDown', 0.8, 0.3, 1.5, 0.1);
};
v2.special3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 60, 0.1, 'poison', 1, 'poison', 1, 2, 1.5, 0.1);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 30, 0.1, 'poison', 1, 'poison', 1.5, 2, 1.5, 0.1);
};
v2.foeName = 'Sandworm';
v2.foeType = 'Giant Penis';
v2.foeDescription = 'Attacks with earth, wind and poison. Bleeds when weakened.';
v2.maxHP = 1000;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 380;
v2.abilityPoints = 20;
v2.gold = 150;
v2.dropList = [];
v2.mainGraphic = 'worm';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1.8, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', -1, 'dark', 1, 'holy', 1.9, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0.3, 'syphon', 0, 'death', 0.3, 'berserk', 1.5, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Sandworm.prototype, null, 1);
}
#endinitclip
}
movieClip 7091 __Packages.FireElemental {
#initclip
if (!_global.FireElemental) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, _root.defs.magmaball, _root.defs.dragonscales, 0, _root.defs.ruby, 0, 0];
this.reposition(d);
};
_global.FireElemental = v1;
_global.FireElemental extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.berserk) {
v2 = 1;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack2 = function () {
this.sendHit('attack', 10, 0.1, 'fire', 0.5, 'null', 0.2, 2, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 25, 0.1, 'fire', 1, 'null', 0.2, 2, 1.1, 0.2);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('dragonflame');
} else {
this.castSpell('hotash');
}
};
v2.special1 = function () {
this.sendHit('attack', 70, 0.1, 'fire', 1, 'defenceDown', 1, 0.3, 1.3, 0.3);
};
v2.special2 = function () {
this.sendHit('magic', 17.5, 0.1, 'bomb', 1, 'null', 0.5, 2, 1, 0.1);
this.target = this.parent.randomPlayer();
};
v2.foeName = 'Fire Elemental';
v2.foeType = 'Demonic Entity';
v2.foeDescription = 'Attacks with blades and fire and bomb magic.';
v2.maxHP = 380;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 70;
v2.abilityPoints = 9;
v2.gold = 55;
v2.dropList = [];
v2.mainGraphic = 'elementals';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', -1, 'water', 2.2, 'ice', 1.8, 'thunder', 1, 'wind', 1.8, 'poison', 1, 'earth', 0.3, 'dark', 1, 'holy', 1, 'bomb', 0.3];
v2.statusResistance = ['poison', 1, 'stun', 0.6, 'syphon', 0.6, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.FireElemental.prototype, null, 1);
}
#endinitclip
}
movieClip 7092 __Packages.PurpleJelly {
#initclip
if (!_global.PurpleJelly) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, _root.defs.tentacle, _root.defs.bubblestone, 0, 0, _root.defs.rainbowgems, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.PurpleJelly = v1;
_global.PurpleJelly extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
if (this.berserk or this.syphon) {
this.unbusy();
} else {
this.graphic.gotoAndPlay('magic');
}
};
v2.magic1 = function () {
if (random(2)) {
this.targetAll = 'allPlayers';
this.castSpell('plasmawave');
} else {
this.castSpell('thunderbolt');
}
};
v2.foeName = 'Purple Jelly';
v2.foeType = 'Electric Jellyfish';
v2.foeDescription = 'Jellyfish which attacks with thunder.';
v2.maxHP = 105;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 13;
v2.abilityPoints = 2.5;
v2.gold = 12;
v2.dropList = [0];
v2.mainGraphic = 'jelly';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 0.5, 'water', -2, 'ice', 1.7, 'thunder', -1, 'wind', 1, 'poison', 1, 'earth', 1.6, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1.5, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.PurpleJelly.prototype, null, 1);
}
#endinitclip
}
movieClip 7093 __Packages.FurrySlime {
#initclip
if (!_global.FurrySlime) {
var v1 = function (a, b, c, d) {
this.subGraphic += random(5);
super(a, b, c, d);
this.dropList = [0, 0, 0, 0, 0, _root.defs.muffin, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.FurrySlime = v1;
_global.FurrySlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 13, 0.1, 'none', 1, 'null', 1, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 18, 0.1, 'none', 1, 'null', 0.1, 1, 1, 0.1);
};
v2.foeName = 'Furry Slime';
v2.foeType = 'Gelatin Animal';
v2.foeDescription = 'A slime that bred with a furry animal. Slightly stronger than normal Green Slimes.';
v2.maxHP = 65;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.5;
v2.accuracy = 4;
v2.experience = 7;
v2.abilityPoints = 1.2;
v2.gold = 4;
v2.dropList = [0];
v2.mainGraphic = 'slime';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.5, 'water', 0.7, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1.5, 'earth', 1, 'dark', 1.5, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 2, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 2, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 0.5];
ASSetPropFlags(_global.FurrySlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7094 __Packages.Czars {
#initclip
if (!_global.Czars) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 90;
this.dropList = [_root.defs.ruby, _root.defs.ruby, _root.defs.dragonscales, _root.defs.dragonscales, _root.defs.dragonscales, 0];
this.reposition(d);
};
_global.Czars = v1;
_global.Czars extends Foe;
var v2 = v1.prototype;
v2.specialHit5 = function () {
trace('CZR CALLS OUT');
this.parent.foes[1].deadDragon();
this.parent.foes[2].deadDragon();
this.parent.foes[3].deadDragon();
};
v2.deadDragon = function () {
++this.deadDragons;
trace('DRAGON DEATH');
this.buff('evadeUp', 0.7);
this.buff('accuracyUp', 0.7);
if (this.deadDragons == 1) {
this.attack *= 1.5;
this.magicAttack *= 1.5;
}
if (this.deadDragons == 2) {
this.attack *= 2;
this.magicAttack *= 2;
this.evade *= 1.5;
}
if (this.deadDragons == 3) {
_root.defs.medals.medalGet('boss5');
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(8);
if (this.getHpPercent() <= 50) {
v2 = random(7) + 1;
}
if (this.syphon or this.berserk) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special6');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special7');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special8');
}
if (v2 == 7) {
this.graphic.gotoAndPlay('special8');
}
if (this.spawnWait <= 0 and this.deadDragons == 2) {
this.spawnWait = 4;
v2 = random(3);
if (v2 == 0) {
this.parent.spawnFoe(LightClay, 31);
}
if (v2 == 1) {
this.parent.spawnFoe(AncientEye, 31);
}
if (v2 == 2) {
this.parent.spawnFoe(MageBird, 31);
}
}
--this.spawnWait;
};
v2.attack1 = function () {
this.sendHit('attack', 50, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 40, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.special6 = function () {
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('defenceUp', 0.3);
this.parent.foes[v2].buff('attackUp', 0.3);
this.parent.foes[v2].getHeal(20000, 0.1);
++v2;
}
};
v2.special7 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 45, 0.1, 'holy', 1, 'dispel', 0.4, 1, 1.2, 0.1);
};
v2.special8 = function () {
this.targetAll = 'allFoes';
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('magicDefenceUp', 0.3);
this.parent.foes[v2].buff('magicAttackUp', 0.3);
this.parent.foes[v2].regen += 3;
++v2;
}
};
v2.magic1 = function () {
var v2 = random(3);
this.targetAll = 'allPlayers';
if (v2 == 0) {
this.castSpell('thunderstorm');
}
if (v2 == 1) {
this.castSpell('icestorm');
}
if (v2 == 2) {
this.castSpell('firestorm');
}
};
v2.effect3 = function () {
this.castSpell('dragonlight');
};
v2.foeName = 'Czars';
v2.foeType = 'Red Hydra Head';
v2.foeDescription = 'Attacks with holy skills and heals allies. Can inflict dispel.';
v2.maxHP = 1700;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.hit2HP = 0.04;
v2.spawnWait = 4;
v2.minBuff = 0.8;
v2.deadDragons = 0;
v2.experience = 400;
v2.abilityPoints = 60;
v2.gold = 400;
v2.dropList = [];
v2.mainGraphic = 'dragon';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', -0.5, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1.8, 'dark', 2, 'holy', -1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 0.1, 'death', 0, 'berserk', 0.1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Czars.prototype, null, 1);
}
#endinitclip
}
movieClip 7095 __Packages.LightClay {
#initclip
if (!_global.LightClay) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.lightfeather, _root.defs.talisman, _root.defs.silk, 0, 0, _root.defs.pearl, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.LightClay = v1;
_global.LightClay extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 22, 0.1, 'null', 1, 'syphon', 0.8, 1, 0.9, 0.1);
};
v2.magic2 = function () {
var v2 = random(5);
if (v2 == 0) {
this.castSpell('shine');
}
if (v2 == 1) {
this.target = this.parent.randomFoe();
this.castSpell('attackpotion');
}
if (v2 == 2) {
this.target = this.parent.randomFoe();
this.castSpell('magicpotion');
}
if (v2 == 3) {
this.target = this.parent.randomFoe();
this.castSpell('maxpotion');
}
if (v2 == 4) {
this.targetAll = 'allFoes';
this.castSpell('megalixir');
}
};
v2.foeName = 'Light Clay';
v2.foeType = 'Living Statue';
v2.foeDescription = 'A priest made of clay. Heals and buffs allies.';
v2.maxHP = 155;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.1;
v2.accuracy = 4;
v2.experience = 23;
v2.abilityPoints = 6;
v2.gold = 40;
v2.dropList = [0];
v2.mainGraphic = 'clay';
v2.subGraphic = 4;
v2.elementalResistance = ['fire', 0, 'water', 2, 'ice', 1, 'thunder', 0, 'wind', 1, 'poison', 0, 'earth', -1, 'dark', 2.2, 'holy', -1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.LightClay.prototype, null, 1);
}
#endinitclip
}
movieClip 7096 __Packages.RuneClaw {
#initclip
if (!_global.RuneClaw) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 110;
this.dropList = [0, 0, 0, 0, 0, 0];
this.reposition(d);
this.buff('evadeUp', 0.5);
this.accuracy = 10;
this.evade = 13;
};
_global.RuneClaw = v1;
_global.RuneClaw extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
if (this.parent.foes[2].orb1 == 'earth') {
this.spell1 = 'cataclysm';
this.spell2 = 'vines';
this.spellT1 = 'onePlayer';
this.spellT2 = 'onePlayer';
}
if (this.parent.foes[2].orb1 == 'ice') {
this.spell1 = 'icestorm';
this.spell2 = 'frost';
this.spellT1 = 'allPlayers';
this.spellT2 = 'onePlayer';
}
if (this.parent.foes[2].orb1 == 'fire') {
this.spell1 = 'hellfire';
this.spell2 = 'firestorm';
this.spellT1 = 'onePlayer';
this.spellT2 = 'allPlayers';
}
if (this.parent.foes[2].orb1 == 'thunder') {
this.spell1 = 'thunderbolt';
this.spell2 = 'thunderstorm';
this.spellT1 = 'onePlayer';
this.spellT2 = 'allPlayers';
}
if (this.parent.foes[2].orb1 == 'holy') {
this.spell1 = 'shine';
this.spell2 = 'megalixir';
this.spellT1 = 'onePlayer';
this.spellT2 = 'allFoes';
}
if (this.parent.foes[2].orb1 == 'dark') {
this.spell1 = 'haunt';
this.spell2 = 'darkflare';
this.spellT1 = 'onePlayer';
this.spellT2 = 'onePlayer';
}
this.turnStart();
var v2 = random(8);
if (this.beam) {
v2 = 8;
}
if (this.berserk) {
v2 = 1;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack4');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 7) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 8) {
this.graphic.gotoAndPlay('special2');
this.beam = false;
}
};
v2.attack2 = function () {
this.sendHit('attack', 40, 0.1, 'null', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 20, 0.1, 'null', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.attack4 = function () {
this.sendHit('magic', 70, 0.1, 'null', 0.5, 'null', 0.1, 2, 1, 0.1);
};
v2.magic1 = function () {
this.targetAll = 'allFoes';
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].getHeal(10000, 0.1);
this.parent.foes[v2].buff('defenceUp', 0.2);
++v2;
}
};
v2.magic2 = function () {
if (random(2)) {
this.targetAll = this.spellT1;
this.castSpell(this.spell1);
} else {
this.targetAll = this.spellT2;
this.castSpell(this.spell2);
}
};
v2.special1 = function () {
this.beam = true;
this.buff('magicAttackUp', 0.5);
};
v2.special2 = function () {
this.sendHit('magic', 120, 0.1, 'null', 0.5, 'dispel', 0.7, 1, 1, 0.1);
};
v2.foeName = 'Rune Claw';
v2.foeType = 'Energized Blade';
v2.foeDescription = 'Casts elemental spells based on it\'s master\'s status. Can also heal and buff.';
v2.maxHP = 240;
v2.attack = 3.5;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 0;
v2.abilityPoints = 0;
v2.gold = 0;
v2.dropList = [];
v2.mainGraphic = 'claw';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1, 'earth', 1, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.beam = false;
v2.statusResistance = ['poison', 0, 'stun', 0.5, 'syphon', 0.5, 'death', 0.7, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 0, 'evadeDown', 1];
v2.spell1 = 'cataclysm';
v2.spell2 = 'vines';
v2.spellT1 = 'onePlayer';
v2.spellT2 = 'onePlayer';
ASSetPropFlags(_global.RuneClaw.prototype, null, 1);
}
#endinitclip
}
movieClip 7097 __Packages.GiantGreenSlime {
#initclip
if (!_global.GiantGreenSlime) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 100;
this.dropList = [_root.defs.kiwi, 0, 0, _root.defs.greenpotion, 0, 0];
this.reposition(d);
if (_root.defs.difficulty == 'epic') {
this.poison = 3;
}
};
_global.GiantGreenSlime = v1;
_global.GiantGreenSlime extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
this.busy = true;
this.turnTaken = true;
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
this.getXY(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 40, 0.1, 'null', 0, 'poison', 0.2, 2, 0.9, 0.1);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 20, 0.1, 'earth', 0.7, 'null', 0.5, 1, 1, 0.1);
};
v2.magic1 = function () {
this.castSpell('vines');
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 15, 0.2, 'wind', 1, 'magicDefenceDown', 0.3, 0.2, 1.3, 0.2);
};
v2.foeName = 'Giant Green Slime';
v2.foeType = 'Forest Dwelling Slime';
v2.foeDescription = 'Huge version of the common green slime. Attacks with wind and poison skills.';
v2.maxHP = 450;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.2;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.experience = 50;
v2.abilityPoints = 10;
v2.gold = 50;
v2.dropList = [];
v2.mainGraphic = 'giantSlime';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', 1.4, 'thunder', 1.3, 'wind', 1, 'poison', -1, 'earth', 0.2, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 2, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GiantGreenSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7098 __Packages.DarkGolem {
#initclip
if (!_global.DarkGolem) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 72;
this.dropList = [0, 0, 0, _root.defs.darkrune, _root.defs.sadstatue, 0, _root.defs.darkmatter];
this.reposition(d);
this.shieldHP = this.maxHP / 3;
this.swordHP = this.maxHP / 4;
trace('SHILED HP ' + this.shieldHP);
};
_global.DarkGolem = v1;
_global.DarkGolem extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (this.shield) {
trace('SHIELD HIT!');
trace(h.damage / 2 * this.defence);
this.shieldHP -= h.damage / 2 * this.defence;
} else {
trace('SWORD HIT!');
this.swordHP -= h.damage / this.defence;
}
if (this.swordHP <= 0) {
if (this.swordBreak == 0) {
this.swordBreak = 1;
}
}
if (this.shieldHP <= 0) {
if (this.shieldBreak == 0) {
this.shieldBreak = 1;
}
} else {
h.damage /= 2;
}
};
v2.specialHit2 = function (h) {
if (this.shieldBreak == 1) {
this.shieldBreak = 2;
this.shield = false;
this.graphic.gotoAndPlay('break2');
return true;
return false;
}
if (this.swordBreak == 1) {
this.swordBreak = 2;
this.sword = false;
this.graphic.gotoAndPlay('break');
return true;
}
return false;
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(3) + 1;
if (!this.shield) {
v2 = random(2) + 1;
}
if (!this.sword) {
v2 = 0;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'earth', 0.7, 'defenceDown', 0.5, 0.3, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
this.castSpell('haunt');
}
};
v2.attack2 = function () {
this.sendHit('attack', 50, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.9, 0.1);
if (_root.defs.difficulty == 'epic') {
this.castSpell('rockslide');
}
};
v2.attack3 = function () {
this.sendHit('attack', 33, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.8, 0.1);
};
v2.magic1 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 12, 0.1, 'earth', 0.7, 'null', 0.5, 0.3, 0.9, 0.1);
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
if (random(2)) {
this.targetAll = 'allPlayers';
this.castSpell('thedead');
} else {
this.buff('magicDefenceUp', 0.5);
this.buff('magicAttackUp', 0.5);
}
};
v2.foeName = 'Dark Golem';
v2.foeType = 'Earthen Knight';
v2.foeDescription = 'Gets weaker as it takes damage and loses limbs.';
v2.maxHP = 400;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 99;
v2.abilityPoints = 8;
v2.gold = 70;
v2.dropList = [];
v2.mainGraphic = 'golem';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 0, 'water', 2.2, 'ice', 1.7, 'thunder', 0, 'wind', 1, 'poison', 0, 'earth', -1, 'dark', -1, 'holy', 2, 'bomb', 1.9];
v2.statusResistance = ['poison', 0, 'stun', 0.3, 'syphon', 1, 'death', 0.5, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.sword = true;
v2.shield = true;
v2.shieldBreak = 0;
v2.swordBreak = 0;
v2.shieldHP = 0;
v2.swordHP = 0;
ASSetPropFlags(_global.DarkGolem.prototype, null, 1);
}
#endinitclip
}
movieClip 7099 __Packages.GiantRedSlime {
#initclip
if (!_global.GiantRedSlime) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 100;
this.dropList = [_root.defs.cupcake, _root.defs.redpotion, _root.defs.magmaball, _root.defs.ruby, 0, 0, 0];
this.reposition(d);
};
_global.GiantRedSlime = v1;
_global.GiantRedSlime extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (h.t == 'magic') {
h.damage = 0;
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'fire', 0.5, 'null', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 35, 0.1, 'earth', 1, 'null', 0.5, 1, 1.1, 0.1);
};
v2.magic1 = function () {
if (random(3)) {
this.castSpell('hotash');
} else {
if (random(2)) {
this.targetAll = 'allPlayers';
this.castSpell('firestorm');
} else {
this.castSpell('dragonflame');
}
}
};
v2.foeName = 'Giant Red Slime';
v2.foeType = 'Volcano Dwelling Slime';
v2.foeDescription = 'Massive flame slime, casts fire spells. Immune to magical damage.';
v2.maxHP = 450;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.8;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.experience = 80;
v2.abilityPoints = 15;
v2.gold = 80;
v2.dropList = [];
v2.mainGraphic = 'giantSlime';
v2.subGraphic = 6;
v2.elementalResistance = ['fire', -2, 'water', 2, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1.8, 'earth', 0, 'dark', 1, 'holy', 1.7, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 2, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.GiantRedSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7100 __Packages.RedBee {
#initclip
if (!_global.RedBee) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, _root.defs.bugwing, 0, _root.defs.redpotion, 0, _root.defs.purplepotion];
this.reposition(d);
};
_global.RedBee = v1;
_global.RedBee extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 16, 0.1, 'null', 0, 'null', 0.2, 2, 0.9, 0.1);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 12, 0.1, 'poison', 1, 'accuracyDown', 0.5, 0.2, 1, 0);
};
v2.special1 = function () {
this.sendHit('magic', 25, 0.1, 'wind', 1, 'defenceDown', 0.7, 0.4, 1, 0);
};
v2.foeName = 'Red Bee';
v2.foeType = 'Angry Hornet';
v2.foeDescription = 'Evasive bug. Lowers accuracy with a smog.';
v2.maxHP = 92;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.poison = 0;
v2.experience = 14;
v2.abilityPoints = 2;
v2.gold = 12;
v2.dropList = [];
v2.mainGraphic = 'wasp';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1, 'water', 1, 'ice', 1.6, 'thunder', 1.7, 'wind', 1.5, 'poison', 1, 'earth', 0, 'dark', 1, 'holy', 1.9, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RedBee.prototype, null, 1);
}
#endinitclip
}
movieClip 7101 __Packages.Abyss {
#initclip
if (!_global.Abyss) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 90;
this.dropList = [_root.defs.darkmatter, _root.defs.solidspike, _root.defs.dragonscales, _root.defs.dragonscales, _root.defs.dragonscales, 0];
this.reposition(d);
if (_root.defs.difficulty == 'epic') {
this.poison = 3;
}
};
_global.Abyss = v1;
_global.Abyss extends Foe;
var v2 = v1.prototype;
v2.specialHit5 = function () {
trace('ABSS CALLS OUT');
this.parent.foes[1].deadDragon();
this.parent.foes[2].deadDragon();
this.parent.foes[3].deadDragon();
};
v2.deadDragon = function () {
++this.deadDragons;
trace('DRAGON DEATH');
this.buff('magicDefenceUp', 0.7);
this.buff('magicAttackUp', 0.7);
if (this.deadDragons == 1) {
this.attack *= 1.5;
this.magicAttack *= 1.5;
}
if (this.deadDragons == 2) {
this.attack *= 2;
this.magicAttack *= 2;
this.evade *= 1.5;
}
if (this.deadDragons == 3) {
_root.defs.medals.medalGet('boss5');
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(7);
if (this.getHpPercent() <= 50) {
v2 = random(5) + 2;
}
if (this.syphon or this.berserk) {
v2 = random(2);
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special5');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special5');
}
if (this.spawnWait <= 0 and this.deadDragons == 2) {
this.spawnWait = 4;
v2 = random(4);
if (v2 == 0) {
this.parent.spawnFoe(SwiftCrow, 31);
}
if (v2 == 1) {
this.parent.spawnFoe(DarkClay, 31);
}
if (v2 == 2) {
this.parent.spawnFoe(SkullGhost, 31);
}
if (v2 == 3) {
this.parent.spawnFoe(HolyEye, 31);
}
}
--this.spawnWait;
};
v2.attack1 = function () {
this.sendHit('attack', 60, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 50, 0.1, 'null', 1, 'null', 0.6, 0.2, 1, 0.1);
};
v2.special5 = function () {
this.targetAll = 'allPlayers';
var v3 = 0.3;
if (_root.defs.difficulty == 'epic') {
v3 = 1;
}
this.sendHit('magic', 55, 0.1, 'dark', 1, 'doom', v3, 3, 1.2, 0.1);
};
v2.magic2 = function () {
var v2 = random(3);
if (v2 == 0) {
this.targetAll = 'allPlayers';
this.castSpell('thedead');
}
if (v2 == 1) {
this.castSpell('death');
}
if (v2 == 2) {
this.castSpell('poisoncloud');
}
};
v2.effect2 = function () {
this.castSpell('dragondark');
};
v2.foeName = 'Abyss';
v2.foeType = 'Red Hydra Head';
v2.foeDescription = 'Attacks with dark and poison magic.';
v2.maxHP = 1800;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.hit2HP = 0.04;
v2.spawnWait = 4;
v2.minBuff = 0.8;
v2.deadDragons = 0;
v2.experience = 400;
v2.abilityPoints = 60;
v2.gold = 400;
v2.dropList = [];
v2.mainGraphic = 'dragon';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', -0.5, 'water', 1, 'ice', 1, 'thunder', 1.9, 'wind', 1, 'poison', -0.3, 'earth', 1, 'dark', -1, 'holy', 2, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 0, 'syphon', 0.1, 'death', 0, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Abyss.prototype, null, 1);
}
#endinitclip
}
movieClip 7102 __Packages.Swordslinger {
#initclip
if (!_global.Swordslinger) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.gear, _root.defs.microcontroller, _root.defs.steelplate, 0, 0, _root.defs.ramchip, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.Swordslinger = v1;
_global.Swordslinger extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 2;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 11, 0.1, 'null', 1, 'null', 0.5, 1, 1.2, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 11, 0.1, 'null', 1, 'null', 0.5, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 55, 0.1, 'null', 1, 'null', 0.5, 1, 0.9, 0.1);
};
v2.attack4 = function () {
this.sendHit('attack', 77, 0.1, 'null', 1, 'null', 0.5, 1, 0.6, 0.1);
};
v2.foeName = 'Swordslinger';
v2.foeType = 'Mysterious Fencer';
v2.foeDescription = 'Uses very non-elemental stabby attacks.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.experience = 30;
v2.abilityPoints = 7;
v2.gold = 40;
v2.dropList = [0];
v2.mainGraphic = 'slinger';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1, 'water', 1.9, 'ice', 1, 'thunder', 1.7, 'wind', 1, 'poison', 0, 'earth', 0.5, 'dark', 1, 'holy', 1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Swordslinger.prototype, null, 1);
}
#endinitclip
}
movieClip 7103 __Packages.Thunderbird {
#initclip
if (!_global.Thunderbird) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.magnet, _root.defs.lightfeather, 0, _root.defs.solidspike, 0, 0, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.Thunderbird = v1;
_global.Thunderbird extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 1;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 18, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 13.33333333333333, 0.1, 'none', 0.6, 'null', 0.1, 1, 0.9, 0.1);
};
v2.special1 = function () {
this.sendHit('magic', 16, 0.1, 'wind', 1, 'accuracyDown', 0.8, 0.5, 1.1, 0.1);
};
v2.magic1 = function () {
var v2 = random(2);
if (v2 == 0) {
this.targetAll = 'allPlayers';
this.castSpell('thunderstorm');
}
if (v2 == 1) {
this.castSpell('thunderbolt');
}
};
v2.foeName = 'Thunderbird';
v2.foeType = 'Electric Bird';
v2.foeDescription = 'Crashes thunderbolts down upon your head.';
v2.maxHP = 120;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 5;
v2.magicDefence = 4;
v2.evade = 5;
v2.accuracy = 4;
v2.experience = 25;
v2.abilityPoints = 3.5;
v2.gold = 25;
v2.dropList = [0];
v2.mainGraphic = 'bird';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1, 'water', 2, 'ice', 1, 'thunder', -1, 'wind', 1.7, 'poison', 1.5, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1.5, 'evadeDown', 1];
ASSetPropFlags(_global.Thunderbird.prototype, null, 1);
}
#endinitclip
}
movieClip 7104 __Packages.Protector {
#initclip
if (!_global.Protector) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 90;
this.dropList = [_root.defs.lightrune, _root.defs.goldplate, _root.defs.goldplate, 0, 0, 0];
this.reposition(d);
};
_global.Protector = v1;
_global.Protector extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (this.getHpPercent() <= 33) {
this.graphic.monster = 3;
} else {
if (this.getHpPercent() <= 66) {
this.graphic.monster = 2;
}
}
};
v2.makeMove = function () {
this.spawnNumber = 0;
this.turnStart();
var v2 = random(5);
if (this.getHpPercent() <= 66) {
v2 = random(6);
}
if (this.ybeam) {
v2 = 7;
}
if (this.obeam) {
v2 = 6;
}
if (this.cannonWait == 0) {
v2 = 8;
this.cannonWait = 6;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('special4');
}
if (v2 == 6) {
this.graphic.gotoAndPlay('special3');
this.obeam = false;
}
if (v2 == 7) {
this.graphic.gotoAndPlay('special5');
this.ybeam = false;
}
if (v2 == 8) {
this.graphic.gotoAndPlay('special6');
}
if (this.spawnWait == 0) {
this.spawnWait = 6;
v2 = random(5);
if (v2 == 0) {
this.parent.spawnFoe(Thunderbird, 25);
}
if (v2 == 1) {
this.parent.spawnFoe(DarkClay, 24);
}
if (v2 == 2) {
this.parent.spawnFoe(LightClay, 24);
}
if (v2 == 3) {
this.parent.spawnFoe(Gunslinger, 24);
}
if (v2 == 4) {
this.parent.spawnFoe(Swordslinger, 24);
}
}
--this.cannonWait;
--this.spawnWait;
};
v2.attack1 = function () {
this.sendHit('attack', 69, 0.1, 'null', 1, 'null', 0.6, 0.2, 0.9, 0.3);
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 30, 0.1, 'earth', 1, 'null', 0.8, 1, 1.2, 0.1);
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
this.getXY(2);
var v2 = random(2);
if (v2 == 0) {
this.castSpell('eruption');
}
if (v2 == 1) {
this.castSpell('rockslide');
}
};
v2.attack2 = function () {
this.target = this.parent.randomPlayer();
this.targetAll = 'onePlayer';
this.getXY(2);
this.sendHit('attack', 100, 0.1, 'bomb', 0.8, 'null', 0.8, 3, 1, 0.1);
};
v2.special2 = function () {
if (_root.defs.difficulty == 'epic') {
this.buff('magicAttackUp', 0.7);
}
this.obeam = true;
};
v2.special4 = function () {
if (_root.defs.difficulty == 'epic') {
this.buff('magicAttackUp', 0.7);
}
this.ybeam = true;
};
v2.special3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 140, 0.1, 'null', 1, 'dispel', 1, 1, 1.2, 0.1);
};
v2.special5 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 200, 0.1, 'thunder', 1, 'stun', 0.2, 1, 1.2, 0.1);
if (_root.defs.difficulty == 'epic') {
this.castSpell('thunderstorm');
}
};
v2.special1 = function () {
this.targetAll = 'allPlayers';
this.castSpell('handbomb');
};
v2.special6 = function () {
if (!this.parent.spawnRune(this.spawnNumber)) {
this.targetAll = 'allPlayers';
this.castSpell('handbomb');
}
++this.spawnNumber;
if (this.spawnNumber == 2) {
++this.spawnNumber;
}
};
v2.foeName = 'Protector';
v2.foeType = 'Ancient Guardian';
v2.foeDescription = 'Stores energy and unleashes massive particle beams. Summons Runes.';
v2.maxHP = 2500;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.8;
v2.accuracy = 4;
v2.hit2HP = 0.02;
v2.recall = 4;
v2.minBuff = 0.8;
v2.experience = 1000;
v2.abilityPoints = 120;
v2.gold = 800;
v2.dropList = [];
v2.mainGraphic = 'protectorBot';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0.3, 'water', 2.2, 'ice', 1, 'thunder', 1.8, 'wind', 1, 'poison', 0, 'earth', 0, 'dark', 1, 'holy', 0.3, 'bomb', 1.9];
v2.statusResistance = ['poison', 0, 'stun', 0, 'syphon', 0, 'death', 0, 'berserk', 0, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.obeam = false;
v2.ybeam = false;
v2.spawnNumber = 0;
v2.spawnWait = 3;
v2.cannonWait = 6;
ASSetPropFlags(_global.Protector.prototype, null, 1);
}
#endinitclip
}
movieClip 7105 __Packages.Gunslinger {
#initclip
if (!_global.Gunslinger) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.gear, _root.defs.microcontroller, _root.defs.steelplate, 0, 0, _root.defs.ramchip, 0];
this.scaleGraphic = 80;
this.reposition(d);
};
_global.Gunslinger = v1;
_global.Gunslinger extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 2;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack5');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack6');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack7');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('attack8');
}
};
v2.attack5 = function () {
this.sendHit('attack', 13.33333333333333, 0.1, 'bomb', 1, 'null', 0.5, 1, 1.2, 0.1);
this.target = this.parent.randomPlayer();
};
v2.attack6 = function () {
this.castSpell('handbomb');
};
v2.attack7 = function () {
this.sendHit('attack', 60, 0.1, 'bomb', 1, 'death', 0.8, 1, 0.4, 0.2);
this.target = this.parent.randomPlayer();
};
v2.attack8 = function () {
this.sendHit('attack', 22, 0.1, 'bomb', 1, 'null', 0.5, 1, 0.9, 0.1);
this.target = this.parent.randomPlayer();
};
v2.foeName = 'Gunslinger';
v2.foeType = 'Mysterious Shooter';
v2.foeDescription = 'Can snipe players for instant death. Uses a variety of bomb moves.';
v2.maxHP = 180;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.3;
v2.accuracy = 4;
v2.experience = 30;
v2.abilityPoints = 7;
v2.gold = 40;
v2.dropList = [0];
v2.mainGraphic = 'slinger';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1, 'water', 1.9, 'ice', 1, 'thunder', 1.7, 'wind', 1, 'poison', 0, 'earth', 0.5, 'dark', 1, 'holy', 1, 'bomb', 1.8];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.Gunslinger.prototype, null, 1);
}
#endinitclip
}
movieClip 7106 __Packages.EarthElemental {
#initclip
if (!_global.EarthElemental) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [0, 0, _root.defs.geode, _root.defs.solidspike, _root.defs.emerald, 0, 0];
this.reposition(d);
};
_global.EarthElemental = v1;
_global.EarthElemental extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(5);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
};
v2.attack1 = function () {
this.sendHit('attack', 35, 0.1, 'ice', 0.6, 'null', 0.2, 2, 1.1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 12.5, 0.1, 'ice', 0.6, 'null', 0.2, 2, 1.1, 0.1);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('cataclysm');
} else {
this.targetAll = 'allPlayers';
this.castSpell('thedead');
}
};
v2.special2 = function () {
this.sendHit('magic', 16.5, 0.1, 'bomb', 1, 'null', 0.5, 2, 1, 0.1);
this.target = this.parent.randomPlayer();
};
v2.foeName = 'Earth Elemental';
v2.foeType = 'Demonic Entity';
v2.foeDescription = 'Uses blades and earth, bomb and poison attacks.';
v2.maxHP = 360;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 55;
v2.abilityPoints = 10;
v2.gold = 60;
v2.dropList = [];
v2.mainGraphic = 'elementals';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0.5, 'water', 1, 'ice', 1.6, 'thunder', 0, 'wind', 2, 'poison', 0, 'earth', -1, 'dark', 1, 'holy', 1, 'bomb', 1.7];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.EarthElemental.prototype, null, 1);
}
#endinitclip
}
movieClip 7107 __Packages.KittenFort {
#initclip
if (!_global.KittenFort) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 75;
this.dropList = [_root.defs.brick, 0, _root.defs.handbomb, _root.defs.gear, 0, 0];
this.reposition(d);
};
_global.KittenFort = v1;
_global.KittenFort extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = 0;
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
};
v2.attack1 = function () {
if (_root.defs.difficulty == 'epic') {
this.targetAll = 'allPlayers';
}
this.sendHit('attack', 40, 0.1, 'null', 0, 'null', 0.2, 2, 0.8, 0.3);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 27, 0.1, 'null', 1, 'null', 0.3, 0.2, 0.9, 0.2);
};
v2.special1 = function () {
this.sendHit('magic', 33, 0.1, 'bomb', 1, 'null', 0.3, 0.2, 0.9, 0.2);
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('magic', 25, 0.1, 'bomb', 1, 'null', 0.3, 0.2, 1, 0.1);
};
v2.foeName = 'Kitten Fort';
v2.foeType = 'Kitten Battering Ram';
v2.foeDescription = 'A solid fort which rockets into enemies. Also throws powder kegs.';
v2.maxHP = 400;
v2.attack = 4;
v2.defence = 4.2;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.8;
v2.accuracy = 4;
v2.hit2HP = 0.125;
v2.poison = 0;
v2.experience = 62;
v2.abilityPoints = 10;
v2.gold = 50;
v2.dropList = [];
v2.mainGraphic = 'kittenKart';
v2.subGraphic = 3;
v2.elementalResistance = ['fire', 1.7, 'water', 1, 'ice', 1, 'thunder', 1, 'wind', 0.5, 'poison', 1.5, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.KittenFort.prototype, null, 1);
}
#endinitclip
}
movieClip 7108 __Packages.RockEater {
#initclip
if (!_global.RockEater) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [_root.defs.jawbone, _root.defs.dragonscales, 0, _root.defs.solidspike, 0, 0, 0, 0];
this.scaleGraphic = 77;
this.reposition(d);
};
_global.RockEater = v1;
_global.RockEater extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
} else {
if (this.getHpPercent() < 30) {
v2 = 3;
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special');
}
};
v2.attack1 = function () {
this.sendHit('attack', 42, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.2);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 12.5, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 11, 0.1, 'earth', 0.8, 'null', 0.1, 1, 1.2, 0.1);
this.buff('attackUp', 0.6);
this.buff('magicAttackUp', 0.6);
};
v2.attack4 = function () {
if (_root.defs.difficulty == 'epic') {
this.sendHit('attack', 140, 0.1, 'earth', 0.5, 'death', 0.3, 1, 0.9, 0.2);
} else {
this.sendHit('attack', 120, 0.1, 'earth', 0.5, 'null', 0.1, 1, 0.9, 0.2);
}
};
v2.foeName = 'Rock Eater';
v2.foeType = 'Giant Tortoise';
v2.foeDescription = 'Can perform an immensely damaging forward flip.';
v2.maxHP = 250;
v2.attack = 4;
v2.defence = 4.5;
v2.magicAttack = 4;
v2.magicDefence = 4.5;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 40;
v2.abilityPoints = 13;
v2.gold = 22;
v2.dropList = [0];
v2.mainGraphic = 'turtle';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 0, 'water', 2.3, 'ice', 1, 'thunder', 0, 'wind', 0, 'poison', 1, 'earth', -1, 'dark', -1, 'holy', 2, 'bomb', 1.7];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RockEater.prototype, null, 1);
}
#endinitclip
}
movieClip 7109 __Packages.FrozenEye {
#initclip
if (!_global.FrozenEye) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 80;
this.dropList = [_root.defs.icecream, 0, 0, _root.defs.icecrystal, 0, 0, _root.defs.pearl];
this.reposition(d);
};
_global.FrozenEye = v1;
_global.FrozenEye extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(6);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(3);
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('attack3');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 5) {
this.graphic.gotoAndPlay('magic2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 20, 0.1, 'ice', 0.5, 'freeze', 0.2, 2, 1, 0.1);
};
v2.attack2 = function () {
this.sendHit('attack', 15, 0.1, 'ice', 0.5, 'freeze', 0.1, 2, 1, 0.1);
};
v2.attack3 = function () {
this.sendHit('attack', 10, 0.1, 'ice', 0.5, 'freeze', 0.1, 2, 0.9, 0.1);
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('hail');
} else {
this.castSpell('freeze');
}
};
v2.magic2 = function () {
this.buff('magicAttackUp', 0.7);
this.buff('attackUp', 0.7);
};
v2.foeName = 'Frozen Eye';
v2.foeType = 'Magical Eye';
v2.foeDescription = 'Attacks with ice and casts several spells.';
v2.maxHP = 120;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4.2;
v2.accuracy = 4;
v2.experience = 18;
v2.abilityPoints = 3;
v2.gold = 15;
v2.dropList = [];
v2.mainGraphic = 'eyeguy';
v2.subGraphic = 2;
v2.elementalResistance = ['fire', 1.7, 'water', -1, 'ice', -1, 'thunder', 1, 'wind', 0, 'poison', 0, 'earth', 1.4, 'dark', 1, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.FrozenEye.prototype, null, 1);
}
#endinitclip
}
movieClip 7110 __Packages.RedSlime {
#initclip
if (!_global.RedSlime) {
var v1 = function (a, b, c, d) {
this.subGraphic += random(3);
super(a, b, c, d);
this.dropList = [0, _root.defs.redpotion, 0, 0, 0, 0, 0];
this.scaleGraphic = 60;
this.reposition(d);
};
_global.RedSlime = v1;
_global.RedSlime extends Foe;
var v2 = v1.prototype;
v2.specialHit1 = function (h) {
if (h.t == 'magic') {
h.damage = 0;
}
};
v2.makeMove = function () {
this.turnStart();
var v2 = random(2);
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
};
v2.attack1 = function () {
this.sendHit('attack', 13, 0.1, 'fire', 0.5, 'null', 1, 2, 1, 0);
};
v2.attack2 = function () {
this.sendHit('attack', 18, 0.1, 'fire', 0.5, 'evadeDown', 0.8, 0.3, 1, 0.2);
};
v2.foeName = 'Red Slime';
v2.foeType = 'Volcano Dwelling Slime';
v2.foeDescription = 'Fiery variety of the common Slime. IMMUNE TO MAGICAL DAMAGE.';
v2.maxHP = 90;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 10;
v2.abilityPoints = 1.3;
v2.gold = 6;
v2.dropList = [0];
v2.mainGraphic = 'slime';
v2.subGraphic = 12;
v2.elementalResistance = ['fire', -2, 'water', 2, 'ice', 1, 'thunder', 1, 'wind', 1, 'poison', 1.8, 'earth', 0, 'dark', 1, 'holy', 1.7, 'bomb', 1];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'blind', 1, 'death', 1, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
ASSetPropFlags(_global.RedSlime.prototype, null, 1);
}
#endinitclip
}
movieClip 7111 __Packages.LeafEater {
#initclip
if (!_global.LeafEater) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.dropList = [0, _root.defs.herb, 0, _root.defs.jawbone, _root.defs.dragonfin, 0, 0];
this.scaleGraphic = 77;
this.reposition(d);
};
_global.LeafEater = v1;
_global.LeafEater extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(4);
if (this.berserk) {
v2 = 0;
} else {
if (this.syphon) {
v2 = random(2);
} else {
if (this.getHpPercent() < 30 or this.doom) {
v2 = 3;
}
}
}
if (v2 == 0) {
this.graphic.gotoAndPlay('attack');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('attack2');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special4');
}
};
v2.attack1 = function () {
this.sendHit('attack', 35, 0.1, 'none', 0.4, 'null', 0.1, 1, 1, 0.2);
};
v2.attack2 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 10, 0.1, 'earth', 0.6, 'null', 0.1, 1, 1.2, 0.1);
};
v2.attack3 = function () {
this.targetAll = 'allPlayers';
this.sendHit('attack', 9, 0.1, 'earth', 0.6, 'null', 0.1, 1, 1.2, 0.1);
this.buff('defenceUp', 0.6);
};
v2.special4 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('magic', 5.5, 0.1, 'poison', 0.8, 'poison', 0.5, 1, 0.9, 0.2);
} else {
this.sendHit('magic', 5.5, 0.1, 'poison', 0.8, 'poison', 0.05, 1, 0.9, 0.2);
}
};
v2.foeName = 'Leaf Eater';
v2.foeType = 'Giant Tortoise';
v2.foeDescription = 'A defensive foe which attacks with earth and poison.';
v2.maxHP = 220;
v2.attack = 4;
v2.defence = 5;
v2.magicAttack = 4;
v2.magicDefence = 4;
v2.evade = 3.5;
v2.accuracy = 4;
v2.experience = 25;
v2.abilityPoints = 7;
v2.gold = 12;
v2.dropList = [0];
v2.mainGraphic = 'turtle';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 1.5, 'water', -0.5, 'ice', 1.6, 'thunder', 0.1, 'wind', 0.1, 'poison', 0.5, 'earth', 1.7, 'dark', 1, 'holy', 1, 'bomb', 1.5];
v2.statusResistance = ['poison', 1, 'stun', 1, 'syphon', 1, 'death', 1, 'berserk', 2, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 0.5, 'evadeDown', 1];
ASSetPropFlags(_global.LeafEater.prototype, null, 1);
}
#endinitclip
}
movieClip 7112 __Packages.AncientMonolith {
#initclip
if (!_global.AncientMonolith) {
var v1 = function (a, b, c, d) {
super(a, b, c, d);
this.scaleGraphic = 95;
this.dropList = [0, _root.defs.lightrune, _root.defs.emerald, 0, _root.defs.goldplate, 0, 0];
this.reposition(d);
};
_global.AncientMonolith = v1;
_global.AncientMonolith extends Foe;
var v2 = v1.prototype;
v2.makeMove = function () {
this.turnStart();
var v2 = random(3);
if (this.beam >= 3) {
this.beam = 0;
v2 = 3;
}
if (this.berserk) {
v2 = 3;
}
if (this.syphon) {
v2 = 4;
}
if (v2 == 0) {
this.graphic.gotoAndPlay('special');
}
if (v2 == 1) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 2) {
this.graphic.gotoAndPlay('magic');
}
if (v2 == 3) {
this.graphic.gotoAndPlay('special2');
}
if (v2 == 4) {
this.graphic.gotoAndPlay('nothing');
}
++this.beam;
};
v2.special1 = function () {
this.buff('magicAttackUp', 0.7);
var v2 = 0;
while (v2 < 5) {
this.parent.foes[v2].buff('magicDefenceUp', 0.35);
++v2;
}
};
v2.magic1 = function () {
if (random(2)) {
this.castSpell('cataclysm');
} else {
this.targetAll = 'allFoes';
this.castSpell('megalixir');
}
};
v2.special2 = function () {
this.targetAll = 'allPlayers';
if (_root.defs.difficulty == 'epic') {
this.sendHit('magic', 60, 0.1, 'null', 1, 'dispel', 2, 3, 1.3, 0.1);
} else {
this.sendHit('magic', 60, 0.1, 'null', 1, 'dispel', 0.5, 1, 1.3, 0.1);
}
};
v2.foeName = 'Ancient Monolith';
v2.foeType = 'Unmovable Stone';
v2.foeDescription = 'Uses extremely powerful attacks and buffs. Dispels your buffs.';
v2.maxHP = 520;
v2.attack = 4;
v2.defence = 4;
v2.magicAttack = 6;
v2.magicDefence = 4;
v2.evade = 4;
v2.accuracy = 4;
v2.experience = 220;
v2.abilityPoints = 15;
v2.gold = 120;
v2.dropList = [];
v2.mainGraphic = 'monolith';
v2.subGraphic = 1;
v2.elementalResistance = ['fire', 0, 'water', 2, 'ice', 1.7, 'thunder', 0, 'wind', 0, 'poison', 0, 'earth', 0, 'dark', 1, 'holy', 1, 'bomb', 1.6];
v2.statusResistance = ['poison', 0, 'stun', 0.3, 'syphon', 0.3, 'death', 0.2, 'berserk', 1, 'dispel', 1, 'doom', 1, 'attackDown', 1, 'defenceDown', 1, 'magicAttackDown', 1, 'magicDefenceDown', 1, 'accuracyDown', 1, 'evadeDown', 1];
v2.beam = 3;
ASSetPropFlags(_global.AncientMonolith.prototype, null, 1);
}
#endinitclip
}
movieClip 507 __Packages.com.newgrounds.components.APIConnector {
#initclip
label -3076:
Unknown action: 0xfc
function () {
= (2421 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -320 + ();
// An attempt to read a value from empty stack
while (!undefined) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 233;
continue;
if ( == 608) {
-= 3;
continue;
}
if ( == 605) {
for (;;) {
+= 360;
if ( == 290) {
-= 110;
if (!(true ::: eval(true))) {
goto 336;
}
+= 810;
label 336:
}
if ( == 731) {
-= 470;
if (!(true ::: eval(true))) {
goto 419;
}
+= 69;
label 419:
}
if ( != 411) break;
+= 197;
if ( == 259) {
+= 218;
goto -3076;
}
if ( == 440) {
+= 141;
}
} else {}
-= 340;
#endinitclip
}
movieClip 580 __Packages.com.newgrounds.APIError {
#initclip
label -30980:
Unknown action: 0xfc
function () {
= (678 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 334 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
#endinitclip
}
movieClip 581 __Packages.com.newgrounds.API {
#initclip
label -18522:
label -12511:
label -7191:
Unknown action: 0xfc
function () {
= (1221 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -124 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
if ( == 75) {
-= 2;
true;
}
if ( == 34) {
+= 873;
goto -12511;
}
for (;;) {
if ( != 644) break;
-= 166;
if ( == 774) {
-= 198;
goto -7191;
}
if ( == 291) {
-= 23;
}
if ( == 478) {
-= 2;
}
if ( == 268) {
+= 506;
continue;
}
if ( == 982) {
-= 165;
}
if ( == 73) {
-= 39;
if (!('' ::: )) {
goto 651;
}
+= 873;
label 651:
}
if ( != 809) break;
-= 518;
if ( == 907) {
-= 616;
}
if ( == 413) {
+= 404;
}
if ( == 249) {
+= 30;
}
if ( == 576) {
-= 168;
}
if ( == 482) {
-= 233;
if (!('' ::: )) {
continue;
}
+= 30;
}
if ( == 476) {
+= 6;
}
if ( == 979) {
-= 571;
}
if ( == 408) {
-= 371;
}
if ( != 37) break;
-= 24;
if (!('' ::: ::: !('' ::: ))) {
goto 8263;
}
+= 400;
label 8263:
if ( == 13) {
+= 400;
goto -18522;
}
if ( != 954) break;
-= 310;
// An attempt to read a value from empty stack
// An attempt to read a value from empty stack
var eval(undefined) = undefined;
if ( == 817) {
+= 137;
} else {
-= 108;
break;
if ( == 279) {
}
if ( != 171) break;
-= 171;
'';
1;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
Unknown action: 0xfc
#endinitclip
}
movieClip 582 __Packages.com.newgrounds.Bridge {
#initclip
label -31572:
label -28625:
Unknown action: 0xfc
function () {
= (1997 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -85 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
// An attempt to read a value from empty stack
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
( != 379) ? undefined;
#endinitclip
}
movieClip 583 __Packages.com.newgrounds.SaveFile {
#initclip
label -20996:
label -9203:
label -5110:
Unknown action: 0xfc
function () {
= (1727 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -55 + ();
// An attempt to read a value from empty stack
while (!undefined) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 289;
continue;
if ( == 270) {
+= 502;
continue;
}
if ( == 326) {
for (;;) {
+= 446;
if ( != 951) break;
-= 253;
goto -20996;
if ( == 772) {
-= 546;
}
if ( != 698) break;
-= 85;
if ( == 574) {
+= 39;
}
if ( == 603) {
+= 170;
}
if ( == 224) {
+= 307;
}
if ( == 226) {
+= 725;
goto 718;
label 718:
}
if ( != 297) break;
-= 268;
if (true ::: eval(true)) goto 778;
goto 801;
label 778:
+= 99;
label 801:
if ( == 773) {
-= 476;
}
if ( == 433) {
+= 392;
}
if ( == 727) {
-= 457;
goto -5110;
}
if ( == 29) {
+= 99;
}
if ( == 343) {
+= 384;
if (!( != 139 ::: == 139)) {
goto 4155;
}
-= 457;
label 4155:
}
if ( == 112) {
+= 491;
}
if ( == 428) {
+= 155;
if ( != 139 ::: == 139) break;
goto 4294;
-= 135;
label 4294:
}
if ( != 825) break;
-= 669;
if ( != 624) break;
-= 191;
break;
if ( == 583) {
-= 135;
goto -9203;
}
if ( != 531) break;
-= 188;
if ( == 613) {
-= 550;
}
if ( == 63) {
for (;;) {
+= 561;
if (!true) {
}
}
-= 191;
}
+= 83;
+= 781;
-= 44;
var eval(true) = != 448;
+= 453;
for (;;) {
goto 4954;
}
-= 581;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
label 4954:
!= 139;
true;
#endinitclip
}
movieClip 584 __Packages.com.newgrounds.SaveGroup {
#initclip
label -22291:
label -17921:
Unknown action: 0xfc
function () {
= (1082 % 511) * true;
if (!'') {
} else {}
return ;
}
var = -27 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
if ( == 33) {
+= 408;
true;
}
if ( == 795) {
-= 333;
// An attempt to read a value from empty stack
if (undefined) break;
continue;
for (;;) {
+= 36;
if ( != 165) break;
+= 281;
if ( == 869) {
-= 224;
}
if ( != 129) break;
+= 36;
break;
} else {}
+= 148;
if ( == 462) {
-= 150;
if ( == 740) {
}
if ( == 364) {
+= 281;
}
if ( == 441) {
+= 299;
if (!true) {
goto 661;
}
-= 150;
label 661:
}
if ( == 919) {
-= 293;
if (!true) {
continue;
}
-= 262;
}
if ( == 744) {
-= 282;
}
if ( == 626) {
-= 262;
goto -22291;
}
if ( == 105) {
+= 690;
}
if ( == 645) {
+= 266;
}
if ( == 590) {
+= 205;
} else {
-= 883;
if ( == 943) {
if (!true) {
}
+= 192;
}
}
if ( == 88) {
+= 5;
}
}
( != 60) ? true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
#endinitclip
}
movieClip 585 __Packages.com.newgrounds.ValidationTools {
#initclip
label -26616:
label -18260:
Unknown action: 0xfc
function () {
= (872 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 209 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
if ( == 570) {
+= 407;
true;
}
if ( == 588) {
+= 333;
goto 1415;
goto 1411;
}
for (;;) {
if ( == 945) {
-= 518;
true;
}
if ( == 643) {
+= 302;
}
if ( != 977) break;
+= 2;
// An attempt to read a value from empty stack
if (undefined) break;
goto 395;
-= 336;
label 395:
if ( != 490) break;
+= 455;
if ( == 413) {
+= 175;
}
if ( == 979) {
-= 336;
goto -26616;
}
if ( != 509) break;
+= 420;
if ( == 921) {
-= 921;
}
if ( == 951) {
-= 22;
}
if ( == 929) {
-= 800;
'';
1;
}
if ( == 427) {
+= 326;
// An attempt to read a value from empty stack
if (!undefined) {
goto 1054;
}
-= 244;
label 1054:
} else {
+= 298;
// An attempt to read a value from empty stack
if ( == 115) {
if (!undefined) {
}
+= 175;
}
}
if ( == 477) {
-= 362;
// An attempt to read a value from empty stack
!undefined;
}
if ( != 753) break;
-= 244;
goto -18260;
if ( == 129) {
+= 221;
// An attempt to read a value from empty stack
// An attempt to read a value from empty stack
var eval(undefined) = undefined;
}
if ( == 350) {
-= 220;
'';
}
if ( == 130) {
+= 347;
// An attempt to read a value from empty stack
eval(undefined);
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
label 1411:
Unknown action: 0xfc
label 1415:
#endinitclip
}
movieClip 586 __Packages.com.newgrounds.APIEvent {
#initclip
label -25688:
label -8852:
Unknown action: 0xfc
function () {
= (1375 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 491 + ();
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
if ( == 844) {
-= 510;
true;
}
if ( == 74) {
+= 788;
goto -25688;
}
for (;;) {
if ( != 123) break;
+= 790;
// An attempt to read a value from empty stack
if (!undefined) {
goto 290;
}
-= 824;
label 290:
if ( == 744) {
-= 302;
'';
}
if ( != 180) break;
-= 28;
if ( == 95) {
+= 369;
'';
1;
}
if ( == 89) {
+= 599;
break;
goto 2290;
} else {
-= 112;
// An attempt to read a value from empty stack
if ( == 186) {
if (!undefined) {
}
+= 788;
}
}
if ( == 913) {
-= 824;
}
if ( == 846) {
-= 155;
goto 33079;
}
if ( == 691) {
-= 596;
}
if ( == 152) {
+= 34;
true;
}
if ( == 308) {
-= 185;
// An attempt to read a value from empty stack
!undefined;
}
if ( == 334) {
-= 49;
// An attempt to read a value from empty stack
if (!undefined) {
} else {
-= 105;
}
}
if ( == 533) {
+= 313;
// An attempt to read a value from empty stack
if (!undefined) {
break;
}
-= 155;
}
if ( == 285) {
-= 105;
goto -8852;
}
if ( == 810) {
-= 658;
}
if ( != 442) break;
-= 134;
// An attempt to read a value from empty stack
if ( == 632) {
-= 99;
}
if ( != 464) break;
+= 280;
// An attempt to read a value from empty stack
var eval(undefined) = eval(undefined);
if ( == 862) {
-= 230;
}
if ( != 589) break;
+= 43;
if ( == 720) {
-= 625;
}
if ( != 688) break;
-= 688;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
label 2290:
Unknown action: 0xfc
#endinitclip
}
movieClip 587 __Packages.com.newgrounds.SaveGroupQuery {
#initclip
label -28856:
label -15528:
Unknown action: 0xfc
function () {
= (1695 % 511) * true;
if (!'') {
} else {}
return ;
}
var = 421 + ();
// An attempt to read a value from empty stack
while (!undefined) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
for (;;) {
+= 204;
continue;
if ( == 661) {
-= 34;
continue;
}
if ( == 868) {
for (;;) {
-= 762;
if ( == 787) {
+= 171;
if (!true) {
break;
}
-= 90;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}