STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
228046
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2560 · P5120

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/29187756?noj=FRM29187756-23DC" width="1" height="1"></div>

ebf3_v1.0.swf

This is the info page for
Flash #238144

(Click the ID number above for more basic data on this flash file.)


ActionScript [AS1/AS2]
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; } } } } } } } } } } } } } } } } } }




http://swfchan.com/48/238144/info.shtml
Created: 26/11 -2020 22:00:27 Last modified: 26/11 -2020 22:00:27 Server time: 23/04 -2024 07:54:05