Combined Code
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 530 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 536 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 539 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 541 {
}
movieClip 543 {
}
movieClip 545 {
}
movieClip 547 {
}
movieClip 549 {
}
movieClip 551 {
}
movieClip 553 {
}
movieClip 555 {
}
movieClip 557 {
}
movieClip 559 {
}
movieClip 560 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 564 {
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 570 {
on (release) {
getURL(official_version_url, '_blank');
}
}
movieClip 572 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 573 {
on (release) {
getURL(official_version_url, '_blank');
}
}
movieClip 577 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 578 API Connector (NewgroundsAPI) {
#initclip
Object.registerClass('API Connector (NewgroundsAPI)', com.newgrounds.components.APIConnector);
#endinitclip
frame 20 {
_visible = false;
}
}
frame 1 {
var kongregate = _global.kongregate;
kongregate.services.connect();
}
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);
}
sound = new Sound();
_root.musicVolume = 100;
_root.musicVolume = 100;
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, EP, EP2, mySiteLink, mySiteLink2, Mulink, copyrightNotice2, music2, munmute, mmute, music, unmute, mute, quality, lowQ, medQ, highQ);
_root.menu = myMenu;
}
frame 1 {
P1equips = [2, 13, 2];
P2equips = [13, 5, 14];
P3equips = [2, 3, 6];
}
frame 1 {
stop();
}
movieClip 612 {
frame 1 {
stop();
}
}
movieClip 613 {
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(370) - 30;
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() {
++scoreCounter.slimeScore;
scoreCounter.play();
_root.slimeScore = scoreCounter.slimeScore;
}
spaces = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
scoreCounter.slimeScore = 0;
scoreCounter.swapDepths(500);
a = 0;
while (a < 8) {
createSlime(a);
++a;
}
}
}
movieClip 616 {
}
movieClip 618 {
}
movieClip 622 {
}
button 624 {
on (release) {
startMovie();
}
}
movieClip 625 {
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();
}
}
movieClip 633 {
frame 1 {
urlStart = _url.indexOf('://') + 3;
urlEnd = _url.indexOf('/', urlStart);
domain = _url.substring(urlStart, urlEnd);
LastDot = domain.lastIndexOf('.') - 1;
domEnd = domain.lastIndexOf('.', LastDot) + 1;
domain = domain.substring(domEnd, domain.length);
if (domain != 'kongregate.com' and domain != 'andkon.com' and domain != 'www.andkon.com') {
var CPMStarContentSpotID = '2904Q79E8FDC6';
System.security.allowDomain('server.cpmstar.com');
_parent.adBox.loadMovie('http://server.cpmstar.com/adviewas2.swf?contentspotid=' + CPMStarContentSpotID);
}
}
}
movieClip 637 {
}
button 641 {
on (release) {
getURL('http://kongregate.com/?gamereferral=epic-battle-fantasy-3', '_blank');
}
}
instance of movieClip 578 API Connector (NewgroundsAPI) {
onClipEvent (construct) {
api_id = '13661:iEUERJgW';
encryption_key = 'ewGzYbX9WXsPABzh7Qd6XSMwgUG2veEP';
version = '';
fake_session = true;
debug = true;
error_screens = false;
medal_popups = false;
}
}
movieClip 6920 __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 6921 __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 6922 __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;
} 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;
} else {
if (hit.statusEffect == 'poison') {
this.poison += hit.statusDegree;
} else {
if (hit.statusEffect == 'syphon') {
this.syphon += hit.statusDegree;
} else {
if (hit.statusEffect == 'berserk') {
this.berserk += hit.statusDegree;
} else {
if (hit.statusEffect == 'dispel') {
this.dispel();
} else {
if (hit.statusEffect == 'doom' and !this.doom) {
this.doom = hit.statusDegree;
} else {
if (hit.statusEffect == 'freeze' and !this.berserk) {
this.freeze = 2;
this.defending = false;
} 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 {
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;
}
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 581 __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
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}