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

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

Morax and Murmur - adventure rpg battle game.swf

This is the info page for
Flash #129136

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


Text
100

<p align="left"><font face="Verdana" size="22" color="#ffffff" letterSpacing="-1.000000" kerning="1">Test Medal</font></p>

pts

PAUSED

PERFORM COMBO ATTACK TO FINISH TUTORIAL
HOLD SHIELD + TAP A
Cost 1

INSTRUCTIONS RECAP
PRESS A to ATTACK. Hold Shield and Tap a to do a combo attack (cost 1 soul).
PRESS S FOR SHIELD - block enemy attacks and murmur's fire.
PRESS D TO EAT OWN INFANTRY FOR HEALTH.
The Time Bar represents regular resources, souls are a secondary resource used for upgrades.
USE MOUSE OR HOTKEYS TO PURCHASE UNITS AND UPGRADES.
INFANTRY IS GOOD AGAINST SPEARMEN, SpeARMEN ARE GOOD AGAINST CAVALRY. Cavalry is good against
infantry.

LOADING

NEW GAME
CREDITS
ANOTHER GAME

EASY
MEDIUM
HARD

BACK

ART and ANIMATION
KARLO (www.zabers.net)
CODE
ALEX ASVEGREN
VOICE ACTING
DAVID ARMSTRONG
MUSIC (MENU)
WrathGAMES STUDIO
Music (GAME)
"OPPRESSIVE GLOOM"
KEVIN MACLEOD (INCOMPETECH.COM)
(MODIFIED FOR SPIRIT REALM)

Q

Q

W

W

R

R

T

T

Y

Y

I

I

P

P

1

1

2

2

3

3

O

O

U

U

E

E

MOON:

Text!
TEXT!
TEXT!

(Attack enemy with a)

TUTORIAL COMPLETE

NEXT LEVEL?
ANOTHER GAME?

LEVEL COMPLETE

NEXT LEVEL?
ANOTHER GAME?

GAME over
TRY...
FROM the same level?
FROM THE BEGINNING?
ANOTHER GAME?

CLICK HERE TO PLAY MORE GAMES
GO BACK?

CONGRATULATIONS
PLAY...
AGAIN?
ANOTHER GAME?

ActionScript [AS1/AS2]

Frame 1
function purchaseunit(type) { if (!gamepaused) { if (type == "infantry") { if (resources >= 10) { resources = resources - 10; count++; holder.friendlies.attachMovie("infantry", "infantry" + count, count); holder.friendlies["infantry" + count]._x = -50; holder.friendlies["infantry" + count]._y = miny; playgrunt(); } else { playsound("error1Sound"); } } if ((type == "spearman") and (level >= 2)) { if (resources >= 10) { resources = resources - 10; count++; holder.friendlies.attachMovie("spearman", "spearman" + count, count); holder.friendlies["spearman" + count]._x = -50; holder.friendlies["spearman" + count]._y = miny; playspgrunt(); } else { playsound("error1Sound"); } } if ((type == "cavalry") and (level >= 2)) { if (resources >= 20) { resources = resources - 20; count++; holder.friendlies.attachMovie("cavalry", "cavalry" + count, count); holder.friendlies["cavalry" + count]._x = -50; holder.friendlies["cavalry" + count]._y = miny; playsound("horse1Sound"); } else { playsound("error1Sound"); } } if ((type == "archer") and (level >= 3)) { if (((resources >= 10) and (archercount < 5)) and (soulcount >= 2)) { resources = resources - 10; soulcount = soulcount - 2; count++; holder.friendlies.attachMovie("archer", "archer" + count, count); holder.friendlies["archer" + count]._x = 125 - (65 * (archercount / 5)); holder.friendlies["archer" + count]._y = 125 + (40 * (archercount / 5)); archercount++; playsound("archer1Sound"); } else { playsound("error1Sound"); } } if (type == "spirit") { if ((plife > 0) and (resources >= 2)) { resources = resources - 2; midcount++; attachMovie("switchflash", "switchflash" + midcount, midcount); moonpos = _root[prevmoonsound].position / 1000; if (spirit) { spirit = false; if (allowsounds) { newpos = music2Sound.position / 1000; music2Sound.stop(); music1Sound.start(newpos, 0); } } else { if (allowsounds) { newpos = music1Sound.position / 1000; music1Sound.stop(); music2Sound.start(newpos, 0); } spirit = true; } if (allowsounds) { _root[prevmoonsound].start(moonpos, 0); } } else { playsound("error1Sound"); } } if (type == "revive") { if ((resources >= 40) and (plife <= 0)) { resources = resources - 40; plife = maxplife; } else { playsound("error1Sound"); } } if ((type == "rain") and (level >= 4)) { if (((resources >= 80) and (soulcount >= 5)) and (!raining)) { resources = resources - 80; soulcount = soulcount - 5; raincount = 0; raining = true; playsound("rain1Sound"); } else { playsound("error1Sound"); } } } } function upgrade(type) { if (type == "infantry") { if (((resources >= 50) and (infupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; soulcount = soulcount - 15; infupgrade++; playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } if ((type == "spearman") and (level >= 2)) { if (((resources >= 50) and (spupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; soulcount = soulcount - 15; spupgrade++; playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } if ((type == "cavalry") and (level >= 2)) { if (((resources >= 50) and (cavupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; soulcount = soulcount - 15; cavupgrade++; playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } if ((type == "archer") and (level >= 3)) { if (((resources >= 50) and (arupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; soulcount = soulcount - 15; arupgrade++; playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } if (type == "resources") { if (((resources >= 50) and (resupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; soulcount = soulcount - 15; resupgrade++; playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } if (type == "hero") { if (((resources >= 50) and (herupgrade < 2)) and (soulcount >= 15)) { resources = resources - 50; herupgrade++; soulcount = soulcount - 15; if (herupgrade == 1) { maxplife = maxplife + 15; } playsound("upgrade1Sound"); } else { playsound("error1Sound"); } } } function createarrow(xloc, yloc, dir) { if (dir == "left") { count++; holder.attachMovie("arrow", "arrow" + count, count); holder["arrow" + count]._x = xloc; holder["arrow" + count]._y = yloc; holder["arrow" + count].xspeed = 5 + (random(100) / 10); } if (dir == "right") { count++; holder.attachMovie("arrow", "arrow" + count, count); holder["arrow" + count]._x = xloc; holder["arrow" + count]._y = yloc; holder["arrow" + count]._xscale = -100; holder["arrow" + count].xspeed = -5 - (random(100) / 10); } } function createfireball(xloc, yloc) { count++; holder.attachMovie("fireball", "fireball" + count, count); holder["fireball" + count]._x = xloc; holder["fireball" + count]._y = yloc; } function createdrop() { count++; holder.rainfire.attachMovie("drop", "drop" + count, count); } function createenemy(type) { if (type == "infantry") { count++; holder.enemies.attachMovie("enemyinfantry", "infantry" + count, count); holder.enemies["infantry" + count]._x = 1450; holder.enemies["infantry" + count]._y = miny; } if (type == "spearman") { count++; holder.enemies.attachMovie("enemyspearman", "spearman" + count, count); holder.enemies["spearman" + count]._x = 1450; holder.enemies["spearman" + count]._y = miny; } if (type == "cavalry") { count++; holder.enemies.attachMovie("enemycavalry", "cavalry" + count, count); holder.enemies["cavalry" + count]._x = 1450; holder.enemies["cavalry" + count]._y = miny; } if (type == "archer") { if (enarchercount < 5) { count++; holder.enemies.attachMovie("enemyarcher", "archer" + count, count); holder.enemies["archer" + count]._x = 1300 + (enarchercount * 15); holder.enemies["archer" + count]._y = 125 + (enarchercount * 9); holder.enemies["archer" + count]._xscale = -100; enarchercount++; } } } function genenemy() { if (level < 2) { createenemy("infantry"); } else { rnd = random(100); if (rnd > 66) { createenemy("infantry"); } else if (rnd > 33) { createenemy("spearman"); } else { createenemy("cavalry"); } } } function friendlyattack(xloc, yloc, targetcount, type) { count++; if (type == "infantry") { holder.infantryfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.infantryfire["blocker-attacks" + count]._x = xloc; holder.infantryfire["blocker-attacks" + count]._y = yloc; holder.infantryfire["blocker-attacks" + count].targetcount = targetcount; } else if (type == "spearman") { holder.spearmanfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.spearmanfire["blocker-attacks" + count]._x = xloc; holder.spearmanfire["blocker-attacks" + count]._y = yloc; holder.spearmanfire["blocker-attacks" + count].targetcount = targetcount; } else if (type == "cavalry") { holder.cavalryfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.cavalryfire["blocker-attacks" + count]._x = xloc; holder.cavalryfire["blocker-attacks" + count]._y = yloc; holder.cavalryfire["blocker-attacks" + count].targetcount = targetcount; } else if (type == "archer") { holder.archerfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.archerfire["blocker-attacks" + count]._x = xloc; holder.archerfire["blocker-attacks" + count]._y = yloc; holder.archerfire["blocker-attacks" + count].targetcount = targetcount; } else if (type == "hero") { holder.herofire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.herofire["blocker-attacks" + count]._x = xloc - bg._x; holder.herofire["blocker-attacks" + count]._y = yloc; holder.herofire["blocker-attacks" + count].targetcount = targetcount; } } function enemyattack(xloc, yloc, targetcount, type) { count++; if (type == "infantry") { holder.enemyinfantryfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.enemyinfantryfire["blocker-attacks" + count]._x = xloc; holder.enemyinfantryfire["blocker-attacks" + count]._y = yloc; holder.enemyinfantryfire["blocker-attacks" + count].targetcount = targetcount; } if (type == "spearman") { holder.enemyspearmanfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.enemyspearmanfire["blocker-attacks" + count]._x = xloc; holder.enemyspearmanfire["blocker-attacks" + count]._y = yloc; holder.enemyspearmanfire["blocker-attacks" + count].targetcount = targetcount; } if (type == "cavalry") { holder.enemycavalryfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.enemycavalryfire["blocker-attacks" + count]._x = xloc; holder.enemycavalryfire["blocker-attacks" + count]._y = yloc; holder.enemycavalryfire["blocker-attacks" + count].targetcount = targetcount; } if (type == "archer") { holder.enemyarcherfire.attachMovie("blocker-attacks", "blocker-attacks" + count, count); holder.enemyarcherfire["blocker-attacks" + count]._x = xloc; holder.enemyarcherfire["blocker-attacks" + count]._y = yloc; holder.enemyarcherfire["blocker-attacks" + count].targetcount = targetcount; } } function createsplat(xloc, yloc) { playdeath(); playhit(); count++; holder.attachMovie("splat", "splat" + count, count); holder["splat" + count]._x = xloc; holder["splat" + count]._y = yloc; } function generatesoul(xloc, yloc) { count++; holder.attachMovie("soul", "soul" + count, count); holder["soul" + count]._x = xloc; holder["soul" + count]._y = yloc; } function givemedal(medalname, id) { if (ng) { if (medarr[id] == 0) { if (medals) { medals.removeMovieClip(); } count++; attachMovie("MedalPopup", "medals", count); medals._x = medx; medals._y = medy; com.newgrounds.API.unlockMedal(medalname); medarr[id] = 1; } } } function pausegame() { if (gamepaused) { gamepaused = false; pausedclip.removeMovieClip(); } else { gamepaused = true; count++; attachMovie("pausedclip", "pausedclip", count); pausedclip._x = 350; pausedclip._y = 200; } } function mutesounds() { if (allowsounds) { allowsounds = false; stopAllSounds(); } else { allowsounds = true; if (spirit) { music2Sound.start(0, 0); } else { music1Sound.start(0, 0); } } } function playmusic(soundname) { if (allowsounds) { if (lastsong != soundname) { stopAllSounds(); _root[soundname].start(0, 0); } } lastsong = soundname; } function playsound(soundname) { if (allowsounds) { _root[soundname].start(); } } function moonmessage(id) { soundname = moonsounds[id]; if (spirit) { pos = music2Sound.position / 1000; } else { pos = music1Sound.position / 1000; } _root[prevmoonsound].stop(); music1Sound.stop(); music2Sound.stop(); if (spirit and allowsounds) { music2Sound.start(pos, 99); } else if (allowsounds) { music1Sound.start(pos, 99); } playsound(soundname); messagebox._visible = true; msglength = Math.round((_root[soundname].duration / 1000) * 30); messagebox.msg = moonmsgs[id]; prevmoonsound = soundname; } function playwoosh() { rnd = random(100); if (rnd > 66) { playsound("woosh1Sound"); } else if (rnd > 33) { playsound("woosh2Sound"); } else { playsound("woosh3Sound"); } } function playsigh() { rnd = random(100); if (rnd > 66) { playsound("sigh1Sound"); } else if (rnd > 33) { playsound("sigh2Sound"); } else { playsound("sigh3Sound"); } } function playdeath() { rnd = random(100); if (rnd > 80) { playsound("death1Sound"); } else if (rnd > 60) { playsound("death2Sound"); } else if (rnd > 40) { playsound("death3Sound"); } else if (rnd > 20) { playsound("death4Sound"); } else { playsound("death5Sound"); } } function playgrunt() { rnd = random(100); if (rnd > 66) { playsound("grunt1Sound"); } else if (rnd > 33) { playsound("grunt2Sound"); } else { playsound("grunt3Sound"); } } function playspgrunt() { rnd = random(100); if (rnd > 66) { playsound("spgrunt1Sound"); } else if (rnd > 33) { playsound("spgrunt2Sound"); } else { playsound("spgrunt3Sound"); } } function playhit() { rnd = random(100); if (rnd > 66) { playsound("hit1Sound"); } else if (rnd > 33) { playsound("hit2Sound"); } else { playsound("hit3Sound"); } } function playflesh() { rnd = random(100); if (rnd > 66) { playsound("flesh1Sound"); } else if (rnd > 33) { playsound("flesh2Sound"); } else { playsound("flesh3Sound"); } } function playshield() { if (shieldscount > 14) { shieldscount = 0; rnd = random(100); if (rnd > 66) { playsound("shield1Sound"); } else if (rnd > 33) { playsound("shield2Sound"); } else { playsound("shield3Sound"); } } } function itemHandler1(obj, item) { getURL ("http://www.8bitskull.com", _blank); } function __com_mochibot__(swfid, mc, lv, trk) { var x; var g; var s; var fv; var sb; var u; var res; var mb; var mbc; var pv; mb = "__mochibot__"; mbc = "mochibot.com"; g = (_global ? (_global) : (_level0._root)); if (g[mb + swfid]) { return(g[mb + swfid]); } s = System.security; x = mc._root.getSWFVersion; fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5))); if (!s) { s = {}; } sb = s.sandboxType; if (sb == "localWithFile") { return(null); } x = s.allowDomain; if (x) { s.allowDomain(mbc); } x = s.allowInsecureDomain; if (x) { s.allowInsecureDomain(mbc); } pv = ((fv == 5) ? (getVersion()) : (System.capabilities.version)); u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=8&fv=") + fv) + "&v=") + escape(pv)) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : ""); lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv)))); g[mb + "level"] = lv; if (fv == 5) { res = "_level" + lv; if (!eval (res)) { loadMovieNum (u, lv); } } else { res = mc.createEmptyMovieClip(mb + swfid, lv); res.loadMovie(u); } return(res); } function mochi(type) { if (type == "main") { if (!mochi_main) { __com_mochibot__("6ef86a24", this, 10301, true); mochi_main = true; } } if (type == "tut") { if (!mochi_tut) { __com_mochibot__("19dcc327", this, 10301, true); mochi_tut = true; } } if (type == "l1") { if (!mochi_l1) { __com_mochibot__("dec00e0d", this, 10301, true); mochi_l1 = true; } } if (type == "l2") { if (!mochi_l2) { __com_mochibot__("b92f4c18", this, 10301, true); mochi_l2 = true; } } if (type == "l3") { if (!mochi_l3) { __com_mochibot__("1c09a93b", this, 10301, true); mochi_l3 = true; } } if (type == "l4") { if (!mochi_l4) { __com_mochibot__("a44fe0b8", this, 10301, true); mochi_l4 = true; } } if (type == "l5") { if (!mochi_l5) { __com_mochibot__("ca523340", this, 10301, true); mochi_l5 = true; } } } resourcerate = 0.0012; resources = 0; soulcount = 0; maxplife = 30; maxspeed = 5; acctime = 4; count = 1; midcount = 100000 /* 0x0186A0 */; uppercount = 200000 /* 0x030D40 */; miny = 265; gamepaused = false; infupgrade = 0; spupgrade = 0; cavupgrade = 0; arupgrade = 0; resupgrade = 0; herupgrade = 0; level = 0; allowsounds = true; fballdamage = 5; difficulty = 0; shieldlim = 90; moonclicks = 0; returning = false; tiredmessage = false; shieldmessage = false; shieldhits = 0; totalsouls = 1; k = new Array(0, 81, 87, 69, 82, 84, 89, 85, 73, 79, 80, 49, 50, 51); ur = _url.split("//"); ur = ur[1]; ur = ur.split("/"); ur = ur[0]; if (ur == "uploads.ungrounded.net") { ng = true; } else { ng = false; } medarr = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0); moonmsgs = new Array("So you wish to dominate hell, Morax? Admirable, but you will need to dethrone your brother Murmur. I can help you, but you will need to prove your worth first.", "Slay this enemy by pressing A.", "Good. Now bring up your shield with S. You will need it to protect yourself from the wrath of your dear brother as you betray him.", "Your health is a bit low. Devour your own soldier to restore it by pressing D. Go ahead.", "The soul of the enemy you killed earlier remains just behind the veil of reality. Press 1 to switch to the spiritual realm and collect it.", "Use your resources and the souls you collect to acquire troops and upgrades.", "Attain all five of Murmur's crowns to defeat him. Prepare for battle, Morax.", "Shower them with arrows.", "Trample their infantry, impale their cavalry.", "Rain blood on their wretched bodies.", "This is it, Morax. The final crown.", "Hold your shield up too long and you will get tired.", "Protect yourself against brother Murmur's fire, Morax.", "You have failed. I urge you to try again, friend Morax.", "Congratulations, Morax. You have defeated your brother and reign supreme. Enjoy the loneliness of power!", "Grrrrr...", "The Moon chases the Sun.", "This way a good soul never passes.", "The path to Paradise begins in Hell.", "Remember tonight, for it is the beginning of always.", "Into the eternal darkness, into fire and into ice.", "All who oppose me, beware.", "Not even death can save them from me.", "May the rats eat their eyes.", "They are wicked, but I am more wicked than them."); moonsounds = new Array("moonline0Sound", "moonline1Sound", "moonline2Sound", "moonline3Sound", "moonline4Sound", "moonline5Sound", "moonline6Sound", "moonline7Sound", "moonline8Sound", "moonline9Sound", "moonline10Sound", "moonline11Sound", "moonline12Sound", "moonline13Sound", "moonline14Sound", "moonline15Sound", "moonline16Sound", "moonline17Sound", "moonline18Sound", "moonline19Sound", "moonline20Sound", "moonline21Sound", "moonline22Sound", "moonline23Sound", "moonline24Sound"); music1Sound = new Sound(mus1); music1Sound.attachSound("music1"); music2Sound = new Sound(mus2); music2Sound.attachSound("music2"); menu1Sound = new Sound(this); menu1Sound.attachSound("menu1"); flash1Sound = new Sound(this); flash1Sound.attachSound("flash"); error1Sound = new Sound(this); error1Sound.attachSound("error1"); chew1Sound = new Sound(this); chew1Sound.attachSound("chew1"); horse1Sound = new Sound(this); horse1Sound.attachSound("horse1"); archer1Sound = new Sound(this); archer1Sound.attachSound("archer1"); upgrade1Sound = new Sound(this); upgrade1Sound.attachSound("upgrade1"); special1Sound = new Sound(this); special1Sound.attachSound("special1"); fire1Sound = new Sound(this); fire1Sound.attachSound("fire1"); fire2Sound = new Sound(this); fire2Sound.attachSound("fire2"); rain1Sound = new Sound(this); rain1Sound.attachSound("rain1"); select1Sound = new Sound(this); select1Sound.attachSound("select1"); select2Sound = new Sound(this); select2Sound.attachSound("select2"); moonline0Sound = new Sound(this); moonline0Sound.attachSound("moonline0"); moonline1Sound = new Sound(this); moonline1Sound.attachSound("moonline1"); moonline2Sound = new Sound(this); moonline2Sound.attachSound("moonline2"); moonline3Sound = new Sound(this); moonline3Sound.attachSound("moonline3"); moonline4Sound = new Sound(this); moonline4Sound.attachSound("moonline4"); moonline5Sound = new Sound(this); moonline5Sound.attachSound("moonline5"); moonline6Sound = new Sound(this); moonline6Sound.attachSound("moonline6"); moonline7Sound = new Sound(this); moonline7Sound.attachSound("moonline7"); moonline8Sound = new Sound(this); moonline8Sound.attachSound("moonline8"); moonline9Sound = new Sound(this); moonline9Sound.attachSound("moonline9"); moonline10Sound = new Sound(this); moonline10Sound.attachSound("moonline10"); moonline11Sound = new Sound(this); moonline11Sound.attachSound("moonline11"); moonline12Sound = new Sound(this); moonline12Sound.attachSound("moonline12"); moonline13Sound = new Sound(this); moonline13Sound.attachSound("moonline13"); moonline14Sound = new Sound(this); moonline14Sound.attachSound("moonline14"); moonline15Sound = new Sound(this); moonline15Sound.attachSound("moonline15"); moonline16Sound = new Sound(this); moonline16Sound.attachSound("moonline16"); moonline17Sound = new Sound(this); moonline17Sound.attachSound("moonline17"); moonline18Sound = new Sound(this); moonline18Sound.attachSound("moonline18"); moonline19Sound = new Sound(this); moonline19Sound.attachSound("moonline19"); moonline20Sound = new Sound(this); moonline20Sound.attachSound("moonline20"); moonline21Sound = new Sound(this); moonline21Sound.attachSound("moonline21"); moonline22Sound = new Sound(this); moonline22Sound.attachSound("moonline22"); moonline23Sound = new Sound(this); moonline23Sound.attachSound("moonline23"); moonline24Sound = new Sound(this); moonline24Sound.attachSound("moonline24"); woosh1Sound = new Sound(this); woosh1Sound.attachSound("woosh1"); woosh2Sound = new Sound(this); woosh2Sound.attachSound("woosh2"); woosh3Sound = new Sound(this); woosh3Sound.attachSound("woosh3"); sigh1Sound = new Sound(this); sigh1Sound.attachSound("sigh1"); sigh2Sound = new Sound(this); sigh2Sound.attachSound("sigh2"); sigh3Sound = new Sound(this); sigh3Sound.attachSound("sigh3"); death1Sound = new Sound(this); death1Sound.attachSound("death1"); death2Sound = new Sound(this); death2Sound.attachSound("death2"); death3Sound = new Sound(this); death3Sound.attachSound("death3"); death4Sound = new Sound(this); death4Sound.attachSound("death4"); death5Sound = new Sound(this); death5Sound.attachSound("death5"); grunt1Sound = new Sound(this); grunt1Sound.attachSound("grunt1"); grunt2Sound = new Sound(this); grunt2Sound.attachSound("grunt2"); grunt3Sound = new Sound(this); grunt3Sound.attachSound("grunt3"); spgrunt1Sound = new Sound(this); spgrunt1Sound.attachSound("spgrunt1"); spgrunt2Sound = new Sound(this); spgrunt2Sound.attachSound("spgrunt2"); spgrunt3Sound = new Sound(this); spgrunt3Sound.attachSound("spgrunt3"); hit1Sound = new Sound(this); hit1Sound.attachSound("hit1"); hit2Sound = new Sound(this); hit2Sound.attachSound("hit2"); hit3Sound = new Sound(this); hit3Sound.attachSound("hit3"); flesh1Sound = new Sound(this); flesh1Sound.attachSound("flesh1"); flesh2Sound = new Sound(this); flesh2Sound.attachSound("flesh2"); flesh3Sound = new Sound(this); flesh3Sound.attachSound("flesh3"); shield1Sound = new Sound(this); shield1Sound.attachSound("shield1"); shield2Sound = new Sound(this); shield2Sound.attachSound("shield2"); shield3Sound = new Sound(this); shield3Sound.attachSound("shield3"); var myMenu = new ContextMenu(); myMenu.hideBuiltInItems(); myMenu.customItems.push(new ContextMenuItem("Play more games by us on 8bitskull.com", itemHandler1)); _root.menu = myMenu; mochi_main = false; mochi_tut = false; mochi_l1 = false; mochi_l2 = false; mochi_l3 = false; mochi_l4 = false; mochi_l5 = false; mochi_allowed = true; __com_mochibot__("8a388664", this, 10301, true);
Frame 2
stop(); mochi("main");
Instance of Symbol 311 MovieClip [APIConnector] in Frame 2
//component parameters onClipEvent (construct) { apiId = "26813:3ZV1FHyi"; encryptionKey = "LuWZDOpWWiKTe5jlwlWCMp52e13MHiiI"; debugMode = "Simulate Logged-in User"; movieVersion = ""; connectorType = "Flash Ad + Preloader"; redirectOnNewVersion = true; redirectOnHostBlocked = true; adType = "Video"; }
Frame 3
stop();
Frame 4
stop(); speed = 0; attacking = false; defending = false; eating = false; playheight = player._height; plife = maxplife / 2; spirit = false; mousedown = false; keydown = false; allowpurchase = true; archercount = 0; enarchercount = 0; _quality = "HIGH"; xspeed = 0; yspeed = 0; shieldhold = 0; shieldscount = 0; shieldext = 0; heroalive = true; fireblim = (600 - (60 * difficulty)) - (30 * level); firebcount = 0; raining = false; spawncount = 0; spawnlim = 150 - (15 * (level - 1)); encount = 0; enlim = 30 + (20 * (level - 1)); winning = false; losing = false; playmusic("music1Sound"); messagebox._visible = false; uppercount++; gamehud.swapDepths(uppercount); midcount++; overgate.swapDepths(midcount); midcount++; player.swapDepths(midcount); count++; createEmptyMovieClip("holder", count); count++; holder.createEmptyMovieClip("friendlies", count); count++; holder.createEmptyMovieClip("enemies", count); count++; holder.createEmptyMovieClip("infantryfire", count); count++; holder.createEmptyMovieClip("spearmanfire", count); count++; holder.createEmptyMovieClip("cavalryfire", count); count++; holder.createEmptyMovieClip("archerfire", count); count++; holder.createEmptyMovieClip("herofire", count); count++; holder.createEmptyMovieClip("enemyinfantryfire", count); count++; holder.createEmptyMovieClip("enemyspearmanfire", count); count++; holder.createEmptyMovieClip("enemycavalryfire", count); count++; holder.createEmptyMovieClip("enemyarcherfire", count); count++; holder.attachMovie("murmur", "murmur", count); holder.murmur._x = 1330; holder.murmur._y = 55; count++; holder.attachMovie("moon", "moon", count); holder.moon._x = 285; holder.moon._y = 65; holder.moon._xscale = 70; holder.moon._yscale = 70; count++; holder.createEmptyMovieClip("rainfire", count); uppercount++; messagebox.swapDepths(uppercount); moonmessage(0); tutcounter = msglength; tutlevel = 0; tooltip = "(Move with arrow keys)"; gamehud.inficon._alpha = 20; gamehud.spicon._alpha = 20; gamehud.cavicon._alpha = 20; gamehud.archericon._alpha = 20; gamehud.infupgradeicon._alpha = 20; gamehud.spupgradeicon._alpha = 20; gamehud.cavupgradeicon._alpha = 20; gamehud.arupgradeicon._alpha = 20; gamehud.resourceicon._alpha = 20; gamehud.herupgradeicon._alpha = 20; gamehud.spiriticon._alpha = 20; gamehud.reviveicon._alpha = 20; gamehud.rainicon._alpha = 20; onEnterFrame = function () { if (messagebox._visible) { msglength--; if (msglength <= 0) { messagebox._visible = false; } } if (!gamepaused) { if (tutlevel == 0) { tutcounter--; if (tutcounter < -10) { tooltip = "(Attack enemy with A)"; moonmessage(1); count++; attachMovie("tutorial-enemyinfantry", "enemy", count); enemy._x = 575; enemy._y = miny; tutlevel = 1; } } else if (tutlevel == 2) { tooltip = "(Hold down S to bring up shield)"; if (Key.isDown(83) and (shieldhold > 10)) { moonmessage(3); count++; attachMovie("tutorial-infantry", "infantry", count); infantry._x = 200; infantry._y = miny; tooltip = "(Eat own infantry with D)"; tutlevel = 3; } } else if (tutlevel == 4) { if (!spirit) { tooltip = "(Press 1 to switch to spirit realm)"; } else { tooltip = "(Collect soul)"; } gamehud.spiriticon._alpha = 100; } else if (tutlevel == 5) { tooltip = ""; tutcounter--; if (tutcounter < -30) { tutcounter = 999999 /* 0x0F423F */; tutlevel = 6; } } else if (tutlevel == 6) { if ((shieldhold > shieldlim) and (tutcounter > 10000)) { tooltip = "Let Morax Rest before doing the combo. (Release S)"; } else { tooltip = ""; } if (!combotip) { count++; attachMovie("tutorial-combotip", "combotip", count); } tutcounter--; if (tutcounter <= 0) { holder.removeMovieClip(); player.removeMovieClip(); overgate.removeMovieClip(); gamehud.removeMovieClip(); messagebox.removeMovieClip(); combotip.removeMovieClip(); returning = false; gotoAndStop ("tutcompframe"); delete onEnterFrame; } } gamehud.resourcebar._xscale = resources; gamehud.souls = soulcount; gamehud.resources = Math.round(resources); if (spirit) { resources = resources + ((100 - resources) * ((resourcerate / 5) + (resupgrade / 10000))); bg.gotoAndStop(2); overgate.gotoAndStop(2); holder.murmur.gotoAndStop(2); holder.moon.gotoAndStop(2); muspos = music2Sound.position; musdur = music2Sound.duration; if (muspos >= musdur) { music2Sound.stop(); music2Sound.start(0, 99); } } else { resources = resources + ((100 - resources) * (resourcerate + (resupgrade / 1000))); bg.gotoAndStop(1); overgate.gotoAndStop(1); holder.murmur.gotoAndStop(1); holder.moon.gotoAndStop(1); muspos = music1Sound.position; musdur = music1Sound.duration; if (muspos >= musdur) { music1Sound.stop(); music1Sound.start(0, 99); } } plifebar._x = player._x; plifebar._y = (player._y - playheight) - 10; _currentframe = (1 + Math.round((plife / maxplife) * 100)); plifebar.gotoAndStop(1 + Math.round((plife / maxplife) * 100)); if (plife <= 0) { plife = 0; attacking = false; defending = false; eating = false; specialing = false; heroalive = false; } if (plife > 0) { if (!spirit) { if ((((Key.isDown(39) and (!attacking)) and (!defending)) and (!eating)) and (!specialing)) { speed = speed + (maxspeed / acctime); player._xscale = 100; } else if ((((Key.isDown(37) and (!attacking)) and (!defending)) and (!eating)) and (!specialing)) { speed = speed - (maxspeed / acctime); player._xscale = -100; } else { speed = speed * 0.5; } if (speed > maxspeed) { speed = maxspeed; } else if (speed < (-maxspeed)) { speed = -maxspeed; } if (((((!attacking) and (!defending)) and (!eating)) and (!specialing)) and ((speed < 0) or (!holder.enemies.hitTest(player._x + 20, player._y - 20, true)))) { player._x = player._x + speed; } player._y = miny; if (((_root.holder.enemyinfantryfire.hitTest(player._x, player._y, true) or _root.holder.enemyspearmanfire.hitTest(player._x, player._y, true)) or _root.holder.enemycavalryfire.hitTest(player._x, player._y, true)) or _root.holder.enemyarcherfire.hitTest(player._x, player._y, true)) { if (((((!defending) and (shieldext == 0)) and (!specialing)) or (player._xscale < 0)) or ((shieldhold > shieldlim) and (!specialing))) { plife--; } else if (defending) { _root.playshield(); } } if ((Key.isDown(83) and (!eating)) and (!specialing)) { shieldhold++; shieldext = 20; if (shieldhold < shieldlim) { defending = true; player.gotoAndStop("block"); } else { defending = false; player.gotoAndStop("tired"); } } else if (!Key.isDown(83)) { defending = false; shieldhold--; } else { defending = false; } if (shieldhold < 0) { shieldhold = 0; } shieldscount++; if (shieldext > 0) { shieldext--; } if (Key.isDown(83) and (shieldhold < shieldlim)) { if (combolevel == 0) { if (Key.isDown(65)) { combolevel = 1; combocounter = 10; } } if (combolevel == 1) { if (!Key.isDown(65)) { combolevel = 2; combocounter = 10; } } if (combolevel == 2) { if (Key.isDown(65) and (!specialing)) { if (tutlevel == 6) { specialing = true; soulcount = 0; shieldhold = 180; tutcounter = 90; playsound("special1Sound"); player.gotoAndStop("special"); } else { playsound("error1Sound"); } } } } else if (!Key.isDown(83)) { combolevel = 0; combocounter = 0; } if (combocounter > 0) { combocounter--; if (combocounter == 0) { combolevel = 0; } } if (((((Key.isDown(65) and (!Key.isDown(83))) and (!attacking)) and (player._currentframe != 3)) and (!eating)) and (!specialing)) { attacking = true; player.gotoAndStop("attack"); playwoosh(); } else if ((!Key.isDown(65)) and (player._currentframe != 3)) { attacking = false; } if (eating) { player.gotoAndStop("eat"); eatcounter++; plife = plife + 0.5; if (plife > maxplife) { plife = maxplife; } if (eatcounter == 60) { eating = false; } } if ((((!attacking) and (!defending)) and (!eating)) and (!specialing)) { if (Math.abs(speed) > 0.5) { player.gotoAndStop("walk"); } else if (shieldhold > shieldlim) { player.gotoAndStop("tired"); } else { player.gotoAndStop("stand"); } } } else { player.gotoAndStop("spirit"); if (Key.isDown(39)) { xspeed = xspeed + (maxspeed / acctime); player._xscale = 100; } else if (Key.isDown(37)) { xspeed = xspeed - (maxspeed / acctime); player._xscale = -100; } else { xspeed = xspeed * 0.9; } if (Key.isDown(40)) { yspeed = yspeed + (maxspeed / acctime); player._xscale = 100; } else if (Key.isDown(38)) { yspeed = yspeed - (maxspeed / acctime); player._xscale = -100; } else { yspeed = yspeed * 0.9; } yspeed = yspeed + 0.1; if (xspeed > maxspeed) { xspeed = maxspeed; } else if (xspeed < (-maxspeed)) { xspeed = -maxspeed; } if (yspeed > maxspeed) { yspeed = maxspeed; } else if (yspeed < (-maxspeed)) { yspeed = -maxspeed; } player._x = player._x + xspeed; player._y = player._y + yspeed; if (player._y < 50) { player._y = 50; } else if (player._y > miny) { player._y = miny; } } if (player._x < 125) { player._x = 125; } else if (player._x > 690) { player._x = 690; } if (spirit) { scadj = xspeed; } else { scadj = speed; } } else { player.gotoAndStop("dead"); attacking = false; defending = false; eating = false; specialing = false; } } if (gamehud.soundbutton.hitTest(_xmouse, _ymouse, true)) { if (allowsounds) { gamehud.desc = "Mute all sounds."; } else { gamehud.desc = "Unmute all sounds."; } } else if (gamehud.pausebutton.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = "Pause the game."; } else if (gamehud.excbutton.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = "Click this link to get a small cheat."; } else { gamehud.desc = ""; hitting = -1; } if ((tutlevel >= 4) and ((((hitting == 11) and mousedown) and allowpurchase) or (Key.isDown(k[11]) and (!keydown)))) { purchaseunit("spirit"); if (mousedown) { allowpurchase = false; } } if ((mousedown and allowpurchase) and gamehud.pausebutton.hitTest(_xmouse, _ymouse, true)) { allowpurchase = false; pausegame(); } if ((mousedown and allowpurchase) and gamehud.soundbutton.hitTest(_xmouse, _ymouse, true)) { allowpurchase = false; mutesounds(); } if ((((((((((((Key.isDown(81) or Key.isDown(87)) or Key.isDown(69)) or Key.isDown(82)) or Key.isDown(84)) or Key.isDown(89)) or Key.isDown(85)) or Key.isDown(73)) or Key.isDown(79)) or Key.isDown(80)) or Key.isDown(49)) or Key.isDown(50)) or Key.isDown(51)) { keydown = true; } else { keydown = false; } }; onMouseDown = function () { mousedown = true; }; onMouseUp = function () { mousedown = false; allowpurchase = true; };
Frame 5
stop(); speed = 0; attacking = false; defending = false; eating = false; specialing = false; playheight = player._height; plife = maxplife; spirit = false; mousedown = false; keydown = false; allowpurchase = true; archercount = 0; enarchercount = 0; _quality = "HIGH"; xspeed = 0; yspeed = 0; shieldhold = 0; shieldscount = 0; shieldext = 0; heroalive = true; fireblim = (600 - (120 * difficulty)) - (30 * level); firebcount = 0; raining = false; spawncount = 0; spawnlim = 130 - (20 * (level - 1)); encount = 0; enlim = 30 + (20 * (level - 1)); winning = false; losing = false; playmusic("music1Sound"); messagebox._visible = false; losingmessage = false; winmessage = false; desc = new Array("Not available yet.", "Infantry. Strong against spearmen. Cost: 10", "Spearman. Strong against cavalry. Cost: 10", "Cavalry. Strong against infantry. Cost: 20", "Archer. Defends gate. Cost: 10", "Upgrade Infantry. Cost: 50 and 15 souls", "Upgrade Spearman.", "Upgrade Cavalry.", "Upgrade Archer.", "Upgrade Resources. Cost: 50 and 15 souls", "Upgrade Morax. Cost: 50 and 15 souls", "Switch between the spirit (collect souls) and physical (help your troops) realm. Cost: 2", "Revive Morax. Cost: 40", "Unleash the Rain of Blood. Cost: 80 and 5 Souls"); desc[4] = new Array("Archer. Defends gate. Cost: 10 and 2 Souls", "No more space for archers!"); desc[5] = new Array("Upgrade infantry armor. Cost: 50 and 15 souls", "Upgrade infantry damage. Cost: 50 and 15 souls", "Infantry fully upgraded!"); desc[6] = new Array("Upgrade spearman armor. Cost: 50 and 15 souls", "Upgrade spearman damage. Cost: 50 and 15 souls", "Spearman fully upgraded!"); desc[7] = new Array("Upgrade cavalry armor. Cost: 50 and 15 souls", "Upgrade cavalry damage. Cost: 50 and 15 souls", "Cavalry fully upgraded!"); desc[8] = new Array("Upgrade archer firing rate.Cost: 50 and 15 souls", "Upgrade archer damage. Cost: 50 and 15 souls", "Archer fully upgraded!"); desc[9] = new Array("Upgrade resource rate. Cost: 50 and 15 souls", "Upgrade resource rate. Cost: 50 and 15 souls", "Resources fully upgraded!"); desc[10] = new Array("Upgrade Morax armor. Cost: 50 and 15 souls", "Upgrade Morax damage. Cost: 50 and 15 souls", "Morax fully upgraded!"); uppercount++; gamehud.swapDepths(uppercount); midcount++; overgate.swapDepths(midcount); midcount++; player.swapDepths(midcount); count++; createEmptyMovieClip("holder", count); count++; holder.createEmptyMovieClip("friendlies", count); count++; holder.createEmptyMovieClip("enemies", count); count++; holder.createEmptyMovieClip("infantryfire", count); count++; holder.createEmptyMovieClip("spearmanfire", count); count++; holder.createEmptyMovieClip("cavalryfire", count); count++; holder.createEmptyMovieClip("archerfire", count); count++; holder.createEmptyMovieClip("herofire", count); count++; holder.createEmptyMovieClip("enemyinfantryfire", count); count++; holder.createEmptyMovieClip("enemyspearmanfire", count); count++; holder.createEmptyMovieClip("enemycavalryfire", count); count++; holder.createEmptyMovieClip("enemyarcherfire", count); count++; holder.attachMovie("murmur", "murmur", count); holder.murmur._x = 1330; holder.murmur._y = 55; count++; holder.attachMovie("moon", "moon", count); holder.moon._x = 285; holder.moon._y = 65; holder.moon._xscale = 70; holder.moon._yscale = 70; count++; holder.createEmptyMovieClip("rainfire", count); uppercount++; messagebox.swapDepths(uppercount); medx = 225; medy = 155; if (level == 1) { moonmessage(6); } else if (level == 2) { moonmessage(8); } else if (level == 3) { moonmessage(7); createenemy("archer"); } else if (level == 4) { moonmessage(9); createenemy("archer"); createenemy("archer"); createenemy("archer"); } else if (level == 5) { moonmessage(10); createenemy("archer"); createenemy("archer"); createenemy("archer"); createenemy("archer"); createenemy("archer"); } onEnterFrame = function () { if (messagebox._visible) { msglength--; if (msglength <= 0) { messagebox._visible = false; } } if (!gamepaused) { if (winning) { if (level < 5) { holder.removeMovieClip(); player.removeMovieClip(); overgate.removeMovieClip(); gamehud.removeMovieClip(); messagebox.removeMovieClip(); count++; medals.swapDepths(count); medals.removeMovieClip(); gotoAndStop ("winframe"); delete onEnterFrame; } else if ((!winmessage) and (level == 5)) { givemedal("Crown Five", 5); winmessage = true; moonmessage(14); wincounter = msglength; } if ((wincounter > 0) and (level == 5)) { wincounter--; } else if ((level == 5) and (wincounter <= 0)) { holder.removeMovieClip(); player.removeMovieClip(); overgate.removeMovieClip(); gamehud.removeMovieClip(); messagebox.removeMovieClip(); count++; medals.swapDepths(count); medals.removeMovieClip(); gotoAndStop ("victoryframe"); delete onEnterFrame; } } if (losing) { if (!losingmessage) { moonmessage(13); losecounter = msglength; losingmessage = true; } if (losecounter > 0) { losecounter--; } else if (losingmessage) { holder.removeMovieClip(); player.removeMovieClip(); overgate.removeMovieClip(); gamehud.removeMovieClip(); messagebox.removeMovieClip(); count++; medals.swapDepths(count); medals.removeMovieClip(); gotoAndStop ("gameoverframe"); delete onEnterFrame; } } gamehud.resourcebar._xscale = resources; gamehud.souls = soulcount; gamehud.resources = Math.round(resources); if (spirit) { resources = resources + ((100 - resources) * ((resourcerate / 5) + (resupgrade / 10000))); bg.gotoAndStop(2); overgate.gotoAndStop(2); holder.murmur.gotoAndStop(2); holder.moon.gotoAndStop(2); muspos = music2Sound.position; musdur = music2Sound.duration; if (muspos >= musdur) { music2Sound.stop(); music2Sound.start(0, 0); } } else { resources = resources + ((100 - resources) * ((resourcerate + (resupgrade / 1000)) - (difficulty * 0.0002))); bg.gotoAndStop(1); overgate.gotoAndStop(1); holder.murmur.gotoAndStop(1); holder.moon.gotoAndStop(1); muspos = music1Sound.position; musdur = music1Sound.duration; if (muspos >= musdur) { music1Sound.stop(); music1Sound.start(0, 0); } } spawncount++; if ((spawncount > spawnlim) and (encount < enlim)) { genenemy(); encount++; spawncount = 0; rnd = random(100); if (rnd > 95) { msgsel = random(9) + 16; moonmessage(msgsel); } } firebcount++; if ((firebcount > fireblim) and (!spirit)) { createfireball(1300, 60); playsound("fire1Sound"); firebcount = 0; } if (raining) { raincount++; createdrop(); if (raincount > 90) { raining = false; } } plifebar._x = player._x; plifebar._y = (player._y - playheight) - 10; _currentframe = (1 + Math.round((plife / maxplife) * 100)); plifebar.gotoAndStop(1 + Math.round((plife / maxplife) * 100)); if (plife <= 0) { plife = 0; attacking = false; defending = false; eating = false; specialing = false; heroalive = false; } if (plife > 0) { if (!spirit) { if ((((Key.isDown(39) and (!attacking)) and (!defending)) and (!eating)) and (!specialing)) { speed = speed + (maxspeed / acctime); player._xscale = 100; } else if ((((Key.isDown(37) and (!attacking)) and (!defending)) and (!eating)) and (!specialing)) { speed = speed - (maxspeed / acctime); player._xscale = -100; } else { speed = speed * 0.5; } if (speed > maxspeed) { speed = maxspeed; } else if (speed < (-maxspeed)) { speed = -maxspeed; } if (((((!attacking) and (!defending)) and (!eating)) and (!specialing)) and ((speed < 0) or (!holder.enemies.hitTest(player._x + 20, player._y - 20, true)))) { player._x = player._x + speed; } player._y = miny; if (((_root.holder.enemyinfantryfire.hitTest(player._x, player._y, true) or _root.holder.enemyspearmanfire.hitTest(player._x, player._y, true)) or _root.holder.enemycavalryfire.hitTest(player._x, player._y, true)) or _root.holder.enemyarcherfire.hitTest(player._x, player._y, true)) { if (((((!defending) and (shieldext == 0)) and (!specialing)) or (player._xscale < 0)) or ((shieldhold > shieldlim) and (!specialing))) { plife--; } else if (defending) { _root.playshield(); } } if ((Key.isDown(83) and (!eating)) and (!specialing)) { shieldhold++; shieldext = 20; if (shieldhold < shieldlim) { defending = true; player.gotoAndStop("block"); } else { defending = false; player.gotoAndStop("tired"); if ((!tiredmessage) and (!specialing)) { moonmessage(11); tiredmessage = true; } } } else if (!Key.isDown(83)) { defending = false; shieldhold--; } else { defending = false; } if (shieldhold < 0) { shieldhold = 0; } shieldscount++; if (shieldext > 0) { shieldext--; } if (Key.isDown(83) and (shieldhold < shieldlim)) { if (combolevel == 0) { if (Key.isDown(65)) { combolevel = 1; combocounter = 10; } } if (combolevel == 1) { if (!Key.isDown(65)) { combolevel = 2; combocounter = 10; } } if (combolevel == 2) { if (Key.isDown(65) and (!specialing)) { if (soulcount >= 1) { specialing = true; soulcount--; shieldhold = 180; playsound("special1Sound"); player.gotoAndStop("special"); } else { playsound("error1Sound"); } } } } else if (!Key.isDown(83)) { combolevel = 0; combocounter = 0; } if (combocounter > 0) { combocounter--; if (combocounter == 0) { combolevel = 0; } } if (((((Key.isDown(65) and (!Key.isDown(83))) and (!attacking)) and (player._currentframe != 3)) and (!eating)) and (!specialing)) { attacking = true; player.gotoAndStop("attack"); playwoosh(); } else if ((!Key.isDown(65)) and (player._currentframe != 3)) { attacking = false; } if (eating) { player.gotoAndStop("eat"); eatcounter++; plife = plife + 0.5; if (plife > maxplife) { plife = maxplife; } if (eatcounter == 60) { eating = false; } } if ((((!attacking) and (!defending)) and (!eating)) and (!specialing)) { if (Math.abs(speed) > 0.5) { player.gotoAndStop("walk"); } else if (shieldhold > shieldlim) { player.gotoAndStop("tired"); } else { player.gotoAndStop("stand"); } } } else { player.gotoAndStop("spirit"); if (Key.isDown(39)) { xspeed = xspeed + (maxspeed / acctime); player._xscale = 100; } else if (Key.isDown(37)) { xspeed = xspeed - (maxspeed / acctime); player._xscale = -100; } else { xspeed = xspeed * 0.9; } if (Key.isDown(40)) { yspeed = yspeed + (maxspeed / acctime); player._xscale = 100; } else if (Key.isDown(38)) { yspeed = yspeed - (maxspeed / acctime); player._xscale = -100; } else { yspeed = yspeed * 0.9; } yspeed = yspeed + 0.1; if (xspeed > maxspeed) { xspeed = maxspeed; } else if (xspeed < (-maxspeed)) { xspeed = -maxspeed; } if (yspeed > maxspeed) { yspeed = maxspeed; } else if (yspeed < (-maxspeed)) { yspeed = -maxspeed; } player._x = player._x + xspeed; player._y = player._y + yspeed; if (player._y < 50) { player._y = 50; } else if (player._y > miny) { player._y = miny; } } if (player._x < 125) { player._x = 125; } else if (player._x > 575) { player._x = 575; } if (spirit) { scadj = xspeed; } else { scadj = speed; } if (player._x < 300) { if (((bg._x + Math.abs(scadj)) < 0) and (scadj < 0)) { player._x = player._x - scadj; bg._x = bg._x - scadj; overgate._x = overgate._x - scadj; holder._x = holder._x - scadj; } } else if (player._x > 400) { if (((bg._x - Math.abs(scadj)) > -700) and (scadj > 0)) { player._x = player._x - scadj; bg._x = bg._x - scadj; overgate._x = overgate._x - scadj; holder._x = holder._x - scadj; } } } else { player.gotoAndStop("dead"); attacking = false; defending = false; eating = false; specialing = false; } } if (gamehud.button1.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[1]; hitting = 1; } else if (gamehud.button2.hitTest(_xmouse, _ymouse, true)) { if (level >= 2) { gamehud.desc = desc[2]; hitting = 2; } else { gamehud.desc = desc[0]; } } else if (gamehud.button3.hitTest(_xmouse, _ymouse, true)) { if (level >= 2) { gamehud.desc = desc[3]; hitting = 3; } else { gamehud.desc = desc[0]; } } else if (gamehud.button4.hitTest(_xmouse, _ymouse, true)) { if (level >= 3) { if (archercount < 5) { gamehud.desc = desc[4][0]; } else { gamehud.desc = desc[4][1]; } } else { gamehud.desc = desc[0]; } hitting = 4; } else if (gamehud.button5.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[5][infupgrade]; hitting = 5; } else if (gamehud.button6.hitTest(_xmouse, _ymouse, true)) { if (level >= 3) { gamehud.desc = desc[6][spupgrade]; hitting = 6; } else { gamehud.desc = desc[0]; } } else if (gamehud.button7.hitTest(_xmouse, _ymouse, true)) { if (level >= 3) { gamehud.desc = desc[7][cavupgrade]; hitting = 7; } else { gamehud.desc = desc[0]; } } else if (gamehud.button8.hitTest(_xmouse, _ymouse, true)) { if (level >= 2) { gamehud.desc = desc[8][arupgrade]; hitting = 8; } else { gamehud.desc = desc[0]; } } else if (gamehud.button9.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[9][resupgrade]; hitting = 9; } else if (gamehud.button10.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[10][herupgrade]; hitting = 10; } else if (gamehud.button11.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[11]; hitting = 11; } else if (gamehud.button12.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = desc[12]; hitting = 12; } else if (gamehud.button13.hitTest(_xmouse, _ymouse, true)) { if (level >= 4) { gamehud.desc = desc[13]; hitting = 13; } else { gamehud.desc = desc[0]; } } else if (gamehud.soundbutton.hitTest(_xmouse, _ymouse, true)) { if (allowsounds) { gamehud.desc = "Mute all sounds."; } else { gamehud.desc = "Unmute all sounds."; } } else if (gamehud.pausebutton.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = "Pause the game."; } else if (gamehud.excbutton.hitTest(_xmouse, _ymouse, true)) { gamehud.desc = "Click this link to get a small cheat."; } else { gamehud.desc = ""; hitting = -1; } if ((((moonclicks < 10) and mousedown) and allowpurchase) and holder.moon.hitTest(_xmouse, _ymouse, true)) { allowpurchase = false; moonclicks++; if (moonclicks == 10) { raincount = -120; raining = true; playsound("rain1Sound"); givemedal("Tears of the Moon", 6); moonmessage(15); } } if ((((hitting == 1) and mousedown) and allowpurchase) or (Key.isDown(k[1]) and (!keydown))) { purchaseunit("infantry"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 2) and mousedown) and allowpurchase) or (Key.isDown(k[2]) and (!keydown))) { purchaseunit("spearman"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 3) and mousedown) and allowpurchase) or (Key.isDown(k[3]) and (!keydown))) { purchaseunit("cavalry"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 4) and mousedown) and allowpurchase) or (Key.isDown(k[4]) and (!keydown))) { purchaseunit("archer"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 5) and mousedown) and allowpurchase) or (Key.isDown(k[5]) and (!keydown))) { upgrade("infantry"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 6) and mousedown) and allowpurchase) or (Key.isDown(k[6]) and (!keydown))) { upgrade("spearman"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 7) and mousedown) and allowpurchase) or (Key.isDown(k[7]) and (!keydown))) { upgrade("cavalry"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 8) and mousedown) and allowpurchase) or (Key.isDown(k[8]) and (!keydown))) { upgrade("archer"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 9) and mousedown) and allowpurchase) or (Key.isDown(k[9]) and (!keydown))) { upgrade("resources"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 10) and mousedown) and allowpurchase) or (Key.isDown(k[10]) and (!keydown))) { upgrade("hero"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 11) and mousedown) and allowpurchase) or (Key.isDown(k[11]) and (!keydown))) { purchaseunit("spirit"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 12) and mousedown) and allowpurchase) or (Key.isDown(k[12]) and (!keydown))) { purchaseunit("revive"); if (mousedown) { allowpurchase = false; } } if ((((hitting == 13) and mousedown) and allowpurchase) or (Key.isDown(k[13]) and (!keydown))) { purchaseunit("rain"); if (mousedown) { allowpurchase = false; } } if (level < 2) { gamehud.spicon._alpha = 20; gamehud.cavicon._alpha = 20; } if ((archercount == 5) or (level < 3)) { gamehud.archericon._alpha = 20; } if (infupgrade == 2) { gamehud.infupgradeicon._alpha = 20; } if ((spupgrade == 2) or (level < 2)) { gamehud.spupgradeicon._alpha = 20; } if ((cavupgrade == 2) or (level < 2)) { gamehud.cavupgradeicon._alpha = 20; } if ((arupgrade == 2) or (level < 3)) { gamehud.arupgradeicon._alpha = 20; } if (resupgrade == 2) { gamehud.resourceicon._alpha = 20; } if (herupgrade == 2) { gamehud.herupgradeicon._alpha = 20; } if (plife > 0) { gamehud.reviveicon._alpha = 20; } else { gamehud.reviveicon._alpha = 100; } if (raining or (level < 4)) { gamehud.rainicon._alpha = 20; } else { gamehud.rainicon._alpha = 100; } if ((mousedown and allowpurchase) and gamehud.pausebutton.hitTest(_xmouse, _ymouse, true)) { allowpurchase = false; pausegame(); } if ((mousedown and allowpurchase) and gamehud.soundbutton.hitTest(_xmouse, _ymouse, true)) { allowpurchase = false; mutesounds(); } if ((((((((((((Key.isDown(81) or Key.isDown(87)) or Key.isDown(69)) or Key.isDown(82)) or Key.isDown(84)) or Key.isDown(89)) or Key.isDown(85)) or Key.isDown(73)) or Key.isDown(79)) or Key.isDown(80)) or Key.isDown(49)) or Key.isDown(50)) or Key.isDown(51)) { keydown = true; } else { keydown = false; } }; onMouseDown = function () { mousedown = true; }; onMouseUp = function () { mousedown = false; allowpurchase = true; };
Frame 6
medx = 225; medy = 115; playmusic("menu1Sound"); if (!returning) { level++; givemedal("Rite of Passage", 0); mochi("tut"); } returning = false; _currentframe = level; crowns.gotoAndStop(level); released = false; sword._y = 320; sword._x = 240; onEnterFrame = function () { if ((!Key.isDown(32)) and (!Key.isDown(13))) { released = true; } if (((Key.isDown(32) or Key.isDown(13)) and (!keydown)) and released) { keydown = true; _root.playsound("select2Sound"); if (sword._y < 340) { gotoAndStop ("gameframe"); medals.removeMovieClip(); delete onEnterFrame; } else { prevframe = _currentframe; gotoAndStop ("siteframe"); delete onEnterFrame; } } else { keydown = false; } if (Key.isDown(38)) { sword._y = 320; _root.playsound("select1Sound"); } else if (Key.isDown(40)) { sword._y = 365; _root.playsound("select1Sound"); } };
Frame 7
medx = 225; medy = 295; playmusic("menu1Sound"); if (returning) { texttitle = ("Level " + (level - 1)) + " complete"; } else { texttitle = ("Level " + level) + " complete"; } if (!returning) { if (level == 1) { givemedal("Crown One", 1); mochi("l1"); } else if (level == 2) { givemedal("Crown Two", 2); mochi("l2"); } else if (level == 3) { givemedal("Crown Three", 3); mochi("l3"); } else if (level == 4) { givemedal("Crown Four", 4); mochi("l4"); } } if (!returning) { level++; } returning = false; _currentframe = level; crowns.gotoAndStop(level); released = false; sword._y = 180; sword._x = 240; onEnterFrame = function () { if ((!Key.isDown(32)) and (!Key.isDown(13))) { released = true; } if (((Key.isDown(32) or Key.isDown(13)) and (!keydown)) and released) { keydown = true; _root.playsound("select2Sound"); if (sword._y < 200) { gotoAndStop ("gameframe"); count++; medals.swapDepths(count); medals.removeMovieClip(); delete onEnterFrame; } else { prevframe = _currentframe; gotoAndStop ("siteframe"); delete onEnterFrame; } } else { keydown = false; } if (Key.isDown(38)) { sword._y = 180; _root.playsound("select1Sound"); } else if (Key.isDown(40)) { sword._y = 250; _root.playsound("select1Sound"); } };
Frame 8
playmusic("menu1Sound"); _currentframe = level; crowns.gotoAndStop(level); swordpos = new Array(140, 208, 274); arrpos = 0; released = false; sword._y = 140; sword._x = 40; var CPMStarPoolID = 32371; var CPMStarSubPoolID = 13; System.security.allowDomain("server.cpmstar.com"); adBox.loadMovie((("http://server.cpmstar.com/adviewas2.swf?poolid=" + CPMStarPoolID) + "&subpoolid=") + CPMStarSubPoolID); onEnterFrame = function () { if ((!Key.isDown(38)) and (!Key.isDown(40))) { keydown = false; } if (Key.isDown(38) and (!keydown)) { if (arrpos > 0) { arrpos--; sword._y = swordpos[arrpos]; _root.playsound("select1Sound"); } keydown = true; } else if (Key.isDown(40) and (!keydown)) { if (arrpos < 2) { arrpos++; sword._y = swordpos[arrpos]; _root.playsound("select1Sound"); } keydown = true; } if ((!Key.isDown(32)) and (!Key.isDown(13))) { released = true; } if (released and (Key.isDown(32) or Key.isDown(13))) { _root.playsound("select2Sound"); if (arrpos == 0) { gotoAndStop ("gameframe"); delete onEnterFrame; } else if (arrpos == 1) { gotoAndPlay (1); delete onEnterFrame; } else if (arrpos == 2) { prevframe = _currentframe; gotoAndStop ("siteframe"); delete onEnterFrame; } } };
Frame 9
playmusic("menu1Sound"); sword._y = 297; sword._x = 275; released = false; onEnterFrame = function () { if ((!Key.isDown(32)) and (!Key.isDown(13))) { released = true; } if (((Key.isDown(32) or Key.isDown(13)) and (!keydown)) and released) { keydown = true; returning = true; gotoAndStop(prevframe); delete onEnterFrame; _root.playsound("select2Sound"); } else { keydown = false; } };
Frame 10
playmusic("menu1Sound"); sword._y = 175; sword._x = 70; released = false; _currentframe = (level + 1); crowns.gotoAndStop(level + 1); mochi("l5"); var CPMStarPoolID = 32371; var CPMStarSubPoolID = 13; System.security.allowDomain("server.cpmstar.com"); adBox.loadMovie((("http://server.cpmstar.com/adviewas2.swf?poolid=" + CPMStarPoolID) + "&subpoolid=") + CPMStarSubPoolID); onEnterFrame = function () { if ((!Key.isDown(32)) and (!Key.isDown(13))) { released = true; } if (((Key.isDown(32) or Key.isDown(13)) and (!keydown)) and released) { keydown = true; _root.playsound("select2Sound"); if (sword._y < 200) { gotoAndPlay (1); delete onEnterFrame; } else { prevframe = _currentframe; gotoAndStop ("siteframe"); delete onEnterFrame; } } else { keydown = false; } if (Key.isDown(38)) { sword._y = 175; _root.playsound("select1Sound"); } else if (Key.isDown(40)) { sword._y = 240; _root.playsound("select1Sound"); } };
Symbol 96 MovieClip [MedalPopup] Frame 1
function onMedalUnlocked(event) { if (event.__get__success()) { _medalQueue.push(event.__get__data()); showNextUnlock(); } } function showNextUnlock() { if (_unlockedMedal) { return(undefined); } if ((!_medalQueue.length) or codebreaker) { gotoAndStop ("hidden"); onEnterFrame = null; return(undefined); } _unlockedMedal = com.newgrounds.Medal(_medalQueue.shift()); gotoAndPlay ("medalUnlocked"); } gotoAndStop ("hidden"); com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked); var alwaysOnTop; _x = int(_x); _y = int(_y); var _unlockedMedal; var _medalQueue = []; var _alwaysOnTop = true; if (alwaysOnTop) { _alwaysOnTop = alwaysOnTop == "true"; } codebreaker = false;
Symbol 96 MovieClip [MedalPopup] Frame 19
function medalPopupEnterFrame() { if (_alwaysOnTop) { var _local1 = getNextHighestDepth(); swapDepths(_local1); } if (_medalScrollRect) { _medalScrollRect.offset(2, 0); medalNameClip.scrollRect = _medalScrollRect; if (_medalScrollRect.left >= (medalNameClip.textField.textWidth + 10)) { _medalScrollRect = null; play(); } } } var _medalScrollRect; if (_unlockedMedal) { if (medalNameClip && (medalNameClip.textField)) { medalNameClip.textField.text = _unlockedMedal.name; } if (medalPointsText) { medalPointsText.text = _unlockedMedal.value.toString(); } if (medalNameClip.textField.textWidth > medalNameClip._width) { _medalScrollRect = new flash.geom.Rectangle(-medalNameClip._width, 0, medalNameClip._width, medalNameClip._height); medalNameClip.textField._width = 1000; medalNameClip.scrollRect = _medalScrollRect; } onEnterFrame = medalPopupEnterFrame; }
Symbol 96 MovieClip [MedalPopup] Frame 31
if (_unlockedMedal && (medalIcon)) { _unlockedMedal.attachIcon(medalIcon); }
Symbol 96 MovieClip [MedalPopup] Frame 103
if (_medalScrollRect) { stop(); }
Symbol 96 MovieClip [MedalPopup] Frame 124
stop(); _unlockedMedal = null; codebreaker = true; showNextUnlock();
Symbol 100 MovieClip [blocker-attacks] Frame 1
count = 0; onEnterFrame = function () { count++; if (count == targetcount) { this.removeMovieClip(); } };
Symbol 107 MovieClip Frame 22
_parent.removeMovieClip();
Symbol 108 MovieClip [drop] Frame 1
if (del != false) { del = false; yspeed = 10 + (random(20) / 10); _x = (125 + random(1150)); _y = -50; } onEnterFrame = function () { if (_root.spirit) { _alpha = 20; } else { _alpha = 100; } if (_y < _root.miny) { gotoAndStop (1); _y = (_y + yspeed); } else { gotoAndStop (2); } };
Symbol 115 MovieClip [fireball] Frame 1
if (del != false) { stop(); del = false; plpos = (_root.player._x - _root.bg._x) / 1400; traveltime = 60 + ((1 - plpos) * 30); targetx = _root.player._x - _root.bg._x; xspeed = (_x - targetx) / traveltime; targety = _root.miny - 20; yspeed = (_y - targety) / traveltime; _rotation = (100 - (75 * ((_root.player._x - _root.bg._x) / 1400))); } onEnterFrame = function () { if (_currentframe == 1) { if (_root.spirit) { _alpha = 40; } else { _alpha = 100; } _x = (_x - xspeed); _y = (_y - yspeed); if (_y > _root.miny) { _root.playsound("fire2Sound"); play(); } if (this.hitTest(_root.player)) { if (((!_root.defending) or (_root.defending and (_root.player._xscale < 0))) and (!_root.spirit)) { _root.plife = _root.plife - (_root.fballdamage + (5 * _root.difficulty)); if (!_root.shieldmessage) { _root.moonmessage(12); _root.shieldmessage = true; } } else if (_root.defending) { _root.shieldhits++; if (_root.shieldhits == 20) { _root.givemedal("Baptism of Fire", 7); } _root.playshield(); } _root.playsound("fire2Sound"); play(); } } if (_currentframe == _totalframes) { this.removeMovieClip(); } };
Symbol 126 MovieClip [tutorial-soul] Frame 1
if (del != false) { _visible = false; regencount = 0; regen = true; del = false; lifecounter = 0; xspeed = 2 - (random(40) / 10); yspeed = 2 - (random(40) / 10); } onEnterFrame = function () { if (_root.spirit) { _visible = true; } else { _visible = false; } if (regen) { rnd = random(100); if (rnd > 50) { dir = 0.2; } else { dir = -0.2; } regencount = 0; regen = false; } regencount++; if (regencount > 4) { regen = true; } if (xspeed > 2) { xspeed = 2; } else if (xspeed < -2) { xspeed = -2; } if (yspeed > 2) { yspeed = 2; } else if (yspeed < -2) { yspeed = -2; } xspeed = xspeed + dir; yspeed = yspeed + dir; _x = (_x + xspeed); _y = (_y + yspeed); if (_y < 150) { yspeed = yspeed + 0.2; } else if (_y > _root.miny) { yspeed = yspeed - 0.2; } if (_x < 150) { xspeed = xspeed + 0.2; } else if (_x > 550) { xspeed = xspeed - 0.2; } lifecounter++; if (lifecounter > 90000) { _alpha = (_alpha-1); } if (_root.spirit) { if (((this.hitTest(_root.player._x - 10, _root.player._y - 40, true) or this.hitTest(_root.player._x + 10, _root.player._y - 40, true)) or this.hitTest(_root.player._x - 10, _root.player._y, true)) or this.hitTest(_root.player._x + 10, _root.player._y, true)) { _root.tutlevel++; _root.moonmessage(5); _root.tutcounter = _root.msglength; _root.soulcount++; _root.playsigh(); this.removeMovieClip(); } } if (_alpha <= 0) { this.removeMovieClip(); } };
Symbol 128 MovieClip [soul] Frame 1
if (del != false) { _visible = false; regencount = 0; regen = true; del = false; lifecounter = -90000; xspeed = 2 - (random(40) / 10); yspeed = 2 - (random(40) / 10); } onEnterFrame = function () { if (_root.spirit) { _visible = true; } else { _visible = false; } if (regen) { rnd = random(100); if (rnd > 50) { dir = 0.2; } else { dir = -0.2; } regencount = 0; regen = false; } regencount++; if (regencount > 4) { regen = true; } if (xspeed > 2) { xspeed = 2; } else if (xspeed < -2) { xspeed = -2; } if (yspeed > 2) { yspeed = 2; } else if (yspeed < -2) { yspeed = -2; } xspeed = xspeed + dir; yspeed = yspeed + dir; _x = (_x + xspeed); _y = (_y + yspeed); if (_y < 50) { yspeed = yspeed + 0.2; } else if (_y > _root.miny) { yspeed = yspeed - 0.2; } if (_x < 150) { xspeed = xspeed + 0.2; } else if (_x > 700) { xspeed = xspeed - 0.2; } lifecounter++; if (lifecounter > 900) { _alpha = (_alpha-1); } if (_root.spirit) { if (((this.hitTest(_root.player._x - 10, _root.player._y - 40, true) or this.hitTest(_root.player._x + 10, _root.player._y - 40, true)) or this.hitTest(_root.player._x - 10, _root.player._y, true)) or this.hitTest(_root.player._x + 10, _root.player._y, true)) { _root.totalsouls++; if (_root.totalsouls == 100) { _root.givemedal("Grim Reaper", 8); } _root.soulcount++; _root.playsigh(); this.removeMovieClip(); } } if (_alpha <= 0) { this.removeMovieClip(); } };
Symbol 130 MovieClip [arrow] Frame 1
if (def != false) { _rotation = (-20 * (_xscale / 100)); yspeed = -4 - (random(20) / 10); gravity = 1; fired = false; } onEnterFrame = function () { if (!_root.gamepaused) { if (_y < _root.miny) { _x = (_x + xspeed); _y = (_y + yspeed); yspeed = yspeed + gravity; _rotation = (_rotation + (4 * (_xscale / 100))); } else { if (!fired) { if (_xscale > 0) { _root.friendlyattack(_x, _root.miny, 2, "archer"); } else { _root.enemyattack(_x, _root.miny, 2, "archer"); } fired = true; } _alpha = (_alpha-1); if (_alpha < 0) { this.removeMovieClip(); } } } };
Symbol 133 MovieClip [enemyarcher] Frame 1
if (def != false) { attcounter = 0; if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (1); } t = random(20) + 40; def = false; } onEnterFrame = function () { if (!_root.gamepaused) { attcounter++; if (attcounter > t) { attcounter = -10; if (!_root.spirit) { targ = 2; } adj = _root.difficulty * 15; t = (random(20) + 50) - adj; _root.createarrow(_x, _y - 20, "right"); } if (attcounter == 0) { targ = 1; } if (_root.spirit) { gotoAndStop (3); } else { _currentframe = targ; gotoAndStop(targ); } } };
Symbol 139 MovieClip [archer] Frame 1
if (def != false) { attcounter = 0; if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (1); } t = random(20) + 40; def = false; } onEnterFrame = function () { if (!_root.gamepaused) { attcounter++; if (attcounter > t) { attcounter = -10; if (!_root.spirit) { targ = 2; } if (_root.arupgrade > 0) { adj = 30; } else { adj = 0; } t = (random(20) + 50) - adj; _root.createarrow(_x, _y - 20, "left"); } if (attcounter == 0) { targ = 1; } if (_root.spirit) { gotoAndStop (3); } else { _currentframe = targ; gotoAndStop(targ); } } };
Symbol 154 MovieClip [cavalry] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; lifebonus = 0; if (_root.infupgrade >= 1) { lifebonus = 5; } maxlife = 20 + lifebonus; life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_x > 1360) { _root.winning = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if (!_root.holder.enemies.hitTest(((_x + 30) + standadj) + _root.bg._x, _y - 10, true)) { _x = (_x + speed); if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (1); } attacking = false; } else { attacking = true; if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (2); } } if (_root.holder.enemyinfantryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (_root.holder.enemyspearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; } if (_root.holder.enemycavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (_root.holder.enemyarcherfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 15) { attcount = 0; _root.friendlyattack(_x + 50, _y - 20, 2, "cavalry"); } } else { attcount = 0; } } else { _root.createsplat(_x, _y - 20); this.removeMovieClip(); } } };
Symbol 159 MovieClip [tutorial-infantry] Frame 1
if (def != false) { maxlife = 10; life = maxlife; def = false; _alpha = 0; stop(); } onEnterFrame = function () { if (!_root.gamepaused) { if (_alpha < 100) { _alpha = (_alpha + 2); } if (life > 0) { _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if ((((Key.isDown(68) and (!_root.attacking)) and (!_root.defending)) and (!_root.eating)) and this.hitTest(_root.player)) { _root.tutlevel++; _root.moonmessage(4); _root.playsound("chew1Sound"); _root.eating = true; _root.eatcounter = 0; this.removeMovieClip(); } } } };
Symbol 165 MovieClip [infantry] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; lifebonus = 0; if (_root.infupgrade >= 1) { lifebonus = 5; } maxlife = 10 + lifebonus; life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (_x > 1360) { _root.winning = true; } if (life > 0) { _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if (!_root.holder.enemies.hitTest(((_x + standadj) + 10) + _root.bg._x, _y - 10, true)) { _x = (_x + speed); if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (1); } attacking = false; } else { attacking = true; if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (2); } } if (_root.holder.enemyinfantryfire.hitTest(_x + _root.bg._x, _y, true)) { life--; } if (_root.holder.enemyspearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (_root.holder.enemycavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; } if (_root.holder.enemyarcherfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 14) { attcount = 0; _root.friendlyattack(_x + 30, _y - 20, 2, "infantry"); } } else if (!attacking) { attcount = 0; } if ((((Key.isDown(68) and (!_root.attacking)) and (!_root.defending)) and (!_root.eating)) and this.hitTest(_root.player)) { _root.playsound("chew1Sound"); _root.eating = true; _root.eatcounter = 0; this.removeMovieClip(); } } else { _root.createsplat(_x, _y - 20); this.removeMovieClip(); } } };
Symbol 174 MovieClip [enemycavalry] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; maxlife = (20 + (2 * _root.difficulty)) + ((1 * (_root.difficulty + 1)) * (_root.level - 1)); life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_x < -10) { _root.losing = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if ((!this.hitTest(_root.holder.friendlies)) and (((!this.hitTest(_root.player)) or _root.spirit) or (_root.plife <= 0))) { _x = (_x - speed); targ = 1; attacking = false; } else { attacking = true; targ = 2; } if (_root.holder.infantryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.infupgrade == 2) { life = life - 0.5; } } if (_root.holder.spearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; if (_root.spupgrade == 2) { life = life - 0.5; } } if (_root.holder.cavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.cavupgrade == 2) { life = life - 0.5; } } if (_root.holder.archerfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.4; if (_root.arupgrade == 2) { life = life - 0.2; } } if (_root.holder.herofire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.75; } if (_root.holder.rainfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 15) { attcount = 0; _root.playflesh(); _root.enemyattack(_x - 50, _y - 20, 2, "cavalry"); } } else { attcount = 0; } } else { _root.createsplat(_x, _y - 20); _root.generatesoul(_x, _y); this.removeMovieClip(); } if (_root.spirit) { targ = 3; } _currentframe = targ; gotoAndStop(targ); } };
Symbol 183 MovieClip [enemyspearman] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; maxlife = (10 + (2 * _root.difficulty)) + ((1 * (_root.difficulty + 1)) * (_root.level - 1)); life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_x < -10) { _root.losing = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if ((!this.hitTest(_root.holder.friendlies)) and (((!this.hitTest(_root.player)) or _root.spirit) or (_root.plife <= 0))) { _x = (_x - speed); targ = 1; attacking = false; } else { attacking = true; targ = 2; } if (_root.holder.infantryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; if (_root.infupgrade == 2) { life = life - 0.5; } } if (_root.holder.spearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.spupgrade == 2) { life = life - 0.5; } } if (_root.holder.cavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.cavupgrade == 2) { life = life - 0.5; } } if (_root.holder.archerfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.4; if (_root.arupgrade == 2) { life = life - 0.2; } } if (_root.holder.herofire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.75; } if (_root.holder.rainfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 15) { attcount = 0; _root.playflesh(); _root.enemyattack(_x - 50, _y - 20, 2, "spearman"); } } else { attcount = 0; } } else { _root.createsplat(_x, _y - 20); _root.generatesoul(_x, _y); this.removeMovieClip(); } if (_root.spirit) { targ = 3; } _currentframe = targ; gotoAndStop(targ); } };
Symbol 188 MovieClip [tutorial-enemyinfantry] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; maxlife = 1; life = maxlife; def = false; leading = false; standadj = random(100) / 10; _alpha = 0; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_alpha < 100) { _alpha = (_alpha + 2); } if (_x < -10) { _root.losing = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if (_root.holder.herofire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.5; } } else { _root.moonmessage(2); _root.tutlevel = 2; _root.createsplat(_x, _y - 20); _root.count++; _root.holder.attachMovie("tutorial-soul", "soul", _root.count); _root.holder.soul._x = _x; _root.holder.soul._y = _y; this.removeMovieClip(); } if (_root.spirit) { targ = 3; } else { targ = 1; } _currentframe = targ; gotoAndStop(targ); } };
Symbol 194 MovieClip [enemyinfantry] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; maxlife = (10 + (2 * _root.difficulty)) + ((1 * (_root.difficulty + 1)) * (_root.level - 1)); life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_x < -10) { _root.losing = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if ((!this.hitTest(_root.holder.friendlies)) and (((!this.hitTest(_root.player)) or _root.spirit) or (_root.plife <= 0))) { _x = (_x - speed); targ = 1; attacking = false; } else { attacking = true; targ = 2; } if (_root.holder.infantryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.infupgrade == 2) { life = life - 0.5; } } if (_root.holder.spearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; if (_root.spupgrade == 2) { life = life - 0.5; } } if (_root.holder.cavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; if (_root.cavupgrade == 2) { life = life - 0.5; } } if (_root.holder.archerfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.4; if (_root.arupgrade == 2) { life = life - 0.2; } } if (_root.holder.herofire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 0.75; } if (_root.holder.rainfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 15) { attcount = 0; _root.playflesh(); _root.enemyattack(_x - 30, _y - 20, 2, "infantry"); } } else { attcount = 0; } } else { _root.createsplat(_x, _y - 20); _root.generatesoul(_x, _y); this.removeMovieClip(); } if (_root.spirit) { targ = 3; } _currentframe = targ; gotoAndStop(targ); } };
Symbol 203 MovieClip [splat] Frame 17
this.removeMovieClip();
Symbol 207 MovieClip [switchflash] Frame 1
_root.playsound("flash1Sound");
Symbol 207 MovieClip [switchflash] Frame 6
this.removeMovieClip();
Symbol 216 MovieClip [spearman] Frame 1
if (def != false) { speed = 1 + (random(20) / 10); attcount = 0; lifebonus = 0; if (_root.infupgrade >= 1) { lifebonus = 5; } maxlife = 10 + lifebonus; life = maxlife; def = false; leading = false; standadj = random(100) / 10; } onEnterFrame = function () { if (!_root.gamepaused) { if (life > 0) { if (_x > 1360) { _root.winning = true; } _currentframe = Math.round((life / maxlife) * 100); lifebar.gotoAndStop(Math.round((life / maxlife) * 100)); if (!_root.holder.enemies.hitTest(((_x + 20) + standadj) + _root.bg._x, _y - 10, true)) { _x = (_x + speed); if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (1); } attacking = false; } else { attacking = true; if (_root.spirit) { gotoAndStop (3); } else { gotoAndStop (2); } } if (_root.holder.enemyinfantryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life = life - 2; } if (_root.holder.enemyspearmanfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (_root.holder.enemycavalryfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (_root.holder.enemyarcherfire.hitTest(_x + _root.bg._x, _y - 10, true)) { life--; } if (attacking) { attcount++; if (attcount >= 15) { attcount = 0; _root.friendlyattack(_x + 50, _y - 20, 2, "spearman"); } } else { attcount = 0; } if ((((Key.isDown(68) and (!_root.attacking)) and (!_root.defending)) and (!_root.eating)) and this.hitTest(_root.player)) { _root.eating = true; _root.eatcounter = 0; this.removeMovieClip(); } } else { _root.createsplat(_x, _y - 20); this.removeMovieClip(); } } };
Symbol 228 MovieClip [tutorial-review] Frame 1
_alpha = 0; onEnterFrame = function () { if (_alpha < 100) { _alpha = (_alpha + 2); } };
Symbol 236 MovieClip Frame 1
stop();
Symbol 236 MovieClip Frame 3
play();
Symbol 236 MovieClip Frame 23
gotoAndPlay(random(16) + 3);
Symbol 237 MovieClip [moon] Frame 1
stop();
Symbol 237 MovieClip [moon] Frame 2
stop();
Symbol 243 MovieClip Frame 1
stop();
Symbol 253 MovieClip Frame 1
stop();
Symbol 254 MovieClip [Preloader] Frame 1
function enterFrameHandler() { var _local2 = 0; _local2 = _root.getBytesLoaded() / _root.getBytesTotal(); if (loadingBar) { loadingBar.gotoAndStop(int(_local2 * (loadingBar._totalframes - 1)) + 1); } if (_local2 >= 1) { onEnterFrame = null; gotoAndStop ("loaded"); } } stop(); var autoPlay; var className; onEnterFrame = enterFrameHandler;
Symbol 254 MovieClip [Preloader] Frame 10
function _onPlayClick() { _root.nextFrame(); _root.play(); _parent._onLoaded(); } if (playButton) { playButton.onRelease = _onPlayClick; playButton.stop(); } if (autoPlay) { _onPlayClick(null); }
Symbol 256 MovieClip [Newgrounds API Classes] Frame 1
#initclip 26 Object.registerClass("Newgrounds API Classes", com.newgrounds.shims.APIShim); #endinitclip
Symbol 310 MovieClip [FlashAd] Frame 1
#initclip 27 Object.registerClass("FlashAd", com.newgrounds.components.FlashAdBase); #endinitclip function initPlayButton() { if (this.playButton) { this.playButton.onRelease = onPlayClick; if (!this.showPlayButton) { this.playButton._visible = false; } } } function onPlayClick() { removeAd(); _visible = false; } stop();
Symbol 310 MovieClip [FlashAd] Frame 2
initPlayButton();
Symbol 311 MovieClip [APIConnector] Frame 1
function _onLoaded() { gotoAndStop ("invisible"); if (_redirect) { com.newgrounds.API.loadOfficialVersion(); return(undefined); } } function _apiConnect() { var _local2 = com.newgrounds.API; if (_local2 && (!_local2.connected)) { if (!apiId) { com.newgrounds.Logger.logError("No API ID entered in the API Connector component.", "You can create an API ID for this submission at http://newgrounds.com/account/flashapi", "Enter your API ID into the API Connector using the Component Inspector (Window -> Component Inspector)."); return(undefined); } switch (debugMode) { case "Off" : default : _local2.debugMode = _local2.RELEASE_MODE; break; case "Simulate Logged-in User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_IN; break; case "Simulate Logged-out User" : _local2.debugMode = _local2.DEBUG_MODE_LOGGED_OUT; break; case "Simulate New Version" : _local2.debugMode = _local2.DEBUG_MODE_NEW_VERSION; break; case "Simulate Host Blocked" : _local2.debugMode = _local2.DEBUG_MODE_HOST_BLOCKED; } _local2.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, _onConnected); _local2.connect(_root, apiId, encryptionKey, movieVersion); } } function _onConnected(event) { if ((redirectOnNewVersion && (event.__get__success())) && (event.__get__data().newVersion)) { _redirect = true; } if ((redirectOnHostBlocked && (!event.__get__success())) && (event.__get__error() == com.newgrounds.APIEvent.ERROR_HOST_BLOCKED)) { _redirect = true; } if (_redirect) { gotoAndStop ("adPreloader"); forceAlwaysOnTop(); } } function forceAlwaysOnTop() { var _local2 = getNextHighestDepth(); swapDepths(_local2); if (Stage) { _x = ((Stage.width - _width) / 2); _y = ((Stage.height - _height) / 2); _visible = true; } if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } } stop(); _visible = false; if (_root && (_root instanceof MovieClip)) { MovieClip(_root).stop(); } var apiId; var encryptionKey; var movieVersion; var debugMode; var connectorType; var redirectOnHostBlocked; var redirectOnNewVersion; var adType; var className; var _redirect; _x = int(_x); _y = int(_y); if (!debugMode) { debugMode = "Simulate Logged-in User"; } if (!connectorType) { connectorType = "Flash Ad + Preloader"; } if (!adType) { adType = "Video"; } if (ad) { ad.adType = adType; } switch (connectorType) { case "Flash Ad + Preloader" : gotoAndStop ("adPreloader"); break; case "Flash Ad Only" : gotoAndStop ("ad"); break; case "Invisible" : gotoAndStop ("invisible"); } _apiConnect();
Instance of Symbol 310 MovieClip [FlashAd] "ad" in Symbol 311 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { apiId = ""; showBorder = true; adType = "Video"; }
Instance of Symbol 254 MovieClip [Preloader] "loader" in Symbol 311 MovieClip [APIConnector] Frame 1
//component parameters onClipEvent (construct) { autoPlay = false; mainClass = ""; }
Symbol 264 MovieClip [__Packages.com.newgrounds.APIConnection] Frame 0
class com.newgrounds.APIConnection { var _hostURL, hostDomain, sessionId, publisherId, encryptionKey, userEmail, username, userId, userpageFormat, initialized; function APIConnection () { reset(); } function get hostURL() { return(_hostURL); } function set hostURL(value) { _hostURL = value; hostDomain = null; if (_hostURL) { var _local2 = _hostURL.split("/"); if ((_local2[0] != "file:") && (_hostURL != "localhost")) { hostDomain = _local2[2]; } } if (!hostDomain) { hostDomain = "localhost"; } //return(hostURL); } function get sandboxType() { return(System.security.sandboxType); } function get isNetworkHost() { switch (sandboxType) { case "localWithFile" : case "localWithNetwork" : case "localTrusted" : case "application" : return(false); case "remote" : } return(true); } function get hasUserSession() { return(((sessionId != null) && (sessionId != "")) && (publisherId != 0)); } function get connected() { return(connectionState == CONNECTED); } function reset() { connectionState = NOT_CONNECTED; encryptionKey = null; sessionId = null; userEmail = null; username = null; userId = 0; userpageFormat = 0; } function assertInitialized() { if (!initialized) { com.newgrounds.Logger.logError("You must initialized the API using API.connect() before using this command."); return(false); } return(true); } function assertConnected() { if ((!connectionState) == CONNECTED) { com.newgrounds.Logger.logError("You must establish a connection using API.connect() before using this command."); return(false); } return(true); } function sendSimpleCommand(command, completeHandler, parameters, secureParameters) { if (parameters == undefined) { parameters = null; } if (secureParameters == undefined) { secureParameters = null; } var _local2 = new com.newgrounds.APICommand(command); _local2.__set__parameters(parameters); _local2.__set__secureParameters(secureParameters); if (completeHandler != null) { _local2.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, completeHandler); } _local2.send(this); } function sendCommand(command) { command.send(this); } function loadInBrowser(command, newWindow, parameters) { if (newWindow == undefined) { newWindow = true; } if (parameters == undefined) { parameters = null; } var _local2 = new com.newgrounds.APICommand(command); _local2.__set__parameters(parameters); _local2.loadInBrowser(this, newWindow); } static var NOT_CONNECTED = "notConnected"; static var CONNECTING = "connecting"; static var CONNECTED = "connected"; var connectionState = NOT_CONNECTED; var apiURL = "http://www.ngads.com/gateway_v2.php"; }
Symbol 258 MovieClip [__Packages.com.newgrounds.EventDispatcher] Frame 0
class com.newgrounds.EventDispatcher { var _listeners; function EventDispatcher () { _listeners = {}; } function addEventListener(type, listener) { if (!_listeners[type]) { _listeners[type] = []; } if (typeof(listener) == "function") { _listeners[type].push({target:null, func:listener}); } else { _listeners[type].push(listener); } } function removeEventListener(type, listener) { var _local3 = _listeners[type]; if (_local3) { var _local5 = _local3.length; var _local2 = 0; while (_local2 < _local5) { if ((_local3[_local2].func == listener) || (_local3[_local2] == listener)) { _local3.splice(_local2, 1); return(undefined); } _local2++; } } } function dispatchEvent(event) { var _local4 = _listeners[event.__get__type()]; if (_local4) { var _local5 = _local4.length; var _local2 = 0; while (_local2 < _local5) { var _local3 = _local4[_local2]; _local3.func.call(_local3.target, event); _local2++; } } return(true); } }
Symbol 257 MovieClip [__Packages.com.newgrounds.Event] Frame 0
class com.newgrounds.Event { var _type; function Event (type) { _type = type; } function get type() { return(_type); } }
Symbol 259 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher extends com.newgrounds.EventDispatcher { static var _globalDispatcher; function APIEventDispatcher () { super(); } static function get globalDispatcher() { return(_globalDispatcher); } static function set globalDispatcher(value) { _globalDispatcher = value; //return(globalDispatcher); } static function initEventQueue() { setInterval(runEventQueue, 50); return([]); } function dispatchEvent(event) { _eventQueue.push({dispatcher:this, event:event}); return(true); } function actualDispatchEvent(event) { var _local3 = super.dispatchEvent(event); if (_globalDispatcher && (this != _globalDispatcher)) { _globalDispatcher.dispatchEvent(event); } } static function runEventQueue(event) { var _local3 = _eventQueue.length; if (_local3) { var _local4 = _eventQueue; _eventQueue = []; var _local1 = 0; while (_local1 < _local3) { var _local2 = _local4[_local1]; _local2.dispatcher.actualDispatchEvent(_local2.event); _local1++; } } } static var _eventQueue = initEventQueue(); }
Symbol 262 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN { var _hash, _base, _reverseHash; function BaseN (hash) { if (hash) { _hash = hash; } else { _hash = DEFAULT_HASH; } _base = _hash.length; _reverseHash = new Object(); var _local2 = 0; while (_local2 < _hash.length) { _reverseHash[_hash.charAt(_local2)] = _local2; _local2++; } } function encodeUint(number, minimumChars) { if (minimumChars == undefined) { minimumChars = 1; } var _local2 = ""; var _local3 = number; while (_local3 != 0) { _local2 = _hash.charAt(_local3 % _base) + _local2; _local3 = _local3 / _base; _local3 = int(_local3); } while (_local2.length < minimumChars) { _local2 = _hash.charAt(0) + _local2; } return(_local2); } function decodeUint(encodedNumber) { var _local3 = 0; var _local2 = 0; while (_local2 < encodedNumber.length) { _local3 = _local3 * _base; _local3 = _local3 + _reverseHash[encodedNumber.charAt(_local2)]; _local2++; } return(_local3); } static var DEFAULT_HASH = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; }
Symbol 268 MovieClip [__Packages.com.newgrounds.APICommand] Frame 0
class com.newgrounds.APICommand extends com.newgrounds.APIEventDispatcher { static var _throttleTimestamp, bridge; var _command, _parameters, _secureParameters, _hasTimeout, _preventCache, _files, _loader, _timeoutTimer, dispatchEvent; function APICommand (command) { super(); _command = command; _parameters = new Object(); _secureParameters = new Object(); _hasTimeout = true; } static function stopPendingCommands() { for (var _local2 in _pendingCommands) { var _local1 = _pendingCommands[_local2]; _local1.close(); } _pendingCommands = []; } static function onThrottleTimer(event) { if ((getTimer() - _throttleTimestamp) >= THROTTLE_INTERVAL) { _throttleCount = 0; _throttleCount = 0; while (_commandQueue.length && (_throttleCount < THROTTLE_THRESHOLD)) { var _local1 = _commandQueue.shift(); _local1.command.send(_local1.connection); _throttleCount++; } } } static function encryptHex(hexValue) { var _local4 = hexValue.length % 6; var _local3 = ""; var _local1 = 0; while (_local1 < hexValue.length) { _local3 = _local3 + _encryptor.encodeUint(int("0x" + hexValue.substr(_local1, 6)), 4); _local1 = _local1 + 6; } return(_local4.toString() + _local3); } function get command() { return(_command); } function set command(value) { _command = value; //return(command); } function get hasTimeout() { return(_hasTimeout); } function set hasTimeout(val) { _hasTimeout = val; //return(hasTimeout); } function get parameters() { return(_parameters); } function set parameters(object) { _parameters = new Object(); if (object) { for (var _local3 in object) { _parameters[_local3] = object[_local3]; } } //return(parameters); } function get preventCache() { return(_preventCache); } function set preventCache(value) { _preventCache = value; //return(preventCache); } function get secureParameters() { return(_secureParameters); } function set secureParameters(object) { _secureParameters = new Object(); if (object) { for (var _local3 in object) { _secureParameters[_local3] = object[_local3]; } } //return(secureParameters); } function get hasSecureParameters() { for (var _local2 in _secureParameters) { return(true); } return(false); } function addFile(filename, data, dataField, contentType) { if (contentType == undefined) { contentType = "application/octet-stream"; } if (!_files) { _files = new Object(); } var _local3 = {filename:filename, data:data, dataField:dataField, contentType:contentType}; _files[filename] = _local3; } function removeFile(filename) { if (_files) { delete _files[filename]; } } function clearFiles() { _files = null; } function close() { if (_loader) { clearInterval(_timeoutTimer); var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2] == this) { _pendingCommands.splice(_local2, 1); break; } _local2++; } _loader = null; } } function loadInBrowser(connection, newWindow) { _parameters.command_id = _command; _parameters.tracker_id = (connection.apiId ? (connection.apiId) : 1); if (connection.debug) { _parameters.debug = 1; } var _local3 = (connection.apiURL + "?host=") + escape(connection.hostDomain); for (var _local4 in _parameters) { _local3 = _local3 + ((("&" + escape(_local4)) + "=") + escape(_parameters[_local4])); } var _local6; if (newWindow) { _local6 = "_blank"; } else { _local6 = "_top"; } _root.getURL(_local3, _local6); } function send(connection) { if (_throttleCount >= THROTTLE_THRESHOLD) { _commandQueue.push({connection:connection, command:this}); } else { sendInternal(connection); } } function sendInternal(connection) { var _local4; _local4 = new LoadVars(); _local4.command_id = _command; _local4.tracker_id = connection.apiId; if (connection.debug) { _local4.debug = 1; } if (_preventCache) { _local4.seed = Math.random(); } var _local2; var _local3; var _local7; for (_local2 in _parameters) { _local3 = _parameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local4[_local2] = int(_local3); } else { _local4[_local2] = _local3; } } } if (hasSecureParameters) { var _local6 = new Object(); for (_local2 in _secureParameters) { _local3 = _secureParameters[_local2]; if (_local3 != null) { if (typeof(_local3) == "boolean") { _local6[_local2] = int(_local3); } else { _local6[_local2] = _local3; } } } var _local8 = ""; _local7 = 0; while (_local7 < 16) { _local8 = _local8 + ENCRYPTOR_RADIX.charAt(int(Math.random() * ENCRYPTOR_RADIX.length)); _local7++; } _local4.command_id = "securePacket"; _local6.command_id = _command; _local6.as_version = 3; _local6.session_id = connection.sessionId; _local6.user_email = connection.userEmail; _local6.publisher_id = connection.publisherId; _local6.seed = _local8; var _local13 = com.newgrounds.crypto.MD5.hash(_local8); var _local11 = com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(_local6), connection.encryptionKey); _local4.secure = encryptHex(_local13 + _local11); } com.newgrounds.Logger.logInternal("Sending packet:", _local4); var _local12; _local12 = "application/x-www-form-urlencoded"; for (_local2 in _local4) { if (typeof(_local4[_local2]) == "object") { _local4[_local2] = com.newgrounds.encoders.json.JSON.encode(_local4[_local2]); } } if (_files) { for (var _local10 in _files) { var _local5 = _files[_local10]; if (typeof(_local5.data) == "string") { _local4[_local10] = _local5.data; } else { _local4[_local10] = com.newgrounds.encoders.json.JSON.encode(_local5.data); } } } _pendingCommands.push(this); _throttleCount++; _throttleTimestamp = getTimer(); startLoader(connection.apiURL, _local4, _local12); } function startLoader(url, data, contentType) { _loader = LoadVars(data); _loader.onData = as2CompleteHandler; _loader.contentType = contentType; _loader.sendAndLoad(url, _loader, "POST"); if (_hasTimeout) { setInterval(this, onTimeout, TIMEOUT_INTERVAL); } } function as2CompleteHandler(data) { var _local3; var _local2 = 0; while (_local2 < _pendingCommands.length) { if (_pendingCommands[_local2]._loader == this) { _local3 = _pendingCommands[_local2]; break; } _local2++; } _local3.onComplete(data); } function onTimeout(event) { close(); com.newgrounds.Logger.logError("Command timed out."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_TIMED_OUT)); } function onError(error) { com.newgrounds.Logger.logError("Error when sending command:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_UNKNOWN)); close(); } function onComplete(data) { try { if ((!data) || (data == "")) { throw new Error(); } com.newgrounds.Logger.logInternal("Received packet:", data); var _local2 = com.newgrounds.encoders.json.JSON.decode(data); if (!_local2) { throw new Error(); } if (bridge) { bridge.sendEvent(_local2.command_id, _local2); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, _local2, ((_local2 && (_local2.success)) ? (com.newgrounds.APIEvent.ERROR_NONE) : (com.newgrounds.APIEvent.ERROR_COMMAND_FAILED)))); } catch(e) { com.newgrounds.Logger.logError("Invalid response returned from server: " + data); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.COMMAND_COMPLETE, null, com.newgrounds.APIEvent.ERROR_BAD_RESPONSE)); } close(); } static var TIMEOUT_INTERVAL = 10000; static var THROTTLE_INTERVAL = 10050; static var THROTTLE_TICK_INTERVAL = 1000; static var THROTTLE_THRESHOLD = 24; static var _throttleCount = 0; static var _commandQueue = []; static var _throttleTimer = setInterval(onThrottleTimer, THROTTLE_TICK_INTERVAL); static var ENCRYPTOR_RADIX = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; static var _encryptor = new com.newgrounds.encoders.BaseN(ENCRYPTOR_RADIX); static var _pendingCommands = []; static var CRLF = "\r\n"; }
Symbol 263 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge { var _widgetId, _inConnection, _outConnection; function Bridge (id) { _widgetId = id; _inConnection = new LocalConnection(); _outConnection = new LocalConnection(); _inConnection.receiveEvent = receiveEvent; try { _inConnection.connect("rec_" + _widgetId); } catch(error) { } com.newgrounds.Logger.addEventListener(com.newgrounds.APIEvent.LOG, {target:this, func:onLogMessage}); } function onLogMessage(event) { try { _outConnection.send(_widgetId, "sendEvent", "trace", String(event.__get__data())); } catch(error) { } } function sendEvent(command, parameters) { if (_outConnection) { parameters = {data:parameters}; _outConnection.send(_widgetId, "sendEvent", command, parameters); } } function receiveEvent(event, parameters) { } function onStatus(event) { } }
Symbol 260 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent extends com.newgrounds.Event { var _error, _success, _data, __get__type; function APIEvent (type, data, error) { super(type); if (data == undefined) { data = null; } if (error == undefined) { error = null; } if (((!error) || (error == "")) || (error == ERROR_NONE)) { _error = ERROR_NONE; _success = true; } else { _error = error; _success = false; } if (data) { _data = data; } else { _data = {}; } } function clone() { return(new com.newgrounds.APIEvent(__get__type(), _data, _error)); } function get success() { return(_success); } function get data() { return(_data); } function get error() { return(_error); } static var COMMAND_COMPLETE = "commandComplete"; static var MEDAL_UNLOCK_CONFIRMED = "medalUnlockConfirmed"; static var ICON_LOADED = "iconLoaded"; static var API_CONNECTED = "movieConnected"; static var LOG = "log"; static var MEDAL_UNLOCKED = "medalUnlocked"; static var SCORES_LOADED = "scoresLoaded"; static var SCORE_POSTED = "scorePosted"; static var QUERY_COMPLETE = "queryComplete"; static var FILE_LOADED = "fileLoaded"; static var FILE_SAVED = "fileSaved"; static var FILE_REQUESTED = "fileRequested"; static var VOTE_COMPLETE = "voteComplete"; static var ERROR_NONE = "noError"; static var ERROR_UNKNOWN = "unknownError"; static var ERROR_COMMAND_FAILED = "commandFailed"; static var ERROR_NOT_CONNECTED = "notConnected"; static var ERROR_INVALID_ARGUMENT = "invalidArgument"; static var ERROR_TIMED_OUT = "timedOut"; static var ERROR_BAD_FILE = "badFile"; static var ERROR_BAD_RESPONSE = "badResponse"; static var ERROR_SENDING_COMMAND = "errorSendingCommand"; static var ERROR_HOST_BLOCKED = "hostBlocked"; static var ERROR_ALREADY_VOTED = "alreadyVoted"; static var ERROR_NOT_LOGGED_IN = "notLoggedIn"; static var ERROR_WRONG_ENCRYPTION_KEY = "wrongEncryptionKey"; }
Symbol 279 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API { static var _adFeedURL, _movieVersion, _bridge, _requestedSaveGroupId, _requestedSaveFileId, _movieName, _newVersion, _saveFilePath, _imageFilePath; function API () { } static function get connected() { return(_connection.__get__connected()); } static function get isNetworkHost() { return(_connection.__get__isNetworkHost()); } static function get apiId() { _connection.assertInitialized(); return(_connection.apiId); } static function get debugMode() { return(_debugMode); } static function set debugMode(val) { _debugMode = val; //return(debugMode); } static function get publisherId() { _connection.assertInitialized(); return(_connection.publisherId); } static function get sessionId() { _connection.assertInitialized(); return(_connection.sessionId); } static function get hostDomain() { _connection.assertInitialized(); return(_connection.hostDomain); } static function get hostURL() { _connection.assertInitialized(); return(_connection.__get__hostURL()); } static function get isNewgrounds() { return(_connection.publisherId == 1); } static function get hasUserSession() { _connection.assertInitialized(); return(_connection.__get__hasUserSession()); } static function get username() { _connection.assertInitialized(); return(_connection.username); } static function get userId() { _connection.assertInitialized(); return(_connection.userId); } static function assertConnected(eventType) { if (eventType == undefined) { eventType = null; } if (_connection.assertConnected()) { return(true); } if (eventType) { dispatchEvent(eventType, null, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); } return(false); } static function get adsApproved() { return(_adsApproved); } static function get adFeedURL() { return(_adFeedURL); } static function get medals() { return(_medalsArray); } static function get scoreBoards() { return(_scoreBoardsArray); } static function get saveGroups() { return(_saveGroupsArray); } static function connect(_root, apiId, encryptionKey, movieVersion) { if (encryptionKey == undefined) { encryptionKey = null; } if (movieVersion == undefined) { movieVersion = ""; } com.newgrounds.APIEventDispatcher.__set__globalDispatcher(_dispatcher); System.security.loadPolicyFile("http://apifiles.ngfiles.com/crossdomain.xml"); if (_connection.initialized) { com.newgrounds.Logger.logError("Connection already in progress. Please call API.disconnect() before attempting another connection."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_NOT_CONNECTED); return(undefined); } apiId = trimWhitespace(apiId); if (encryptionKey) { encryptionKey = trimWhitespace(encryptionKey); } if ((!apiId) || (apiId == "")) { com.newgrounds.Logger.logError("No apiId given. Please use the API ID from your API settings page."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } com.newgrounds.Logger.logMessage(("====== Newgrounds API v" + VERSION) + " ======"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTING; _root=_root;//parameter overwritten _movieVersion = movieVersion; _connection.apiId = apiId; var _local4; _local4 = apiId.indexOf(":"); if (_local4 != -1) { _connection.trackerId = int(apiId.substring(0, _local4)); } else { _connection.trackerId = int(apiId); } if (!_connection.trackerId) { com.newgrounds.Logger.logError("Invalid API ID: " + apiId); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, false, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } _connection.encryptionKey = encryptionKey; _connection.initialized = true; _connection.__set__hostURL(_root._url); doConnect(_root); } static function doConnect(flashVars) { if (isNetworkHost && (_debugMode != RELEASE_MODE)) { com.newgrounds.Logger.logMessage("Live file detected, turning off debug mode."); _debugMode = RELEASE_MODE; } if (flashVars && (flashVars.NewgroundsAPI_SandboxID)) { _bridge = new com.newgrounds.Bridge(flashVars.NewgroundsAPI_SandboxID); com.newgrounds.APICommand.bridge = _bridge; } if (_debugMode == RELEASE_MODE) { if (flashVars) { if (flashVars.NewgroundsAPI_UserName) { _connection.username = flashVars.NewgroundsAPI_UserName; } if (flashVars.NewgroundsAPI_UserID) { _connection.userId = flashVars.NewgroundsAPI_UserID; } if (flashVars.NewgroundsAPI_PublisherID) { _connection.publisherId = flashVars.NewgroundsAPI_PublisherID; } if (flashVars.NewgroundsAPI_UserpageFormat) { _connection.userpageFormat = flashVars.NewgroundsAPI_UserpageFormat; } if (flashVars.NewgroundsAPI_SessionID) { _connection.sessionId = flashVars.NewgroundsAPI_SessionID; } if (flashVars.NewgroundsAPI_SaveGroupID) { _requestedSaveGroupId = flashVars.NewgroundsAPI_SaveGroupID; } if (flashVars.NewgroundsAPI_SaveFileID) { _requestedSaveFileId = flashVars.NewgroundsAPI_SaveFileID; } } } else { _connection.debug = true; if ((_debugMode == DEBUG_MODE_LOGGED_IN) || (_debugMode == DEBUG_MODE_LOGGED_OUT)) { _connection.publisherId = 1; } if (_debugMode == DEBUG_MODE_LOGGED_IN) { _connection.sessionId = "D3bu64p1U53R"; _connection.userId = 10; _connection.username = "API-Debugger"; } } _connection.sendSimpleCommand("connectMovie", onConnect, {host:_connection.hostDomain, movie_version:_movieVersion, publisher_id:_connection.publisherId}); } static function onConnect(event) { var _local1 = event.__get__data(); if (!event.__get__success()) { com.newgrounds.Logger.logError("Unable to connect to the API."); _connection.reset(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, event.__get__data(), event.__get__error()); return(undefined); } if (debugMode != RELEASE_MODE) { _adFeedURL = TEST_AD_FEED_URL; } else if (_local1.ad_url) { _adFeedURL = unescape(_local1.ad_url); } switch (_local1.ad_status) { case -1 : com.newgrounds.Logger.logWarning("Your movie is not approved to run Flash Ads."); break; case 0 : com.newgrounds.Logger.logWarning("Your movie is still awaiting approval to run Flash Ads."); break; case 1 : com.newgrounds.Logger.logMessage("Your movie is approved to run Flash Ads!"); } _adsApproved = _local1.ad_status == 1; if ((_debugMode == DEBUG_MODE_HOST_BLOCKED) || (_local1.deny_host)) { com.newgrounds.Logger.logWarning(_connection.hostDomain + " does not have permission to host this movie!", "Update your API configuration to allow this host."); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {officialURL:unescape(_local1.movie_url)}, com.newgrounds.APIEvent.ERROR_HOST_BLOCKED); _connection.reset(); return(undefined); } _movieName = (_local1.movieName ? (_local1.movieName) : ""); com.newgrounds.Logger.logMessage("Connecting to the Newgrounds API Gateway...", ("----- " + _local1.movie_name) + " -----"); if (_debugMode == DEBUG_MODE_NEW_VERSION) { _local1.movie_version = "Debug Mode"; } if (_local1.movie_version) { com.newgrounds.Logger.logMessage("A new version of this movie is available.", "Current version:\t" + _movieVersion, "Newest version:\t" + _local1.movie_version, "Use API.loadOfficialVersion() to link to the latest version."); _newVersion = true; } else { _newVersion = false; } if (_local1.request_portal_url) { _connection.sendSimpleCommand("setPortalID", null, {portal_url:_connection.__get__hostURL()}); } _connection.sendSimpleCommand("preloadSettings", onMetadataLoaded, {publisher_id:_connection.publisherId, user_id:_connection.userId}); } static function onMetadataLoaded(event) { var _local11 = event.__get__data(); var _local1; var _local7; if (!event.__get__success()) { com.newgrounds.Logger.logWarning("Unable to load movie metadata."); disconnect(); dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, null, event.__get__error()); return(undefined); } var _local10 = 0; if (_local11.medals) { _local10 = _local11.medals.length; var _local18; if (hasUserSession) { _local18 = loadLocal("medals_unlocked_" + username); } else { _local18 = loadLocal("medals_unlocked"); } _local1 = 0; while (_local1 < _local10) { var _local4 = _local11.medals[_local1]; var _local15 = _local4.medal_unlocked; var _local17 = _local18 && (_local18[_local4.medal_id]); var _local14 = (hasUserSession ? (_local15) : (_local17)); if (debugMode != RELEASE_MODE) { _local14 = false; } var _local5 = new com.newgrounds.Medal(_connection, _local4.medal_id, _local4.medal_name, _local4.medal_description, Boolean(int(_local4.secret)), _local14, _local4.medal_value, _local4.medal_difficulty, _local4.medal_icon); _local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked, false, 0, true); _local5.addEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed, false, 0, true); _medals[_local5.__get__name()] = _local5; _medalsArray.push(_local5); com.newgrounds.Logger.logMessage(_local5); if ((hasUserSession && (_local17)) && (!_local15)) { com.newgrounds.Logger.logMessage(("Server missed the \"" + _local5.__get__name()) + "\" unlock. Resending..."); _local5.unlock(); } _local1++; } } com.newgrounds.Logger.logMessage(((_local10 + " medal") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.score_boards) { _local10 = _local11.score_boards.length; _local1 = 0; while (_local1 < _local10) { var _local16 = _local11.score_boards[_local1]; var _local9 = new com.newgrounds.ScoreBoard(_connection, _local16.name, _local16.id); _scoreBoards[_local9.__get__name()] = _local9; _scoreBoardsArray.push(_local9); com.newgrounds.Logger.logMessage(_local9); _local1++; } } com.newgrounds.Logger.logMessage(((_local10 + " scoreboard") + ((_local10 != 1) ? "s" : "")) + " initialized."); _local10 = 0; if (_local11.save_groups) { _local10 = _local11.save_groups.length; _local1 = 0; while (_local1 < _local10) { var _local2 = _local11.save_groups[_local1]; var _local13 = []; if (_local2.keys) { _local7 = 0; while (_local7 < _local2.keys.length) { var _local6 = _local2.keys[_local7]; _local13.push(new com.newgrounds.SaveKey(_local6.name, _local6.id, _local6.type)); _local7++; } } var _local12 = []; if (_local2.ratings) { _local1 = 0; while (_local1 < _local2.ratings.length) { var _local3 = _local2.ratings[_local1]; _local12.push(new com.newgrounds.SaveRating(_local3.name, _local3.id, _local3.float, _local3.min, _local3.max)); _local1++; } } var _local8 = new com.newgrounds.SaveGroup(_connection, _local2.group_name, _local2.group_id, _local2.group_type, _local13, _local12); _saveGroups[_local8.__get__name()] = _local8; _saveGroupsArray.push(_local8); com.newgrounds.Logger.logMessage(_local8); _local1++; } } com.newgrounds.Logger.logMessage(((_local10 + " save group") + ((_local10 != 1) ? "s" : "")) + " initialized."); if (_local11.save_file_path) { _saveFilePath = _local11.save_file_path + "/"; com.newgrounds.SaveFile._saveFilePath = _saveFilePath; com.newgrounds.Logger.logInternal("Save file path: " + _saveFilePath); } if (_local11.image_file_path) { _imageFilePath = _local11.image_file_path + "/"; com.newgrounds.SaveFile._imageFilePath = _imageFilePath; com.newgrounds.Logger.logInternal("Image file path: " + _imageFilePath); } com.newgrounds.Logger.logMessage("Connection complete!"); _connection.connectionState = com.newgrounds.APIConnection.CONNECTED; dispatchEvent(com.newgrounds.APIEvent.API_CONNECTED, {movieName:_movieName, newVersion:_newVersion}); if (_requestedSaveFileId && (_requestedSaveGroupId)) { addEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded); loadSaveFile(_requestedSaveFileId, false); } } static function disconnect() { if (!_connection.__get__connected()) { com.newgrounds.Logger.logWarning("The Newgrounds API is already disconnected."); return(undefined); } _connection.reset(); for (var _local2 in _medals) { var _local1 = _medals[_local2]; _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, onMedalUnlocked); _local1.removeEventListener(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, onMedalUnlockConfirmed); } _newVersion = false; _medals = new Object(); _medalsArray = []; _scoreBoards = new Object(); _scoreBoardsArray = []; _saveGroups = new Object(); _saveGroupsArray = []; _sharedObjects = new Object(); _imageFilePath = null; _saveFilePath = null; com.newgrounds.Logger.logMessage("Disconnected from the Newgrounds API."); } static function loadNewgrounds() { _connection.loadInBrowser("loadNewgrounds"); } static function loadOfficialVersion() { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadOfficialVersion", false); } } static function loadMySite() { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadMySite"); } } static function loadCustomLink(linkName) { if (_connection.assertInitialized()) { _connection.loadInBrowser("loadCustomLink", true, {link:linkName}); } } static function getMedal(medalName) { return(_medals[medalName]); } static function unlockMedal(medalName) { if (!assertConnected()) { return(undefined); } var _local1 = _medals[medalName]; if (!_local1) { com.newgrounds.Logger.logError(("No medal named \"" + medalName) + "\" w."); return(undefined); } _local1.unlock(); } static function onMedalUnlocked(event) { if (event.__get__success()) { var _local2 = com.newgrounds.Medal(event.__get__data()); var _local1; if (hasUserSession) { _local1 = loadLocal("medals_unlocked_" + username); if (!_local1) { _local1 = new Object(); } _local1[_local2.__get__id()] = true; saveLocal("medals_unlocked_" + username, _local1); } else { _local1 = loadLocal("medals_unlocked"); if (!_local1) { _local1 = new Object(); } _local1[com.newgrounds.Medal(event.__get__data()).__get__id()] = true; saveLocal("medals_unlocked", _local1); com.newgrounds.Logger.logMessage(("User instanceof not logged in. Medal \"" + _local2.__get__name()) + "\" unlocked locally."); } } } static function onMedalUnlockConfirmed(event) { if (hasUserSession) { var _local1 = loadLocal("medals_unlocked_" + username); if (!_local1) { _local1 = new Object(); } else { delete _local1[com.newgrounds.Medal(event.__get__data()).__get__id()]; } saveLocal("medals_unlocked_" + username, _local1); } } static function clearLocalMedals() { for (var _local2 in _medals) { var _local1 = _medals[_local2]; _local1.setUnlocked(false); } if (!hasUserSession) { saveLocal("medals_unlocked", new Object()); } } static function getScoreBoard(scoreBoardName) { if (!assertConnected()) { return(null); } return(_scoreBoards[scoreBoardName]); } static function loadScores(scoreBoardName, period, firstResult, numResults, tag) { if (period == undefined) { period = "All-Time"; } if (firstResult == undefined) { firstResult = 1; } if (numResults == undefined) { numResults = 10; } if (tag == undefined) { tag = null; } if (!assertConnected()) { return(null); } var _local1 = _scoreBoards[scoreBoardName]; if (!_local1) { com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w."); dispatchEvent(com.newgrounds.APIEvent.SCORES_LOADED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(null); } _local1.__set__period(period); _local1.__set__firstResult(firstResult); _local1.__set__numResults(numResults); _local1.__set__tag(tag); _local1.loadScores(); return(_local1); } static function postScore(scoreBoardName, numericScore, tag) { if (tag == undefined) { tag = null; } if (!assertConnected()) { return(undefined); } if (!hasUserSession) { com.newgrounds.Logger.logError("The user must be logged-in to post a score."); dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN); return(undefined); } var _local1 = _scoreBoards[scoreBoardName]; if (!_local1) { com.newgrounds.Logger.logError(("No scoreboard named \"" + scoreBoardName) + "\" w."); dispatchEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT); return(undefined); } _local1.postScore(numericScore, tag); } static function getSaveGroup(groupName) { if (!assertConnected()) { return(null); } return(_saveGroups[groupName]); } static function getSaveGroupById(id) { for (var _local3 in _saveGroups) { var _local1 = _saveGroups[_local3]; if (_local1.__get__id() == id) { return(_local1); } } return(null); } static function createSaveFile(groupName) { if (!assertConnected()) { return(null); } var _local1 = getSaveGroup(groupName); if (!_local1) { com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found."); return(null); } return(new com.newgrounds.SaveFile(_local1)); } static function loadSaveFile(saveId, loadContents) { if (loadContents == undefined) { loadContents = true; } _connection.sendSimpleCommand("loadSaveFile", onFileLoaded, {save_id:saveId, get_contents:loadContents}); } static function onFileLoaded(event) { var _local2; if (event.__get__success()) { _local2 = com.newgrounds.SaveFile.fromObject(getSaveGroupById(event.__get__data().group_id), event.__get__data().file); if (event.__get__data().get_contents) { _local2.load(); } else { dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, _local2); } } else { com.newgrounds.Logger.logError("Unable to load file:", event.__get__error()); dispatchEvent(com.newgrounds.APIEvent.FILE_LOADED, null, event.__get__error()); } } static function createSaveQuery(groupName) { if (!assertConnected()) { return(null); } var _local1 = getSaveGroup(groupName); if (!_local1) { com.newgrounds.Logger.logError(("The save group \"" + groupName) + "\" w found."); return(null); } var _local2 = new com.newgrounds.SaveQuery(_local1); return(_local2); } static function createSaveQueryByDate(groupName, sortDescending) { if (sortDescending == undefined) { sortDescending = true; } var _local1 = createSaveQuery(groupName); if (!_local1) { return(null); } _local1.sortOn(com.newgrounds.SaveQuery.CREATED_ON, sortDescending); return(_local1); } static function createSaveQueryByName(groupName, filename, exactMatch, sortDescending) { if (exactMatch == undefined) { exactMatch = false; } if (sortDescending == undefined) { sortDescending = false; } var _local1 = createSaveQuery(groupName); _local1.addCondition(com.newgrounds.SaveQuery.FILE_NAME, (exactMatch ? (com.newgrounds.SaveQuery.OPERATOR_EQUAL) : (com.newgrounds.SaveQuery.OPERATOR_CONTAINS)), filename); return(_local1); } static function createSaveQueryByRating(groupName, ratingName, sortDescending) { if (sortDescending == undefined) { sortDescending = true; } var _local1 = createSaveQuery(groupName); _local1.sortOn(ratingName, sortDescending); return(_local1); } static function onRequestedFileLoaded(event) { removeEventListener(com.newgrounds.APIEvent.FILE_LOADED, onRequestedFileLoaded); if (event.__get__success()) { var _local1 = event.__get__data(); if (_local1) { dispatchEvent(com.newgrounds.APIEvent.FILE_REQUESTED, _local1); } } } static function addEventListener(eventType, listener, priority, useWeakReference) { if (priority == undefined) { priority = 0; } if (useWeakReference == undefined) { useWeakReference = true; } _dispatcher.addEventListener(eventType, listener, false, priority, useWeakReference); } static function removeEventListener(eventType, listener) { _dispatcher.removeEventListener(eventType, listener); } static function dispatchEvent(event, data, error) { if (data == undefined) { data = null; } if (error == undefined) { error = null; } _dispatcher.dispatchEvent(new com.newgrounds.APIEvent(event, data, error)); } static function saveLocal(saveId, saveData) { try { var _local3; var _local2 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey); if (!_sharedObjects[saveId]) { _sharedObjects[saveId] = SharedObject.getLocal(_local2); } _local3 = _sharedObjects[saveId]; _local3.data.data = encodeData(saveData); } catch(_local) { if (Error( /* Error999 */ ) != null) { var error = Error( /* Error999 */ ); com.newgrounds.Logger.logError("Unable to save local data.", error); return(false); } Error( /* Error999 */ ); throw /* Error999 */ ; } return(true); } static function loadLocal(saveId) { try { var _local1; var _local3 = (("ng_ap_secure_" + _connection.trackerId) + "_") + com.newgrounds.crypto.RC4.encrypt(saveId, _connection.encryptionKey); if (!_sharedObjects[saveId]) { _sharedObjects[saveId] = SharedObject.getLocal(_local3); } _local1 = _sharedObjects[saveId]; if ((_local1 && (_local1.data)) && (_local1.data.data)) { return(decodeData(_local1.data.data)); } return(null); } catch(error:Error) { com.newgrounds.Logger.logError("Unable to load local data.", error); } return(null); } static function logCustomEvent(eventName) { if (assertConnected()) { com.newgrounds.Logger.logMessage("Logged event: " + eventName); _connection.sendSimpleCommand("logCustomEvent", null, {event:eventName}); } } static function encodeData(data) { if (!_connection.assertInitialized()) { return(null); } return(com.newgrounds.crypto.RC4.encrypt(com.newgrounds.encoders.json.JSON.encode(data), _connection.encryptionKey)); } static function decodeData(data) { if (!_connection.assertInitialized()) { return(null); } try { return(com.newgrounds.encoders.json.JSON.decode(com.newgrounds.crypto.RC4.decrypt(data, _connection.encryptionKey))); } catch(error:Error) { } return(null); } static function stopPendingCommands() { com.newgrounds.APICommand.stopPendingCommands(); com.newgrounds.Logger.logMessage("Pending commands stopped."); } static function trimWhitespace(string) { if (!string) { return(null); } var _local3 = 0; while (string.charAt(_local3) == " ") { _local3++; } var _local1 = string.length - 1; while ((string.charAt(_local1) == " ") && (_local1 >= 0)) { _local1--; } return(string.slice(_local3, _local1 + 1)); } static var VERSION = "3.1.2 AS2"; static var RELEASE_MODE = "releaseMode"; static var DEBUG_MODE_LOGGED_IN = "debugModeLoggedIn"; static var DEBUG_MODE_LOGGED_OUT = "debugModeLoggedOut"; static var DEBUG_MODE_NEW_VERSION = "debugModeNewVersion"; static var DEBUG_MODE_HOST_BLOCKED = "debugModeHostBlocked"; static var TEST_AD_FEED_URL = "http://www.ngads.com/adtest.php"; static var _dispatcher = new com.newgrounds.APIEventDispatcher(); static var _connection = new com.newgrounds.APIConnection(); static var _debugMode = DEBUG_MODE_LOGGED_IN; static var _adsApproved = false; static var _medals = new Object(); static var _medalsArray = []; static var _scoreBoards = new Object(); static var _scoreBoardsArray = []; static var _saveGroups = new Object(); static var _saveGroupsArray = []; static var _sharedObjects = new Object(); }
Symbol 276 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner { var _baseN, _encodeAlpha, _maxPerChannel; function ImageScanner (hashLength, charsPerPixel) { if (hashLength) { _hash = DEFAULT_HASH.substr(0, hashLength); } _baseN = new com.newgrounds.encoders.BaseN(_hash); if (charsPerPixel) { _charsPerPixel = charsPerPixel; } encodeAlpha = (false); } function get encodeAlpha() { return(_encodeAlpha); } function set encodeAlpha(v) { _encodeAlpha = v; _maxPerChannel = int(Math.pow(_hash.length, _charsPerPixel / (_encodeAlpha ? 4 : 3))); if (_maxPerChannel > 256) { _maxPerChannel = 256; } //return(encodeAlpha); } function encode(source, callbackFunction, callbackObject) { var _local4 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, x:0, y:0, output:null}; var _local2 = source.width.toString(); var _local3 = source.height.toString(); while (_local2.length < 3) { _local2 = "0" + _local2; } while (_local3.length < 3) { _local3 = "0" + _local3; } _local4.output = _local2 + _local3; var _local6 = setInterval(this, "doEncode", WORK_INTERVAL, _local4); _local4.interval = _local6; } function decode(source, callbackFunction, callbackObject) { var _local2 = {callbackFunction:callbackFunction, callbackObject:callbackObject, source:source, i:6, x:0, y:0, output:null}; var _local5 = int(source.substr(0, 3)); var _local6 = int(source.substr(3, 3)); _local2.output = new flash.display.BitmapData(_local5, _local6, _encodeAlpha); var _local4 = setInterval(this, "doDecode", WORK_INTERVAL, _local2); _local2.interval = _local4; } function doEncode(state) { var _local3 = getTimer(); while ((state.y < state.source.height) && ((getTimer() - _local3) < WORK_INTERVAL)) { state.output = state.output + encodePixel(state.source.getPixel32(state.x, state.y)); state.x++; if (state.x == state.source.width) { state.x = 0; state.y++; } } if (state.y == state.source.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function doDecode(state) { var _local4 = getTimer(); while ((state.y < state.output.height) && ((getTimer() - _local4) < WORK_INTERVAL)) { var _local3 = decodePixel(state.source.substr(state.i, _charsPerPixel)); state.output.setPixel32(state.x, state.y, _local3); state.i = state.i + _charsPerPixel; state.x++; if (state.x == state.output.width) { state.x = 0; state.y++; } } if (state.y == state.output.height) { clearInterval(state.interval); state.callbackFunction.call(state.callbackObject, state.output); } } function encodePixel(pixel) { var _local3 = (pixel >> 24) & 255; var _local4 = (pixel >> 16) & 255; var _local5 = (pixel >> 8) & 255; var _local2 = pixel & 255; _local3 = int((_local3 / 256) * _maxPerChannel); _local4 = int((_local4 / 256) * _maxPerChannel); _local5 = int((_local5 / 256) * _maxPerChannel); _local2 = int((_local2 / 256) * _maxPerChannel); var _local7 = (((_local4 * _maxPerChannel) * _maxPerChannel) + (_local5 * _maxPerChannel)) + _local2; if (_encodeAlpha) { _local7 = _local7 + (((_local3 * _maxPerChannel) * _maxPerChannel) * _maxPerChannel); } return(_baseN.encodeUint(_local7, _charsPerPixel)); } function decodePixel(encodedPixel) { var _local3 = 255; var _local5; var _local6; var _local4; var _local7 = 0; var _local2 = _baseN.decodeUint(encodedPixel); _local4 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local6 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); _local5 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); if (_encodeAlpha) { _local3 = _local2 % _maxPerChannel; _local2 = _local2 / int(_maxPerChannel); } return((((_local3 << 24) | (_local5 << 16)) | (_local6 << 8)) | _local4); } static var DEFAULT_HASH = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&"; var _hash = DEFAULT_HASH; var _charsPerPixel = 2; static var WORK_INTERVAL = 33.3333333333333; }
Symbol 277 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile extends com.newgrounds.APIEventDispatcher { static var _currentFile; var _iconLoader, _group, _keys, _ratings, _name, _description, _id, _data, _dataLoader, _fileSize, _readOnly, _draft, _authorId, _authorName, _views, _createdDate, _modifiedDate, dispatchEvent, _encodedIcon, _encodedData, _encoderQueue, _encoding, _dataLoaded, _encodingParent, _encodingProperty, _dataURL; function SaveFile (group) { super(); _iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, null); _group = group; _keys = {}; _ratings = {}; } static function get currentFile() { return(_currentFile); } static function fromObject(group, fileData) { var _local4 = new com.newgrounds.SaveFile(group); _local4._name = fileData.filename; _local4._description = fileData.description; _local4._id = fileData.save_id; _local4._authorId = fileData.user_id; _local4._authorName = fileData.user_name; _local4._createdDate = fileData.created; _local4._modifiedDate = fileData.last_update; _local4._views = fileData.views; if (fileData.thumb && (fileData.thumb != "")) { _local4._iconLoader.__set__url(_imageFilePath + fileData.thumb); } _local4._dataURL = _saveFilePath + fileData.file; _local4._fileSize = fileData.file_size; _local4._approved = fileData.status != STATUS_UNAPPROVED; _local4._readOnly = false; _local4._public = (fileData.status != STATUS_PRIVATE) && (fileData.status != STATUS_UNAPPROVED); for (var _local8 in fileData.keys) { var _local6 = fileData.keys[_local8]; var _local2 = group.getKeyById(_local6.id); if (_local2) { _local4._keys[_local2.__get__name()] = _local2.validateValue(_local6.value); } } for (var _local9 in fileData.ratings) { var _local5 = fileData.ratings[_local9]; var _local3 = group.getRatingById(_local5.id); if (_local3) { _local4._ratings[_local3.__get__name()] = _local3.validateValue(_local5.score); } } return(_local4); } function get group() { return(_group); } function get name() { return(_name); } function set name(val) { _name = val; //return(name); } function get description() { return(_description); } function set description(val) { _description = val; //return(description); } function get id() { return(_id); } function get data() { return(_data); } function set data(val) { _data = val; //return(data); } function get bytesLoaded() { if (_data) { return(bytesTotal); } if (!_dataLoader) { return(0); } return(_dataLoader.getBytesLoaded()); } function get bytesTotal() { return(_fileSize); } function get readOnly() { return(_readOnly); } function get draft() { return(_draft); } function set draft(v) { _draft = v; //return(draft); } function get authorId() { return(_authorId); } function get authorName() { return(_authorName); } function get keys() { return(_keys); } function get ratings() { return(_ratings); } function get views() { return(_views); } function get createdDate() { return(_createdDate); } function get updatedDate() { return(_modifiedDate); } function toString() { return("Save File: " + _name); } function get icon() { return(_iconLoader.__get__bitmapData()); } function set icon(v) { createIcon(v); //return(icon); } function get iconLoaded() { return(_iconLoader.__get__loaded()); } function createIcon(source) { var _local9 = new flash.display.BitmapData(ICON_WIDTH, ICON_HEIGHT, false, 0); var _local6; var _local5; var _local10 = 0; var _local8 = 0; if (source instanceof flash.display.BitmapData) { _local6 = source.width; _local5 = source.height; } else if (source instanceof MovieClip) { _local6 = source._width; _local5 = source._height; var _local7 = MovieClip(source).getBounds(source); _local10 = _local7.xMin; _local8 = _local7.yMin; } var _local3 = new flash.geom.Matrix(); var _local4; _local4 = Math.min(ICON_WIDTH / _local6, ICON_HEIGHT / _local5); _local3.translate(-_local10, -_local8); _local3.scale(_local4, _local4); _local3.translate((ICON_WIDTH - (_local6 * _local4)) / 2, (ICON_HEIGHT - (_local5 * _local4)) / 2); _local9.draw(source, _local3); _iconLoader.__set__bitmapData(_local9); } function attachIcon(parent) { if (_iconLoader) { return(_iconLoader.attachBitmap(parent)); } com.newgrounds.Logger.logError("No icon available for this sumbission."); return(null); } function save() { if (!_group.__get__connection().__get__hasUserSession()) { com.newgrounds.Logger.logError("The user must be logged-in to save a file."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, null, com.newgrounds.APIEvent.ERROR_NOT_LOGGED_IN)); return(undefined); } com.newgrounds.BitmapLoader._cacheSeed++; _currentFile = this; if (iconLoaded) { ICON_IMAGE_SCANNER.encode(icon, onIconEncoded, this); } else { encodeData(true); } } function onIconEncoded(encodedIcon) { _encodedIcon = encodedIcon; encodeData(true); } function doSave() { var _local4 = new com.newgrounds.APICommand("saveFile"); _local4.__get__secureParameters().group = _group.id; _local4.__get__secureParameters().user_name = _group.__get__connection().username; _local4.__get__secureParameters().filename = _name; _local4.__get__secureParameters().description = _description; if (_draft) { _local4.__get__secureParameters().draft = true; } if (_id && (!_readOnly)) { _local4.__get__secureParameters().overwrite = 1; _local4.__get__secureParameters().save_id = _id; } var _local8 = []; for (var _local9 in _keys) { var _local2 = _group.getKey(_local9); if (_local2) { _local8.push({id:_local2.__get__id(), value:_local2.validateValue(_keys[_local9])}); } else { com.newgrounds.Logger.logError(((("No key named \"" + _local9) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().keys = _local8; var _local7 = []; for (var _local10 in _ratings) { var _local3 = _group.getRating(_local10); if (_local3) { _local7.push({id:_local3.__get__id(), value:_local3.validateValue(_ratings[_local10])}); } else { com.newgrounds.Logger.logError(((("No rating named \"" + _local10) + "\" in save group \"") + _group.__get__name()) + "\"."); } } _local4.__get__secureParameters().ratings = _local7; if (typeof(_encodedData) == "string") { _local4.addFile("file", _encodedData, "file"); } else { _local4.addFile("file", com.newgrounds.encoders.json.JSON.encode(_encodedData), "file"); } if (iconLoaded) { _local4.addFile("thumbnail", _encodedIcon, "thumbnail"); } _local4.addEventListener(com.newgrounds.APIEvent.COMMAND_COMPLETE, {target:this, func:onSaveComplete}); _group.__get__connection().sendCommand(_local4); } function encodeData(encode) { _encoderQueue = []; _encoding = encode; if (encode) { _encodedData = _data; preEncodeObject(this, "_encodedData"); } else { preEncodeObject(this, "_data"); } encodeObject(); } function preEncodeObject(parent, property) { var _local3 = parent[property]; var _local5; try { if (_encoding) { _local5 = _local3 instanceof flash.display.BitmapData; } else { _local5 = _local3.type == "__bitmap"; } } catch(error) { } var _local2 = _local3; var _local8; if (_local5) { _encoderQueue.push({parent:parent, property:property}); } else if ((typeof(_local3) == "object") && (!_local8)) { if (_encoding) { if (_local3 instanceof Array) { _local2 = []; } else { _local2 = {}; } for (var _local4 in _local3) { _local2[_local4] = _local3[_local4]; } parent[property] = _local2; } for (var _local4 in _local2) { preEncodeObject(_local2, _local4); } } } function encodeObject() { if (!_encoderQueue.length) { if (_encoding) { doSave(); } else { _dataLoaded = true; checkLoadComplete(); } return(undefined); } var _local6 = _encoderQueue.pop(); var _local4 = _local6.parent; var _local3 = _local6.property; var _local2 = _local4[_local3]; var _local5; if (_encoding) { _local5 = {type:"__bitmap", width:_local2.width, height:_local2.height, transparent:_local2.transparent}; _local4[_local3] = _local5; _encodingParent = _local5; _encodingProperty = "data"; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.encode(flash.display.BitmapData(_local2), encodeBitmapComplete, this); } else { _encodingParent = _local4; _encodingProperty = _local3; DATA_IMAGE_SCANNER.__set__encodeAlpha(_local2.transparent); DATA_IMAGE_SCANNER.decode(String(_local2.data), encodeBitmapComplete, this); } } function encodeBitmapComplete(data) { _encodingParent[_encodingProperty] = data; encodeObject(); } function load() { _currentFile = this; _dataLoaded = false; _data = null; if (!iconLoaded) { _iconLoader.addEventListener(com.newgrounds.APIEvent.ICON_LOADED, {target:this, func:onIconLoaded}); _iconLoader.load(); } _dataLoader = new LoadVars(); var file = this; _dataLoader.onData = function (data) { file.onDataLoaded(data); }; _dataLoader.load(_dataURL); } function onIconLoaded(event) { if ((!event.__get__success()) && (_iconLoader.__get__url())) { com.newgrounds.Logger.logWarning("Unable to load the icon for this save file."); } _iconLoader.removeEventListener(com.newgrounds.APIEvent.ICON_LOADED, onIconLoaded); checkLoadComplete(); } function checkLoadComplete() { if (_dataLoaded && (iconLoaded)) { com.newgrounds.Logger.logMessage("Data loaded."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this)); } } function onDataLoaded(data) { try { if (data) { if (data.charAt(0) == "{") { _data = com.newgrounds.encoders.json.JSON.decode(String(data)); } else { _data = String(data); } encodeData(false); } } catch(error:Error) { com.newgrounds.Logger.logError("Error while loading data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } } function onDataError(error) { com.newgrounds.Logger.logError("Unable to load data:", error); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_LOADED, this, com.newgrounds.APIEvent.ERROR_BAD_FILE)); } function onSaveComplete(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage(("File \"" + _name) + "\" saved!"); if (event.__get__data()) { _id = event.__get__data().save_id; _dataURL = unescape(event.__get__data().file_url); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this)); } else { com.newgrounds.Logger.logError(("Error saving file \"" + _name) + "\":", event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.FILE_SAVED, this, event.__get__error())); } } function sendVote(ratingName, vote) { var _local2 = _group.getRating(ratingName); if (!_local2) { com.newgrounds.Logger.logError(("No save rating named \"" + ratingName) + "\" exists for this save group."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } vote = _local2.validateValue(vote); if (isNaN(vote)) { com.newgrounds.Logger.logError(((((((("Invalid vote (" + vote) + "). ") + ratingName) + " allows a range of ") + _local2.__get__minimum()) + "-") + _local2.__get__maximum()) + "."); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, {}, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } com.newgrounds.Logger.logMessage(((((("Voting " + vote) + " for ") + ratingName) + " on ") + _name) + "..."); _group.__get__connection().sendSimpleCommand("rateSaveFile", {target:this, func:onVoteComplete}, null, {group:_group.__get__id(), save_id:_id, rating_id:_local2.__get__id(), vote:vote}); } function onVoteComplete(event) { var _local2 = event.__get__error(); if (event.__get__data().already_voted) { com.newgrounds.Logger.logError("Vote failed. You've already voted on this rating today."); _local2 = com.newgrounds.APIEvent.ERROR_ALREADY_VOTED; } if (_local2 == com.newgrounds.APIEvent.ERROR_NONE) { var _local3 = _group.getRatingById(event.__get__data().rating_id); if (_local3) { _ratings[_local3.__get__name()] = _local3.validateValue(event.__get__data().score); } com.newgrounds.Logger.logMessage("Vote complete!"); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.VOTE_COMPLETE, this, _local2)); } function clone() { var _local3 = new com.newgrounds.SaveFile(_group); _local3._data = _data; _local3._description = _description; _local3._draft = _draft; _local3._fileSize = _fileSize; _local3._iconLoader.__set__bitmapData(_iconLoader.bitmapData); var _local2; for (_local2 in _keys) { _local3._keys[_local2] = _keys[_local2]; } for (_local2 in _ratings) { _local3._ratings[_local2] = _ratings[_local2]; } _local3._name = _name; return(_local3); } static var ICON_WIDTH = 90; static var ICON_HEIGHT = 90; static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultSaveIcon"); static var STATUS_PRIVATE = 0; static var STATUS_SHARED = 1; static var STATUS_UNAPPROVED = 2; static var STATUS_APPROVED = 3; static var _imageFilePath = ""; static var _saveFilePath = ""; static var ICON_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(); static var DATA_IMAGE_SCANNER = new com.newgrounds.encoders.ImageScanner(64, 6); }
Symbol 275 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup { var _connection, _id, _name, _type, _keysArray, _ratingsArray, _keys, _ratings; function SaveGroup (connection, name, id, type, keys, ratings) { _connection = connection; _id = id; _name = name; _type = type; _keysArray = keys; _ratingsArray = ratings; _keys = new Object(); _ratings = new Object(); var _local11; for (var _local7 in keys) { var _local2 = keys[_local7]; _keys[_local2.__get__name()] = _local2; } for (var _local6 in ratings) { var _local3 = ratings[_local6]; _ratings[_local3.__get__name()] = _local3; } } function get connection() { return(_connection); } function get name() { return(_name); } function get type() { return(_type); } function get id() { return(_id); } function get keys() { return(_keysArray); } function get ratings() { return(_ratingsArray); } function getKey(name) { return(_keys[name]); } function getRating(name) { return(_ratings[name]); } function getKeyById(id) { for (var _local4 in _keys) { var _local2 = _keys[_local4]; if (_local2.__get__id() == id) { return(_local2); } } return(null); } function getRatingById(id) { for (var _local4 in _ratings) { var _local2 = _ratings[_local4]; if (_local2.__get__id() == id) { return(_local2); } } return(null); } function toString() { return((((("SaveGroup: " + name) + " Keys: ") + _keysArray) + " Ratings: ") + _ratingsArray); } static var TYPE_SYSTEM = 0; static var TYPE_PRIVATE = 1; static var TYPE_PUBLIC = 2; static var TYPE_MODERATED = 3; }
Symbol 273 MovieClip [__Packages.com.newgrounds.SaveKey] Frame 0
class com.newgrounds.SaveKey { var _name, _id, _type; function SaveKey (name, id, type) { _name = name; _id = id; _type = type; } function get name() { return(_name); } function get id() { return(_id); } function get type() { return(_type); } function validateValue(value) { switch (_type) { case TYPE_INTEGER : value = Number(value); if (!isNaN(value)) { var _local3 = int(value); if (_local3 != value) { com.newgrounds.Logger.logWarning(((((("Float value " + value) + " given for integer key \"") + _name) + "\". Clamping to ") + _local3) + "."); } return(_local3); } break; case TYPE_FLOAT : value = Number(value); if (!isNaN(value)) { return(isNaN(Number(value))); } break; case TYPE_BOOLEAN : return(Boolean(value)); case TYPE_STRING : return((value ? (value.toString()) : "")); } return(null); } function toString() { return(_name); } static var TYPE_FLOAT = 1; static var TYPE_INTEGER = 2; static var TYPE_STRING = 3; static var TYPE_BOOLEAN = 4; }
Symbol 274 MovieClip [__Packages.com.newgrounds.SaveRating] Frame 0
class com.newgrounds.SaveRating { var _name, _id, _isFloat, _minimum, _maximum; function SaveRating (name, id, isFloat, minimum, maximum) { _name = name; _id = id; _isFloat = isFloat; _minimum = minimum; _maximum = maximum; } function get name() { return(_name); } function get id() { return(_id); } function get isFloat() { return(_isFloat); } function get minimum() { return(_minimum); } function get maximum() { return(_maximum); } function validateValue(value) { var _local2 = Number(value); if (isNaN(_local2)) { com.newgrounds.Logger.logError(("Invalid value for rating \"" + _name) + "\"."); return(NaN); } if (_local2 < _minimum) { com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _minimum) + "."); return(_minimum); } if (_local2 > _maximum) { com.newgrounds.Logger.logWarning(((((_local2 + " is out of acceptable range for rating \"") + _name) + "\". Clamping to ") + _maximum) + "."); return(_maximum); } if (!isFloat) { var _local3 = int(_local2); if (_local3 != _local2) { com.newgrounds.Logger.logWarning(((((("Float value " + _local2) + " given for integer rating \"") + _name) + "\". Clamping to ") + _local3) + "."); } return(_local3); } return(_local2); } function toString() { return(_name); } }
Symbol 269 MovieClip [__Packages.com.newgrounds.BitmapLoader] Frame 0
class com.newgrounds.BitmapLoader extends com.newgrounds.APIEventDispatcher { var _bitmapData, _url, _loader, _loaderClip, dispatchEvent; function BitmapLoader (defaultBitmap, url) { super(); _bitmapData = defaultBitmap; _url = url; } function get url() { return(_url); } function set url(v) { _loaded = false; _url = v; //return(url); } function get bitmapData() { return(_bitmapData); } function set bitmapData(v) { _bitmapData = v; _loaded = true; //return(bitmapData); } function get loaded() { return(_loaded); } function disposeLoader() { if (_loader) { if (_loaderClip._parent == _root) { _loader.unloadClip(_loaderClip.bitmap); _loaderClip.removeMovieClip(); } _loader = null; _loaderClip = null; } } function load() { if ((!_url) || (_url == "")) { onLoadComplete(); return(undefined); } _loaded = false; if (_bitmapData) { _bitmapData.dispose(); _bitmapData = null; } disposeLoader(); attachBitmap(null); } function attachBitmap(parent) { if (!parent) { parent = _root; } var _local5 = parent.getNextHighestDepth(); var _local3 = parent.createEmptyMovieClip("__bitmap" + _local5, _local5); if (((!_loaded) && (_url)) && (_url != "")) { _local3.createEmptyMovieClip("bitmap", 0); _loader = new MovieClipLoader(); _loaderClip = _local3; if (parent == _root) { _loaderClip._visible = false; } var thisObj = this; _loaderClip.onEnterFrame = function () { thisObj.pollLoad(); }; _loader.addListener({onLoadError:function () { thisObj.onLoadComplete(); }}); _loader.loadClip(_url, _local3.bitmap); } else { _local3.attachBitmap(_bitmapData, 0); } return(_local3); } function pollLoad() { if (_loaderClip._width) { onLoadComplete(); } } function onLoadComplete() { var _local2; if ((_loader && (_loaderClip)) && (_loaderClip._width)) { try { _loaderClip.onEnterFrame = null; _local2 = new flash.display.BitmapData(_loaderClip._width, _loaderClip._height, true, 0); _local2.draw(_loaderClip); _bitmapData = _local2; _loaded = true; } catch(error) { if (_local2) { _local2.dispose(); } } } disposeLoader(); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.ICON_LOADED, this, (_loaded ? null : (com.newgrounds.APIEvent.ERROR_BAD_FILE)))); } static var _cacheSeed = 0; var _loaded = true; }
Symbol 278 MovieClip [__Packages.com.newgrounds.SaveQuery] Frame 0
class com.newgrounds.SaveQuery extends com.newgrounds.APIEventDispatcher { var _group, _connection, _files, _lookupKeys, _lookupRatings, _fileConditions, _keyConditions, _ratingConditions, _sortFields, dispatchEvent; function SaveQuery (group) { super(); _group = group; _connection = group.connection; reset(); } function get group() { return(_group); } function get resultsPerPage() { return(_resultsPerPage); } function set resultsPerPage(val) { _resultsPerPage = Math.min(Math.max(val, 1), 100); //return(resultsPerPage); } function get page() { return(_page); } function set page(val) { _page = Math.max(val, 1); //return(page); } function prevPage() { page = ((page-1)); } function nextPage() { page = ((page+1)); } function get isRandomized() { return(_isRandomized); } function set isRandomized(val) { _isRandomized = val; //return(isRandomized); } function get files() { return(_files); } function reset() { _page = 1; _resultsPerPage = 10; _isRandomized = false; _lookupKeys = []; _lookupRatings = []; _fileConditions = []; _keyConditions = []; _ratingConditions = []; _sortFields = []; _files = []; includeAllFields(); } function clone() { var _local2 = new com.newgrounds.SaveQuery(_group); _local2._page = _page; _local2._resultsPerPage = _resultsPerPage; _local2._isRandomized = _isRandomized; _local2._lookupKeys = _lookupKeys.concat(); _local2._lookupRatings = _lookupRatings.concat(); _local2._fileConditions = _fileConditions.concat(); _local2._keyConditions = _keyConditions.concat(); _local2._ratingConditions = _ratingConditions.concat(); return(_local2); } function includeAllFields() { for (var _local5 in _group.__get__keys()) { var _local2 = _group.__get__keys()[_local5]; _lookupKeys.push(_local2.__get__id()); } for (var _local4 in _group.__get__ratings()) { var _local3 = _group.__get__ratings()[_local4]; _lookupRatings.push(_local3.__get__id()); } } function addCondition(field, operator, value) { var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _fileConditions.push({field:_local2, operator:operator, value:value}); } else { var _local3 = _group.getKey(field); if (_local3) { value = _local3.validateValue(value); _keyConditions.push({key_id:_local3.__get__id(), operator:operator, value:value}); return(undefined); } var _local4 = field.split("."); var _local6 = _group.getRating(_local4[0]); if (_local6) { value = _local6.validateValue(value); _ratingConditions.push({rating_id:_local6.__get__id(), operator:operator, value:value, column:(_local4[1] ? (_local4[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function sortOn(field, sortDescending) { if (sortDescending == undefined) { sortDescending = false; } var _local2; _local2 = 0; while (_local2 < FILE_FIELDS.length) { if (FILE_FIELDS[_local2] == field) { break; } _local2++; } if (_local2 == FILE_FIELDS.length) { _local2 = -1; } if (_local2 >= 0) { _sortFields.push({table:TABLE_FILES, field:_local2, desc:sortDescending}); } else { var _local5 = _group.getKey(field); if (_local5) { _sortFields.push({table:TABLE_KEYS, field:_local5.__get__id(), desc:sortDescending}); return(undefined); } var _local3 = field.split("."); var _local6 = _group.getRating(_local3[0]); if (_local6) { _sortFields.push({table:TABLE_RATINGS, field:_local6.__get__id(), desc:sortDescending, extra:(_local3[1] ? (_local3[1]) : "score")}); return(undefined); } com.newgrounds.Logger.logError(((("The save group \"" + _group.__get__name()) + "\" does not have a field named \"") + field) + "\"."); } } function execute() { var _local5 = {}; _local5.page = _page; _local5.num_results = _resultsPerPage; if (_isRandomized) { _local5.randomize = 1; } if (_lookupKeys && (_lookupKeys.length)) { _local5.lookup_keys = _lookupKeys; } if (_lookupRatings && (_lookupRatings.length)) { _local5.lookup_ratings = _lookupRatings; } if (_fileConditions && (_fileConditions.length)) { _local5.file_conditions = _fileConditions; } if (_keyConditions && (_keyConditions.length)) { _local5.key_conditions = _keyConditions; } if (_ratingConditions && (_ratingConditions.length)) { _local5.rating_conditions = _ratingConditions; } if (_sortFields && (_sortFields.length)) { _local5.sort_conditions = _sortFields; } _connection.sendSimpleCommand("lookupSaveFiles", {target:this, func:onQueryComplete}, {publisher_id:_connection.publisherId, group_id:_group.__get__id(), query:_local5}); } function onQueryComplete(event) { if (event.__get__success()) { var _local4 = event.__get__data(); _files = []; if (_local4.files) { var _local2 = 0; while (_local2 < _local4.files.length) { var _local3 = com.newgrounds.SaveFile.fromObject(_group, _local4.files[_local2]); if (_local3) { _files.push(_local3); } _local2++; } } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this)); } else { com.newgrounds.Logger.logError("Query failed: " + event.__get__error()); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.QUERY_COMPLETE, this, event.__get__error())); } } static var FILE_ID = "fileId"; static var AUTHOR_ID = "authorId"; static var AUTHOR_NAME = "authorName"; static var FILE_NAME = "fileName"; static var CREATED_ON = "createdOn"; static var UPDATED_ON = "updatedOn"; static var FILE_VIEWS = "fileViews"; static var FILE_STATUS = "fileStatus"; static var FILE_FIELDS = [FILE_ID, AUTHOR_ID, AUTHOR_NAME, FILE_NAME, CREATED_ON, UPDATED_ON, FILE_VIEWS, FILE_STATUS]; static var OPERATOR_EQUAL = "="; static var OPERATOR_LESS_THAN = "<"; static var OPERATOR_GREATER_THAN = ">"; static var OPERATOR_NOT_EQUAL = "!="; static var OPERATOR_LESS_OR_EQUAL = "<="; static var OPERATOR_GREATER_OR_EQUAL = ">="; static var OPERATOR_CONTAINS = "*"; static var OPERATOR_NOT_CONTAINS = "!*"; static var OPERATOR_NOT_BEGINS_WITH = "!*="; static var OPERATOR_NOT_ENDS_WITH = "!=*"; static var OPERATOR_BEGINS_WITH = "*="; static var OPERATOR_ENDS_WITH = "=*"; static var TABLE_FILES = 1; static var TABLE_KEYS = 2; static var TABLE_RATINGS = 3; var _page = 1; var _resultsPerPage = 10; var _isRandomized = false; }
Symbol 270 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal extends com.newgrounds.APIEventDispatcher { var _connection, _id, _name, _description, _secret, _unlocked, _value, _difficulty, _iconLoader, dispatchEvent; function Medal (connection, id, name, description, secret, unlocked, value, difficultyId, iconURL) { super(); _connection = connection; _id = id; _name = name; _description = description; _secret = secret; _unlocked = unlocked; _value = value; _difficulty = DIFFICULTIES[difficultyId]; _iconLoader = new com.newgrounds.BitmapLoader(DEFAULT_ICON, iconURL); _iconLoader.load(); } function get difficulty() { return(_difficulty); } function get icon() { return(_iconLoader.__get__bitmapData()); } function get id() { return(_id); } function get name() { return(_name); } function get description() { return(_description); } function get secret() { return(_secret); } function get unlocked() { return(_unlocked); } function get value() { return(_value); } function toString() { return((((((("Medal: " + _name) + "\t\t(") + (_unlocked ? "unlocked, " : "locked, ")) + _value) + "pts, ") + _difficulty) + ")"); } function attachIcon(parent) { return(_iconLoader.attachBitmap(parent)); } function unlock() { if (_unlocked) { com.newgrounds.Logger.logWarning(("Medal \"" + _name) + "\" is already unlocked."); return(undefined); } com.newgrounds.Logger.logMessage(("Unlocking medal \"" + name) + "\"..."); _unlocked = true; if (_connection.__get__hasUserSession()) { _connection.sendSimpleCommand("unlockMedal", {target:this, func:onUnlockConfirmed}, null, {medal_id:id}); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCKED, this)); } function setUnlocked(unlocked) { _unlocked = unlocked; } function onUnlockConfirmed(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage(("Medal \"" + name) + "\" unlocked."); } else { com.newgrounds.Logger.logError(("Failed to unlock \"" + name) + "\"!"); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.MEDAL_UNLOCK_CONFIRMED, this, event.__get__error())); } static var ICON_WIDTH = 50; static var ICON_HEIGHT = 50; static var DEFAULT_ICON = flash.display.BitmapData.loadBitmap("DefaultMedalIcon"); static var DIFFICULTY_EASY = "Easy"; static var DIFFICULTY_MODERATE = "Moderate"; static var DIFFICULTY_CHALLENGING = "Challenging"; static var DIFFICULTY_DIFFICULT = "Difficult"; static var DIFFICULTY_BRUTAL = "Brutal"; static var DIFFICULTIES = ["Unknown", DIFFICULTY_EASY, DIFFICULTY_MODERATE, DIFFICULTY_CHALLENGING, DIFFICULTY_DIFFICULT, DIFFICULTY_BRUTAL]; }
Symbol 272 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard extends com.newgrounds.APIEventDispatcher { var _connection, _name, _id, _scores, _tag, dispatchEvent; function ScoreBoard (connection, name, id) { super(); _connection = connection; _name = name; _id = id; } function get name() { return(_name); } function get scores() { return(_scores); } function get period() { return(_period); } function set period(val) { _period = val; //return(period); } function get firstResult() { return(_firstResult); } function set firstResult(val) { _firstResult = Math.max(1, val); //return(firstResult); } function get numResults() { return(_numResults); } function set numResults(val) { _numResults = val; //return(numResults); } function get tag() { return(_tag); } function set tag(val) { _tag = val; //return(tag); } function get page() { return(Math.ceil((_firstResult - 1) / _numResults) + 1); } function prevPage() { if (firstResult > _numResults) { firstResult = firstResult - _numResults; } } function nextPage() { firstResult = firstResult + _numResults; } function loadScores() { _connection.sendSimpleCommand("loadScores", {target:this, func:onScoresLoaded}, {publisher_id:_connection.publisherId, board:_id, page:((_firstResult - 1) / _numResults) + 1, num_results:_numResults, period:_period, tag:_tag}); } function postScore(numericScore, tag) { if (tag == undefined) { tag = null; } if (isNaN(numericScore)) { com.newgrounds.Logger.logError("Cannot post invalid score: " + numericScore); dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, null, com.newgrounds.APIEvent.ERROR_INVALID_ARGUMENT)); return(undefined); } com.newgrounds.Logger.logMessage(((((("Posting a score of " + numericScore) + " by ") + _connection.username) + " to scoreboard \"") + _name) + "\"..."); _connection.sendSimpleCommand("postScore", {target:this, func:onScorePosted}, null, {user_name:_connection.username, board:_id, value:numericScore, tag:tag}); } function onScoresLoaded(event) { var _local4 = event.__get__data(); _scores = []; var _local5; if (_local4.first_result) { _local5 = _local4.first_result; } else { _local5 = _firstResult; } if (_local4.scores) { var _local3 = 0; while (_local3 < _local4.scores.length) { var _local2 = _local4.scores[_local3]; if (_local2) { _scores[_local3] = new com.newgrounds.Score(_local5, _local2.username, _local2.value, _local2.numeric_value, _local2.tag); } _local3++; _local5++; } } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORES_LOADED, this)); } function onScorePosted(event) { if (event.__get__success()) { com.newgrounds.Logger.logMessage("Score posted!"); var _local4 = event.__get__data(); var _local2 = {}; _local2.score = _local4.value; _local2.scoreBoard = this; } else { com.newgrounds.Logger.logError("Error posting score: " + event.__get__error()); } dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.SCORE_POSTED, _local2, event.__get__error())); } function toString() { return("Scoreboard: " + _name); } static var TODAY = "Today"; static var THIS_WEEK = "This Week"; static var THIS_MONTH = "This Month"; static var THIS_YEAR = "This Year"; static var ALL_TIME = "All-Time"; var _period = ALL_TIME; var _firstResult = 1; var _numResults = 10; }
Symbol 261 MovieClip [__Packages.com.newgrounds.Logger] Frame 0
class com.newgrounds.Logger { function Logger () { } static function logInternal() { var _local2 = arguments; log(PRIORITY_INTERNAL, _local2); } static function logMessage() { var _local2 = arguments; log(PRIORITY_MESSAGE, _local2); } static function logWarning() { var _local2 = arguments; log(PRIORITY_WARNING, _local2); } static function logError() { var _local2 = arguments; log(PRIORITY_ERROR, _local2); } static function log(priority, messages) { if (priority == undefined) { priority = PRIORITY_MESSAGE; } if (messages == undefined) { messages = null; } if (priority >= _messageLevel) { var _local1 = 0; while (_local1 < messages.length) { trace(HEADER + messages[_local1]); _eventDispatcher.dispatchEvent(new com.newgrounds.APIEvent(com.newgrounds.APIEvent.LOG, messages[_local1])); _local1++; } } if (priority >= _throwLevel) { throw new Error(messages.join(newline)); } } static function addEventListener(event, listener) { _eventDispatcher.addEventListener(event, listener, false, 0, false); } static var PRIORITY_INTERNAL = 0; static var PRIORITY_MESSAGE = 1; static var PRIORITY_WARNING = 2; static var PRIORITY_ERROR = 3; static var PRIORITY_MAX = 4; static var HEADER = "[Newgrounds API] :: "; static var _eventDispatcher = new com.newgrounds.EventDispatcher(); static var _messageLevel = PRIORITY_MESSAGE; static var _throwLevel = PRIORITY_MAX; }
Symbol 280 MovieClip [__Packages.com.newgrounds.components.FlashAdBase] Frame 0
class com.newgrounds.components.FlashAdBase extends MovieClip { var gotoAndStop, _x, _y, stop, onUnload, _adListener, adContainer, newgroundsButton, _fullScreen, clear, _ad, _adFeedLoader, _width, _height, beginFill, moveTo, lineTo, endFill; function FlashAdBase () { super(); try { System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); } catch(error) { } gotoAndStop("idle"); _x = int(_x); _y = int(_y); stop(); if (_newgroundsButton) { _newgroundsButton.onRelease = onNGClick; } onUnload = removeAd; var _local4 = this; _adListener = {onLoadError:function (target, error, httpStatus) { target._parent.onAdError(target, error, httpStatus); }}; if (fullScreen) { drawFullScreenRect(); } if (com.newgrounds.API.__get__adFeedURL()) { loadAdFeed(); } else { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.API_CONNECTED, {target:this, func:loadAdFeed}); } } function get _adContainer() { return(adContainer); } function get _newgroundsButton() { return(newgroundsButton); } function get fullScreen() { return(_fullScreen); } function set fullScreen(v) { _fullScreen = v; if (v) { drawFullScreenRect(); } else { clear(); } //return(fullScreen); } function get showBorder() { return(_showBorder); } function set showBorder(value) { _showBorder = value; if (_showBorder) { if (_ad) { var _local2 = _ad.getProgress(_adContainer); if (_local2.bytesLoaded >= _local2.bytesTotal) { gotoAndStop("loaded"); } else { gotoAndStop("loading"); } } else { gotoAndStop("idle"); } } else { gotoAndStop("noBorder"); } //return(showBorder); } function loadAdFeed(event) { if (event == undefined) { event = null; } _adFeedLoader = new LoadVars(); var target = this; _adFeedLoader.onData = function (data) { target.onAdFeedLoaded(data); }; _adFeedLoader.load(com.newgrounds.API.__get__adFeedURL(), _adFeedLoader); } function onAdFeedLoaded(data) { if (data && (data != "")) { loadAd(data); } else { onAdError(); } } function loadAd(adURL) { if (adType != VIDEO_ADS) { if (adURL.indexOf("?") >= 0) { adURL = adURL + "&"; } else { adURL = adURL + "?"; } adURL = adURL + "blockoverlays=1"; } _ad = new MovieClipLoader(); _ad.addListener(_adListener); _adContainer._lockroot = true; _ad.loadClip(adURL, _adContainer); } function removeAd() { _adFeedLoader.onData = null; _adFeedLoader = null; _ad.removeListener(_adListener); if (_adContainer) { _ad.unloadClip(_adContainer); } _ad = null; } function onAdError(target, error, httpStatus) { com.newgrounds.Logger.logError("Unable to load ad."); removeAd(); } function onNGClick() { com.newgrounds.API.loadNewgrounds(); } function drawFullScreenRect() { _x = (Stage.width - _width) / 2; _y = (Stage.height - _height) / 2; beginFill(0); moveTo(-Stage.width, -Stage.height); lineTo(Stage.width, -Stage.height); lineTo(Stage.width, Stage.height); lineTo(-Stage.width, Stage.height); lineTo(-Stage.width, -Stage.height); endFill(); } var _showBorder = true; var adType = com.newgrounds.components.FlashAdBase.prototype.VIDEO_ADS; var VIDEO_ADS = "Video"; var SIMPLE_ADS = "Simple"; }
Symbol 255 MovieClip [__Packages.com.newgrounds.shims.APIShim] Frame 0
class com.newgrounds.shims.APIShim extends MovieClip { function APIShim () { super(); } }
Symbol 265 MovieClip [__Packages.com.newgrounds.crypto.MD5] Frame 0
class com.newgrounds.crypto.MD5 { function MD5 () { } static function hash(src) { return(hex_md5(src)); } static function hex_md5(src) { return(binl2hex(core_md5(str2binl(src), src.length * 8))); } static function core_md5(x, len) { x[len >> 5] = x[len >> 5] | (128 << (len % 32)); x[(((len + 64) >>> 9) << 4) + 14] = len; var _local4 = 1732584193 /* 0x67452301 */; var _local3 = -271733879; var _local2 = -1732584194; var _local1 = 271733878 /* 0x10325476 */; var _local5 = 0; while (_local5 < x.length) { var _local10 = _local4; var _local9 = _local3; var _local8 = _local2; var _local7 = _local1; _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 0], 7, -680876936); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 1], 12, -389564586); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 2], 17, 606105819); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 3], 22, -1044525330); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 4], 7, -176418897); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 5], 12, 1200080426); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 6], 17, -1473231341); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 7], 22, -45705983); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 8], 7, 1770035416); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 9], 12, -1958414417); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 10], 17, -42063); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 11], 22, -1990404162); _local4 = md5_ff(_local4, _local3, _local2, _local1, x[_local5 + 12], 7, 1804603682); _local1 = md5_ff(_local1, _local4, _local3, _local2, x[_local5 + 13], 12, -40341101); _local2 = md5_ff(_local2, _local1, _local4, _local3, x[_local5 + 14], 17, -1502002290); _local3 = md5_ff(_local3, _local2, _local1, _local4, x[_local5 + 15], 22, 1236535329); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 1], 5, -165796510); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 6], 9, -1069501632); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 11], 14, 643717713); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 0], 20, -373897302); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 5], 5, -701558691); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 10], 9, 38016083); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 15], 14, -660478335); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 4], 20, -405537848); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 9], 5, 568446438); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 14], 9, -1019803690); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 3], 14, -187363961); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 8], 20, 1163531501); _local4 = md5_gg(_local4, _local3, _local2, _local1, x[_local5 + 13], 5, -1444681467); _local1 = md5_gg(_local1, _local4, _local3, _local2, x[_local5 + 2], 9, -51403784); _local2 = md5_gg(_local2, _local1, _local4, _local3, x[_local5 + 7], 14, 1735328473); _local3 = md5_gg(_local3, _local2, _local1, _local4, x[_local5 + 12], 20, -1926607734); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 5], 4, -378558); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 8], 11, -2022574463); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 11], 16, 1839030562); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 14], 23, -35309556); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 1], 4, -1530992060); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 4], 11, 1272893353); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 7], 16, -155497632); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 10], 23, -1094730640); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 13], 4, 681279174); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 0], 11, -358537222); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 3], 16, -722521979); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 6], 23, 76029189); _local4 = md5_hh(_local4, _local3, _local2, _local1, x[_local5 + 9], 4, -640364487); _local1 = md5_hh(_local1, _local4, _local3, _local2, x[_local5 + 12], 11, -421815835); _local2 = md5_hh(_local2, _local1, _local4, _local3, x[_local5 + 15], 16, 530742520); _local3 = md5_hh(_local3, _local2, _local1, _local4, x[_local5 + 2], 23, -995338651); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 0], 6, -198630844); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 7], 10, 1126891415); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 14], 15, -1416354905); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 5], 21, -57434055); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 12], 6, 1700485571); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 3], 10, -1894986606); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 10], 15, -1051523); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 1], 21, -2054922799); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 8], 6, 1873313359); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 15], 10, -30611744); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 6], 15, -1560198380); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 13], 21, 1309151649); _local4 = md5_ii(_local4, _local3, _local2, _local1, x[_local5 + 4], 6, -145523070); _local1 = md5_ii(_local1, _local4, _local3, _local2, x[_local5 + 11], 10, -1120210379); _local2 = md5_ii(_local2, _local1, _local4, _local3, x[_local5 + 2], 15, 718787259); _local3 = md5_ii(_local3, _local2, _local1, _local4, x[_local5 + 9], 21, -343485551); _local4 = safe_add(_local4, _local10); _local3 = safe_add(_local3, _local9); _local2 = safe_add(_local2, _local8); _local1 = safe_add(_local1, _local7); _local5 = _local5 + 16; } return(new Array(_local4, _local3, _local2, _local1)); } static function md5_cmn(q, a, b, x, s, t) { return(safe_add(bit_rol(safe_add(safe_add(a, q), safe_add(x, t)), s), b)); } static function md5_ff(a, b, c, d, x, s, t) { return(md5_cmn((b & c) | ((~b) & d), a, b, x, s, t)); } static function md5_gg(a, b, c, d, x, s, t) { return(md5_cmn((b & d) | (c & (~d)), a, b, x, s, t)); } static function md5_hh(a, b, c, d, x, s, t) { return(md5_cmn((b ^ c) ^ d, a, b, x, s, t)); } static function md5_ii(a, b, c, d, x, s, t) { return(md5_cmn(c ^ (b | (~d)), a, b, x, s, t)); } static function bit_rol(num, cnt) { return((num << cnt) | (num >>> (32 - cnt))); } static function safe_add(x, y) { var _local1 = (x & 65535) + (y & 65535); var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16); return((_local2 << 16) | (_local1 & 65535)); } static function str2binl(str) { var _local3 = new Array(); var _local4 = 255; var _local1 = 0; while (_local1 < (str.length * 8)) { _local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / 8) & _local4) << (_local1 % 32)); _local1 = _local1 + 8; } return(_local3); } static function binl2hex(binarray) { var _local4 = new String(""); var _local3 = new String("0123456789abcdef"); var _local1 = 0; while (_local1 < (binarray.length * 4)) { _local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((_local1 % 4) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((_local1 % 4) * 8)) & 15)); _local1++; } return(_local4); } }
Symbol 266 MovieClip [__Packages.com.newgrounds.crypto.RC4] Frame 0
class com.newgrounds.crypto.RC4 { function RC4 () { } static function encrypt(src, key) { var _local3 = strToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(charsToHex(_local2)); } static function encryptbin(src, key) { var _local3 = strToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(_local2); } static function decrypt(src, key) { var _local3 = hexToChars(src); var _local1 = strToChars(key); var _local2 = calculate(_local3, _local1); return(charsToStr(_local2)); } static function initialize(pwd) { var _local2 = 0; var _local3; var _local4 = pwd.length; var _local1 = 0; while (_local1 <= 255) { mykey[_local1] = pwd[_local1 % _local4]; sbox[_local1] = _local1; _local1++; } _local1 = 0; while (_local1 <= 255) { _local2 = ((_local2 + sbox[_local1]) + mykey[_local1]) % 256; _local3 = sbox[_local1]; sbox[_local1] = sbox[_local2]; sbox[_local2] = _local3; _local1++; } } static function calculate(plaintxt, psw) { initialize(psw); var _local1 = 0; var _local2 = 0; var _local9 = new Array(); var _local7; var _local5; var _local6; var _local3 = 0; while (_local3 < plaintxt.length) { _local1 = (_local1 + 1) % 256; _local2 = (_local2 + sbox[_local1]) % 256; _local5 = sbox[_local1]; sbox[_local1] = sbox[_local2]; sbox[_local2] = _local5; var _local4 = (sbox[_local1] + sbox[_local2]) % 256; _local7 = sbox[_local4]; _local6 = plaintxt[_local3] ^ _local7; _local9.push(_local6); _local3++; } return(_local9); } static function charsToHex(chars) { var _local4 = new String(""); var _local3 = new Array("0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f"); var _local1 = 0; while (_local1 < chars.length) { _local4 = _local4 + (_local3[chars[_local1] >> 4] + _local3[chars[_local1] & 15]); _local1++; } return(_local4); } static function hexToChars(hex) { var _local3 = new Array(); var _local1 = ((hex.substr(0, 2) == "0x") ? 2 : 0); while (_local1 < hex.length) { _local3.push(parseInt(hex.substr(_local1, 2), 16)); _local1 = _local1 + 2; } return(_local3); } static function charsToStr(chars) { var _local3 = new String(""); var _local1 = 0; while (_local1 < chars.length) { _local3 = _local3 + String.fromCharCode(chars[_local1]); _local1++; } return(_local3); } static function strToChars(str) { var _local3 = new Array(); var _local1 = 0; while (_local1 < str.length) { _local3.push(str.charCodeAt(_local1)); _local1++; } return(_local3); } static var sbox = new Array(255); static var mykey = new Array(255); }
Symbol 267 MovieClip [__Packages.com.newgrounds.encoders.json.JSON] Frame 0
class com.newgrounds.encoders.json.JSON { static var start, cache, interval; function JSON () { } static function encode(arg, noquotes) { var _local3; var _local2; var _local6; var _local1 = ""; var _local4; if (arg.isSServerVar()) { var _local8 = "sservervariable"; } else { var _local8 = typeof(arg); } switch (_local8) { case "sservervariable" : return("?" + arg.getEncodedValue()); case "object" : if (arg) { if (arg instanceof Array) { _local2 = 0; while (_local2 < arg.length) { _local4 = encode(arg[_local2]); if (_local1) { _local1 = _local1 + ","; } _local1 = _local1 + _local4; _local2++; } return(("[" + _local1) + "]"); } if (typeof(arg.toString) != "undefined") { for (_local2 in arg) { _local4 = arg[_local2]; if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) { _local4 = encode(_local4); if (_local1) { _local1 = _local1 + ","; } _local1 = _local1 + ((encode(_local2) + ":") + _local4); } } return(("{" + _local1) + "}"); } } return("null"); case "number" : return((isFinite(arg) ? (String(arg)) : "null")); case "string" : _local6 = arg.length; if (noquotes) { var _local7 = ""; } else { var _local7 = "\""; } _local1 = _local7; _local2 = 0; while (_local2 < _local6) { _local3 = arg.charAt(_local2); if (_local3 >= " ") { if ((_local3 == "\\") || (_local3 == "\"")) { _local1 = _local1 + "\\"; } _local1 = _local1 + _local3; } else { switch (_local3) { case "\b" : _local1 = _local1 + "\\b"; break; case "\f" : _local1 = _local1 + "\\f"; break; case newline : _local1 = _local1 + "\\n"; break; case "\r" : _local1 = _local1 + "\\r"; break; case "\t" : _local1 = _local1 + "\\t"; break; default : _local3 = _local3.charCodeAt(); _local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16)); } } _local2 = _local2 + 1; } return(_local1 + _local7); case "boolean" : return(String(arg)); } return("null"); } static function background_encode(arg, callback) { if (busy) { trace("[Newgrounds Encoder] :: Cannot encode a new file until the previous file is completed"); return(false); } if (!callback) { trace("[Newgrounds Encoder] :: Missing a callback function, skipping encode"); return(false); } busy = true; var _local2 = new Date(); start = _local2.getTime(); cache = {busy:false, complete:false, arg:arg, target:arg, parents:[], encoded:"", callback:callback, encode_chunk:function () { com.newgrounds.encoders.json.JSON.encode_chunk(); }}; if (getType(arg) == "object") { cache.encoded = "{"; } else if (getType(arg) == "array") { cache.encoded = "["; } interval = setInterval(cache, "encode_chunk", 25); return(true); } static function background_decode(arg, callback) { if (busy) { trace("[Newgrounds Encoder] :: Cannot decode a new file until the previous file is completed"); return(false); } if (!callback) { trace("[Newgrounds Encoder] :: Missing a callback function, skipping decode"); return(false); } busy = true; var _local1 = new Date(); start = _local1.getTime(); cache = {busy:false, callback:callback, complete:false, arg:arg, pos:0, parents:["root"], target:null, scratch:"", decode_chunk:function () { com.newgrounds.encoders.json.JSON.decode_chunk(); }}; interval = setInterval(cache, "decode_chunk", 25); return(true); } static function decode(text) { var at = 0; var ch = " "; var _value; var _error = function (m) { throw {name:"JSONError", message:m, at:at - 1, text:text}; }; var _next = function () { ch = text.charAt(at); at = at + 1; return(ch); }; var _white = function () { while (ch) { if (ch <= " ") { _next(); } else if (ch == "/") { switch (_next()) { case "/" : while ((_next() && (ch != newline)) && (ch != "\r")) { } break; case "*" : _next(); for(;;){ if (ch) { if (ch == "*") { if (_next() == "/") { _next(); // unexpected jump } } else { _next(); } } else { _error("Unterminated comment"); } }; break; default : _error("Syntax error"); } } else { return; } } }; var _string = function () { var _local4; var _local1 = ""; var _local3; var _local2; var _local5 = false; if (ch == "\"") { while (_next()) { if (ch == "\"") { _next(); return(_local1); } if (ch == "\\") { switch (_next()) { case "b" : _local1 = _local1 + "\b"; break; case "f" : _local1 = _local1 + "\f"; break; case "n" : _local1 = _local1 + newline; break; case "r" : _local1 = _local1 + "\r"; break; case "t" : _local1 = _local1 + "\t"; break; case "u" : _local2 = 0; _local4 = 0; while (_local4 < 4) { _local3 = parseInt(_next(), 16); if (!isFinite(_local3)) { _local5 = true; break; } _local2 = (_local2 * 16) + _local3; _local4 = _local4 + 1; } if (_local5) { _local5 = false; break; } _local1 = _local1 + String.fromCharCode(_local2); break; default : _local1 = _local1 + ch; } } else { _local1 = _local1 + ch; } } } _error("Bad string"); }; var _array = function () { var _local1 = []; if (ch == "[") { _next(); _white(); if (ch == "]") { _next(); return(_local1); } while (ch) { _local1.push(_value()); _white(); if (ch == "]") { _next(); return(_local1); } if (ch != ",") { break; } _next(); _white(); } } _error("Bad array"); }; var _object = function () { var _local2; var _local1 = {}; if (ch == "{") { _next(); _white(); if (ch == "}") { _next(); return(_local1); } while (ch) { _local2 = _string(); _white(); if (ch != ":") { break; } _next(); _local1[_local2] = _value(); _white(); if (ch == "}") { _next(); return(_local1); } if (ch != ",") { break; } _next(); _white(); } } _error("Bad object"); }; var _number = function () { var _local1 = ""; var _local2; if (ch == "-") { _local1 = "-"; _next(); } while ((ch >= "0") && (ch <= "9")) { _local1 = _local1 + ch; _next(); } if (ch == ".") { _local1 = _local1 + "."; while ((_next() && (ch >= "0")) && (ch <= "9")) { _local1 = _local1 + ch; } } _local2 = 1 * _local1; if (!isFinite(_local2)) { _error("Bad number"); } else { return(_local2); } }; var _word = function () { switch (ch) { case "t" : if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) { _next(); return(true); } break; case "f" : if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) { _next(); return(false); } break; case "n" : if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) { break; } _next(); return(null); } _error("Syntax error"); }; _value = function () { _white(); switch (ch) { case "{" : return(_object()); case "[" : return(_array()); case "\"" : return(_string()); case "-" : return(_number()); } return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word()))); }; return(_value()); } static function getType(v) { if (v instanceof Array) { return("array"); } return(typeof(v)); } static function decode_chunk() { if ((!cache.busy) && (!cache.complete)) { cache.busy = true; var _local1 = 0; while (_local1 < decode_chunks) { chunk_decoder(); if (cache.complete) { break; } _local1++; } trace(Math.round((cache.pos / cache.arg.length) * 100) + "% decoded"); cache.busy = false; } if (cache.complete) { var _local2 = new Date(); busy = false; clearInterval(interval); cache.callback(cache.root, _local2.getTime() - start); cache.arg = ""; } } static function encode_chunk() { if ((!cache.busy) && (!cache.complete)) { cache.busy = true; var _local1 = 0; while (_local1 < encode_chunks) { chunk_encoder(); if (cache.complete) { break; } _local1++; } cache.busy = false; } if (cache.complete) { var _local3 = new Date(); var _local2 = _local3.getTime(); busy = false; clearInterval(interval); cache.callback(cache.encoded, _local2 - start); cache.encoded = ""; } } static function chunk_decoder() { function _object() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "object"; com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; _setTargetValue({}); } else if (_local1 == ",") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; } else if (_local1 == "}") { _useParent(); } else if (_local1 == "\"") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 != ":") { throw "Malformed object notation. Object keys and values must be separated by colons(:)"; } _addParent(com.newgrounds.encoders.json.JSON.cache.scratch); com.newgrounds.encoders.json.JSON.cache.mode = null; } else { if (_local1 == "\\") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); } com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; } com.newgrounds.encoders.json.JSON.cache.pos++; } function _array() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "array"; com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); _setTargetValue([]); if (_local1 != "]") { _addArrayKey(); } else { _useParent(); } return(undefined); } if (_local1 == ",") { _addArrayKey(); } else if (_local1 == "]") { _useParent(); } com.newgrounds.encoders.json.JSON.cache.pos++; } function _boolean() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 == "t") { _setTargetValue(true); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 3; } else if (_local1 == "f") { _setTargetValue(false); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 4; } else { throw "Bool values must be true or false"; } _useParent(); } function _null() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (_local1 == "n") { _setTargetValue(null); com.newgrounds.encoders.json.JSON.cache.pos = com.newgrounds.encoders.json.JSON.cache.pos + 2; } else { throw "Null values must be null"; } _useParent(); } function _string() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); if (!com.newgrounds.encoders.json.JSON.cache.mode) { if (_local1 != "\"") { throw "Strings must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.json.JSON.cache.scratch = ""; com.newgrounds.encoders.json.JSON.cache.mode = "string"; } else if (_local1 == "\"") { _setTargetValue(com.newgrounds.encoders.json.JSON.cache.scratch); _useParent(); } else { if (_local1 == "\\") { com.newgrounds.encoders.json.JSON.cache.pos++; _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); switch (_local1) { case "n" : _local1 = newline; break; case "r" : _local1 = newline; break; case "t" : _local1 = "\t"; break; case "u" : _local1 = "\\" + _local1; } } com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; } com.newgrounds.encoders.json.JSON.cache.pos++; } function _number() { var _local1 = com.newgrounds.encoders.json.JSON.cache.arg.charAt(com.newgrounds.encoders.json.JSON.cache.pos); var _local2 = "01234567890.-"; if (!com.newgrounds.encoders.json.JSON.cache.mode) { com.newgrounds.encoders.json.JSON.cache.mode = "number"; com.newgrounds.encoders.json.JSON.cache.scratch = ""; } if (_local2.indexOf(_local1) < 0) { _setTargetValue(Number(com.newgrounds.encoders.json.JSON.cache.scratch)); _useParent(); } else { com.newgrounds.encoders.json.JSON.cache.scratch = com.newgrounds.encoders.json.JSON.cache.scratch + _local1; com.newgrounds.encoders.json.JSON.cache.pos++; } } function _setTargetValue(newval) { var _local2 = _getParent().obj; var _local1 = com.newgrounds.encoders.json.JSON.cache.parents[com.newgrounds.encoders.json.JSON.cache.parents.length - 1]; _local2[_local1] = newval; } function _useParent() { com.newgrounds.encoders.json.JSON.cache.mode = com.newgrounds.encoders.json.JSON.getType(_getParent().obj); com.newgrounds.encoders.json.JSON.cache.parents.pop(); } function _getParent() { var _local2 = com.newgrounds.encoders.json.JSON.cache; var _local1 = 0; while (_local1 < (com.newgrounds.encoders.json.JSON.cache.parents.length - 1)) { _local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]}); } function _getCurrent() { var _local2 = com.newgrounds.encoders.json.JSON.cache; var _local1 = 0; while (_local1 < com.newgrounds.encoders.json.JSON.cache.parents.length) { _local2 = _local2[com.newgrounds.encoders.json.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.json.JSON.cache.parents[_local1]}); } function _addParent(child) { com.newgrounds.encoders.json.JSON.cache.parents.push(child); } function _addArrayKey() { var _local1 = _getCurrent().obj.length; com.newgrounds.encoders.json.JSON.cache.parents.push(_local1); com.newgrounds.encoders.json.JSON.cache.mode = null; } if (cache.pos >= cache.arg.length) { cache.complete = true; return(undefined); } if (cache.mode) { eval ("_" + cache.mode)(); } else { var char = cache.arg.charAt(cache.pos); switch (char) { case "{" : _object(); return; case "[" : _array(); return; case "\"" : _string(); return; case "n" : _null(); return; case "t" : _boolean(); return; case "f" : _boolean(); return; default : _number(); } } } static function chunk_encoder() { if (cache.complete) { return(undefined); } var _local2 = getType(cache.target); switch (_local2) { case "number" : cache.encoded = cache.encoded + cache.target; getParent(); break; case "string" : cache.encoded = cache.encoded + (("\"" + cache.target.split("\"").join("\\\"")) + "\""); getParent(); break; case "boolean" : cache.encoded = cache.encoded + ((cache.target == true) ? "true" : "false"); getParent(); break; case "null" : cache.encoded = cache.encoded + "null"; getParent(); break; case "array" : if (cache.target.length < 1) { cache.encoded = cache.encoded + "]"; getParent(); } else { cache.parents.push(cache.target); cache.target = cache.target[0]; if (getType(cache.target) == "array") { cache.encoded = cache.encoded + "["; } else if (getType(cache.target) == "object") { cache.encoded = cache.encoded + "{"; } } break; case "object" : for (var _local1 in cache.target) { break; } if (_local1 === undefined) { cache.encoded = cache.encoded + "}"; getParent(); } else { cache.parents.push(cache.target); cache.target = cache.target[_local1]; cache.encoded = cache.encoded + (("\"" + _local1.split("\"").join("\\\"")) + "\":"); if (getType(cache.target) == "array") { cache.encoded = cache.encoded + "["; } else if (getType(cache.target) == "object") { cache.encoded = cache.encoded + "{"; } } break; default : cache.encoded = cache.encoded + "null"; getParent(); } } static function getParent() { if (cache.parents.length > 0) { var _local1 = cache.parents.pop(); if (getType(_local1) == "array") { _local1.shift(); } else { for (var _local3 in _local1) { delete _local1[_local3]; break; } } if ((getType(_local1) == "object") or (getType(_local1) == "array")) { for (var _local2 in _local1) { break; } if (!(_local2 === undefined)) { cache.encoded = cache.encoded + ","; } } cache.target = _local1; } else { cache.complete = true; } } static var encode_chunks = 20000; static var decode_chunks = 20000; static var busy = false; }
Symbol 271 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score { var _rank, _username, _score, _numericValue, _tag; function Score (rank, username, score, numericValue, tag) { (_rank = rank); (_username = username); _score = score; _numericValue = numericValue; _tag = tag; } function get numericValue() { return(_numericValue); } function get rank() { return(_rank); } function get score() { return(_score); } function get tag() { return(_tag); } function get username() { return(_username); } function toString() { return((((_rank + ".\t") + _username) + "\t") + _score); } }
Symbol 317 Button
on (release) { gotoAndStop ("credits"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 319 Button
on (release) { nextFrame(); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 320 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 321 Button
on (release) { _root.difficulty = 1; _root.gotoAndStop("splashframe"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 323 Button
on (release) { _root.difficulty = 0; _root.gotoAndStop("splashframe"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 324 Button
on (release) { _root.difficulty = 2; _root.gotoAndStop("splashframe"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 327 Button
on (release) { getURL ("http://www.zabers.net", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 328 Button
on (release) { gotoAndStop (1); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 330 Button
on (release) { getURL ("http://voiceactingalliance.com/board/member.php?37919-JazzMan", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 332 Button
on (release) { getURL ("http://www.incompetech.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 333 Button
on (release) { getURL ("http://www.wrathgames.com/blog", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 334 Button
on (release) { getURL ("http://www.mortargames.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 335 MovieClip Frame 1
stop(); onEnterFrame = function () { lod = _root.getBytesLoaded(); tot = _root.getBytesTotal(); if (lod >= tot) { nextFrame(); delete onEnterFrame; } };
Symbol 335 MovieClip Frame 2
stop(); _root.playmusic("menu1Sound");
Symbol 337 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); }
Symbol 363 MovieClip Frame 1
_root.stop();
Symbol 363 MovieClip Frame 131
stop(); _root.play();
Symbol 387 MovieClip Frame 7
_root.friendlyattack(_root.player._x + (_root.player._xscale * 0.3), _root.player._y - 20, 2, "hero");
Symbol 387 MovieClip Frame 10
_root.attacking = false;
Symbol 408 MovieClip Frame 13
stop();
Symbol 413 MovieClip Frame 4
_root.friendlyattack(_root.player._x + (_root.player._xscale * 0.3), _root.player._y - 20, 3, "hero");
Symbol 413 MovieClip Frame 7
_root.friendlyattack(_root.player._x + (_root.player._xscale * 0.5), _root.player._y - 20, 3, "hero");
Symbol 413 MovieClip Frame 10
_root.friendlyattack(_root.player._x + (_root.player._xscale * 0.7), _root.player._y - 20, 3, "hero");
Symbol 413 MovieClip Frame 13
_root.friendlyattack(_root.player._x + (_root.player._xscale * 0.9), _root.player._y - 20, 3, "hero");
Symbol 413 MovieClip Frame 17
_root.specialing = false; stop();
Symbol 424 MovieClip Frame 1
count = 0; onEnterFrame = function () { count++; if (count == targetcount) { this.removeMovieClip(); } };
Symbol 425 Button
on (release) { _root.pausegame(); getURL ("http://www.8bitskull.com/mam.php", "_blank"); }
Symbol 442 MovieClip Frame 1
stop();
Instance of Symbol 237 MovieClip [moon] in Symbol 485 MovieClip Frame 1
onClipEvent (load) { moon.gotoAndPlay(3); }
Symbol 488 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 365; _root.playsound("select1Sound"); }
Symbol 491 Button
on (release) { gotoAndStop ("gameframe"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 320; _root.playsound("select1Sound"); }
Symbol 507 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 250; _root.playsound("select1Sound"); }
Symbol 508 Button
on (release) { gotoAndStop ("gameframe"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 180; _root.playsound("select1Sound"); }
Symbol 510 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 274; arrpos = 2; _root.playsound("select1Sound"); }
Symbol 511 Button
on (release) { gotoAndPlay (1); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 208; arrpos = 1; _root.playsound("select1Sound"); }
Symbol 512 Button
on (release) { gotoAndStop ("gameframe"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 140; arrpos = 0; _root.playsound("select1Sound"); }
Symbol 518 Button
on (release) { returning = true; gotoAndStop(prevframe); _root.playsound("select2Sound"); } on (rollOver) { _root.playsound("select1Sound"); }
Symbol 520 Button
on (release) { getURL ("http://www.8bitskull.com", "_blank"); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 240; _root.playsound("select1Sound"); }
Symbol 521 Button
on (release) { gotoAndPlay (1); _root.playsound("select2Sound"); } on (rollOver) { sword._y = 170; _root.playsound("select1Sound"); }

Library Items

Symbol 1 Sound [woosh3]
Symbol 2 Sound [woosh2]
Symbol 3 Sound [woosh1]
Symbol 4 Sound [upgrade1]
Symbol 5 Sound [spgrunt3]
Symbol 6 Sound [spgrunt2]
Symbol 7 Sound [spgrunt1]
Symbol 8 Sound [special1]
Symbol 9 Sound [sigh3]
Symbol 10 Sound [sigh2]
Symbol 11 Sound [sigh1]
Symbol 12 Sound [shield3]
Symbol 13 Sound [shield2]
Symbol 14 Sound [shield1]
Symbol 15 Sound [select2]
Symbol 16 Sound [select1]
Symbol 17 Sound [rain1]
Symbol 18 Sound [music2]
Symbol 19 Sound [music1]
Symbol 20 Sound [moonline9]
Symbol 21 Sound [moonline8]
Symbol 22 Sound [moonline7]
Symbol 23 Sound [moonline6]
Symbol 24 Sound [moonline5]
Symbol 25 Sound [moonline4]
Symbol 26 Sound [moonline3]
Symbol 27 Sound [moonline24]
Symbol 28 Sound [moonline23]
Symbol 29 Sound [moonline22]
Symbol 30 Sound [moonline21]
Symbol 31 Sound [moonline20]
Symbol 32 Sound [moonline2]
Symbol 33 Sound [moonline19]
Symbol 34 Sound [moonline18]
Symbol 35 Sound [moonline17]
Symbol 36 Sound [moonline16]
Symbol 37 Sound [moonline15]
Symbol 38 Sound [moonline14]
Symbol 39 Sound [moonline13]
Symbol 40 Sound [moonline12]
Symbol 41 Sound [moonline11]
Symbol 42 Sound [moonline10]
Symbol 43 Sound [moonline1]
Symbol 44 Sound [moonline0]
Symbol 45 Sound [menu1]
Symbol 46 Sound [horse1]
Symbol 47 Sound [hit3]
Symbol 48 Sound [hit2]
Symbol 49 Sound [hit1]
Symbol 50 Sound [grunt3]
Symbol 51 Sound [grunt2]
Symbol 52 Sound [grunt1]
Symbol 53 Sound [flesh3]
Symbol 54 Sound [flesh2]
Symbol 55 Sound [flesh1]
Symbol 56 Sound [flash]
Symbol 57 Sound [fire2]
Symbol 58 Sound [fire1]
Symbol 59 Sound [error1]
Symbol 60 Sound [death5]
Symbol 61 Sound [death4]
Symbol 62 Sound [death3]
Symbol 63 Sound [death2]
Symbol 64 Sound [death1]
Symbol 65 Sound [chew1]
Symbol 66 Sound [archer1]
Symbol 67 GraphicUsed by:68
Symbol 68 MovieClipUses:67Used by:96
Symbol 69 GraphicUsed by:70 96 297 310
Symbol 70 MovieClipUses:69Used by:96 243 309 310
Symbol 71 GraphicUsed by:77
Symbol 72 GraphicUsed by:73
Symbol 73 MovieClipUses:72Used by:77 96
Symbol 74 GraphicUsed by:77
Symbol 75 BitmapUsed by:76
Symbol 76 GraphicUses:75Used by:77
Symbol 77 MovieClipUses:71 73 74 76Used by:96
Symbol 78 GraphicUsed by:96
Symbol 79 GraphicUsed by:80
Symbol 80 MovieClipUses:79Used by:96
Symbol 81 GraphicUsed by:96
Symbol 82 FontUsed by:83 87
Symbol 83 EditableTextUses:82Used by:96
Symbol 84 FontUsed by:85
Symbol 85 EditableTextUses:84Used by:86
Symbol 86 MovieClipUses:85Used by:96
Symbol 87 EditableTextUses:82Used by:88
Symbol 88 MovieClipUses:87Used by:96
Symbol 89 GraphicUsed by:90
Symbol 90 MovieClipUses:89Used by:96
Symbol 91 GraphicUsed by:92
Symbol 92 MovieClipUses:91Used by:96
Symbol 93 MovieClipUsed by:96 310
Symbol 94 GraphicUsed by:95
Symbol 95 MovieClipUses:94Used by:96
Symbol 96 MovieClip [MedalPopup]Uses:68 70 77 73 78 80 81 69 83 86 88 90 92 93 95
Symbol 97 GraphicUsed by:108
Symbol 98 GraphicUsed by:107
Symbol 99 GraphicUsed by:100 424
Symbol 100 MovieClip [blocker-attacks]Uses:99Used by:107
Symbol 101 GraphicUsed by:107
Symbol 102 GraphicUsed by:107
Symbol 103 GraphicUsed by:107
Symbol 104 GraphicUsed by:107
Symbol 105 GraphicUsed by:107
Symbol 106 GraphicUsed by:107
Symbol 107 MovieClipUses:98 100 101 102 103 104 105 106Used by:108
Symbol 108 MovieClip [drop]Uses:97 107
Symbol 109 GraphicUsed by:115
Symbol 110 GraphicUsed by:115
Symbol 111 GraphicUsed by:115
Symbol 112 GraphicUsed by:115
Symbol 113 GraphicUsed by:115
Symbol 114 GraphicUsed by:115
Symbol 115 MovieClip [fireball]Uses:109 110 111 112 113 114
Symbol 116 GraphicUsed by:119
Symbol 117 GraphicUsed by:119
Symbol 118 GraphicUsed by:119
Symbol 119 MovieClipUses:116 117 118Used by:123
Symbol 120 GraphicUsed by:122
Symbol 121 GraphicUsed by:122
Symbol 122 MovieClipUses:120 121Used by:123 133 174 183 188 194
Symbol 123 MovieClip [murmur]Uses:119 122
Symbol 124 GraphicUsed by:126
Symbol 125 GraphicUsed by:126 128
Symbol 126 MovieClip [tutorial-soul]Uses:124 125
Symbol 127 GraphicUsed by:128
Symbol 128 MovieClip [soul]Uses:127 125
Symbol 129 GraphicUsed by:130
Symbol 130 MovieClip [arrow]Uses:129
Symbol 131 GraphicUsed by:133
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClip [enemyarcher]Uses:131 132 122
Symbol 134 GraphicUsed by:139
Symbol 135 GraphicUsed by:139
Symbol 136 GraphicUsed by:138
Symbol 137 GraphicUsed by:138
Symbol 138 MovieClipUses:136 137Used by:139 154 159 165 216
Symbol 139 MovieClip [archer]Uses:134 135 138
Symbol 140 GraphicUsed by:154 159 165 174 183 188 194 216
Symbol 141 GraphicUsed by:145
Symbol 142 GraphicUsed by:145
Symbol 143 GraphicUsed by:145
Symbol 144 GraphicUsed by:145
Symbol 145 MovieClipUses:141 142 143 144Used by:154
Symbol 146 GraphicUsed by:150
Symbol 147 ShapeTweeningUsed by:150
Symbol 148 GraphicUsed by:150
Symbol 149 GraphicUsed by:150
Symbol 150 MovieClipUses:146 147 148 149Used by:154 159 165 174 183 188 194 216  Timeline
Symbol 151 GraphicUsed by:153
Symbol 152 GraphicUsed by:153
Symbol 153 MovieClipUses:151 152Used by:154
Symbol 154 MovieClip [cavalry]Uses:140 145 150 153 138
Symbol 155 GraphicUsed by:159
Symbol 156 GraphicUsed by:158
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:156 157Used by:159 165
Symbol 159 MovieClip [tutorial-infantry]Uses:140 155 150 158 138
Symbol 160 GraphicUsed by:164
Symbol 161 GraphicUsed by:164
Symbol 162 GraphicUsed by:164
Symbol 163 GraphicUsed by:164
Symbol 164 MovieClipUses:160 161 162 163Used by:165
Symbol 165 MovieClip [infantry]Uses:140 164 150 158 138
Symbol 166 GraphicUsed by:170
Symbol 167 GraphicUsed by:170
Symbol 168 GraphicUsed by:170
Symbol 169 GraphicUsed by:170
Symbol 170 MovieClipUses:166 167 168 169Used by:174
Symbol 171 GraphicUsed by:173
Symbol 172 GraphicUsed by:173
Symbol 173 MovieClipUses:171 172Used by:174
Symbol 174 MovieClip [enemycavalry]Uses:140 170 150 173 122
Symbol 175 GraphicUsed by:179
Symbol 176 GraphicUsed by:179
Symbol 177 GraphicUsed by:179
Symbol 178 GraphicUsed by:179
Symbol 179 MovieClipUses:175 176 177 178Used by:183
Symbol 180 GraphicUsed by:182
Symbol 181 GraphicUsed by:182
Symbol 182 MovieClipUses:180 181Used by:183
Symbol 183 MovieClip [enemyspearman]Uses:140 179 150 182 122
Symbol 184 GraphicUsed by:188
Symbol 185 GraphicUsed by:187
Symbol 186 GraphicUsed by:187
Symbol 187 MovieClipUses:185 186Used by:188 194
Symbol 188 MovieClip [tutorial-enemyinfantry]Uses:140 184 150 187 122
Symbol 189 GraphicUsed by:193
Symbol 190 GraphicUsed by:193
Symbol 191 GraphicUsed by:193
Symbol 192 GraphicUsed by:193
Symbol 193 MovieClipUses:189 190 191 192Used by:194
Symbol 194 MovieClip [enemyinfantry]Uses:140 193 150 187 122
Symbol 195 GraphicUsed by:203
Symbol 196 GraphicUsed by:203
Symbol 197 GraphicUsed by:203
Symbol 198 GraphicUsed by:203
Symbol 199 GraphicUsed by:203
Symbol 200 GraphicUsed by:203
Symbol 201 GraphicUsed by:203
Symbol 202 GraphicUsed by:203
Symbol 203 MovieClip [splat]Uses:195 196 197 198 199 200 201 202
Symbol 204 GraphicUsed by:207
Symbol 205 GraphicUsed by:207
Symbol 206 GraphicUsed by:207
Symbol 207 MovieClip [switchflash]Uses:204 205 206
Symbol 208 GraphicUsed by:212
Symbol 209 GraphicUsed by:212
Symbol 210 GraphicUsed by:212
Symbol 211 GraphicUsed by:212
Symbol 212 MovieClipUses:208 209 210 211Used by:216
Symbol 213 GraphicUsed by:215
Symbol 214 GraphicUsed by:215
Symbol 215 MovieClipUses:213 214Used by:216
Symbol 216 MovieClip [spearman]Uses:140 212 150 215 138
Symbol 217 FontUsed by:218 222 227 483 484 486
Symbol 218 TextUses:217Used by:219
Symbol 219 MovieClip [pausedclip]Uses:218
Symbol 220 BitmapUsed by:221
Symbol 221 GraphicUses:220Used by:224 485
Symbol 222 TextUses:217Used by:224
Symbol 223 GraphicUsed by:224
Symbol 224 MovieClip [tutorial-combotip]Uses:221 222 223
Symbol 225 BitmapUsed by:226
Symbol 226 GraphicUses:225Used by:228
Symbol 227 TextUses:217Used by:228
Symbol 228 MovieClip [tutorial-review]Uses:226 227Used by:Timeline
Symbol 229 GraphicUsed by:236
Symbol 230 GraphicUsed by:236
Symbol 231 GraphicUsed by:236
Symbol 232 GraphicUsed by:236
Symbol 233 GraphicUsed by:236
Symbol 234 GraphicUsed by:236
Symbol 235 GraphicUsed by:236
Symbol 236 MovieClipUses:229 230 231 232 233 234 235Used by:237
Symbol 237 MovieClip [moon]Uses:236Used by:485
Symbol 238 GraphicUsed by:243
Symbol 239 GraphicUsed by:240
Symbol 240 MovieClipUses:239Used by:241
Symbol 241 MovieClipUses:240Used by:243
Symbol 242 GraphicUsed by:243
Symbol 243 MovieClipUses:238 241 70 242Used by:254
Symbol 244 GraphicUsed by:253
Symbol 245 GraphicUsed by:246
Symbol 246 MovieClipUses:245Used by:247
Symbol 247 MovieClipUses:246Used by:253
Symbol 248 GraphicUsed by:250
Symbol 249 GraphicUsed by:250
Symbol 250 MovieClipUses:248 249Used by:253 309
Symbol 251 GraphicUsed by:253
Symbol 252 GraphicUsed by:253
Symbol 253 MovieClipUses:244 247 250 251 252Used by:254 310
Symbol 254 MovieClip [Preloader]Uses:243 253Used by:311
Symbol 256 MovieClip [Newgrounds API Classes]Used by:311
Symbol 281 GraphicUsed by:310
Symbol 282 GraphicUsed by:310
Symbol 283 GraphicUsed by:310
Symbol 284 GraphicUsed by:310
Symbol 285 BitmapUsed by:287
Symbol 286 BitmapUsed by:287
Symbol 287 GraphicUses:285 286Used by:298
Symbol 288 BitmapUsed by:289
Symbol 289 GraphicUses:288Used by:298
Symbol 290 BitmapUsed by:291
Symbol 291 GraphicUses:290Used by:296 298
Symbol 292 BitmapUsed by:293
Symbol 293 GraphicUses:292Used by:296
Symbol 294 BitmapUsed by:295
Symbol 295 GraphicUses:294Used by:296
Symbol 296 MovieClipUses:291 293 295Used by:298
Symbol 297 ButtonUses:69Used by:298
Symbol 298 ButtonUses:287 289 296 291 297Used by:310
Symbol 299 GraphicUsed by:309
Symbol 300 GraphicUsed by:309
Symbol 301 GraphicUsed by:309
Symbol 302 GraphicUsed by:303
Symbol 303 MovieClipUses:302Used by:309
Symbol 304 GraphicUsed by:308
Symbol 305 BitmapUsed by:306
Symbol 306 GraphicUses:305Used by:307
Symbol 307 MovieClipUses:306Used by:308
Symbol 308 MovieClipUses:304 307Used by:309
Symbol 309 MovieClipUses:299 70 300 301 303 308 250Used by:310
Symbol 310 MovieClip [FlashAd]Uses:281 282 283 284 298 70 93 253 309 69Used by:311
Symbol 311 MovieClip [APIConnector]Uses:256 310 254Used by:Timeline
Symbol 264 MovieClip [__Packages.com.newgrounds.APIConnection]
Symbol 258 MovieClip [__Packages.com.newgrounds.EventDispatcher]
Symbol 257 MovieClip [__Packages.com.newgrounds.Event]
Symbol 259 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 262 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 268 MovieClip [__Packages.com.newgrounds.APICommand]
Symbol 263 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 260 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 279 MovieClip [__Packages.com.newgrounds.API]
Symbol 276 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 277 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 275 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 273 MovieClip [__Packages.com.newgrounds.SaveKey]
Symbol 274 MovieClip [__Packages.com.newgrounds.SaveRating]
Symbol 269 MovieClip [__Packages.com.newgrounds.BitmapLoader]
Symbol 278 MovieClip [__Packages.com.newgrounds.SaveQuery]
Symbol 270 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 272 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 261 MovieClip [__Packages.com.newgrounds.Logger]
Symbol 280 MovieClip [__Packages.com.newgrounds.components.FlashAdBase]
Symbol 255 MovieClip [__Packages.com.newgrounds.shims.APIShim]
Symbol 265 MovieClip [__Packages.com.newgrounds.crypto.MD5]
Symbol 266 MovieClip [__Packages.com.newgrounds.crypto.RC4]
Symbol 267 MovieClip [__Packages.com.newgrounds.encoders.json.JSON]
Symbol 271 MovieClip [__Packages.com.newgrounds.Score]
Symbol 312 BitmapUsed by:313
Symbol 313 GraphicUses:312Used by:Timeline
Symbol 314 FontUsed by:315 318 322 329 331 489 490 494 506 509 517 519
Symbol 315 TextUses:314Used by:335
Symbol 316 GraphicUsed by:317 319 320 321 323 324 327 328 330 332 333 334 363 425 488 491 507 508 510 511 512 518 520 521
Symbol 317 ButtonUses:316Used by:335
Symbol 318 TextUses:314Used by:335
Symbol 319 ButtonUses:316Used by:335
Symbol 320 ButtonUses:316Used by:335  Timeline
Symbol 321 ButtonUses:316Used by:335
Symbol 322 TextUses:314Used by:335
Symbol 323 ButtonUses:316Used by:335
Symbol 324 ButtonUses:316Used by:335
Symbol 325 BitmapUsed by:326
Symbol 326 GraphicUses:325Used by:335 487
Symbol 327 ButtonUses:316Used by:335
Symbol 328 ButtonUses:316Used by:335
Symbol 329 TextUses:314Used by:335
Symbol 330 ButtonUses:316Used by:335
Symbol 331 TextUses:314Used by:335
Symbol 332 ButtonUses:316Used by:335
Symbol 333 ButtonUses:316Used by:335
Symbol 334 ButtonUses:316Used by:335
Symbol 335 MovieClipUses:315 317 318 319 320 321 322 323 324 326 327 328 329 330 331 332 333 334Used by:Timeline
Symbol 336 GraphicUsed by:337
Symbol 337 ButtonUses:336Used by:363
Symbol 338 BitmapUsed by:339
Symbol 339 GraphicUses:338Used by:363
Symbol 340 BitmapUsed by:341
Symbol 341 GraphicUses:340Used by:363
Symbol 342 BitmapUsed by:343
Symbol 343 GraphicUses:342Used by:363
Symbol 344 BitmapUsed by:345
Symbol 345 GraphicUses:344Used by:363
Symbol 346 BitmapUsed by:347
Symbol 347 GraphicUses:346Used by:363
Symbol 348 BitmapUsed by:349
Symbol 349 GraphicUses:348Used by:363
Symbol 350 BitmapUsed by:351
Symbol 351 GraphicUses:350Used by:363
Symbol 352 BitmapUsed by:353
Symbol 353 GraphicUses:352Used by:363
Symbol 354 BitmapUsed by:355
Symbol 355 GraphicUses:354Used by:363
Symbol 356 BitmapUsed by:357
Symbol 357 GraphicUses:356Used by:363
Symbol 358 SoundUsed by:363
Symbol 359 BitmapUsed by:360
Symbol 360 GraphicUses:359Used by:363
Symbol 361 BitmapUsed by:362
Symbol 362 GraphicUses:361Used by:363
Symbol 363 MovieClipUses:316 337 339 341 343 345 347 349 351 353 355 357 358 360 362Used by:Timeline
Symbol 364 BitmapUsed by:366
Symbol 365 BitmapUsed by:366
Symbol 366 GraphicUses:364 365Used by:380
Symbol 367 GraphicUsed by:380
Symbol 368 GraphicUsed by:380
Symbol 369 BitmapUsed by:370
Symbol 370 GraphicUses:369Used by:377
Symbol 371 BitmapUsed by:372
Symbol 372 GraphicUses:371Used by:377
Symbol 373 BitmapUsed by:374
Symbol 374 GraphicUses:373Used by:377
Symbol 375 BitmapUsed by:376
Symbol 376 GraphicUses:375Used by:377
Symbol 377 MovieClipUses:370 372 374 376Used by:380
Symbol 378 GraphicUsed by:380
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClipUses:366 367 368 377 378 379Used by:Timeline
Symbol 381 GraphicUsed by:414
Symbol 382 GraphicUsed by:414
Symbol 383 GraphicUsed by:387
Symbol 384 GraphicUsed by:387
Symbol 385 GraphicUsed by:387
Symbol 386 GraphicUsed by:387
Symbol 387 MovieClipUses:383 384 385 386Used by:414
Symbol 388 GraphicUsed by:392
Symbol 389 GraphicUsed by:392
Symbol 390 GraphicUsed by:392
Symbol 391 GraphicUsed by:392
Symbol 392 MovieClipUses:388 389 390 391Used by:414
Symbol 393 GraphicUsed by:395
Symbol 394 GraphicUsed by:395
Symbol 395 MovieClipUses:393 394Used by:414
Symbol 396 GraphicUsed by:398
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:396 397Used by:414
Symbol 399 GraphicUsed by:403
Symbol 400 GraphicUsed by:403
Symbol 401 GraphicUsed by:403
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:399 400 401 402Used by:414
Symbol 404 GraphicUsed by:408
Symbol 405 GraphicUsed by:408
Symbol 406 GraphicUsed by:408
Symbol 407 GraphicUsed by:408
Symbol 408 MovieClipUses:404 405 406 407Used by:414
Symbol 409 GraphicUsed by:413
Symbol 410 GraphicUsed by:413
Symbol 411 GraphicUsed by:412
Symbol 412 MovieClipUses:411Used by:413
Symbol 413 MovieClipUses:409 410 412Used by:414
Symbol 414 MovieClipUses:381 382 387 392 395 398 403 408 413Used by:Timeline
Symbol 415 BitmapUsed by:416
Symbol 416 GraphicUses:415Used by:479
Symbol 417 GraphicUsed by:418
Symbol 418 MovieClipUses:417Used by:479
Symbol 419 GraphicUsed by:479
Symbol 420 FontUsed by:421 422 423
Symbol 421 EditableTextUses:420Used by:479
Symbol 422 EditableTextUses:420Used by:479
Symbol 423 EditableTextUses:420Used by:479
Symbol 424 MovieClipUses:99Used by:479
Symbol 425 ButtonUses:316Used by:479
Symbol 426 GraphicUsed by:430
Symbol 427 FontUsed by:428 429 432 433 436 437 440 441 444 445 448 449 452 453 456 457 460 461 464 465 468 469 472 473 476 477
Symbol 428 TextUses:427Used by:430
Symbol 429 TextUses:427Used by:430
Symbol 430 MovieClipUses:426 428 429Used by:479
Symbol 431 GraphicUsed by:434
Symbol 432 TextUses:427Used by:434
Symbol 433 TextUses:427Used by:434
Symbol 434 MovieClipUses:431 432 433Used by:479
Symbol 435 GraphicUsed by:438
Symbol 436 TextUses:427Used by:438
Symbol 437 TextUses:427Used by:438
Symbol 438 MovieClipUses:435 436 437Used by:479
Symbol 439 GraphicUsed by:442
Symbol 440 TextUses:427Used by:442
Symbol 441 TextUses:427Used by:442
Symbol 442 MovieClipUses:439 440 441Used by:479
Symbol 443 GraphicUsed by:446
Symbol 444 TextUses:427Used by:446
Symbol 445 TextUses:427Used by:446
Symbol 446 MovieClipUses:443 444 445Used by:479
Symbol 447 GraphicUsed by:450
Symbol 448 TextUses:427Used by:450
Symbol 449 TextUses:427Used by:450
Symbol 450 MovieClipUses:447 448 449Used by:479
Symbol 451 GraphicUsed by:454
Symbol 452 TextUses:427Used by:454
Symbol 453 TextUses:427Used by:454
Symbol 454 MovieClipUses:451 452 453Used by:479
Symbol 455 GraphicUsed by:458
Symbol 456 TextUses:427Used by:458
Symbol 457 TextUses:427Used by:458
Symbol 458 MovieClipUses:455 456 457Used by:479
Symbol 459 GraphicUsed by:462
Symbol 460 TextUses:427Used by:462
Symbol 461 TextUses:427Used by:462
Symbol 462 MovieClipUses:459 460 461Used by:479
Symbol 463 GraphicUsed by:466
Symbol 464 TextUses:427Used by:466
Symbol 465 TextUses:427Used by:466
Symbol 466 MovieClipUses:463 464 465Used by:479
Symbol 467 GraphicUsed by:470
Symbol 468 TextUses:427Used by:470
Symbol 469 TextUses:427Used by:470
Symbol 470 MovieClipUses:467 468 469Used by:479
Symbol 471 GraphicUsed by:474
Symbol 472 TextUses:427Used by:474
Symbol 473 TextUses:427Used by:474
Symbol 474 MovieClipUses:471 472 473Used by:479
Symbol 475 GraphicUsed by:478
Symbol 476 TextUses:427Used by:478
Symbol 477 TextUses:427Used by:478
Symbol 478 MovieClipUses:475 476 477Used by:479
Symbol 479 MovieClipUses:416 418 419 421 422 423 424 425 430 434 438 442 446 450 454 458 462 466 470 474 478Used by:Timeline
Symbol 480 GraphicUsed by:482
Symbol 481 GraphicUsed by:482
Symbol 482 MovieClipUses:480 481Used by:Timeline
Symbol 483 TextUses:217Used by:485
Symbol 484 EditableTextUses:217Used by:485
Symbol 485 MovieClipUses:221 483 237 484Used by:Timeline
Symbol 486 EditableTextUses:217Used by:Timeline
Symbol 487 MovieClipUses:326Used by:Timeline
Symbol 488 ButtonUses:316Used by:Timeline
Symbol 489 TextUses:314Used by:Timeline
Symbol 490 TextUses:314Used by:Timeline
Symbol 491 ButtonUses:316Used by:Timeline
Symbol 492 GraphicUsed by:493
Symbol 493 MovieClipUses:492Used by:Timeline
Symbol 494 EditableTextUses:314Used by:Timeline
Symbol 495 GraphicUsed by:496
Symbol 496 MovieClipUses:495Used by:505
Symbol 497 GraphicUsed by:498
Symbol 498 MovieClipUses:497Used by:505
Symbol 499 GraphicUsed by:500
Symbol 500 MovieClipUses:499Used by:505
Symbol 501 GraphicUsed by:502
Symbol 502 MovieClipUses:501Used by:505
Symbol 503 GraphicUsed by:504
Symbol 504 MovieClipUses:503Used by:505
Symbol 505 MovieClipUses:496 498 500 502 504Used by:Timeline
Symbol 506 TextUses:314Used by:Timeline
Symbol 507 ButtonUses:316Used by:Timeline
Symbol 508 ButtonUses:316Used by:Timeline
Symbol 509 TextUses:314Used by:Timeline
Symbol 510 ButtonUses:316Used by:Timeline
Symbol 511 ButtonUses:316Used by:Timeline
Symbol 512 ButtonUses:316Used by:Timeline
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:Timeline
Symbol 515 GraphicUsed by:516
Symbol 516 MovieClipUses:515Used by:Timeline
Symbol 517 TextUses:314Used by:Timeline
Symbol 518 ButtonUses:316Used by:Timeline
Symbol 519 TextUses:314Used by:Timeline
Symbol 520 ButtonUses:316Used by:Timeline
Symbol 521 ButtonUses:316Used by:Timeline

Instance Names

"bg"Frame 4Symbol 380 MovieClip
"player"Frame 4Symbol 414 MovieClip
"plifebar"Frame 4Symbol 150 MovieClip
"gamehud"Frame 4Symbol 479 MovieClip
"overgate"Frame 4Symbol 482 MovieClip
"messagebox"Frame 4Symbol 485 MovieClip
"sword"Frame 6Symbol 493 MovieClip
"crowns"Frame 7Symbol 505 MovieClip
"adBox"Frame 8Symbol 516 MovieClip
"adBox"Frame 10Symbol 516 MovieClip
"crowns"Frame 10Symbol 505 MovieClip
"textField"Symbol 86 MovieClip Frame 1Symbol 85 EditableText
"medalPointsText"Symbol 96 MovieClip [MedalPopup] Frame 19Symbol 83 EditableText
"medalNameClip"Symbol 96 MovieClip [MedalPopup] Frame 19Symbol 86 MovieClip
"medalIcon"Symbol 96 MovieClip [MedalPopup] Frame 31Symbol 93 MovieClip
"lifebar"Symbol 154 MovieClip [cavalry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 159 MovieClip [tutorial-infantry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 165 MovieClip [infantry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 174 MovieClip [enemycavalry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 183 MovieClip [enemyspearman] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 188 MovieClip [tutorial-enemyinfantry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 194 MovieClip [enemyinfantry] Frame 1Symbol 150 MovieClip
"lifebar"Symbol 216 MovieClip [spearman] Frame 1Symbol 150 MovieClip
"moon"Symbol 237 MovieClip [moon] Frame 1Symbol 236 MovieClip
"loadingBar"Symbol 254 MovieClip [Preloader] Frame 1Symbol 243 MovieClip
"playButton"Symbol 254 MovieClip [Preloader] Frame 10Symbol 253 MovieClip
"newgroundsButton"Symbol 310 MovieClip [FlashAd] Frame 1Symbol 298 Button
"adContainer"Symbol 310 MovieClip [FlashAd] Frame 1Symbol 93 MovieClip
"playButton"Symbol 310 MovieClip [FlashAd] Frame 2Symbol 253 MovieClip
"ad"Symbol 311 MovieClip [APIConnector] Frame 1Symbol 310 MovieClip [FlashAd]
"loader"Symbol 311 MovieClip [APIConnector] Frame 1Symbol 254 MovieClip [Preloader]
"resourcebar"Symbol 479 MovieClip Frame 1Symbol 418 MovieClip
"button3"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"pausebutton"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button9"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button1"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button2"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button4"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button11"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button10"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button5"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button6"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button7"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button8"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button12"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"button13"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"soundbutton"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"excbutton"Symbol 479 MovieClip Frame 1Symbol 424 MovieClip
"inficon"Symbol 479 MovieClip Frame 1Symbol 430 MovieClip
"spicon"Symbol 479 MovieClip Frame 1Symbol 434 MovieClip
"archericon"Symbol 479 MovieClip Frame 1Symbol 438 MovieClip
"infupgradeicon"Symbol 479 MovieClip Frame 1Symbol 442 MovieClip
"spupgradeicon"Symbol 479 MovieClip Frame 1Symbol 446 MovieClip
"arupgradeicon"Symbol 479 MovieClip Frame 1Symbol 450 MovieClip
"herupgradeicon"Symbol 479 MovieClip Frame 1Symbol 454 MovieClip
"spiriticon"Symbol 479 MovieClip Frame 1Symbol 458 MovieClip
"reviveicon"Symbol 479 MovieClip Frame 1Symbol 462 MovieClip
"rainicon"Symbol 479 MovieClip Frame 1Symbol 466 MovieClip
"resourceicon"Symbol 479 MovieClip Frame 1Symbol 470 MovieClip
"cavupgradeicon"Symbol 479 MovieClip Frame 1Symbol 474 MovieClip
"cavicon"Symbol 479 MovieClip Frame 1Symbol 478 MovieClip

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata not present, AS1/AS2.
Protect (24)Timeline Frame 10 bytes ""
ExportAssets (56)Timeline Frame 1Symbol 1 as "woosh3"
ExportAssets (56)Timeline Frame 1Symbol 2 as "woosh2"
ExportAssets (56)Timeline Frame 1Symbol 3 as "woosh1"
ExportAssets (56)Timeline Frame 1Symbol 4 as "upgrade1"
ExportAssets (56)Timeline Frame 1Symbol 5 as "spgrunt3"
ExportAssets (56)Timeline Frame 1Symbol 6 as "spgrunt2"
ExportAssets (56)Timeline Frame 1Symbol 7 as "spgrunt1"
ExportAssets (56)Timeline Frame 1Symbol 8 as "special1"
ExportAssets (56)Timeline Frame 1Symbol 9 as "sigh3"
ExportAssets (56)Timeline Frame 1Symbol 10 as "sigh2"
ExportAssets (56)Timeline Frame 1Symbol 11 as "sigh1"
ExportAssets (56)Timeline Frame 1Symbol 12 as "shield3"
ExportAssets (56)Timeline Frame 1Symbol 13 as "shield2"
ExportAssets (56)Timeline Frame 1Symbol 14 as "shield1"
ExportAssets (56)Timeline Frame 1Symbol 15 as "select2"
ExportAssets (56)Timeline Frame 1Symbol 16 as "select1"
ExportAssets (56)Timeline Frame 1Symbol 17 as "rain1"
ExportAssets (56)Timeline Frame 1Symbol 18 as "music2"
ExportAssets (56)Timeline Frame 1Symbol 19 as "music1"
ExportAssets (56)Timeline Frame 1Symbol 20 as "moonline9"
ExportAssets (56)Timeline Frame 1Symbol 21 as "moonline8"
ExportAssets (56)Timeline Frame 1Symbol 22 as "moonline7"
ExportAssets (56)Timeline Frame 1Symbol 23 as "moonline6"
ExportAssets (56)Timeline Frame 1Symbol 24 as "moonline5"
ExportAssets (56)Timeline Frame 1Symbol 25 as "moonline4"
ExportAssets (56)Timeline Frame 1Symbol 26 as "moonline3"
ExportAssets (56)Timeline Frame 1Symbol 27 as "moonline24"
ExportAssets (56)Timeline Frame 1Symbol 28 as "moonline23"
ExportAssets (56)Timeline Frame 1Symbol 29 as "moonline22"
ExportAssets (56)Timeline Frame 1Symbol 30 as "moonline21"
ExportAssets (56)Timeline Frame 1Symbol 31 as "moonline20"
ExportAssets (56)Timeline Frame 1Symbol 32 as "moonline2"
ExportAssets (56)Timeline Frame 1Symbol 33 as "moonline19"
ExportAssets (56)Timeline Frame 1Symbol 34 as "moonline18"
ExportAssets (56)Timeline Frame 1Symbol 35 as "moonline17"
ExportAssets (56)Timeline Frame 1Symbol 36 as "moonline16"
ExportAssets (56)Timeline Frame 1Symbol 37 as "moonline15"
ExportAssets (56)Timeline Frame 1Symbol 38 as "moonline14"
ExportAssets (56)Timeline Frame 1Symbol 39 as "moonline13"
ExportAssets (56)Timeline Frame 1Symbol 40 as "moonline12"
ExportAssets (56)Timeline Frame 1Symbol 41 as "moonline11"
ExportAssets (56)Timeline Frame 1Symbol 42 as "moonline10"
ExportAssets (56)Timeline Frame 1Symbol 43 as "moonline1"
ExportAssets (56)Timeline Frame 1Symbol 44 as "moonline0"
ExportAssets (56)Timeline Frame 1Symbol 45 as "menu1"
ExportAssets (56)Timeline Frame 1Symbol 46 as "horse1"
ExportAssets (56)Timeline Frame 1Symbol 47 as "hit3"
ExportAssets (56)Timeline Frame 1Symbol 48 as "hit2"
ExportAssets (56)Timeline Frame 1Symbol 49 as "hit1"
ExportAssets (56)Timeline Frame 1Symbol 50 as "grunt3"
ExportAssets (56)Timeline Frame 1Symbol 51 as "grunt2"
ExportAssets (56)Timeline Frame 1Symbol 52 as "grunt1"
ExportAssets (56)Timeline Frame 1Symbol 53 as "flesh3"
ExportAssets (56)Timeline Frame 1Symbol 54 as "flesh2"
ExportAssets (56)Timeline Frame 1Symbol 55 as "flesh1"
ExportAssets (56)Timeline Frame 1Symbol 56 as "flash"
ExportAssets (56)Timeline Frame 1Symbol 57 as "fire2"
ExportAssets (56)Timeline Frame 1Symbol 58 as "fire1"
ExportAssets (56)Timeline Frame 1Symbol 59 as "error1"
ExportAssets (56)Timeline Frame 1Symbol 60 as "death5"
ExportAssets (56)Timeline Frame 1Symbol 61 as "death4"
ExportAssets (56)Timeline Frame 1Symbol 62 as "death3"
ExportAssets (56)Timeline Frame 1Symbol 63 as "death2"
ExportAssets (56)Timeline Frame 1Symbol 64 as "death1"
ExportAssets (56)Timeline Frame 1Symbol 65 as "chew1"
ExportAssets (56)Timeline Frame 1Symbol 66 as "archer1"
ExportAssets (56)Timeline Frame 1Symbol 96 as "MedalPopup"
ExportAssets (56)Timeline Frame 1Symbol 100 as "blocker-attacks"
ExportAssets (56)Timeline Frame 1Symbol 108 as "drop"
ExportAssets (56)Timeline Frame 1Symbol 115 as "fireball"
ExportAssets (56)Timeline Frame 1Symbol 123 as "murmur"
ExportAssets (56)Timeline Frame 1Symbol 126 as "tutorial-soul"
ExportAssets (56)Timeline Frame 1Symbol 128 as "soul"
ExportAssets (56)Timeline Frame 1Symbol 130 as "arrow"
ExportAssets (56)Timeline Frame 1Symbol 133 as "enemyarcher"
ExportAssets (56)Timeline Frame 1Symbol 139 as "archer"
ExportAssets (56)Timeline Frame 1Symbol 154 as "cavalry"
ExportAssets (56)Timeline Frame 1Symbol 159 as "tutorial-infantry"
ExportAssets (56)Timeline Frame 1Symbol 165 as "infantry"
ExportAssets (56)Timeline Frame 1Symbol 174 as "enemycavalry"
ExportAssets (56)Timeline Frame 1Symbol 183 as "enemyspearman"
ExportAssets (56)Timeline Frame 1Symbol 188 as "tutorial-enemyinfantry"
ExportAssets (56)Timeline Frame 1Symbol 194 as "enemyinfantry"
ExportAssets (56)Timeline Frame 1Symbol 203 as "splat"
ExportAssets (56)Timeline Frame 1Symbol 207 as "switchflash"
ExportAssets (56)Timeline Frame 1Symbol 216 as "spearman"
ExportAssets (56)Timeline Frame 1Symbol 219 as "pausedclip"
ExportAssets (56)Timeline Frame 1Symbol 224 as "tutorial-combotip"
ExportAssets (56)Timeline Frame 1Symbol 228 as "tutorial-review"
ExportAssets (56)Timeline Frame 1Symbol 237 as "moon"
ExportAssets (56)Timeline Frame 1Symbol 254 as "Preloader"
ExportAssets (56)Timeline Frame 1Symbol 256 as "Newgrounds API Classes"
ExportAssets (56)Timeline Frame 1Symbol 310 as "FlashAd"
ExportAssets (56)Timeline Frame 1Symbol 311 as "APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 264 as "__Packages.com.newgrounds.APIConnection"
ExportAssets (56)Timeline Frame 1Symbol 258 as "__Packages.com.newgrounds.EventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 257 as "__Packages.com.newgrounds.Event"
ExportAssets (56)Timeline Frame 1Symbol 259 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 262 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 268 as "__Packages.com.newgrounds.APICommand"
ExportAssets (56)Timeline Frame 1Symbol 263 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 260 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 279 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 276 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 277 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 275 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 273 as "__Packages.com.newgrounds.SaveKey"
ExportAssets (56)Timeline Frame 1Symbol 274 as "__Packages.com.newgrounds.SaveRating"
ExportAssets (56)Timeline Frame 1Symbol 269 as "__Packages.com.newgrounds.BitmapLoader"
ExportAssets (56)Timeline Frame 1Symbol 278 as "__Packages.com.newgrounds.SaveQuery"
ExportAssets (56)Timeline Frame 1Symbol 270 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 272 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 261 as "__Packages.com.newgrounds.Logger"
ExportAssets (56)Timeline Frame 1Symbol 280 as "__Packages.com.newgrounds.components.FlashAdBase"
ExportAssets (56)Timeline Frame 1Symbol 255 as "__Packages.com.newgrounds.shims.APIShim"
ExportAssets (56)Timeline Frame 1Symbol 265 as "__Packages.com.newgrounds.crypto.MD5"
ExportAssets (56)Timeline Frame 1Symbol 266 as "__Packages.com.newgrounds.crypto.RC4"
ExportAssets (56)Timeline Frame 1Symbol 267 as "__Packages.com.newgrounds.encoders.json.JSON"
ExportAssets (56)Timeline Frame 1Symbol 271 as "__Packages.com.newgrounds.Score"

Labels

"splashframe"Frame 3
"tutframe"Frame 4
"gameframe"Frame 5
"tutcompframe"Frame 6
"winframe"Frame 7
"gameoverframe"Frame 8
"siteframe"Frame 9
"victoryframe"Frame 10
"hidden"Symbol 96 MovieClip [MedalPopup] Frame 3
"medalUnlocked"Symbol 96 MovieClip [MedalPopup] Frame 10
"unlockComplete"Symbol 96 MovieClip [MedalPopup] Frame 103
"_up"Symbol 253 MovieClip Frame 1
"_over"Symbol 253 MovieClip Frame 10
"_down"Symbol 253 MovieClip Frame 20
"loading"Symbol 254 MovieClip [Preloader] Frame 1
"loaded"Symbol 254 MovieClip [Preloader] Frame 10
"idle"Symbol 310 MovieClip [FlashAd] Frame 2
"loading"Symbol 310 MovieClip [FlashAd] Frame 10
"loaded"Symbol 310 MovieClip [FlashAd] Frame 20
"noBorder"Symbol 310 MovieClip [FlashAd] Frame 30
"adPreloader"Symbol 311 MovieClip [APIConnector] Frame 2
"ad"Symbol 311 MovieClip [APIConnector] Frame 12
"invisible"Symbol 311 MovieClip [APIConnector] Frame 22
"credits"Symbol 335 MovieClip Frame 4
"stand"Symbol 414 MovieClip Frame 1
"block"Symbol 414 MovieClip Frame 2
"attack"Symbol 414 MovieClip Frame 3
"walk"Symbol 414 MovieClip Frame 4
"eat"Symbol 414 MovieClip Frame 5
"spirit"Symbol 414 MovieClip Frame 6
"tired"Symbol 414 MovieClip Frame 7
"dead"Symbol 414 MovieClip Frame 8
"special"Symbol 414 MovieClip Frame 9

Dynamic Text Variables

descSymbol 421 EditableText""
resourcesSymbol 422 EditableText""
soulsSymbol 423 EditableText""
msgSymbol 484 EditableText"Text! TEXT! TEXT!"
tooltipSymbol 486 EditableText"(Attack enemy with a)"
texttitleSymbol 494 EditableText"LEVEL COMPLETE"




http://swfchan.com/26/129136/info.shtml
Created: 23/2 -2019 11:37:15 Last modified: 23/2 -2019 11:37:15 Server time: 05/05 -2024 13:38:10