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

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

Score - pick up someone in a bar and take her home.swf

This is the info page for
Flash #93424

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


Text
ACHIEVEMENT

<p align="center"><font face="Georgia" size="18" color="#0033ff" letterSpacing="0.000000" kerning="1">Multicultural</font></p>

Newgrounds API Connector

Connecting to the Newgrounds Gateway...

Connection Established!

medal unlocked!

MEDAL GET!

100pts

YOU ARE NOT LOGGED IN!

You will not be able to use any
members-only features!

Some features may be
temporarily unavailable.

API CONNECTION FAILED

NOTICE!

A new version is now available!
Click the button below to check it out.

View latest version

UNAUTHORIZED USE!!

This website is hosting this file without proper consent!
Click the button below to view a legal version.

View authorized version

<p align="left"><font face="Verdana" size="15" color="#ffffff" letterSpacing="9.000000" kerning="1">&gt;</font></p>

<p align="left"></p>

<p align="center"></p>

Programming      - Casper "Smooth talker" Smith
Graphics         - Chris "Ladies Man" Gianelloni
Music and sound  - Brian "Purty Mouth" Holmes

<p align="center"><font face="Lucida Console" size="20" color="#999999" letterSpacing="-2.000000" kerning="1">- INSTRUCTIONS -</font></p><p align="center"></p><p align="center"><font face="Lucida Console" size="16" color="#999999" letterSpacing="-2.000000" kerning="1"> &nbsp;&nbsp;&nbsp;Use the keyboard to type commands in the game in order to SCORE and win all the <sbr />achievements! Commands can be single words or sentences like &quot;Talk to the security guy&quot;</font></p><p align="center"><font face="Lucida Console" size="16" color="#999999" letterSpacing="-2.000000" kerning="1"> &nbsp;&nbsp;&nbsp;</font></p><p align="center"><font face="Lucida Console" size="16" color="#999999" letterSpacing="-2.000000" kerning="1">Type MUTE to stop the music</font></p><p align="center"><font face="Lucida Console" size="16" color="#999999" letterSpacing="-2.000000" kerning="1">Type AWARDS to view awards</font></p><p align="center"><font face="Lucida Console" size="16" color="#999999" letterSpacing="-2.000000" kerning="1">Type PLAY to start playing</font></p>

Or you can CLICK HERE to play more games!

TYPE:  QUIT  |  MUTE  | AWARDS | WALKTHROUGH

<p align="center"><font face="Lucida Console" size="16" color="#ffffff" letterSpacing="0.000000" kerning="1">Your game over message goes here</font></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

BOOZE HOUND

SLEAZEBAG

EXPERIMENTING

COCK BLOCK

SCOOTER ROOTER

TRUE GENTLEMAN

QUITTER

HOSPITALIZED

REJECTION

MULTICULTURAL

VIOLENCE

FROTTEURISM

ALPHA MALE

2's COMPANY 3's...

CASANOVA

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

THE FLASH

BEACHED AS

SCORE!

AWARDS

<p align="center"></p>

<p align="center"></p>

<p align="center"></p>

THIRSTY

HUNGRY

DEAF

Well done you are officially the master of scoring and have recieved a stylish pimp outfit
for all your efforts! Type play to continue!

ActionScript [AS1/AS2]

Frame 1
NewgroundsAPI.connectMovie(11018); stop();
Instance of Symbol 79 MovieClip [API Connector (NewgroundsAPI)] in Frame 1
//component parameters onClipEvent (construct) { encryption_key = "0VFUN9Ysfaalgdobco2UXcQnHqmc6N7y"; movie_id = "11018"; movie_version = "1"; fake_session = true; debug = true; error_screens = true; medal_popups = true; }
Frame 2
stop();
Frame 3
stop();
Frame 4
stop();
Frame 5
cmd_buy = ["buy", "purchase", "get", "give", "offer"]; cmd_hookUp = ["kiss", "hook", "make", "out", "pash", "mack", "smooch"]; cmd_talk = ["approach", "hiton", "seduce", "compliment", "hi", "say", "talk", "chat", "converse", "communicate", "discuss", "speak", "flirt"]; cmd_takeHome = ["leave", "home", "place"]; cmd_hit = ["push", "shove", "slam", "punch", "hit", "slap", "kick", "smack", "wack", "whack", "attack", "beat", "fight", "headbutt", "spank"]; cmd_look = ["observe", "look", "search", "browse", "check"]; cmd_quit = ["quit"]; cmd_fondle = ["grope", "fondle", "touch", "squeeze", "manhandle", "rub", "finger", "grab", "feel"]; cmd_sex = ["sex", "rape", "fuck", "fornicate", "score"]; cmd_persuade = ["persuade", "force", "encourage", "convince", "coax", "pressure"]; cmd_remove = ["take", "remove"]; cmd_strip = ["strip", "undress", "flash", "nude"]; cmd_dance = ["dance", "boogie"]; cmd_blonde = ["hotty", "blonde", "pretty", "hot", "beautiful", "blondes"]; cmd_fatty = ["fatty", "ugly", "scat", "fat", "gross", "red", "rank", "rancid", "tubby"]; cmd_self = ["self", "me", "avatar", "yourself"]; cmd_bouncer = ["security", "tough", "african", "bouncer"]; cmd_tender = ["tender", "bar", "barman", "bartender"]; cmd_asian = ["asian", "brunette", "purple", "oriental", "black"]; cmd_dude = ["brown", "tan", "grey", "skull", "dude", "guy", "guys", "dudes", "man", "fella", "fellow", "mans"]; cmd_two = ["girls", "chicks", "ladies", "babes"]; cmd_drink = ["beer", "wine", "drink", "alcohol", "spirit"]; cmd_roofie = ["roofy", "roofie", "roofies", "drug", "pill", "spike", "slip", "pills", "drugs"]; cmd_clothes = ["pants", "clothes", "clothing"]; cmd_toilet = ["dunny", "shitter", "pisser", "pisspot", "toilet", "bathroom", "toilets", "poop", "pee", "shit", "poo", "crap", "slash", "piss", "wee", "restroom"]; cmd_swear = ["fuck", "dick", "cunt", "slut"]; cmd_play = ["play", "go", "begin", "start"]; cmd_awards = ["awards", "award"]; cmd_close = ["exit", "close", "hide", "back", "return"]; cmd_help = ["help", "guide", "?", "walkthrough", "confused"]; cmd_mute = ["music", "silence", "mute", "unmute"]; cmd_eraseAllData = ["erasealldata"]; cmd_on = ["on"]; cmd_blond = ["blond"]; cmd_asain = ["asain"]; function strip() { Feedback.text = "You take off your clothes and the bouncer promptly grabs you and throws you out of the bar."; if (!awd_Flash) { awd_Flash = true; DisplayAward("The Flash"); } splash.gotoAndStop(4); } function threesome() { if ((asianLevel > 2) && (blondeLevel > 3)) { if (fatty._currentframe == 1) { Feedback.text = "Unfortunately the blonde won't participate with her meddling friend standing in the way!"; } else { Feedback.text = "After priming both girls perfectly they both agree to come back with you. Oh yeah baby!"; if (!awd_Multiculturalism) { awd_Multiculturalism = true; DisplayAward("Multicultural"); } if (!awd_TrueGentleman) { awd_TrueGentleman = true; DisplayAward("True Gentleman"); } if (!awd_LadiesMan) { awd_LadiesMan = true; DisplayAward("2's Company 3's..."); } splash.gotoAndStop(12); } } else { Feedback.text = "Taking more than one girl home? That's a little ambitious right now dont you think?"; } } function giveTenderRoofie() { player.gotoAndStop(3); player.talking = false; Feedback.text = "The man serves you alcohol and this is how you want to repay him?"; } function tenderInteraction() { Feedback.text = "Don't waste your time on the bar tender, you need to score!"; player.gotoAndStop(3); } function hitTender() { Feedback.text = "You hit the bar tender and get kicked out of the bar."; playSound(2); if (!awd_Violence) { awd_Violence = true; DisplayAward("Violence"); } splash.gotoAndStop(4); } function buyAsianDrink() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { if (asianLevel == 0) { Feedback.text = "You don't even know this girl yet!"; } else { if (asianLevel == 1) { asianLevel++; } if (asianLevel <= 2) { Feedback.text = "She thanks you but tells you that she doesn't USUALLY drink. You have the drink instead."; } else { Feedback.text = "The asian girl refuses to have the drink. You have the drink instead"; } drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } } } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function hookUpWithAsian() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { if (asianLevel == 0) { Feedback.text = "You don't even know this girl yet!"; } else if (asianLevel <= 2) { Feedback.text = "You lean in to make out with the asian but she turns away."; } else { Feedback.text = "After all the shots, you move in to kiss the asian girl and she kisses you back wildly."; } } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function talkToAsian() { player.gotoAndStop(5); player.talking = true; if (guy._currentframe == 3) { Feedback.text = "You flirt with the asian girl. She seems very timid. You should find out more about her."; if (asianLevel == 0) { asianLevel++; } else { Feedback.text = "You flirt more. She says she is normally pretty quiet but easily gives into peer pressure!"; } } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; player.talking = false; } } function giveAsianRoofie() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { Feedback.text = "You have no way to give her roofies. She doesn't have a drink to put roofies in."; } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function takeHomeAsian() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { if (asianLevel == 0) { Feedback.text = "You don't even know this girl yet!"; } else if (asianLevel <= 2) { Feedback.text = "She politely turns down your offer."; } else { Feedback.text = "You take the asian girl home after your round of shots and have crazy Kama Sutra Sex!"; if (!awd_Multiculturalism) { awd_Multiculturalism = true; DisplayAward("Multicultural"); } splash.gotoAndStop(8); } } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function hitAsian() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { Feedback.text = "You go to hit the asian and she quickly opens a can of woopass on you, kung fu style!"; playSound(2); if (!awd_Hospitalized) { awd_Hospitalized = true; DisplayAward("Hospitalized"); } splash.gotoAndStop(7); } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function fondleAsian() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe == 3) { Feedback.text = "You go to fondle the asian and she quickly opens a can of woopass on you, kung fu style!"; if (!awd_Hospitalized) { awd_Hospitalized = true; DisplayAward("Hospitalized"); } splash.gotoAndStop(7); } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function persuadeAsian() { player.gotoAndStop(5); player.talking = true; if (guy._currentframe == 3) { if (asianLevel == 2) { Feedback.text = "You manage to persuade the girl to drink and she insists on doing a number of shots!"; drinksHad = drinksHad + 4; asianLevel++; } else if (asianLevel == 1) { Feedback.text = "Woah now... Are you sure that's necessary?"; } else if (asianLevel > 2) { Feedback.text = "She refuses to drink more. She says she already feels too drunk."; } } else { Feedback.text = "The guy is standing between you and the asian girl. You can't interact with her at all."; } } function buyDudeDrink() { player.gotoAndStop(5); if (guy._currentframe < 3) { if (dudeLevel == 0) { Feedback.text = "The guy ignores you and you have the drink instead."; drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } } else { if (dudeLevel == 1) { dudeLevel++; } guy.gotoAndStop(2); Feedback.text = "The guy thanks you and finishes up his last drink then takes yours."; dudeDrinksHad++; player.talking = true; } if (dudeDrinksHad == 6) { guy.gotoAndStop(3); player.gotoAndStop(5); player.talking = false; Feedback.text = "After feeding the guy so many drinks he passes out."; if (!awd_AlphaMale) { awd_AlphaMale = true; DisplayAward("Alpha Male"); } } } else { player.talking = false; Feedback.text = "I don't think the guy is in any state to be having drinks."; } } function hookUpWithDude() { player.gotoAndStop(5); if (guy._currentframe < 3) { if (dudeLevel < 3) { guy.gotoAndStop(1); Feedback.text = "You lean in to make out with the guy but he moves away."; } else { guy.gotoAndStop(2); Feedback.text = "You lean in to make out with the guy and he kisses you."; } } else { player.talking = false; Feedback.text = "He's completely knocked out."; } } function talkToDude() { player.gotoAndStop(5); if (guy._currentframe < 3) { guy.gotoAndStop(2); player.talking = true; if (dudeLevel == 0) { dudeLevel++; Feedback.text = "You start talking sports with the guy. He seems very interested in you."; } else { Feedback.text = "You talk about sports with the guy. He seems very interested in you."; } } else { player.talking = false; Feedback.text = "I don't think the guy is going to be very talkative in that state."; } } function giveDudeRoofie() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe < 3) { guy.gotoAndStop(3); Feedback.text = "You put roofies in the guy's drink and after a few sips of his drink he passes out."; if (!awd_AlphaMale) { awd_AlphaMale = true; DisplayAward("Alpha Male"); } } else { player.talking = false; Feedback.text = "I think the guy has had enough."; } } function takeHomeDude() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe < 3) { if (dudeLevel < 3) { guy.gotoAndStop(1); Feedback.text = "The guy is confused by your request to go home with him. He ignores you."; } else { guy.gotoAndStop(2); Feedback.text = "You go home with the guy after experimenting at the bar and have raging wild gay sex."; if (!awd_Experimenting) { awd_Experimenting = true; DisplayAward("Experimenting"); } splash.gotoAndStop(9); } } else { player.talking = false; Feedback.text = "Try all you like, that guy isn't going anywhere with anyone in that state."; } } function hitDude() { if (guy._currentframe < 3) { Feedback.text = "You go to hit the guy and he quickly smashes a bottle over your head knocking you out."; playSound(3); if (!awd_Hospitalized) { awd_Hospitalized = true; DisplayAward("Hospitalized"); } splash.gotoAndStop(7); } else { player.talking = false; Feedback.text = "You smack up the guy and he doesn't react at all."; } } function fondleDude() { player.gotoAndStop(5); player.talking = false; if (guy._currentframe < 3) { if (dudeLevel < 2) { guy.gotoAndStop(1); Feedback.text = "You fondle the guy and he takes it the wrong way and smashes a bottle over your head!"; if (!awd_Hospitalized) { awd_Hospitalized = true; DisplayAward("Hospitalized"); } splash.gotoAndStop(7); } else { guy.gotoAndStop(2); dudeLevel++; Feedback.text = "You fondle the guy and he digs it."; } } else { player.talking = false; Feedback.text = "You feel up the guy and he doesn't react at all."; } } function giveBouncerRoofie() { player.gotoAndStop(4); player.talking = false; Feedback.text = "The bouncer has no drink."; } function buyBouncerDrink() { player.gotoAndStop(4); Feedback.text = "The bouncer ignores your drink offer so you have the drink instead."; drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } } function hookUpWithBouncer() { player.gotoAndStop(2); Feedback.text = "You lean in to make out with the bouncer and he grabs you and throws you out of the bar."; splash.gotoAndStop(4); } function talkToBouncer() { player.gotoAndStop(4); player.talking = true; Feedback.text = "The bouncer ignores you."; } function takeHomeBouncer() { player.gotoAndStop(4); Feedback.text = "The bouncer ignores you."; } function hitBouncer() { Feedback.text = "You hit the bouncer and get kicked out of the bar."; playSound(2); if (!awd_Violence) { awd_Violence = true; DisplayAward("Violence"); } splash.gotoAndStop(4); } function fondleBouncer() { player.gotoAndStop(2); Feedback.text = "You fondle the bouncer and get kicked out of the bar."; if (!awd_Frotteurism) { awd_Frotteurism = true; DisplayAward("Frotteurism"); } splash.gotoAndStop(4); } function buyBlondeDrink() { player.gotoAndStop(2); player.talking = false; if (blondeLevel <= 1) { blonde.gotoAndStop(1); Feedback.text = "The blonde doesn't accept your drink so you have it instead."; drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } } else if (blondeLevel == 2) { blonde.gotoAndStop(2); blondeLevel = 3; fattyBored++; Feedback.text = "The blonde thanks you for the drink and sips it casually."; } else if (blondeLevel >= 3) { blonde.gotoAndStop(1); Feedback.text = "The blonde is still sipping her last drink so you have the drink instead."; drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } } } function giveBlondeRoofie() { blonde.gotoAndStop(1); player.gotoAndStop(2); player.talking = false; if (blondeLevel < 3) { Feedback.text = "How? She doesn't have a drink."; } else if (blondeLevel >= 3) { Feedback.text = "You put roofies in the blondes drink and soon she is easily persuaded to come home with you. Nice work sleazebag!"; if (!awd_Sleazebag) { awd_Sleazebag = true; DisplayAward("Sleazebag"); } splash.gotoAndStop(11); } } function hookUpWithBlonde() { blonde.gotoAndStop(2); player.gotoAndStop(2); player.talking = false; if (blondeLevel < 3) { Feedback.text = "You lean in to make out with the blonde but she slaps you and leaves with her friend."; blondeAndUglyGone = true; playSound(2); if (!awd_Rejection) { awd_Rejection = true; DisplayAward("Rejection"); } blonde.gotoAndStop(3); fatty.gotoAndStop(3); } else if (blondeLevel >= 3) { Feedback.text = "You lean in to make out with the blonde and she kisses you back."; fattyBored++; blondeLevel = 4; } } function talkToBlonde() { player.gotoAndStop(2); player.talking = false; if (blondeLevel == 0) { blonde.gotoAndStop(1); Feedback.text = "The blonde ignores you."; if (fatty._currentframe == 2) { blonde.gotoAndStop(2); player.talking = true; blondeLevel = 2; Feedback.text = "After knocking out her friend, the blonde is bored and has no option but to talk to you."; } } else if (blondeLevel == 1) { blonde.gotoAndStop(2); player.talking = true; blondeLevel = 2; fattyBored++; if (fatty._currentframe == 2) { Feedback.text = "After knocking out her friend, the blonde is bored and has no option but to talk to you."; } else { Feedback.text = "After cunningly breaking the ice with her ugly friend first, the blonde talks with you."; } } else if (blondeLevel >= 2) { player.talking = true; blonde.gotoAndStop(2); fattyBored++; Feedback.text = "You flirt with the blonde chick."; } } function takeHomeBlonde() { player.gotoAndStop(2); player.talking = false; if (blondeLevel < 1) { Feedback.text = "The blonde ignores you"; } else if (blondeLevel < 4) { Feedback.text = "The blonde laughs at you and calls you a loser and leaves with her friend."; blondeAndUglyGone = true; if (!awd_Rejection) { awd_Rejection = true; DisplayAward("Rejection"); } blonde.gotoAndStop(3); fatty.gotoAndStop(3); } else { Feedback.text = "After playing your cards right you take the blonde home for a night of wild lovin!"; if (!awd_TrueGentleman) { awd_TrueGentleman = true; DisplayAward("True Gentleman"); } splash.gotoAndStop(6); } } function hitBlonde() { player.gotoAndStop(2); Feedback.text = "You hit the blonde chick and get kicked out of the bar."; playSound(2); if (!awd_Violence) { awd_Violence = true; DisplayAward("Violence"); } splash.gotoAndStop(4); } function fondleBlonde() { player.gotoAndStop(2); Feedback.text = "You fondle the blonde chick and she complains to the bouncer. You get kicked out!"; if (!awd_Frotteurism) { awd_Frotteurism = true; DisplayAward("Frotteurism"); } splash.gotoAndStop(4); } function buyFattyDrink() { player.gotoAndStop(2); player.talking = false; if (fatty._currentframe == 1) { blonde.gotoAndStop(1); fattyBored = 0; if (blondeLevel == 0) { blondeLevel = 1; } _root.playSound(0); Feedback.text = "You give the ugly chick a drink and she guzzles down it straight away."; } else { Feedback.text = "She is not in any state to be having drinks right now."; } } function hookUpWithFatty() { player.talking = false; player.gotoAndStop(2); if (fatty._currentframe == 1) { blonde.gotoAndStop(1); fattyBored = 0; Feedback.text = "The ugly chick and she jumps at the opportunity to kiss you and practically eats your face."; } else { Feedback.text = "She is lying face down on the bar and you can't lift her heavy body to get to her lips."; } } function giveFattyRoofies() { player.talking = false; player.gotoAndStop(2); if (fatty._currentframe == 1) { blonde.gotoAndStop(2); fatty.gotoAndStop(2); fattyBored = 0; Feedback.text = "You give her a handful of roofies convincing her they are candy. She passes out cold!"; if (!awd_Beached) { awd_Beached = true; DisplayAward("Beached As"); } } else { Feedback.text = "She's already passed out!"; } } function talkToFatty() { player.talking = true; player.gotoAndStop(2); if (fatty._currentframe == 1) { blonde.gotoAndStop(1); fattyBored = 0; if (blondeLevel == 0) { blondeLevel = 1; } Feedback.text = "You flirt with the ugly chick."; } else { player.talking = false; Feedback.text = "I don't think she is capable of responding in that state."; } } function takeHomeFatty() { if (fatty._currentframe == 1) { Feedback.text = "The ugly chick comes home with you without a question. Well... at least you got some!"; if (!awd_ScooterRooter) { awd_ScooterRooter = true; DisplayAward("Scooter Rooter"); } splash.gotoAndStop(5); } else { player.gotoAndStop(2); player.talking = false; Feedback.text = "She is passed out and too heavy to move. There's no way you can take her home like this."; } } function hitUgly() { if (fatty._currentframe == 1) { Feedback.text = "You hit the fat chick and get kicked out of the bar."; playSound(2); if (!awd_Violence) { awd_Violence = true; DisplayAward("Violence"); } splash.gotoAndStop(4); } else { player.gotoAndStop(2); player.talking = false; Feedback.text = "You whack her soft jelly like body but she doesn't wake up."; } } function fondleFatty() { player.gotoAndStop(2); player.talking = false; if (fatty._currentframe == 1) { blonde.gotoAndStop(1); Feedback.text = "You fondle the fat chick and she digs it."; fattyBored = 0; } else { Feedback.text = "You grope her but she doesn't respond."; } } function PerformCommand() { command = Input.text; lastCmd = command; command = command.toLowerCase(); command = command.substr(0, command.length - 1); command = command.split(" "); Input.text = ""; if (FindCommand(command, new Array(cmd_eraseAllData))) { newGame(); loadData(); return(true); } if (FindCommand(command, new Array(cmd_mute))) { muted = !muted; if (muted) { Feedback.text = "You stop the music!"; } else { Feedback.text = "You start the music!"; } if (!awd_Deaf) { awd_Deaf = true; DisplayAward("Deaf"); } return(true); } if ((splash._currentframe == 2) && (awards._currentframe == 1)) { if (DoInGameCommands()) { return(true); } } else { if (FindCommand(command, new Array(cmd_play))) { if (awards._currentframe == 1) { Initialise(); } else { awards.gotoAndStop(1); } return(true); } if (FindCommand(command, new Array(cmd_close))) { awards.gotoAndStop(1); return(true); } } if (FindCommand(command, new Array(cmd_awards))) { awards.gotoAndStop(2); return(true); } if (FindCommand(command, new Array(cmd_swear))) { Feedback.text = "Do you kiss your mother with that mouth?"; return(true); } if (awards._currentframe == 2) { Feedback.text = "Type CLOSE to hide list of awards"; return(true); } if (FindCommand(command, new Array(cmd_help))) { getURL ("http://www.youtube.com/watch?v=wVwOq4SziBw", _blank); return(true); } return(false); } function DoInGameCommands() { if (FindCommand(command, new Array(cmd_roofie)) && (!roofies)) { Feedback.text = "You don't have any on you."; return(true); } if (FindCommand(command, new Array(cmd_blond))) { Feedback.text = "Did you mean to type 'blonde' ?"; return(true); } if (FindCommand(command, new Array(cmd_asain))) { Feedback.text = "Did you mean to type 'asian' ?"; return(true); } if (FindCommand(command, new Array(cmd_strip)) || (FindCommand(command, new Array(cmd_remove, cmd_clothes)))) { strip(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_asian, cmd_blonde)) || (FindCommand(command, new Array(cmd_takeHome, cmd_two)))) { threesome(); return(true); } if (FindCommand(command, new Array(cmd_tender, cmd_roofie)) && (roofies)) { giveTenderRoofie(); return(true); } if (((FindCommand(command, new Array(cmd_takeHome, cmd_tender)) || (FindCommand(command, new Array(cmd_hookUp, cmd_tender)))) || (FindCommand(command, new Array(cmd_fondle, cmd_tender)))) || (FindCommand(command, new Array(cmd_talk, cmd_tender)))) { tenderInteraction(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_tender)) && (!FindCommand(command, cmd_on))) { hitTender(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_asian, cmd_drink))) { buyAsianDrink(); return(true); } if (FindCommand(command, new Array(cmd_hookUp, cmd_asian))) { hookUpWithAsian(); return(true); } if (FindCommand(command, new Array(cmd_talk, cmd_asian))) { talkToAsian(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_asian))) { takeHomeAsian(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_asian)) && (!FindCommand(command, cmd_on))) { hitAsian(); return(true); } if (FindCommand(command, new Array(cmd_fondle, cmd_asian))) { fondleAsian(); return(true); } if (FindCommand(command, new Array(cmd_asian, cmd_roofie)) && (roofies)) { giveAsianRoofie(); return(true); } if (FindCommand(command, new Array(cmd_asian, cmd_persuade, cmd_drink))) { persuadeAsian(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_dude, cmd_drink))) { buyDudeDrink(); return(true); } if (FindCommand(command, new Array(cmd_hookUp, cmd_dude))) { hookUpWithDude(); return(true); } if (FindCommand(command, new Array(cmd_talk, cmd_dude))) { talkToDude(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_dude))) { takeHomeDude(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_dude)) && (!FindCommand(command, cmd_on))) { hitDude(); return(true); } if (FindCommand(command, new Array(cmd_fondle, cmd_dude))) { fondleDude(); return(true); } if (FindCommand(command, new Array(cmd_dude, cmd_roofie)) && (roofies)) { giveDudeRoofie(); return(true); } if (FindCommand(command, new Array(cmd_bouncer, cmd_roofie)) && (roofies)) { giveBouncerRoofie(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_bouncer, cmd_drink))) { buyBouncerDrink(); return(true); } if (FindCommand(command, new Array(cmd_hookUp, cmd_bouncer))) { hookUpWithBouncer(); return(true); } if (FindCommand(command, new Array(cmd_talk, cmd_bouncer))) { talkToBouncer(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_bouncer))) { takeHomeBouncer(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_bouncer)) && (!FindCommand(command, cmd_on))) { hitBouncer(); return(true); } if (FindCommand(command, new Array(cmd_fondle, cmd_bouncer))) { fondleBouncer(); return(true); } if (!blondeAndUglyGone) { if (FindCommand(command, new Array(cmd_blonde, cmd_roofie)) && (roofies)) { giveBlondeRoofie(); return(true); } if (FindCommand(command, new Array(cmd_fatty, cmd_roofie)) && (roofies)) { giveFattyRoofies(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_blonde, cmd_drink))) { buyBlondeDrink(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_fatty, cmd_drink))) { buyFattyDrink(); return(true); } if (FindCommand(command, new Array(cmd_hookUp, cmd_fatty))) { hookUpWithFatty(); return(true); } if (FindCommand(command, new Array(cmd_hookUp, cmd_blonde))) { hookUpWithBlonde(); return(true); } if (FindCommand(command, new Array(cmd_talk, cmd_fatty))) { talkToFatty(); return(true); } if (FindCommand(command, new Array(cmd_talk, cmd_blonde))) { talkToBlonde(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_fatty))) { takeHomeFatty(); return(true); } if (FindCommand(command, new Array(cmd_takeHome, cmd_blonde))) { takeHomeBlonde(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_fatty)) && (!FindCommand(command, cmd_on))) { hitUgly(); return(true); } if (FindCommand(command, new Array(cmd_hit, cmd_blonde)) && (!FindCommand(command, cmd_on))) { hitBlonde(); return(true); } if (FindCommand(command, new Array(cmd_fondle, cmd_fatty))) { fondleFatty(); return(true); } if (FindCommand(command, new Array(cmd_fondle, cmd_blonde))) { fondleBlonde(); return(true); } } if (FindCommand(command, new Array(cmd_sex))) { Feedback.text = "You can't just have sex here. You will need to take someone home."; return(true); } if (FindCommand(command, new Array(cmd_toilet))) { player.gotoAndStop(6); player.talking = false; if (!roofies) { Feedback.text = "While in the bathroom you find a couple of roofies left on the counter. You take them."; roofies = true; } else { Feedback.text = "You use the bathroom."; } bDoor.play(); return(true); } if (FindCommand(command, new Array(cmd_buy, cmd_self, cmd_drink)) || ((command.length <= 3) && (FindCommand(command, new Array(cmd_drink))))) { if (blonde._currentframe == 2) { blonde.gotoAndStop(1); } player.gotoAndStop(3); Feedback.text = "You buy a drink for yourself and drink it quickly."; drinksHad++; if (!awd_Thirsty) { awd_Thirsty = true; DisplayAward("Thirsty"); } return(true); } if (FindCommand(command, new Array(cmd_takeHome)) || (FindCommand(command, new Array(cmd_quit)))) { Feedback.text = "You go home without anyone, you fail"; if (!awd_Quitter) { awd_Quitter = true; DisplayAward("Quitter"); } splash.gotoAndStop(10); return(true); } if (FindCommand(command, new Array(cmd_roofie)) && (roofies)) { Feedback.text = "You munch on a handful of roofies and wake up naked in the gutter!"; if (!awd_Hungry) { awd_Hungry = true; DisplayAward("Hungry"); } splash.gotoAndStop(13); return(true); } if (FindCommand(command, new Array(cmd_dance))) { Feedback.text = "Unfortunately you aren't any good at dancing!"; return(true); } return(false); } function FindCommand(command, cmdArray) { var _local4 = false; var _local6 = 0; var _local2 = new Array(); i = 0; while (i < command.length) { _local4 = false; j = 0; while (j < cmdArray.length) { k = 0; while (k < cmdArray[j].length) { var _local1 = true; l = 0; while (l < _local2.length) { if (_local2[l] == j) { _local1 = false; } l++; } if (_local1) { if (command[i] == cmdArray[j][k]) { _local2.push(j); _local4 = true; } } k++; } j++; } if (_local4) { _local6++; } i++; } if (_local6 == cmdArray.length) { return(true); } return(false); } function Contains(search, array) { i = 0; while (i < array.length) { Feedback.text = ((("COMPARING '" + array[i]) + "' with '") + search) + "'"; if (array[i] == search) { return(true); } i++; } } function Initialise() { Feedback.text = "Score..."; splash.gotoAndStop(2); blondeAndUglyGone = false; drinksHad = 0; fattyBored = 0; blondeLevel = 0; dudeLevel = 0; roofies = false; dudeDrinksHad = 0; asianLevel = 0; guy.gotoAndStop(1); asian.gotoAndStop(1); blonde.gotoAndStop(1); fatty.gotoAndStop(1); player.gotoAndStop(1); } function DisplayAward(Title) { playSound(7); awardCount++; saveData(); pendingMedals.push(String(Title)); } function newGame() { saves.data.newGame2 = false; saves.data.awardCount = 1; saves.data.awd_Thirsty = false; saves.data.awd_Hungry = false; saves.data.awd_Deaf = false; saves.data.awd_LadiesMan = false; saves.data.awd_BoozeHound = false; saves.data.awd_ScooterRooter = false; saves.data.awd_TrueGentleman = false; saves.data.awd_Sleazebag = false; saves.data.awd_Quitter = false; saves.data.awd_Hospitalized = false; saves.data.awd_Experimenting = false; saves.data.awd_Rejection = false; saves.data.awd_CockBlock = false; saves.data.awd_Violence = false; saves.data.awd_Frotteurism = false; saves.data.awd_Multiculturalism = false; saves.data.awd_AlphaMale = false; saves.data.awd_Casanova = false; saves.data.awd_Flash = false; saves.data.awd_Beached = false; saves.data.awd_Score = false; } function loadData() { awardCount = saves.data.awardCount; awd_Thirsty = saves.data.awd_Thirsty; awd_Hungry = saves.data.awd_Hungry; awd_Deaf = saves.data.awd_Deaf; awd_LadiesMan = saves.data.awd_LadiesMan; awd_BoozeHound = saves.data.awd_BoozeHound; awd_ScooterRooter = saves.data.awd_ScooterRooter; awd_TrueGentleman = saves.data.awd_TrueGentleman; awd_Sleazebag = saves.data.awd_Sleazebag; awd_Quitter = saves.data.awd_Quitter; awd_Hospitalized = saves.data.awd_Hospitalized; awd_Experimenting = saves.data.awd_Experimenting; awd_Rejection = saves.data.awd_Rejection; awd_CockBlock = saves.data.awd_CockBlock; awd_Violence = saves.data.awd_Violence; awd_Frotteurism = saves.data.awd_Frotteurism; awd_Multiculturalism = saves.data.awd_Multiculturalism; awd_AlphaMale = saves.data.awd_AlphaMale; awd_Casanova = saves.data.awd_Casanova; awd_Flash = saves.data.awd_Flash; awd_Beached = saves.data.awd_Beached; awd_Score = saves.data.awd_Score; } function saveData() { saves.data.awardCount = awardCount; saves.data.awd_Thirsty = awd_Thirsty; saves.data.awd_Hungry = awd_Hungry; saves.data.awd_Deaf = awd_Deaf; saves.data.awd_LadiesMan = awd_LadiesMan; saves.data.awd_BoozeHound = awd_BoozeHound; saves.data.awd_ScooterRooter = awd_ScooterRooter; saves.data.awd_TrueGentleman = awd_TrueGentleman; saves.data.awd_Sleazebag = awd_Sleazebag; saves.data.awd_Quitter = awd_Quitter; saves.data.awd_Hospitalized = awd_Hospitalized; saves.data.awd_Experimenting = awd_Experimenting; saves.data.awd_Rejection = awd_Rejection; saves.data.awd_CockBlock = awd_CockBlock; saves.data.awd_Violence = awd_Violence; saves.data.awd_Frotteurism = awd_Frotteurism; saves.data.awd_Multiculturalism = awd_Multiculturalism; saves.data.awd_AlphaMale = awd_AlphaMale; saves.data.awd_Casanova = awd_Casanova; saves.data.awd_Flash = awd_Flash; saves.data.awd_Beached = awd_Beached; saves.data.awd_Score = awd_Score; saves.flush(); } function playSound(num) { if (!muted) { sfx.gotoAndPlay((num * 100) + 1); } } stop(); var pendingMedals = new Array(); saves = SharedObject.getLocal("ScoreData"); _quality = "LOW"; Stage.showMenu = false; var splashFrame = 1; var Pressed = false; var dudeDrinksHad = 0; var drinksHad = 0; var fattyBored = 0; var dudeLevel = 0; var blondeLevel = 0; var asianLevel = 0; var roofies = false; var blondeAndUglyGone = false; var maxDrinks = 6; var fattyMax = 3; var muted = false; var awardCount = 1; var awd_Thirsty = false; var awd_Hungry = false; var awd_Deaf = false; var awd_LadiesMan = false; var awd_BoozeHound = false; var awd_ScooterRooter = false; var awd_TrueGentleman = false; var awd_Sleazebag = false; var awd_Quitter = false; var awd_Hospitalized = false; var awd_Experimenting = false; var awd_Rejection = false; var awd_CockBlock = false; var awd_Violence = false; var awd_Frotteurism = false; var awd_Multiculturalism = false; var awd_AlphaMale = false; var awd_Casanova = false; var awd_Flash = false; var awd_Beached = false; var awd_Score = false; var lastCmd = ""; if (saves.data.newGame2 == undefined) { newGame(); } loadData(); Selection.setFocus("Input"); var waitTime = 0; onEnterFrame = function () { if (Selection.getFocus() == null) { Selection.setFocus("Input"); } if (waitTime == 0) { waitTime = 30; if (pendingMedals.length > 0) { var _local1 = String(pendingMedals.pop()); com.newgrounds.API.unlockMedal(_local1, 270, 50); } } else { waitTime--; } if (Key.isDown(13)) { if (!pressed) { if (PerformCommand() == false) { choice = random(2); if (choice == 0) { Feedback.text = "What do you mean by: " + lastCmd; } else { Feedback.text = "Invalid command: " + lastCmd; } } if ((fattyBored >= fattyMax) && (fatty._currentframe == 1)) { blondeAndUglyGone = true; blonde.gotoAndStop(3); fatty.gotoAndStop(3); Feedback.text = "Oops! You paid too much attention to the blonde and her friend got bored. They leave the bar."; fattyBored = 0; if (!awd_CockBlock) { awd_CockBlock = true; DisplayAward("Cock Block"); } } if (drinksHad >= maxDrinks) { if (Feedback.text == "You manage to persuade the girl to drink and she insists on doing a number of shots!") { Feedback.text = "You persuade the girl to drink and she insists on doing a number of shots! You already had a little to drink and so you get too drunk and pass out!"; } else if (Feedback.text == "The asian girl refuses to have the drink. You have the drink instead") { Feedback.text = "The asian girl refuses to have the drink after all those shots you had. You have the drink instead but end up getting too sloppy!"; } else { Feedback.text = "You had too many drinks and got too sloppy"; } if (!awd_BoozeHound) { awd_BoozeHound = true; DisplayAward("Booze Hound"); } splash.gotoAndStop(3); } } pressed = true; } else { pressed = false; } if ((((awd_Multiculturalism && (awd_TrueGentleman)) && (awd_ScooterRooter)) && (awd_Experimenting)) && (!awd_Casanova)) { awd_Casanova = true; DisplayAward("Casanova"); } if (awardCount == 21) { awd_Score = true; DisplayAward("Score!"); awards.gotoAndStop(3); } }; PerformCommand(); Feedback.text = "Text commands are entered at the bottom of the screen!"; var correctDomain1 = "www.newgrounds.com"; var _url = root.loaderInfo.url; var host = _url.split("/")[2].toLowerCase(); if (host.length < 1) { host = "localhost"; }
Symbol 6 MovieClip [award] Frame 1
var velocity = ((50 - this._y) / 100); var lifeTime = 150; onEnterFrame = function () { velocity = velocity + ((target - this._y) / 80); velocity = velocity / 1.1; this._y = this._y + velocity; if (lifeTime > 0) { lifeTime--; } else { _alpha = (_alpha - 2); if (_alpha <= 0) { this.removeMovieClip(); } } };
Symbol 15 MovieClip Frame 1
onEnterFrame = function () { if (_visible) { _rotation = (_rotation + 30); } else { delete onEnterFrame; } };
Symbol 17 MovieClip Frame 10
stop();
Symbol 19 MovieClip Frame 37
_parent.setGotoFrame("done"); stop();
Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _visible = true; icon._visible = false; pop_delay = setInterval(endDelay, 3000);
Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 2
medal.attachIcon(icon);
Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 10
icon._visible = true; medal_name = medal.getName(); medal_value = medal.getValue() + "pts"; stop();
Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 37 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _x = 0; _y = 0; _visible = true; pop_delay = setInterval(endDelay, 6000);
Symbol 37 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 10
stop();
Symbol 37 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 40 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 1
function endDelay() { clearInterval(pop_delay); gotoAndPlay ("closeme"); } _x = 0; _y = 0; _visible = true; pop_delay = setInterval(endDelay, 6000);
Symbol 40 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 10
stop();
Symbol 40 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 21
this.removeMovieClip(); _visible = false; stop();
Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1
var w = Math.round(this._width); var h = Math.round(this._height); if (w < 80) { w = 80; } if (h < 80) { h = 80; } this._width = 350; this._height = 120; t._width = w - 2; t._x = 1; b._width = w - 2; b._x = 1; c._width = w - 2; c._x = 1; c._height = h - 2; c._y = 1; l._height = h - 2; l._y = 1; r._height = h - 2; r._y = 1; tr._x = w - 7; r._x = w - 7; br._x = w - 7; b._y = h - 7; bl._y = h - 7; br._y = h - 7; shadow._width = w + 10; shadow._height = h + 10;
Symbol 65 Button
on (release) { this._visible = false; this.removeMovieClip(); }
Symbol 71 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 73 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1
_x = (Stage.width / 2); _y = (Stage.height / 2); background._width = Stage.width + 200; background._height = Stage.height + 200; background._x = -(_x + 100); background._y = -(_y + 100);
Symbol 74 Button
on (release) { getURL (official_version_url, "_blank"); }
Symbol 78 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1
_x = (Stage.width / 2); _y = (Stage.height / 2); background._width = Stage.width + 200; background._height = Stage.height + 200; background._x = -(_x + 100); background._y = -(_y + 100);
Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 1
#initclip 23 Object.registerClass("API Connector (NewgroundsAPI)", com.newgrounds.components.APIConnector); #endinitclip
Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 20
_visible = false;
Symbol 120 MovieClip Frame 40
stop();
Symbol 134 Button
on (press) { tellTarget (_root) { nextFrame(); }; }
Symbol 135 Button
on (press) { gotoAndStop ("end"); _root.play(); }
Instance of Symbol 110 MovieClip in Symbol 136 MovieClip Frame 1
onClipEvent (load) { _root.stop(); PercentLoaded = int((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); if (PercentLoaded != 100) { _parent.gotoAndStop(PercentLoaded); } else { _parent.gotoAndStop("lastframe"); } } onClipEvent (enterFrame) { PercentLoaded = int((_root.getBytesLoaded() / _root.getBytesTotal()) * 100); if (PercentLoaded != 100) { _parent.gotoAndStop(PercentLoaded); } else { _parent.gotoAndPlay("loaded"); } }
Symbol 136 MovieClip Frame 101
play();
Symbol 136 MovieClip Frame 165
stop();
Symbol 142 Button
on (release) { NewgroundsAPI.loadNewgrounds(); }
Symbol 148 Button
on (release) { NewgroundsAPI.loadNewgrounds(); }
Symbol 150 MovieClip Frame 1
function startAd(ngad_url) { trace("opening " + ngad_url); System.security.allowDomain("70.87.128.99"); System.security.allowInsecureDomain("70.87.128.99"); System.security.allowDomain("ads.shizmoo.com"); System.security.allowInsecureDomain("ads.shizmoo.com"); System.security.allowDomain("www.cpmstar.com"); System.security.allowInsecureDomain("www.cpmstar.com"); System.security.allowDomain("server.cpmstar.com"); System.security.allowInsecureDomain("server.cpmstar.com"); var ngads_redirect = new XML(); ngads_redirect.ignoreWhite = true; ngads_redirect.onLoad = function (success) { trace("[NEWGROUNDS FLASH ADS] :: You may get a 'Security Sandbox Violation' ... this is normal, do not freak out!"); if (success) { ng_ad.loadMovie(ngads_redirect.toString(), "GET"); } }; ngads_redirect.load(ngad_url); } if (NewgroundsAPI.getAdURL()) { startAd(NewgroundsAPI.getAdURL()); } NewgroundsAPI.onAdsApproved = function (ad_url) { startAd(ad_url); }; stop();
Symbol 152 MovieClip Frame 1
this.swapDepths(1000000);
Symbol 567 MovieClip [__Packages.NewgroundsAPI] Frame 0
class NewgroundsAPI { static var tracker_id, host, version, debug, error_format, header_format, normal_format, link_format; function NewgroundsAPI () { } static function connectMovie(id) { if (!id) { SendError("Missing required 'id' parameter in NewgroundsAPI.connectMovie(id:Number)"); } else if (!tracker_id) { SendMessage("Connecting to API gateway..."); tracker_id = id; host = _url.split("/")[2].toLowerCase(); if (host.length < 1) { host = "localhost"; } var _local2 = new Object(); SendEvent(MOVIE_VIEWS); } } static function setMovieVersion(movie_version) { if (!movie_version) { SendError("Missing required 'version' in NewgroundsAPI.setMovieVersion(version:String)"); } else { version = movie_version; } } static function debugMode() { debug = true; } static function addCustomEvent(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else if (!stat_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.AddCustomEvent(id:Number, event_name:String)"); } else { custom_events[stat_name] = CUSTOM_STATS + stat_id; SendMessage("Created custom event: " + stat_name); } } static function addCustomLink(stat_id, stat_name) { if (!stat_id) { SendError("Missing required 'id' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else if (!stat_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.AddCustomLink(id:Number, link_name:String)"); } else { custom_links[stat_name] = CUSTOM_STATS + stat_id; SendMessage((("Created custom link " + stat_id) + ": ") + stat_name); } } static function loadMySite() { SendLink(AUTHOR_SITE); } static function loadNewgrounds(special) { if (special) { var _local1 = {page:special}; } SendLink(NEWGROUNDS, _local1); } static function logCustomEvent(event_name) { if (!event_name) { SendError("Missing required 'event_name' parameter in NewgroundsAPI.logCustomEvent(event_name:String)"); } else if (!custom_events[event_name]) { SendError("Attempted to log undefined custom event: " + event_name); } else { SendEvent(custom_events[event_name]); } } static function loadCustomLink(link_name) { if (!link_name) { SendError("Missing required 'link_name' parameter in NewgroundsAPI.loadCustomLink(link_name:String)"); } else if (!custom_links[link_name]) { SendError("Attempted to open undefined custom link: " + link_name); } else { SendLink(custom_links[link_name]); } } static function getAdURL() { return(movie_options.ad_url); } static function getMovieURL() { if (movie_options.movie_url) { return(movie_options.movie_url); } return("Newgrounds.com"); } static function getNewVersionURL() { return((((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + NEW_VERSION); } static function SendEvent(id) { SendStat(id, false); } static function SendLink(id, extra) { SendStat(id, true, extra); } static function ReadGatewayData(params) { for (var _local2 in params) { params[_local2] = unescape(params[_local2]); movie_options[_local2] = params[_local2]; } if (params.settings_loaded) { SendMessage("You have successfully connected to the Newgrounds API gateway!"); SendMessage(("Movie Identified as '" + movie_options.movie_name) + "'"); if (movie_options.message) { SendMessage(movie_options.message); } if (movie_options.ad_url) { SendMessage("Your movie has been approved to run Flash Ads"); onAdsApproved(movie_options.ad_url); } if (movie_options.movie_version and (movie_options.movie_version.toString() != version.toString())) { SendMessage("WARNING: The movie version configured in your API settings does not match this movie's version!"); onNewVersionAvailable(movie_options.movie_version, getMovieURL(), getNewVersionURL()); } if (movie_options.deny_host) { SendMessage("You have blocked 'localHost' in your API settings."); SendMessage("If you wish to test your movie you will need to remove this block."); onDenyHost(host, getMovieURL(), getNewVersionURL()); } if (movie_options.request_portal_url == 1) { var _local4 = (((GATEWAY_URL + "?&id=") + tracker_id) + "&portal_url=") + escape(_url); var _local3 = new XML(); _local3.ignoreWhite = true; _local3.load(_local4); } } else if (!movie_options.settings_loaded) { SendError("Could not establish connection to the API gateway."); } } static function SendStat(stat_id, open_in_browser, extra) { if (!tracker_id) { SendError("API calls cannot be made without a valid movie id."); SendError("Did you remember to add the \"NewgroundsAPI.connectMovie()\" code?"); } else { var _local7 = (((((GATEWAY_URL + "?&id=") + tracker_id) + "&host=") + escape(host)) + "&stat=") + stat_id; for (var _local9 in extra) { _local7 = _local7 + ((("&" + escape(_local9)) + "=") + escape(extra[_local9])); } trace(_local7); if (debug) { _local7 = _local7 + "&debug=1"; } if (open_in_browser) { getURL (_local7, "_blank"); } else { var _local10 = new XML(); _local10.ignoreWhite = true; _local10.onLoad = function (success) { var _local6 = new Object(); var _local3 = 0; while (_local3 < this.firstChild.childNodes.length) { var _local4 = this.firstChild.childNodes[_local3]; var _local5 = _local4.nodeName; var _local2 = _local4.attributes.value; if (_local2 == Number(_local2)) { _local2 = Number(_local2); } _local6[_local5] = _local2; _local3++; } NewgroundsAPI.ReadGatewayData(_local6); }; _local10.load(_local7); } } } static function SendError(msg) { trace("[NEWGROUNDS API ERROR] :: " + msg); } static function SendMessage(msg) { trace("[NEWGROUNDS API] :: " + msg); } static function InitTextFormats() { if (!error_format) { error_format = new TextFormat(); error_format.font = "Arial Black"; error_format.size = 48; error_format.color = 16711680 /* 0xFF0000 */; } if (!header_format) { header_format = new TextFormat(); header_format.font = "Arial Black"; header_format.size = 24; header_format.color = 16777215 /* 0xFFFFFF */; } if (!normal_format) { normal_format = new TextFormat(); normal_format.font = "Arial"; normal_format.bold = true; normal_format.size = 12; normal_format.color = 16777215 /* 0xFFFFFF */; } if (!link_format) { link_format = new TextFormat(); link_format.color = 16776960 /* 0xFFFF00 */; link_format.underline = true; } } static function onNewVersionAvailable(version, movie_url, redirect_url) { InitTextFormats(); var _local2 = new Object(); _local2.x = Stage.width / 2; _local2.y = Stage.height / 2; _root.createEmptyMovieClip("NGAPI_new_version_overlay", _root.getNextHighestDepth()); _root.NGAPI_new_version_overlay.lineStyle(1, 0, 100); _root.NGAPI_new_version_overlay.beginFill(0, 70); _root.NGAPI_new_version_overlay.moveTo(-10, -10); _root.NGAPI_new_version_overlay.lineTo(-10, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, 1000); _root.NGAPI_new_version_overlay.lineTo(1000, -10); _root.NGAPI_new_version_overlay.lineTo(-10, -10); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.lineStyle(10, 0, 100); _root.NGAPI_new_version_overlay.beginFill(51); _root.NGAPI_new_version_overlay.moveTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y - 120); _root.NGAPI_new_version_overlay.lineTo(_local2.x + 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y + 80); _root.NGAPI_new_version_overlay.lineTo(_local2.x - 240, _local2.y - 120); _root.NGAPI_new_version_overlay.endFill(); _root.NGAPI_new_version_overlay.createEmptyMovieClip("exit", 1000); _root.NGAPI_new_version_overlay.exit.lineStyle(2, 39423, 100); _root.NGAPI_new_version_overlay.exit.beginFill(0, 50); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 230, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 90); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 210, _local2.y - 110); _root.NGAPI_new_version_overlay.exit.endFill(); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 214, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 226, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.moveTo(_local2.x + 226, _local2.y - 106); _root.NGAPI_new_version_overlay.exit.lineTo(_local2.x + 214, _local2.y - 94); _root.NGAPI_new_version_overlay.exit.onMouseUp = function () { if (_root.NGAPI_new_version_overlay.exit.hitTest(_root._xmouse, _root._ymouse)) { _root.NGAPI_new_version_overlay.removeMovieClip(); } }; var _local3 = (("Version " + version) + " is now available at:") + newline; var _local5 = _local3.length; _local3 = _local3 + movie_url; var _local4 = _local3.length; _root.NGAPI_new_version_overlay.createTextField("mouseblocker", 99, -10, -10, 1000, 1000); _root.NGAPI_new_version_overlay.createTextField("newversion", 100, _local2.x - 210, _local2.y - 90, 400, 80); _root.NGAPI_new_version_overlay.newversion.text = "New Version Available!"; _root.NGAPI_new_version_overlay.newversion.setTextFormat(header_format); _root.NGAPI_new_version_overlay.createTextField("message", 101, (Stage.width - 400) / 2, Stage.height / 2, 400, 40); _root.NGAPI_new_version_overlay.message.text = _local3; _root.NGAPI_new_version_overlay.message.multiline = true; _root.NGAPI_new_version_overlay.message.wordWrap = true; _root.NGAPI_new_version_overlay.message.html = true; _root.NGAPI_new_version_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_new_version_overlay.message.setTextFormat(_local5, _local4, link_format); } static function onDenyHost(hostname, movie_url, redirect_url) { InitTextFormats(); _root.createEmptyMovieClip("NGAPI_deny_host_overlay", _root.getNextHighestDepth()); _root.NGAPI_deny_host_overlay.lineStyle(20, 0, 100); _root.NGAPI_deny_host_overlay.beginFill(6684672); _root.NGAPI_deny_host_overlay.moveTo(0, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, 0); _root.NGAPI_deny_host_overlay.lineTo(Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, Stage.height); _root.NGAPI_deny_host_overlay.lineTo(0, 0); _root.NGAPI_deny_host_overlay.endFill(); var _local2 = ("This movie has not been approved for use on " + hostname) + "."; _local2 = _local2 + "\r\rFor an aproved copy, please visit:\r"; var _local4 = _local2.length; _local2 = _local2 + movie_url; var _local3 = _local2.length; _root.NGAPI_deny_host_overlay.createTextField("mousekill", 100, 0, 0, Stage.width, Stage.height); _root.NGAPI_deny_host_overlay.createTextField("error", 101, (Stage.width - 400) / 2, (Stage.height / 2) - 100, 400, 200); _root.NGAPI_deny_host_overlay.error.text = "ERROR!"; _root.NGAPI_deny_host_overlay.error.setTextFormat(error_format); _root.NGAPI_deny_host_overlay.createTextField("message", 102, (Stage.width - 400) / 2, Stage.height / 2, 400, 200); _root.NGAPI_deny_host_overlay.message.text = _local2; _root.NGAPI_deny_host_overlay.message.multiline = true; _root.NGAPI_deny_host_overlay.message.wordWrap = true; _root.NGAPI_deny_host_overlay.message.html = true; _root.NGAPI_deny_host_overlay.message.setTextFormat(normal_format); link_format.url = redirect_url; _root.NGAPI_deny_host_overlay.message.setTextFormat(_local4, _local3, link_format); } static function isInstalled() { return(true); } static function onAdsApproved(ad_url) { } static var movie_options = new Object(); static var custom_events = new Object(); static var custom_links = new Object(); static var MOVIE_VIEWS = 1; static var AUTHOR_SITE = 2; static var NEWGROUNDS = 3; static var NEW_VERSION = 4; static var CUSTOM_STATS = 50; static var GATEWAY_URL = "http://www.ngads.com/gateway.php"; }
Symbol 82 MovieClip [__Packages.com.newgrounds.Bridge] Frame 0
class com.newgrounds.Bridge { var widget_id, receiver, transmitter; function Bridge (id) { widget_id = id; receiver = new LocalConnection(); transmitter = new LocalConnection(); receiver.receiveEvent = function (event, params) { com.newgrounds.API.callListener(event, params.success, params.data); }; receiver.connect("rec_" + widget_id); } function sendError(command, params) { if (widget_id) { transmitter.send(widget_id, "sendError", command, params); } } function sendEvent(event, params) { if (widget_id) { transmitter.send(widget_id, "sendEvent", event, params); } } function sendCommand(command, params) { if (widget_id) { transmitter.send(widget_id, "sendCommand", command, params); } } }
Symbol 80 MovieClip [__Packages.com.newgrounds.APIError] Frame 0
class com.newgrounds.APIError { var message, name, alias; function APIError (error, msg) { if (Number(error).toString() == String(error)) { error = Number(error); } else if (error_codes[String(error)]) { error = error_codes[String(error)]; } else { error = 0; } code = error; message = msg; name = error_names[error]; alias = aliases[error]; } static function init_codes() { var _local2 = new Object(); var _local1 = 0; while (_local1 < aliases.length) { _local2[aliases[_local1]] = _local1; _local1++; } return(_local2); } static function init_names() { var _local5 = new Array(); var _local3 = 0; while (_local3 < aliases.length) { var _local2 = aliases[_local3].toLowerCase().split("_"); var _local1 = 0; while (_local1 < _local2.length) { _local2[_local1] = _local2[_local1].substr(0, 1).toUpperCase() + _local2[_local1].substr(1, _local2[_local1].length); for (var _local4 in always_caps) { if (_local2[_local1].toUpperCase() == always_caps[_local4]) { _local2[_local1] = _local2[_local1].toUpperCase(); } } _local1++; } _local5[_local3] = _local2.join(" "); _local3++; } return(_local5); } function isError() { return(true); } static var aliases = new Array("UNKNOWN_ERROR", "INVALID_API_ID", "MISSING_PARAM", "INVALID_STAT_ID", "INVALID_COMMAND_ID", "FLASH_ADS_NOT_APPROVED", "PERMISSION_DENIED", "IDENTIFICATION_REQUIRED", "INVALID_EMAIL_ADDRESS", "BANNED_USER", "SESSION_EXPIRED", "INVALID_SCORE", "INVALID_MEDAL", "INVALID_SAVE_GROUP", "FILE_NOT_FOUND", "SITE_ID_REQUIRED", "UPLOAD_IN_PROGRESS", "USER_CANCELLED", "CONFIRM_REQUEST", "ILLEGAL_REQUEST", "CONNECTION_FAILED", "QUERY_INCOMPLETE", "SAVE_FILE_ERROR", "INVALID_VALUE", "SERVER_ERROR"); static var always_caps = new Array("API", "URL", "ID"); static var error_codes = init_codes(); static var error_names = init_names(); var code = 0; }
Symbol 81 MovieClip [__Packages.com.newgrounds.API] Frame 0
class com.newgrounds.API { static var version, user_email, movie_id, debug, session_id, connected, tracker_id, timeout, encryption_key, user_id, user_name, host, ad_url, eventDispatcher, last_command, ad_swf_url; function API () { } static function setMovieVersion(v) { if (v) { version = String(v); } } static function setUserEmail(e) { user_email = e; } static function setFakeSession(fake) { fake_session = fake; } static function setPreload(p) { preload = p; } static function getPercentLoaded() { var _local2; if (preload && (preload_items > 0)) { _local2 = 80; var _local4 = Math.round((preload_items_loaded / preload_items) * 20); var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2) + _local4; } else { _local2 = 100; var _local3 = Math.round((_root.getBytesLoaded() / _root.getBytesTotal()) * _local2); } return(_local3); } static function reportNewAsset() { if (preload) { preload_items++; } } static function reportAssetLoaded() { if (preload) { preload_items_loaded++; } } static function populateMedals(medal_list) { if (medals === null) { medals = new Array(); var _local2 = 0; while (_local2 < medal_list.length) { var _local1 = medal_list[_local2]; medals.push(new com.newgrounds.Medal(_local1.medal_id, _local1.medal_name, _local1.medal_value, _local1.medal_difficulty, _local1.medal_unlocked, _local1.medal_icon)); _local2++; } } } static function populateSaveGroups(save_group_list, file_path) { com.newgrounds.SaveFile.setFilePath(file_path); save_groups = new Array(); var _local6 = 0; while (_local6 < save_group_list.length) { var _local2 = save_group_list[_local6]; var _local5 = new com.newgrounds.SaveGroup(_local2.group_id, _local2.group_name, _local2.group_type); var _local4 = 0; while (_local4 < _local2.keys.length) { var _local3 = _local2.keys[_local4]; _local5.addKey(_local3.id, _local3.name, _local3.type); _local4++; } _local4 = 0; while (_local4 < _local2.ratings.length) { var _local1 = _local2.ratings[_local4]; _local5.addRating(_local1.id, _local1.name, _local1.min, _local1.max, _local1.float); _local4++; } save_groups.push(_local5); _local6++; } } static function populateScoreBoards(score_boards) { scoreboards = new Array(); var _local1 = 0; while (_local1 < score_boards.length) { scoreboards.push(new com.newgrounds.ScoreBoard(score_boards[_local1].id, score_boards[_local1].name)); _local1++; } } static function getOfficialVersionURL() { var _local1 = (((GATEWAY_URL + "?tracker_id=") + movie_id) + "&command_id=loadOfficalVersion&seed=") + Math.random(); if (debug) { _local1 = _local1 + "&debug=1"; } return(_local1); } static function hasUserSession() { if (session_id && (publisher_id)) { return(true); } if (_root.NewgroundsAPI_PublisherID && (_root.NewgroundsAPI_SessionID)) { return(true); } return(false); } static function isNewgrounds() { return(((publisher_id == 1) || (_root.NewgroundsAPI_PublisherID == 1)) || (getHost().toLowerCase().indexOf("ungrounded.net") > -1)); } static function hasPublisher() { return(publisher_id || (_root.NewgroundsAPI_PublisherID)); } static function hasUserEmail() { if (user_email) { return(true); } return(false); } static function isConnected() { return(connected); } static function getTrackerID() { return(tracker_id); } static function connectionTimeOut() { reportAssetLoaded(); clearInterval(timeout); callListener(com.newgrounds.APIEvent.MOVIE_CONNECTED, false, new com.newgrounds.APIError("CONNECTION_FAILED", "Connection to API gateway timed out.")); } static function connectMovie(m_id, encrypt_key, debug_mode) { if (connected) { return(undefined); } sendMessage("Connecting to the Newgrounds API Gateway..."); var _local2 = function () { com.newgrounds.API.connectionTimeOut(); }; timeout = setInterval(_local2, 10000, null); if (!m_id) { fatalError("API.connectMovie() - missing required movie_id parameter", "connectMovie"); } movie_id = String(m_id); tracker_id = Number(movie_id.substring(0, movie_id.indexOf(":"))); encryption_key = encrypt_key; debug = debug_mode; if (_root.NewgroundsAPI_PublisherID) { publisher_id = _root.NewgroundsAPI_PublisherID; if (_root.NewgroundsAPI_SessionID) { session_id = _root.NewgroundsAPI_SessionID; } } else if (fake_session) { publisher_id = 1; session_id = "D3bu64p1U53R"; user_id = 10; user_name = "API-Debugger"; } else { if (debug) { publisher_id = 1; } session_id = null; user_id = 0; user_name = "Guest"; } if (_root.NewgroundsAPI_UserName) { user_name = _root.NewgroundsAPI_UserName; } if (_root.NewgroundsAPI_UserID) { user_id = _root.NewgroundsAPI_UserID; } reportNewAsset(); connected = true; sendCommand("connectMovie", {host:getHost(), movie_version:version}); } static function getHost() { if (!host) { var _local1 = _url; if ((_local1.indexOf("http://") > -1) or (_local1.indexOf("https://") > -1)) { host = _local1.split("/")[2].toLowerCase(); } else { host = LOCAL_HOST; } } return(host); } static function isPublishedHost() { for (var _local1 in PREVIEW_HOSTS) { if (getHost() == PREVIEW_HOSTS[_local1]) { return(false); } } return(true); } static function loadNewgrounds() { sendCommand("loadNewgrounds", {host:getHost()}, true); } static function loadMySite() { sendCommand("loadMySite", {host:getHost()}, true); } static function loadCustomLink(link) { sendCommand("loadCustomLink", {host:getHost(), link:link}, true); } static function logCustomEvent(event) { sendCommand("logCustomEvent", {host:getHost(), event:event}); } static function getScoreBoard(board) { for (var _local2 in scoreboards) { if ((typeof(board) == "string") && (scoreboards[_local2].name == board)) { return(scoreboards[_local2]); } if ((typeof(board) == "number") && (scoreboards[_local2].id == board)) { return(scoreboards[_local2]); } } } static function postScore(board, value, get_best) { if ((!board) or (value == undefined)) { sendError({command_id:"postScore"}, new com.newgrounds.APIError("MISSING_PARAM", "missing required parameter(s)")); return(undefined); } sendSecureCommand("postScore", {user_name:user_name, board:board, value:value, get_best:get_best, publisher_id:publisher_id}); } static function loadScores(board) { var _local3 = "loadScores"; if (!board.__get__id()) { sendError({command_id:_local3}, new com.newgrounds.APIError("MISSING_PARAM", "missing required ScoreBoard instance")); return(undefined); } if (!hasUserSession()) { callListener(com.newgrounds.APIEvent.SCORES_LOADED, false, new com.newgrounds.APIError("SITE_ID_REQUIRED", ("Host '" + getHost()) + "' does not have high scores enabled")); return(undefined); } var _local1 = {}; _local1.publisher_id = publisher_id; _local1.period = board.period; _local1.board = board.id; _local1.num_results = board.num_results; _local1.page = board.page; sendCommand(_local3, _local1); } static function unlockMedal(medal, x, y) { if (!medal) { sendError({command_id:"unlockMedal"}, new com.newgrounds.APIError("MISSING_PARAM", "missing required medal name")); return(undefined); } if (typeof(medal) != "object") { medal = getMedal(medal); } callListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, true, {medal:medal, x:x, y:y}); if (hasUserSession() or debug) { sendMessage(("Attempting to unlock '" + medal.getName()) + "'"); var _local3 = new Object(); _local3.medal_id = medal.getID(); sendSecureCommand("unlockMedal", _local3); } else { sendMessage(("Unlocking '" + medal.getName()) + "'"); medal.setUnlocked(true); var _local2 = loadLocal("medals_unlocked"); if (!_local2) { _local2 = new Object(); } _local2[medal.getID()] = true; saveLocal("medals_unlocked", _local2); } } static function loadMedals() { if (medals) { callListener(com.newgrounds.APIEvent.MEDALS_LOADED, true, {medals:medals}); return(undefined); } var _local1 = new Object(); if (hasUserSession()) { _local1.publisher_id = publisher_id; _local1.user_id = user_id; } sendCommand("getMedals", _local1); } static function getMedals() { return(medals); } static function getMedal(identifier) { for (var _local3 in medals) { var _local1 = medals[_local3]; if ((typeof(identifier) == "string") && (_local1.getName() == identifier)) { return(_local1); } if (_local1.getID() == identifier) { return(_local1); } } sendWarning(("Could not find the medal '" + identifier) + "'"); } static function saveLocal(save_id, save_data, size_allocation) { if (!sharedObjects[save_id]) { sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id); } sharedObjects[save_id].data[save_id] = encodeData(save_data); sharedObjects[save_id].flush(); } static function loadLocal(save_id) { if (!sharedObjects[save_id]) { sharedObjects[save_id] = SharedObject.getLocal((("ng_ap_secure_" + movie_id) + "_") + save_id); } sharedObjects[save_id].flush(); echo((("sharedobject " + save_id) + " is: ") + sharedObjects[save_id].data[save_id]); if (sharedObjects[save_id].data[save_id]) { echo("decoded: " + decodeData(sharedObjects[save_id].data[save_id])); return(decodeData(sharedObjects[save_id].data[save_id])); } return(null); } static function encodeData(data) { return(compressHex(com.newgrounds.encoders.RC4.encrypt(com.newgrounds.encoders.JSON.encode(data), encryption_key))); } static function decodeData(base) { return(com.newgrounds.encoders.JSON.decode(com.newgrounds.encoders.RC4.decrypt(uncompressHex(base), encryption_key))); } static function compressHex(hex_value) { var _local6 = hex_value.length % 6; var _local4 = ""; var _local5 = new com.newgrounds.encoders.BaseN(compression_radix); var _local1 = 0; while (_local1 < hex_value.length) { var _local2 = Number("0x" + hex_value.substr(_local1, 6)); _local4 = _local4 + _local5.encode(_local2, 4); _local1 = _local1 + 6; } return(_local6 + _local4); } static function uncompressHex(base_value) { var _local9 = Number(base_value.charAt(0)); var _local7 = ""; var _local3; var _local8 = new com.newgrounds.encoders.BaseN(compression_radix); var _local2 = 1; while (_local2 < base_value.length) { var _local6 = base_value.substr(_local2, 4); var _local5 = _local8.decode(_local6); var _local1 = dec2hex(_local5); if ((_local2 + 4) < base_value.length) { _local3 = 6; } else { _local3 = _local9; } while (_local1.length < _local3) { _local1 = "0" + _local1; } _local7 = _local7 + _local1; _local2 = _local2 + 4; } return(_local7); } static function dec2hex(dec) { var _local4 = "0123456789ABCDEF"; var _local3 = ""; while (dec > 0) { var _local2 = dec % 16; _local3 = _local4.charAt(_local2) + _local3; dec = (dec - _local2) / 16; } return(_local3); } static function getSaveGroup(group) { if ((save_groups == null) || (save_groups.length < 1)) { return(null); } var _local1 = 0; while (_local1 <= save_groups.length) { if ((typeof(group) == "number") or (Number(group).toString() == String(group))) { if (save_groups[_local1].getID() == Number(group)) { return(save_groups[_local1]); } } else if (typeof(group) == "string") { if (save_groups[_local1].getName().toLowerCase() == group.toLowerCase()) { return(save_groups[_local1]); } } _local1++; } return(null); } static function lookupSaveFiles(save_group) { var _local1 = "lookupSaveFiles"; var _local2 = {publisher_id:publisher_id, group_id:save_group.getID(), query:com.newgrounds.encoders.JSON.encode(save_group.getQuery(true))}; sendCommand(_local1, _local2); } static function newSaveFile(group) { var _local1 = getSaveGroup(group); if (_local1) { return(_local1.newFile()); } var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", ("'" + group) + "' is not a valid save group."); sendError({command_id:"newSaveFile"}, _local2); } static function newSaveQuery(group) { var _local1 = getSaveGroup(group); if (_local1) { return(_local1.newQuery()); } var _local2 = new com.newgrounds.APIError("INVALID_SAVE_GROUP", ("'" + group) + "' is not a valid save group."); sendError({command_id:"newSaveQuery"}, _local2); } static function checkFilePrivs(file) { if (user_id) { var _local1 = user_id; } else { var _local1 = 0; } var _local2 = {group:file.getGroup().getID(), filename:file.getName(), user_id:_local1, publisher_id:publisher_id}; sendCommand("checkFilePrivs", _local2); } static function saveFile(file, overwrite) { var _local1; _local1 = {group:file.getGroup().getID(), filename:file.getName(), description:file.getDescription(), draft:file.__get__draft(), user_name:user_name}; if (overwrite) { _local1.overwrite = overwrite; } if (file.getDuplicateID()) { _local1.save_id = file.getDuplicateID(); } if (file.getKeys().length > 0) { _local1.keys = file.getKeys(); } var _local3; _local3 = {file:file.getRawContents()}; if (file.getThumbnailImageScan()) { _local3.thumbnail = file.getThumbnailImageScan(); } save_file = file; sendSecureCommand("saveFile", _local1, null, _local3); } static function rateSaveFile(file, rating, vote) { var _local1 = {group:file.getGroup().getID(), save_id:file.getID(), rating_id:rating.rating_id, vote:vote, user_id:user_id}; sendSecureCommand("rateSaveFile", _local1); } static function getConfirmation(command_name, event, msg, target, confirm, cancel) { var _local1 = new com.newgrounds.APIError("CONFIRM_REQUEST", msg); _local1.confirm = function () { target[confirm](); }; _local1.cancel = function () { target[cancel](); }; _local1.command = command_name; callListener(event, false, _local1); } static function doEvent(e) { switch (e.command_id) { case "connectMovie" : clearInterval(timeout); sendMessage("You have successfully connected to the Newgrounds API Gateway"); sendMessage(("Movie identified as \"" + e.movie_name) + "\""); callListener(com.newgrounds.APIEvent.MOVIE_CONNECTED, e.success, {movie_name:e.movie_name}); var _local6 = false; if (e.ad_status === -1) { var _local10 = "This movie was not approved to run Flash Ads."; sendWarning(_local10); sendWarning(("visit " + AD_TERMS_URL) + " to view our approval guidelines"); if (!e.ad_url) { callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local10)); } else { _local6 = true; } } else if (e.ad_status === 0) { var _local10 = "Flash Ads are currently awaiting approval."; sendNotice(_local10); if (!e.ad_url) { callListener(com.newgrounds.APIEvent.ADS_APPROVED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", _local10)); } else { _local6 = true; } } if (e.ad_url) { ad_url = unescape(e.ad_url); if (!_local6) { sendMessage("This movie has been approved to run Flash Ads!"); } callListener(com.newgrounds.APIEvent.ADS_APPROVED, true); } if (e.deny_host) { var _local10 = getHost() + " does not have permission to run this movie!"; sendWarning(_local10); sendWarning("\tUpdate your API configuration to unblock " + getHost()); callListener(com.newgrounds.APIEvent.HOST_BLOCKED, true, {movie_url:unescape(e.movie_url), redirect_url:getOfficialVersionURL()}); } else if (e.movie_version) { sendWarning("According to your API Configuration, this version is out of date."); if (version) { sendWarning("\tThe this movie is version " + version); } sendWarning("\tThe most current version is " + e.movie_version); callListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, true, {movie_version:e.movie_version, movie_url:unescape(e.movie_url), redirect_url:getOfficialVersionURL()}); } if (e.request_portal_url) { sendCommand("setPortalID", {portal_url:_url}); } if (preload) { reportNewAsset(); var _local7 = {}; if (hasUserSession()) { _local7.publisher_id = publisher_id; _local7.user_id = user_id; } sendCommand("preloadSettings", _local7); } reportAssetLoaded(); break; case "preloadSettings" : if (e.medals) { populateMedals(e.medals); if ((!hasUserSession()) and (!debug)) { echo("checking for sharedobject medals..."); var _local3 = loadLocal("medals_unlocked"); if (_local3) { for (var _local5 in _local3) { var _local5 = Number(_local5); if (_local3[_local5]) { var _local2 = getMedal(_local5); echo("now unlocking " + _local2.getName()); _local2.setUnlocked(true); } } } } } if (e.save_groups) { populateSaveGroups(e.save_groups, e.save_file_path); } if (e.score_boards) { populateScoreBoards(e.score_boards); } reportAssetLoaded(); break; case "logCustomEvent" : if (e.success) { sendMessage(("Event '" + e.event) + "' was logged."); } callListener(com.newgrounds.APIEvent.EVENT_LOGGED, e.success, {event:e.event}); break; case "postScore" : var _local8; if (e.success) { var _local4 = "User"; if (user_email) { _local4 = user_email; } else if (user_name) { _local4 = user_name; } var _local17 = getScoreBoard(e.board); sendMessage(((((_local4 + " posted ") + e.value) + " to '") + _local17.name) + "'"); _local8 = {board:_local17, value:e.value, username:_local4}; } callListener(com.newgrounds.APIEvent.SCORE_POSTED, e.success, _local8); break; case "loadScores" : _local8 = new Object(); var _local17 = getScoreBoard(e.board); if (_local17.exists()) { _local17.setScores(e.scores, e.period, e.page, e.num_results); } callListener(com.newgrounds.APIEvent.SCORES_LOADED, e.success, {board:_local17}); break; case "unlockMedal" : var _local21 = getMedal(e.medal_name); _local21.setUnlocked(true); sendMessage(("Successfuly unlocked '" + _local21.getName()) + "'"); callListener(com.newgrounds.APIEvent.MEDAL_UNLOCKED, e.success, {medal:_local21}); break; case "getMedals" : populateMedals(e.medals); callListener(com.newgrounds.APIEvent.MEDALS_LOADED, e.success, {medals:medals}); break; case "lookupSaveFiles" : var _local11 = getSaveGroup(e.group_id).getQuery(); _local11.onExecuted(e.files); break; case "rateSaveFile" : var _local15 = getSaveGroup(e.group_id); var _local13 = _local15.getFile(e.save_id); if (e.already_voted) { var _local24 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today"); callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local24, file:_local13}); return(undefined); } if (e.success) { var _local9 = _local13.onVoted(e); callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {rating:_local9, file:_local13}); } else { callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, e.success, {file:_local13}); } break; case "saveFile" : if (save_file) { if (!save_file.exists()) { save_file.setID(e.save_id, true); } save_file.onSaved(e); callListener(com.newgrounds.APIEvent.FILE_SAVED, e.success, {file:save_file}); } save_file = null; break; case "checkFilePrivs" : _local8 = {file:save_file, filename:e.filename, group:e.group, exists:e.exists, can_write:e.can_write}; if (e.duplicate_id) { _local8.duplicate_id = e.duplicate_id; } callListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, e.success, _local8); } } static function getDispatcher() { if (!eventDispatcher) { eventDispatcher = new com.newgrounds.APIEventDispatcher(); } return(eventDispatcher); } static function hasEventListener(event) { return(getDispatcher().hasEventListener(event)); } static function addEventListener(event, listener, target) { echo(("Adding a listener for '" + event) + "'"); getDispatcher().addEventListener(event, listener, target); } static function removeEventListener(event, target) { getDispatcher().removeEventListener(event, target); } static function callListener(event, success, data, target) { echo("Fired Event: " + event); var _local1 = new com.newgrounds.APIEvent(event, success, target, data); if (data.isError()) { _local1.error = data; } else { _local1.data = data; } getDispatcher().dispatchEvent(_local1); if ((event == com.newgrounds.APIEvent.MOVIE_CONNECTED) && (!success)) { connected = false; } bridge.sendEvent(event, {success:success, data:data}); } static function sendError(c, e) { switch (c.command_id) { case "connectMovie" : clearInterval(timeout); callListener(com.newgrounds.APIEvent.MOVIE_CONNECTED, false, {error:e, response:c}); break; case "saveFile" : callListener(com.newgrounds.APIEvent.FILE_SAVED, false, {error:e, file:save_file, response:c}); save_file = null; } bridge.sendError(com.newgrounds.APIEvent.API_ERROR, {command:c.command_id, error:e}); trace((((((("[Newgrounds API ERROR] :: " + c.command_id) + "() - ") + e.name) + ":") + newline) + "\t\t\t\t") + e.message); } static function sendWarning(m, c) { if (c) { m = m + ((("\r[Newgrounds API WARNING] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } trace("[Newgrounds API WARNING] :: " + m); } static function sendNotice(m, c) { if (c) { m = m + ((("\r[Newgrounds API NOTICE] :: \tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } trace("[Newgrounds API NOTICE] :: " + m); } static function fatalError(m, c) { if (c) { m = m + ((("\r\tSee " + COMMANDS_WIKI_URL) + c.toLowerCase()) + " for additional information."); } throw (((("***ERROR*** frame=" + _root._currentframe) + ", class=API") + newline) + newline) + m; } static function sendSecureCommand(command, secure_params, unsecure_params, files) { if (((!debug) && (!hasUserSession())) && (!hasUserEmail())) { sendError({command_id:command}, new com.newgrounds.APIError("IDENTIFICATION_REQUIRED", ("You must be logged in, or provide an e-mail address using 'API.setUserEmail(\"name@domain.com\");' to use " + command) + "().")); return(undefined); } if (!command) { fatalError("Missing command", "sendSecureCommand"); } if (!secure_params) { fatalError("Missing secure_params", "sendSecureCommand"); } if (!unsecure_params) { unsecure_params = new Object(); } var _local2 = ""; var _local1 = 0; while (_local1 < 16) { _local2 = _local2 + compression_radix.charAt(Math.floor(Math.random() * compression_radix.length)); _local1++; } if (debug && (!fake_session)) { secure_params.session_id = ""; } else { secure_params.session_id = session_id; } secure_params.as_version = 2; secure_params.user_email = user_email; secure_params.publisher_id = publisher_id; secure_params.seed = _local2; secure_params.command_id = command; var _local8 = com.newgrounds.encoders.JSON.encode(secure_params); var _local9 = com.newgrounds.encoders.MD5.calculate(_local2); var _local6 = com.newgrounds.encoders.RC4.encrypt(_local8, encryption_key); var _local7 = _local9 + _local6; unsecure_params.secure = compressHex(_local7); sendCommand("securePacket", unsecure_params, false, files); } static function sendCommand(command, params, open_browser, files) { if ((!connected) and (command != "connectMovie")) { var _local12 = (("API." + command) + "() - API.connectMovie() must be called before this command can be called") + newline; fatalError(_local12, "connectMovie"); } if (open_browser) { var _local2 = new Object(); } else { var _local2 = new LoadVars(); } _local2.command_id = command; _local2.tracker_id = movie_id; if (debug) { _local2.debug = debug; } if (params) { for (var _local9 in params) { _local2[_local9] = params[_local9]; } } if (files) { for (var _local9 in files) { _local2[_local9] = files[_local9]; } } if (open_browser) { var _local7 = (GATEWAY_URL + "?seed=") + Math.random(); for (var _local9 in _local2) { _local7 = _local7 + ((("&" + escape(_local9)) + "=") + escape(_local2[_local9])); } getURL (_local7, "_blank"); _local2.removeMovieClip(); } else { var _local10 = new LoadVars(); _local10.remember_command_id = _local2.command_id; _local10.onData = function (data) { com.newgrounds.API.echo(("INPUT: \r" + data) + newline); if (data) { var _local2 = com.newgrounds.encoders.JSON.decode(data); } else { var _local2 = {success:false}; } if (!_local2.success) { if ((!_local2.error_code) && (!_local2.error_msg)) { _local2.error_code = "CONNECTION_FAILED"; _local2.error_msg = "Could not contact the API Gateway"; _local2.command_id = this.remember_command_id; } var _local4 = new com.newgrounds.APIError(_local2.error_code, _local2.error_msg); com.newgrounds.API.sendError(_local2, _local4); } else { com.newgrounds.API.doEvent(_local2); } }; var _local6 = new Array(); for (var _local8 in _local2) { _local6.push((_local8 + "=") + escape(_local2[_local8])); } echo((("POST " + GATEWAY_URL) + "?") + _local6.join("&")); _local2.sendAndLoad((GATEWAY_URL + "?seed=") + Math.random(), _local10, "POST"); last_command = _local2.command_id; } } static function renderAd(target) { if (ad_swf_url) { target.background = target.createEmptyMovieClip("background", 100); target.background.beginFill(0); target.background.moveTo(0, 0); target.background.lineTo(300, 0); target.background.lineTo(300, 250); target.background.lineTo(0, 250); target.background.lineTo(0, 0); target.background.endFill(); target.mask = target.createEmptyMovieClip("mask", 101); target.mask.beginFill(0); target.mask.moveTo(0, 0); target.mask.lineTo(300, 0); target.mask.lineTo(300, 250); target.mask.lineTo(0, 250); target.mask.lineTo(0, 0); target.mask.endFill(); target.clip = target.createEmptyMovieClip("clip", 102); target.clip.ad = target.clip.createEmptyMovieClip("ad", 100); target.clip.setMask(target.mask); loadMovie (ad_swf_url, target.clip.ad); callListener(com.newgrounds.APIEvent.AD_ATTACHED, true, null, target); } else { callListener(com.newgrounds.APIEvent.AD_ATTACHED, false, new com.newgrounds.APIError("FLASH_ADS_NOT_APPROVED", "Unable to render ad")); } } static function attachFlashAd(target) { System.security.allowDomain("http://server.cpmstar.com"); System.security.allowDomain("http://www.cpmstar.com"); System.security.allowDomain("https://server.cpmstar.com"); System.security.allowDomain("https://www.cpmstar.com"); System.security.allowInsecureDomain("http://server.cpmstar.com"); System.security.allowInsecureDomain("http://www.cpmstar.com"); System.security.allowInsecureDomain("https://server.cpmstar.com"); System.security.allowInsecureDomain("https://www.cpmstar.com"); if (checkAdFlood()) { ad_swf_url = null; } else if (checkAdCache()) { reportNewAsset(); var _local1 = new LoadVars(); _local1.onData = function (data) { if (data) { com.newgrounds.API.ad_swf_url = data; } else { com.newgrounds.API.ad_swf_url = null; } com.newgrounds.API.reportAssetLoaded(); com.newgrounds.API.renderAd(target); }; if (ad_url.indexOf("?") > -1) { _local1.load((ad_url + "&random=") + Math.random()); } else { _local1.load((ad_url + "?random=") + Math.random()); } if (!ad_warning) { ad_warning = true; sendMessage("You may get a security sandbox violation from this ad. This is nothing to worry about!"); } } else if (ad_swf_url) { renderAd(target); } } static function checkAdFlood() { if (!ad_url) { return(false); } var _local2 = new Date(); var _local1 = _local2.getTime(); if (_local1 >= ad_flood) { if ((_local1 - ad_flood) > 1000) { ad_flood = _local1 + 1000; } else { ad_flood = _local1; sendWarning("This movie is attempting to load multiple ads at too high of a frequency; you may have a bad preloader loop."); return(true); } } return(false); } static function checkAdCache() { if (!ad_url) { return(false); } var _local2 = new Date(); var _local1 = _local2.getTime(); if (_local1 >= ad_url_cache) { ad_url_cache = _local1 + 300000; return(true); } return(false); } static function sendMessage(m, r) { var _local1 = "[Newgrounds API] :: " + m; if (r) { return(_local1); } trace(_local1); } static function echo(m) { if (do_echo) { trace(m); } } static var do_echo = false; static var GATEWAY_URL = "http://www.ngads.com/gateway_v2.php"; static var AD_TERMS_URL = "http://www.newgrounds.com/wiki/flashads/terms/"; static var COMMANDS_WIKI_URL = "http://www.newgrounds.com/wiki/flashapi/commands/"; static var LOCAL_HOST = "localhost"; static var PREVIEW_HOSTS = new Array(LOCAL_HOST); static var ad_url_cache = 0; static var ad_flood = 0; static var ad_warning = false; static var save_file = null; static var publisher_id = 1; static var fake_session = false; static var medals = null; static var scoreboards = new Array(); static var save_groups = null; static var compression_radix = "/g8236klvBQ#&|;Zb*7CEA59%s`Oue1wziFp$rDVY@TKxUPWytSaGHJ>dmoMR^<0~4qNLhc(I+fjn)X"; static var errors = com.newgrounds.APIError.init_codes(); static var sharedObjects = new Object(); static var bridge = new com.newgrounds.Bridge(_root.NewgroundsAPI_SandboxID); static var preload = false; static var preload_items = 0; static var preload_items_loaded = 0; }
Symbol 83 MovieClip [__Packages.com.newgrounds.SaveFile] Frame 0
class com.newgrounds.SaveFile { static var file_path; var _group, _filename, _file_id, _contents, _thumbnail, _thumbnail_url, raw, img, _file_url, _description, scanner; function SaveFile (_group) { this._group = _group; _filename = null; _file_id = null; _contents = null; _thumbnail = null; _thumbnail_url = null; raw = null; img = null; _draft = false; _keys = new Array(); _ratings = new Array(); _file_url = null; com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.FILE_PRIVS_LOADED, checkPrivs, this); } static function setFilePath(path) { file_path = path + "/"; } function get name() { return(_filename); } function set name(s) { _filename = s; //return(name); } function get id() { return(_file_id); } function get description() { return(_description); } function set description(s) { _description = s; //return(description); } function get contents() { return(_contents); } function set contents(o) { _contents = o; //return(contents); } function get thumbnailUrl() { return(_thumbnail_url); } function set thumbnailUrl(s) { _thumbnail_url = s; //return(thumbnailUrl); } function get fileUrl() { return(_file_url); } function set fileUrl(s) { _file_url = s; //return(fileUrl); } function get draft() { return(_draft); } function set draft(d) { _draft = d; //return(draft); } function get group() { return(_group); } function get groupId() { return(_group.getID()); } function get groupName() { return(_group.getName()); } function get groupType() { return(_group.getType()); } function get locked() { return(_locked); } function get shared() { return(_isShared()); } function get isPrivate() { return(_isPrivate()); } function get isPublic() { return(_isPublic()); } function get approved() { return(_isApproved()); } function get keys() { return(_keys); } function get ratings() { return(_ratings); } function getID() { return(_file_id); } function exists() { return(!(_file_id === null)); } function getGroup() { return(_group); } function getName() { return(_filename); } function _isPrivate() { return(status == STATUS.PRIVATE); } function _isShared() { return(status > STATUS.PRIVATE); } function _isApproved() { return(status > STATUS.UNAPPROVED); } function _isPublic() { if (_isPrivate()) { return(false); } if (_group.isType("SYSTEM") or _group.isType("PRIVATE")) { return(false); } if (_group.isType("PUBLIC")) { return(true); } if (_isApproved()) { return(true); } return(false); } function isLocked() { return(_locked); } function getDescription() { return(_description); } function getShared() { return(_draft); } function getThumbnailImageScan() { return(img); } function getRawContents() { return(raw); } function getDuplicateID() { return(duplicate_id); } function getKeys() { return(_keys); } function getKey(key) { var _local3 = getGroup().getKey(key); var _local2 = 0; while (_local2 < _keys.length) { if (_keys[_local2].id == _local3.key_id) { return(_keys[_local2].value); } _local2++; } } function getRating(rating) { var _local2 = getGroup().getRating(rating); if (_ratings[_local2.rating_id]) { return(_ratings[_local2.rating_id]); } return(null); } function overwriteAllowed() { return(overwrite); } function getFileURL() { return(file_path + _file_url); } function overwriteExisting() { overwrite = true; } function setID(id, add_to_group) { _file_id = id; if (add_to_group) { getGroup().addFile(this); } } function setName(filename, locked) { _filename = filename; _locked = locked; } function setDescription(description) { _description = description; } function setDraft(draft) { _draft = draft; } function setContents(_contents) { this._contents = _contents; } function setThumbnail(thumb) { if (thumb) { _thumbnail = thumb; } else { _thumbnail = null; } } function setThumbnailURL(url) { _thumbnail_url = url; } function setFileURL(url) { _file_url = url; } function setPermissions(status, _locked) { this._locked = _locked; this.status = status; } function setKey(key, val) { var _local4 = _group.getKeyID(key); var _local2; if (!_local4) { onError(((("'" + key) + "' is not a valid key for the '") + _group.getKeyType(key, true)) + "' save _group", "setKey", "INVALID_VALUE", true); return(undefined); } if ((!_group.keyValueIsValid(key, val)) && (!(val === null))) { onError((("'" + val) + "' is not a valid ") + _group.getKeyType(key, true), "setKey", "INVALID_VALUE", true); return(undefined); } switch (_group.getKeyType(key, true)) { case "string" : if (val) { val = String(val); } else { val = undefined; } break; default : val = Number(val); } var _local5 = {id:_local4, value:val}; for (var _local7 in _keys) { _local2 = _keys[_local7]; if (_local2.id == _local4) { _keys[_local7] = _local5; return(undefined); } } _keys.push(_local5); } function setRating(rating, votes, score) { var _local2 = getGroup().getRating(rating); if (!votes) { votes = 0; } if (!score) { score = 0; } if (!_local2.is_float) { score = Math.round(Number(score)); } _ratings[_local2.rating_id] = {id:Number(_local2.rating_id), name:_local2.rating_name, votes:Number(votes), score:Number(score)}; return(_ratings[_local2.rating_id]); } function clearBuffer() { _contents = null; raw = null; img = null; scanner = null; overwrite = false; duplicate_id = null; } function onError(msg, funct, code) { busy = false; if (!code) { code = "SAVE_FILE_ERROR"; } if (!funct) { funct = "unknown_function"; } var _local3 = ("getSaveGroup('" + _group.getName()) + "')"; if (exists()) { funct = (((_local3 + ".getFile('") + getName()) + "').") + funct; } else { funct = (_local3 + ".getNewFile().") + funct; } var _local5 = new com.newgrounds.APIError(code, msg); com.newgrounds.API.sendError({command_id:funct}, _local5); } function onSaved(p) { busy = false; if (!exists()) { setID(p.save_id, true); } setName(p.filename); setFileURL(p.file_url); if (p.thumbnail) { _thumbnail_url = p.thumbnail; } } function onVoted(p) { trace("ONVOTED WAS CALLED"); return(setRating(p.rating_id, p.votes, p.score)); } function sendRating(rating, vote) { var _local6 = null; if (!com.newgrounds.API.hasUserSession()) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You must be logged in to vote on save files"); } var _local2 = _group.getRating(rating); if (!_local2) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", ((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save group"); } if (_local2.voted === true) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", "You have already voted on this item today"); } if ((vote < _local2.min_value) or (vote > _local2.max_value)) { _local6 = new com.newgrounds.APIError("PERMISSION_DENIED", (((("'" + rating) + "' votes must be between ") + _local2.min_value) + " and ") + _local2.max_value); } if (_local6) { com.newgrounds.API.callListener(com.newgrounds.APIEvent.VOTE_COMPLETE, false, {error:_local6, file:this}); return(undefined); } _local2.voted = true; com.newgrounds.API.rateSaveFile(this, _local2, vote); } function replace() { if (busy) { onError("Another file is currently being saved, please try again later", "replace"); return(undefined); } overwriteExisting(); save(); } function save() { if (busy) { onError("Another file is currently being saved, please try again later", "save", "UPLOAD_IN_PROGRESS"); return(undefined); } busy = true; if (isLocked()) { onError("This file is _locked and cannot be overwritten.", "save", "PERMISSION_DENIED"); return(undefined); } if (!_filename) { onError("Please provide a name for your file.", "save", "MISSING_PARAM"); return(undefined); } if (!_contents) { onError("The file is empty.", "save", "MISSING_PARAM"); return(undefined); } img = null; com.newgrounds.API.checkFilePrivs(this); } function checkPrivs(e) { if (e.data.file.id != id) { return(undefined); } if (e.success) { if (e.data.can_write) { can_write = e.data.can_write; if (e.data.duplicate_id) { duplicate_id = e.data.duplicate_id; } if (e.data.exists && (!overwriteAllowed())) { onError(("You already have a file named '" + getName()) + "'", "save", "CONFIRM_REQUEST"); } else { startFile(); } } else { onError("This file is _locked and cannot be overwritten", "save", "PERMISSION_DENIED"); } } else { onError("There was a problem looking up your file's details. The server may be down.", "save", "UNKNOWN_ERROR"); } } function startFile() { if (can_write) { if (_thumbnail) { scanner = new com.newgrounds.encoders.ImageScanner(_thumbnail); scanner.setCallback(this, "encodeFile"); scanner.startScan(100, 100, true); } else { encodeFile(); } } else { onError("You do not have permission to save this file.", "save", "PERMISSION_DENIED"); } } function encodeFile(img) { this.img = img; raw = com.newgrounds.encoders.SerialXML.encode(_contents).toString(); compressFile(); } function compressFile() { com.newgrounds.encoders.LZW2.compress(raw, function (s, p) { p.file.onCompressed(s); }, {file:this}); } function onCompressed(compressed) { raw = escape(compressed); writeFile(); } function getProgress() { } function writeFile() { getGroup().getQuery().clearCache(); com.newgrounds.API.saveFile(this); clearBuffer(); } function getContents() { if (_contents) { com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this}); return(undefined); } if (!getFileURL()) { var _local4 = new com.newgrounds.APIError("FILE_NOT_FOUND", "Attempted to load contents of an unsaved file."); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local4}); return(undefined); } var _local2 = new LoadVars(); _local2.target = this; var target = this; _local2.onData = function (encoded) { target.onLoaded(encoded); }; _local2.load(getFileURL()); } function onLoaded(encoded) { if (encoded == undefined) { var _local3 = new com.newgrounds.APIError("FILE_NOT_FOUND", "We could not find the contents for this file. It may have been deleted."); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, false, {file:this, error:_local3}); return(undefined); } com.newgrounds.encoders.LZW.setXMLSafe(true); _contents = com.newgrounds.encoders.SerialXML.decode(com.newgrounds.encoders.LZW.decompress(encoded)); com.newgrounds.API.callListener(com.newgrounds.APIEvent.FILE_LOADED, true, {file:this}); } static var busy = false; var can_write = false; var _draft = false; var status = 0; var _locked = false; var overwrite = false; var duplicate_id = null; var _keys = null; var _ratings = null; static var STATUS = {PRIVATE:1, PUBLIC:2, UNAPPROVED:3, APPROVED:4}; }
Symbol 84 MovieClip [__Packages.com.newgrounds.SaveGroup] Frame 0
class com.newgrounds.SaveGroup { var group_name, group_id, group_type, query, ratings, keys, files; function SaveGroup (group_id, group_name, group_type) { this.group_name = group_name; this.group_id = group_id; this.group_type = group_type; query = new com.newgrounds.SaveGroupQuery(this); ratings = new Array(); keys = new Array(); files = new Array(); } function get id() { return(group_id); } function get name() { return(group_name); } function get type() { return(group_type); } function addFile(file) { var _local2 = 0; while (_local2 < files.length) { if (files[_local2].getID() == file.getID()) { files[_local2] = file; return(undefined); } _local2++; } files.push(file); } function getFile(file_id) { trace("getting the file " + file_id); var _local2 = 0; while (_local2 < files.length) { trace((((("Looking up " + file_id) + " :: ") + files[_local2].getID()) + " || ") + files[_local2].getName()); if (isNumeric(file_id) and (files[_local2].getID() == Number(file_id))) { return(files[_local2]); } if (files[_local2].getName() == file_id) { return(files[_local2]); } _local2++; } return(null); } function addRating(rating_id, rating_name, min_value, max_value, is_float) { var _local3 = {rating_id:rating_id, rating_name:rating_name, min_value:min_value, max_value:max_value, is_float:is_float}; if (!getRatingID(rating_name)) { ratings.push(_local3); } } function getRating(rating_id) { var _local2 = 0; while (_local2 < ratings.length) { if (isNumeric(rating_id) and (ratings[_local2].rating_id == rating_id)) { return(ratings[_local2]); } if (ratings[_local2].rating_name == rating_id) { return(ratings[_local2]); } _local2++; } return(null); } function getRatingID(rating_id) { var _local2 = getRating(rating_id); if (_local2) { return(_local2.rating_id); } return(null); } function getRatingName(rating_id) { var _local2 = getRating(rating_id); if (_local2) { return(_local2.rating_name); } return(null); } function addKey(key_id, key_name, key_type) { var _local2 = {key_id:key_id, key_name:key_name, key_type:key_type}; if (!getKey(key_name)) { keys.push(_local2); } } function getKey(key_id) { var _local2 = 0; while (_local2 < keys.length) { if (isNumeric(key_id) and (keys[_local2].key_id == key_id)) { return(keys[_local2]); } if (keys[_local2].key_name == key_id) { return(keys[_local2]); } _local2++; } return(null); } function getKeyType(key_name, as_string) { var _local2 = getKey(key_name); if (_local2) { return((as_string ? (KEY_TYPES[_local2.key_type]) : (_local2.key_type))); } return(null); } function getKeyID(key_id) { var _local2 = getKey(key_id); if (_local2) { return(_local2.key_id); } return(null); } function getKeyName(key_id) { var _local2 = getKey(key_id); if (_local2) { return(_local2.key_name); } return(null); } function keyValueIsValid(key, value) { var _local4; var _local7; if ((typeof(value) == "number") or (Number(value).toString() == String(value))) { value = Number(value); _local4 = ((Math.round(value) === value) ? "integer" : "float"); } else { _local4 = typeof(value); if (_local4 == "string") { var _local6 = "01234567890.-"; var _local5 = true; var _local2 = 0; while (_local2 < value.length) { if (_local6.indexOf(value.charAt(_local2)) < 0) { _local5 = false; break; } _local2++; } if (_local5) { value = Number(value); _local4 = "float"; } } } switch (getKeyType(key, true)) { case "integer" : _local7 = (_local4 == "integer") or (_local4 == "boolean"); break; case "float" : _local7 = ((_local4 == "float") or (_local4 == "integer")) or (_local4 == "boolean"); break; case "string" : _local7 = (((_local4 == "string") or (_local4 == "float")) or (_local4 == "integer")) or (_local4 == "boolean"); break; case "boolean" : _local7 = (((_local4 == "boolean") or (value == 1)) or (value == 0)) or (value == ""); break; default : _local7 = false; } return(_local7); } function isType(type) { return(group_type == TYPES[type.toUpperCase()]); } function getID() { return(group_id); } function getName() { return(group_name); } function getType() { return(group_type); } function isSystem() { return(undefined); } function getQuery(as_object) { if (as_object) { return(query.toObject()); } return(query); } function newQuery() { query.reset(); return(query); } function clearQuery() { query.reset(); } function newFile() { var _local2 = new com.newgrounds.SaveFile(this); return(_local2); } static function isNumeric(value) { return((typeof(value) == "number") or (Number(value).toString() == String(value))); } static var KEY_TYPES = [null, "float", "integer", "string", "boolean"]; static var TYPES = {SYSTEM:0, PRIVATE:1, PUBLIC:2, MODERATED:3}; }
Symbol 87 MovieClip [__Packages.com.newgrounds.SaveGroupQuery] Frame 0
class com.newgrounds.SaveGroupQuery { var _group, _num_results, _pages, _page, _randomize_results, file_conditions, key_conditions, rating_conditions, sort_conditions, lookup_keys, lookup_ratings, _group_by; function SaveGroupQuery (_group) { this._group = _group; reset(); } function get group() { return(_group); } function get groupId() { return(_group.getID()); } function get resultsPerPage() { return(_num_results); } function set resultsPerPage(n) { _num_results = n; //return(resultsPerPage); } function get pages() { return(_pages); } function get page() { return(_page); } function set page(n) { _page = n; //return(page); } function get randomize() { return(_randomize_results); } function set randomize(b) { _randomize_results = b; //return(randomize); } function get results() { return(_results); } function clearCache() { _results = []; } function reset() { file_conditions = new Array(); key_conditions = new Array(); rating_conditions = new Array(); sort_conditions = new Array(); lookup_keys = new Object(); lookup_ratings = new Object(); _num_results = 20; _page = 1; _randomize_results = false; _group_by = new Array(); clearCache(); } function getGroup() { return(_group); } function getGroupID() { return(_group.getID()); } function isRandomized() { return(_randomize_results); } function toObject() { var _local2; var _local11 = {page:_page, num_results:_num_results}; if (_randomize_results) { _local11.randomize = 1; } if (!com.newgrounds.ValidationTools.isEmpty(file_conditions)) { var _local12 = []; _local2 = 0; while (_local2 < file_conditions.length) { var _local6 = file_conditions[_local2]; _local12.push({field:file_fields[_local6.field.toUpperCase()].id, operator:_local6.operator, value:_local6.value}); _local2++; } _local11.file_conditions = _local12; } if (!com.newgrounds.ValidationTools.isEmpty(key_conditions)) { _local11.key_conditions = key_conditions; } if (!com.newgrounds.ValidationTools.isEmpty(rating_conditions)) { _local11.rating_conditions = rating_conditions; } if (!com.newgrounds.ValidationTools.isEmpty(sort_conditions)) { var _local14 = []; _local2 = 0; while (_local2 < sort_conditions.length) { var _local3 = sort_conditions[_local2]; if (_local3.table == TABLE_FILES) { var _local8 = file_fields[_local3.field.toUpperCase()].id; } else { var _local8 = _local3.field; } var _local5 = {field:_local8, table:_local3.table}; if (_local3.desc) { _local5.desc = 1; } if (_local3.extra) { _local5.extra = _local3.extra; } _local14.push(_local5); _local2++; } _local11.sort_conditions = _local14; } if (!com.newgrounds.ValidationTools.isEmpty(lookup_keys)) { var _local15 = []; for (_local2 in lookup_keys) { _local15.push(_local2); } _local11.lookup_keys = _local15; } if (!com.newgrounds.ValidationTools.isEmpty(lookup_ratings)) { var _local13 = []; for (_local2 in lookup_ratings) { _local13.push(_local2); } _local11.lookup_ratings = _local13; } if (!com.newgrounds.ValidationTools.isEmpty(_group_by)) { var _local16 = []; _local2 = 0; while (_local2 < _group_by.length) { var _local4 = _group_by[_local2]; if (_local4.table == TABLE_FILES) { var _local8 = file_fields[_local4.field.toUpperCase()].id; } else { var _local8 = _local4.field; } _local16.push({field:_local8, table:_local4.table}); _local2++; } _local11.group_by = _local16; } return(_local11); } function toString() { var _local9; var _local2; var _local11 = []; _local9 = "Lookup:\r"; var _local14 = []; for (var _local6 in file_fields) { _local14.push(" " + _local6); _local2 = true; } _local9 = _local9 + _local14.join(newline); _local11.push(_local9); _local9 = ""; _local2 = false; var _local16 = []; for (var _local6 in lookup_keys) { _local16.push((" KEY '" + _group.getKeyName(_local6)) + "'"); _local2 = true; } if (_local2) { _local9 = _local9 + _local16.join(newline); _local11.push(_local9); } _local9 = ""; _local2 = false; var _local15 = []; for (var _local6 in lookup_ratings) { _local15.push((" RATING '" + _group.getRatingName(_local6)) + "'"); _local2 = true; } if (_local2) { _local9 = _local9 + _local15.join(newline); _local11.push(_local9); } _local9 = "Where:\r"; _local2 = false; var _local8 = []; var _local6 = 0; while (_local6 < file_conditions.length) { var _local7 = file_conditions[_local6]; var _local10 = ((((" " + _local7.field) + " ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } _local6 = 0; while (_local6 < key_conditions.length) { var _local7 = key_conditions[_local6]; var _local10 = ((((" KEY '" + _group.getKeyName(_local7.key_id)) + "' ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } _local6 = 0; while (_local6 < rating_conditions.length) { var _local7 = rating_conditions[_local6]; var _local10 = ((((" RATING '" + _group.getRatingName(_local7.rating_id)) + "' ") + _local7.operator) + " ") + _local7.value; _local8.push(_local10); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local8.join(newline); _local11.push(_local9); } _local9 = "Group By:\r"; _local2 = false; var _local13 = []; _local6 = 0; while (_local6 < _group_by.length) { var _local4 = _group_by[_local6]; var _local5; if (_local4.table == TABLE_KEYS) { _local5 = (" KEY '" + _group.getKeyName(_local4.field)) + "'"; } else if (_local4.table == TABLE_RATINGS) { _local5 = (" RATING '" + _group.getRatingName(_local4.field)) + "'"; } else { _local5 = " " + _local4.field; } _local13.push(_local5); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local13.join(newline); _local11.push(_local9); } _local9 = "Order By:\r"; _local2 = false; var _local12 = []; if (isRandomized()) { _local12.push(" RANDOM"); _local2 = true; } _local6 = 0; while (_local6 < sort_conditions.length) { var _local3 = sort_conditions[_local6]; if (_local3.table == TABLE_KEYS) { var _local5 = (" KEY '" + _group.getKeyName(_local3.field)) + "'"; } else if (_local3.table == TABLE_RATINGS) { var _local5 = ((" RATING '" + _group.getRatingName(_local3.field)) + "' ") + ((_local3.extra == "votes") ? "VOTES" : "SCORE"); } else { var _local5 = " " + _local3.field; } var _local5 = _local5 + (_local3.desc ? " (DESCENDING)" : ""); _local12.push(_local5); _local2 = true; _local6++; } if (_local2) { _local9 = _local9 + _local12.join(newline); _local11.push(_local9); } _local11.push("Page:\r " + _page); _local11.push("Results Per Page:\r " + _num_results); return(_local11.join(newline)); } function setResultsPerPage(r) { _num_results = r; clearCache(); } function setPage(p) { _page = p; clearCache(); } function setRandomize(bool) { _randomize_results = true; } function includeKey(key) { if (!_group.getKeyID(key)) { trace(((("[SaveGroupQuery Error] :: '" + key) + "' is not a valid key for the '") + _group.__get__name()) + "' group."); return(undefined); } lookup_keys[_group.getKeyID(key)] = 1; clearCache(); } function includeRating(rating) { if (!_group.getRatingID(rating)) { trace(((("[SaveGroupQuery Error] :: '" + rating) + "' is not a valid rating for the '") + _group.__get__name()) + "' group."); return(undefined); } lookup_ratings[_group.getRatingID(rating)] = 1; clearCache(); } function groupBy(field) { addGroupItem(TABLE_FILES, field); } function groupByKey(key) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group"); return(undefined); } addGroupItem(TABLE_KEYS, _group.getKeyID(key)); } function groupByRating(rating) { if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group"); return(undefined); } addGroupItem(TABLE_RATINGS, _group.getRatingID(rating)); } function addGroupItem(table, field) { _group_by.push({table:table, field:field}); clearCache(); } function excludeKey(key) { delete lookup_keys[_group.getKeyID(key)]; clearCache(); } function excludeRating(rating) { delete lookup_ratings[_group.getRatingID(rating)]; clearCache(); } function addCondition(field, operator, value) { if (((field == "FILE_STATUS") && (typeof(value) == "string")) && (!(com.newgrounds.SaveFile.STATUS[value.toUpperCase()] === undefined))) { value = com.newgrounds.SaveFile.STATUS[value.toUpperCase()]; } if (operator == "==") { operator = "="; } if ((!validateOperator(operator)) or (!validateValue(field, value))) { return(undefined); } file_conditions.push({field:field, operator:operator, value:value}); clearCache(); } function addKeyCondition(key, operator, value) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' save _group"); } else if ((!validateOperator(operator)) or (!validateKeyValue(key, value))) { return(undefined); } key_conditions.push({key_id:_group.getKeyID(key), operator:operator, value:value}); clearCache(); } function addRatingCondition(rating, operator, value, column) { if (!column) { column = "SCORE"; } if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' save _group"); } else { if (!validateOperator(operator)) { return(undefined); } if (!com.newgrounds.ValidationTools.isNumber(value)) { error(("Expected numeric value for rating '" + rating) + "'"); return(undefined); } } if (!rating_columns[column]) { var _local2 = []; for (var _local3 in rating_columns) { _local2.push(_local3); } error((("Invalid rating column '" + column) + "'. Valid columns are ") + _local2.join(", ")); return(undefined); } rating_conditions.push({rating_id:_group.getRatingID(rating), operator:operator, value:value, column:rating_columns[column]}); clearCache(); } function sortOn(field, order) { if (!file_fields[field]) { var _local2 = []; for (var _local3 in file_fields) { _local2.push(_local3); } error((("'" + field) + "' is not a valid sort field. Valid fields are: ") + _local2.join(", ")); return(undefined); } addSortCondition(TABLE_FILES, field, order); } function sortOnKey(key, order) { if (!_group.getKeyID(key)) { error(((("'" + key) + "' is not a valid key for the '") + _group.getName()) + "' _group"); return(undefined); } addSortCondition(TABLE_KEYS, _group.getKeyID(key), order); } function sortOnRating(rating, order, column) { if (!_group.getRatingID(rating)) { error(((("'" + rating) + "' is not a valid rating for the '") + _group.getName()) + "' _group"); return(undefined); } if (!column) { column = "score"; } addSortCondition(TABLE_RATINGS, _group.getRatingID(rating), order, column); } function sortOnRatingScore(rating, order) { sortOnRating(rating, order, "score"); } function sortOnRatingVotes(rating, order) { sortOnRating(rating, order, "votes"); } function addSortCondition(table, field, order, extra) { var _local7; if (((!order) or (order == "")) or (order.toUpperCase() == "ASC")) { _local7 = false; } else if (order.toUpperCase() == "DESC") { _local7 = true; } else { error(("'" + order) + "' is not a valid sort order!"); return(undefined); } var _local3 = {table:table, field:field, desc:_local7}; if (extra) { _local3.extra = extra; } sort_conditions.push(_local3); clearCache(); } function onExecuted(results) { _results = []; var _local6 = 0; while (_local6 < results.length) { var _local2 = results[_local6]; var _local3 = new com.newgrounds.SaveFile(_group); _local3.setName(_local2.filename); _local3.setID(_local2.save_id); _local3.setDescription(_local2.description); _local3.setThumbnailURL(_local2.thumb); _local3.setFileURL(_local2.file); _local3.setPermissions(_local2.status, _local2.locked); var _local5 = 0; while (_local5 < _local2.keys.length) { _local3.setKey(_local2.keys[_local5].id, _local2.keys[_local5].value); _local5++; } var _local4 = 0; while (_local4 < _local2.ratings.length) { _local3.setRating(_local2.ratings[_local4].id, _local2.ratings[_local4].votes, _local2.ratings[_local4].score); _local4++; } getGroup().addFile(_local3); _results.push(_local3); _local6++; } callEventDispatcher(); } function hasResults() { return(_results && (_results.length > 0)); } function callEventDispatcher() { com.newgrounds.API.callListener(com.newgrounds.APIEvent.QUERY_COMPLETE, true, {query:this}); } function execute() { if (hasResults() && (!isRandomized())) { callEventDispatcher(); return(undefined); } com.newgrounds.API.lookupSaveFiles(_group); } function processResults(files) { return(null); } function validateKeyValue(key, value) { var _local3 = _group.getKeyType(key); if (_local3) { var _local2 = com.newgrounds.SaveGroup.KEY_TYPES[_local3]; if ((_local2 == "float") and com.newgrounds.ValidationTools.isFloat(value)) { return(true); } if ((_local2 == "integer") and com.newgrounds.ValidationTools.isInteger(value)) { return(true); } if ((_local2 == "string") and com.newgrounds.ValidationTools.isString(value)) { return(true); } error(((("Expected type " + _local2) + " for key '") + key) + "'"); } return(false); } function validateValue(field, value) { if (file_fields[field]) { if ((file_fields[field].type == "integer") and com.newgrounds.ValidationTools.isInteger(value)) { return(true); } if ((file_fields[field].type == "float") and com.newgrounds.ValidationTools.isFloat(value)) { return(true); } if ((file_fields[field].type == "string") and com.newgrounds.ValidationTools.isString(value)) { return(true); } error(((("Expecting " + file_fields[field].type) + " value on '") + field) + "' condition"); } else { var _local2 = []; for (var _local4 in file_fields) { _local2.push(_local4); } error((("'" + field) + "' is not a searchable field. Valid fields are: ") + _local2.join(", ")); } return(false); } function validateOperator(operator) { var _local2 = 0; while (_local2 < valid_operators.length) { if (operator == valid_operators[_local2]) { return(true); } _local2++; } error((("'" + operator) + "' is not a valid lookup operation. Valid operations are: ") + valid_operators.join(", ")); return(false); } function error(msg) { trace("[QUERY ERROR] :: " + msg); } static var TABLE_FILES = 1; static var TABLE_KEYS = 2; static var TABLE_RATINGS = 3; var _results = []; static var file_fields = {AUTHOR_ID:{id:1, field:"user_id", type:"integer"}, AUTHOR_NAME:{id:2, field:"user_name", type:"string"}, FILE_NAME:{id:3, field:"file_name", type:"string"}, CREATED_ON:{id:4, field:"created", type:"string"}, UPDATED_ON:{id:5, field:"last_update", type:"string"}, TOTAL_VIEWS:{id:6, field:"views", type:"integer"}, FILE_STATUS:{id:7, field:"status", type:"integer"}}; static var rating_columns = {TOTAL_VOTES:"votes", SCORE:"score"}; static var valid_operators = ["=", "<", ">", "!=", "<>", "<=", ">="]; }
Symbol 89 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner] Frame 0
class com.newgrounds.encoders.ImageScanner { var image_source, source_width, source_height, sourceBitmap, callback_target, callback_function, hash, cube, basen, xpos, ypos, pixels, busy, canvas_width, canvas_height, resizedBitmap, copyBitmap, output, draw_interval, callback_interval; function ImageScanner (the_source) { if (the_source) { image_source = the_source; } else { image_source = _root; } reset(); if (typeof(image_source) == "movieclip") { if (image_source == _root) { source_width = Stage.width; source_height = Stage.height; } else { source_width = Math.floor(image_source._width); source_height = Math.floor(image_source._height); } sourceBitmap = new flash.display.BitmapData(source_width, source_height, false, 4294967295); sourceBitmap.draw(_root); } else if (image_source.width) { source_width = image_source.width; source_height = image_source.height; sourceBitmap = image_source; } else { error("You can only use BitMaptData and MovieClip objects to create images"); } } function setCallback(target, funct) { if (target && (funct)) { callback_target = target; callback_function = funct; } } function reset() { callback_target = null; callback_function = null; debug.bad_pixels = 0; hash = "0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ<>?:;-_=+()!&"; var _local3 = Math.pow(hash.length, 2); trace("MAX COLORS: " + _local3); var _local2 = Math.floor(Math.pow(_local3, 0.333333333333333)) - 1; var _local4 = Math.pow(_local2, 3); cube = _local2; basen = new com.newgrounds.encoders.BaseN(hash); xpos = 0; ypos = 0; pixels = 0; busy = false; } function startScan(w, h, s) { if (w) { image_width = w; } if (h) { image_height = h; } if (s != undefined) { crop = s; } var _local7 = _root.getNextHighestDepth(); var _local6 = _root.createEmptyMovieClip("API_image_container_" + _local7, _local7); var _local5 = _local6.createEmptyMovieClip("canvas", 100); _local5.attachBitmap(sourceBitmap, 100); if (crop) { if ((image_width / source_width) > (image_height / source_height)) { canvas_width = image_width; canvas_height = Math.ceil(source_height * (image_width / source_width)); } else { canvas_height = image_height; canvas_width = Math.ceil(source_width * (image_height / source_height)); } } else { canvas_width = image_width; canvas_height = image_height; } _local5._x = Math.round((image_width - canvas_width) / 2); _local5._width = canvas_width; _local5._height = canvas_height; resizedBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295); resizedBitmap.draw(_local6); _local6.removeMovieClip(); copyBitmap = new flash.display.BitmapData(image_width, image_height, false, 4294967295); var _local3 = "" + image_width; while (_local3.length < 3) { _local3 = "0" + _local3; } var _local4 = "" + image_height; while (_local4.length < 3) { _local4 = "0" + _local4; } output = _local3 + _local4; draw_interval = setInterval(this, "drawChunk", 10); busy = false; return(resizedBitmap); } function getBitmapData() { return(copyBitmap); } function getBytesTotal() { return((image_width * image_height) * 2); } function getBytesScanned() { return(pixels * 2); } function getProgress() { return(Math.round((getBytesScanned() / getBytesTotal()) * 100)); } function drawChunk() { if (!busy) { busy = true; var _local2 = 0; while (_local2 < pixels_per_chunk) { if (!nextPixel()) { clearInterval(draw_interval); callback_interval = setInterval(this, "doCallback", 25); busy = true; break; } _local2++; } busy = false; } } function doCallback() { busy = false; clearInterval(callback_interval); if (callback_target and callback_function) { callback_target[callback_function](output); } else { onScanComplete(output); } } function onScanComplete(packet) { sendMessage(("packet size: " + output.length) + " bytes", "onScanComplete"); } function nextPixel() { var _local15 = xpos; var _local14 = ypos; var _local7 = resizedBitmap.getPixel(_local15, _local14); var _local17 = (_local7 >> 16) & 255; var _local20 = (_local7 >> 8) & 255; var _local16 = (_local7 >> 0) & 255; var _local11 = Math.round(((_local17 + 1) / 256) * cube); var _local10 = Math.round(((_local20 + 1) / 256) * cube); var _local13 = Math.round(((_local16 + 1) / 256) * cube); var _local12 = (((_local11 * (cube + 1)) * (cube + 1)) + (_local10 * (cube + 1))) + _local13; var _local6 = basen.encode(_local12, 2); output = output + _local6; if (_local6.length != 2) { trace("bad pixel " + _local6); } var _local5 = basen.decode(_local6); var _local18 = _local5; var _local8 = _local5 % (cube + 1); _local5 = (_local5 - _local8) / (cube + 1); var _local9 = _local5 % (cube + 1); var _local19 = (_local5 - _local9) / (cube + 1); if (((_local13 != _local8) and (_local10 != _local9)) and (_local11 != _local10)) { debug.bad_pixels++; trace((((((("BAD PIXEL " + debug.bad_pixels) + ") ") + _local12) + " != ") + _local18) + " ") + _local6); trace(basen.debug.lastencode); } var _local2 = Math.round((_local19 / cube) * 255).toString(16); var _local4 = Math.round((_local9 / cube) * 255).toString(16); var _local3 = Math.round((_local8 / cube) * 255).toString(16); while (_local2.length < 2) { _local2 = "0" + _local2; } while (_local4.length < 2) { _local4 = "0" + _local4; } while (_local3.length < 2) { _local3 = "0" + _local3; } copyBitmap.setPixel(_local15, _local14, Number((("0x" + _local2) + _local4) + _local3)); pixels++; if (pixels >= (image_width * image_height)) { return(false); } xpos++; if (xpos >= image_width) { xpos = 0; ypos++; } return(true); } function error(e, f) { sendMessage(e, f, "ERROR"); } function sendMessage(msg, func, type) { var _local1 = "ImageScanner"; if (func) { _local1 = _local1 + (("." + func) + "()"); } if (type) { _local1 = (type + " in ") + _local1; } _local1 = _local1 + (" :: " + msg); trace(_local1); } var image_width = 100; var image_height = 100; var crop = true; var pixels_per_chunk = 500; var debug = new Object(); }
Symbol 88 MovieClip [__Packages.com.newgrounds.encoders.BaseN] Frame 0
class com.newgrounds.encoders.BaseN { var ceiling, hashIndex, bitSize, hashVal, i; function BaseN (hash) { ceiling = 100000000000000; if (hash) { hashIndex = hash; } else { hashIndex = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ`~@#$%^&*()+|;/"; } bitSize = hashIndex.length; hashVal = new Object(); i = 0; while (i < bitSize) { hashVal[hashIndex.charAt(i)] = i; i++; } } function verify(s) { if (hashVal[s] != undefined) { return(true); } return(false); } function encode(n, minchars) { debug.lastencode = ""; if (typeof(i) != "string") { n = n.toString(); } if (n.charAt(0) == "-") { var _local3 = "-"; n = n.substring(1); } else { var _local3 = ""; } if (String(n).indexOf(".") > -1) { var _local4 = String(n).split(".", 2); return(((_local3 + baseNEncoder(_local4[0], minchars)) + ".") + baseNEncoder(_local4[1])); } debug.lastencode = debug.lastencode + "\tNo decimal\r"; return(_local3 + baseNEncoder(n, minchars)); } function decode(s) { var _local4 = 1; if (s.charAt(0) == "-") { _local4 = -1; s = s.substring(1, s.length); } var _local3 = s.indexOf("."); if (_local3 > -1) { var _local5 = Math.pow(10, baseNDecoder(s.substring(_local3 + 1, s.length))); return((baseNDecoder(s.substring(0, _local3)) / _local5) * _local4); } return(baseNDecoder(s) * _local4); } function baseNEncoder(n, minchars) { if (!minchars) { minchars = 1; } var _local4 = ""; while (n != 0) { n = Math.round(n); var _local3 = n % bitSize; if (Math.round(_local3) != _local3) { trace((((((((("BaseN failed on " + n) + "%") + bitSize) + " = ") + _local3) + " ") + int(n)) + " ") + int(bitSize)); } _local4 = hashIndex.charAt(_local3) + _local4; debug.lastencode = debug.lastencode + (((((((("\t-> n:" + n) + " % bitSize:") + bitSize) + " = ") + _local3) + ", final char=") + _local4) + newline); n = n - _local3; n = n / bitSize; } if (minchars) { while (_local4.length < minchars) { _local4 = hashIndex.charAt(0) + _local4; } } return(_local4); } function baseNDecoder(s) { var _local2 = 0; var _local6 = 0; i = 0; while (i < s.length) { var _local3 = s.charAt((s.length - i) - 1); if (_local3 == hashIndex.charAt(0)) { var _local5 = 0; } else { var _local5 = hashVal[_local3] * Math.pow(bitSize, i); } _local2 = _local2 + _local5; if (_local2 >= ceiling) { _local6 = _local6 + ((_local2 - (_local2 % ceiling)) / ceiling); _local2 = _local2 % ceiling; } i++; } if (_local6 > 0) { _local2 = "" + _local2; while (_local2.length < (ceiling.toString().length - 1)) { _local2 = "0" + _local2; } _local2 = ("" + _local6) + _local2; } return(_local2); } var debug = new Object(); }
Symbol 98 MovieClip [__Packages.com.newgrounds.APIEventDispatcher] Frame 0
class com.newgrounds.APIEventDispatcher { function APIEventDispatcher () { } function addEventListener(event, callback, target) { if (!target) { throw "Attempted to create a listener without providing a target object."; } if (!listeners[event]) { listeners[event] = []; } else { removeEventListener(event, target); } listeners[event].push({target:target, callback:callback}); } function removeEventListener(event, target) { if (!target) { throw "Attempted to remove a listener without providing a target object."; } if ((!listeners[event]) || (listeners[event].length < 1)) { return(undefined); } var _local4 = []; var _local2 = 0; while (_local2 < listeners[event].length) { if (listeners[event][_local2].target != target) { _local4.push(listeners[event][_local2]); } _local2++; } listeners[event] = _local4; } function dispatchEvent(event) { if (!hasEventListener(event.__get__type())) { return(false); } collectGarbage(event.__get__type()); var _local2 = 0; while (_local2 < listeners[event.__get__type()].length) { var _local4 = listeners[event.__get__type()][_local2].callback; if (listeners[event.__get__type()][_local2].target) { var _local5 = listeners[event.__get__type()][_local2].target; _local4.call(_local5, event); } else { _local4(event); } _local2++; } return(true); } function hasEventListener(event) { return((listeners[event] != undefined) && (listeners[event].length > 0)); } function collectGarbage(event) { var _local5 = []; if (!hasEventListener) { return(undefined); } var _local2 = 0; while (_local2 < listeners[event].length) { var _local4 = listeners[event][_local2].target; if (_local4) { _local5.push(listeners[event][_local2]); } _local2++; } listeners[event] = _local5; } var listeners = {}; }
Symbol 86 MovieClip [__Packages.com.newgrounds.APIEvent] Frame 0
class com.newgrounds.APIEvent { var _type, _target, _success, data; function APIEvent (type, success, target, data) { _type = type; _target = target; _success = success; this.data = data; } function get target() { return(_target); } function get type() { return(_type); } function get success() { return(_success); } static var MOVIE_CONNECTED = "movieConnected"; static var ADS_APPROVED = "adsApproved"; static var AD_ATTACHED = "adAttached"; static var HOST_BLOCKED = "hostBlocked"; static var NEW_VERSION_AVAILABLE = "newVersionAvailable"; static var EVENT_LOGGED = "eventLogged"; static var SCORE_POSTED = "scorePosted"; static var SCORES_LOADED = "scoresLoaded"; static var UNLOCK_MEDAL = "unlockMedal"; static var MEDAL_UNLOCKED = "medalUnlocked"; static var MEDALS_LOADED = "medalsLoaded"; static var METADATA_LOADED = "metadataLoaded"; static var FILE_PRIVS_LOADED = "filePrivsLoaded"; static var FILE_SAVED = "fileSaved"; static var FILE_LOADED = "fileLoaded"; static var QUERY_COMPLETE = "queryComplete"; static var VOTE_COMPLETE = "voteComplete"; static var API_ERROR = "apiError"; static var UNCAUGHT_EVENT = "uncaughtEvent"; }
Symbol 94 MovieClip [__Packages.com.newgrounds.ScoreBoard] Frame 0
class com.newgrounds.ScoreBoard { var _name, _id, _scores; function ScoreBoard (id, name) { _name = name; _id = id; } function exists() { return(Number(_id) > 0); } function get id() { return(_id); } function get name() { return(_name); } function get period() { return(_period); } function get page() { return(_page); } function get num_results() { return(_num_results); } function get scores() { return(_scores); } function postScore(value, get_best) { com.newgrounds.API.postScore(_name, value, get_best); } function loadScores(period, page, num_results) { if (period) { _period = period; } if (page) { _page = page; } if (num_results) { _num_results = num_results; } _scores = []; com.newgrounds.API.loadScores(this); } function setScores(scores, period, page, num_results) { if (period) { _period = period; } if (page) { _page = page; } if (num_results) { _num_results = num_results; } _scores = []; var _local2 = 0; while (_local2 < scores.length) { var _local4 = ((_num_results * (_page - 1)) + 1) + _local2; _scores.push(new com.newgrounds.Score(this, _local4, scores[_local2].username, scores[_local2].value, scores[_local2].numeric_value)); _local2++; } } var _period = "Today"; var _num_results = 10; var _page = 1; }
Symbol 7 MovieClip [__Packages.com.newgrounds.components.APIConnector] Frame 0
class com.newgrounds.components.APIConnector extends MovieClip { var _x, _y, fake_session, movie_id, nextFrame, _visible, error_screens, medal_popups, debug, movie_version, local_data, encryption_key, stop, gotoframe_interval, _totalframes, _framesloaded, gotoAndStop; function APIConnector () { super(); _x = Math.round(_x); _y = Math.round(_y); if (fake_session and (com.newgrounds.API.getHost() == "localhost")) { com.newgrounds.API.setFakeSession(true); } if (movie_id && (!com.newgrounds.API.isConnected())) { (nextFrame());// not popped _visible = false; setGotoFrame("connecting"); if (error_screens) { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.NEW_VERSION_AVAILABLE, onNewVersion, this); com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.HOST_BLOCKED, onBadHost, this); } if (medal_popups) { com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.UNLOCK_MEDAL, doUnlock, this); } com.newgrounds.API.addEventListener(com.newgrounds.APIEvent.MOVIE_CONNECTED, onConnected, this); if (com.newgrounds.API.isPublishedHost()) { debug = false; } if (movie_version) { com.newgrounds.API.setMovieVersion(movie_version); } if (!com.newgrounds.API.hasUserSession()) { var _local3 = com.newgrounds.API.loadLocal("api_connector_data"); if (_local3) { local_data = _local3; } else { local_data = {medals_unlocked:new Array()}; } } com.newgrounds.API.setPreload(true); com.newgrounds.API.connectMovie(movie_id, encryption_key, debug); } else if (movie_id && (com.newgrounds.API.isConnected())) { _visible = false; setGotoFrame("done"); } (stop());// not popped } function doUnlock(e) { var _local5 = _root.attachMovie("NewgroundsAPIAsset_Medal_Popup", "Asset_Medal_Popup_" + e.data.medal.getID(), _root.getNextHighestDepth()); if (e.data.x != undefined) { _local5._x = e.data.x + 254; } else { _local5._x = Stage.width; } if (e.data.x != undefined) { _local5._y = e.data.y + 73; } else { _local5._y = Stage.height; } _local5.medal = e.data.medal; var _local3 = com.newgrounds.API.getMedals(); var _local2 = 0; while (_local2 < _local3.length) { if ((_local3[_local2].getID() != e.data.medal.getID()) && (_root["medal_pop_" + _local3[_local2].getID()])) { _root["medal_pop_" + _local3[_local2].getID()]._y = _root["medal_pop_" + _local3[_local2].getID()]._y - 70; } _local2++; } } function onLoginError() { var _local2 = _root.attachMovie("Asset_Login_Warning", "Asset_Login_Warning", _root.getNextHighestDepth()); } function onConnectionError() { var _local3 = _root.attachMovie("Asset_Connection_Error", "Asset_Connection_Error", _root.getNextHighestDepth()); setGotoFrame("done"); } function onConnected(event, params) { if (event.success) { setGotoFrame("connected"); if (((error_screens && (com.newgrounds.API.isPublishedHost())) && (com.newgrounds.API.hasPublisher())) && (!com.newgrounds.API.hasUserSession())) { onLoginError(); } } else if (error_screens) { onConnectionError(); } } function onNewVersion() { var _local2 = _root.attachMovie("NewgroundsAsset_New_Version_Available", "NewgroundsAsset_New_Version_Available", _root.getNextHighestDepth()); _local2.official_version_url = com.newgrounds.API.getOfficialVersionURL(); } function onBadHost() { var _local2 = _root.attachMovie("NewgroundsAsset_Illegal_Host", "NewgroundsAsset_Illegal_Host", _root.getNextHighestDepth()); _local2.official_version_url = com.newgrounds.API.getOfficialVersionURL(); } function setGotoFrame(frame) { if (goto_frame == null) { goto_frame = frame; gotoframe_interval = setInterval(this, "gotoFrameIfLoaded", 50); } } function gotoFrameIfLoaded() { if ((goto_frame != null) && (_framesloaded == _totalframes)) { _visible = true; gotoAndStop(goto_frame); goto_frame = null; clearInterval(gotoframe_interval); } } var goto_frame = null; }
Symbol 85 MovieClip [__Packages.com.newgrounds.ValidationTools] Frame 0
class com.newgrounds.ValidationTools { function ValidationTools () { } static function isNumber(v) { if (typeof(v) == "number") { return(true); } if ((typeof(v) == "string") and (Number(v).toString() == v)) { return(true); } return(false); } static function isInteger(v) { if (isNumber(v)) { v = Number(v); return(Math.floor(v) == v); } return(false); } static function isFloat(v) { return(isNumber(v)); } static function isString(v) { if ((typeof(v) == "string") or (typeof(v) == "number")) { return(true); } return(false); } static function isEmpty(o) { for (var _local2 in o) { return(false); } return(true); } }
Symbol 90 MovieClip [__Packages.com.newgrounds.encoders.SerialXML] Frame 0
class com.newgrounds.encoders.SerialXML { function SerialXML () { } static function decode(xml) { if (!(xml instanceof XML)) { xml = new XML(xml); } var _local2 = populateObject(xml.firstChild, {}); return(_local2.DATA); } static function encode(obj) { var _local1 = new XML(); populateXML(_local1, obj, "DATA"); return(_local1); } static function populateObject(child, object) { var _local6 = child.nodeName; var _local5 = getValue(_local6, child.attributes.v); var _local4 = child.attributes.n; if (object instanceof Array) { _local4 = object.length; object.push(_local5); } else { object[_local4] = _local5; } if (child.hasChildNodes()) { var _local1 = 0; while (_local1 < child.childNodes.length) { populateObject(child.childNodes[_local1], object[_local4]); _local1++; } } return(object); } static function populateXML(child, obj, name) { if (obj === undefined) { return(undefined); } var _local5 = new XML(); var _local2; if (obj instanceof Array) { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } child.appendChild(_local2); var _local4 = 0; while (_local4 < obj.length) { populateXML(_local2, obj[_local4]); _local4++; } } else if (typeof(obj) == "object") { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } child.appendChild(_local2); for (var _local4 in obj) { populateXML(_local2, obj[_local4], _local4); } } else { _local2 = _local5.createElement(getType(obj)); if (name) { _local2.attributes.n = name; } if (getType(obj).length == 1) { _local2.attributes.v = obj; } child.appendChild(_local2); } } static function getValue(type, stringval) { switch (type.toUpperCase()) { case "O" : return(new Object()); case "A" : return(new Array()); case "N" : return(Number(stringval)); case "S" : return(String(stringval)); case "TRUE" : return(true); case "FALSE" : return(false); } return(null); } static function getType(obj) { switch (((obj instanceof Array) ? "array" : (typeof(obj)))) { case "array" : return("A"); case "object" : return("O"); case "string" : return("S"); case "number" : return("N"); case "boolean" : return(((obj === true) ? "TRUE" : "FALSE")); } return("NULL"); } }
Symbol 91 MovieClip [__Packages.com.newgrounds.encoders.LZW2] Frame 0
class com.newgrounds.encoders.LZW2 { static var comp_dict, pos, result, buffer, nbChar, splitStr, len, local, interval; function LZW2 () { } static function doCompressorConfig() { comp_dict = []; var _local1 = 0; while (_local1 < 256) { comp_dict[String.fromCharCode(_local1)] = _local1; _local1++; } comp_dict["<"] = 256; comp_dict[">"] = 257; comp_dict["&"] = 258; comp_dict["\""] = 259; comp_dict["'"] = 260; pos = 0; result = ""; buffer = ""; nbChar = 256 + skipnum; } static function compress(string, callback, callback_params) { doCompressorConfig(); if (busy) { trace("[LZW COMPRESSOR] :: Compression can not begin until previous compression or decompression is complete!"); return(undefined); } splitStr = string.split(""); string = ""; len = splitStr.length; local = {delay:30, callback:callback, callback_params:callback_params, compress_chunk:function () { com.newgrounds.encoders.LZW2.compress_chunk(); }, busy:false, complete:false}; interval = setInterval(local, "compress_chunk", 5); } static function getProgress() { return(Math.round((pos / len) * 100)); } static function compress_chunk() { if (local.delay > 0) { local.delay--; } else if (!local.busy) { local.busy = true; var _local1 = 0; while (_local1 < max_chunk_length) { encode_next(); if (local.complete) { break; } _local1++; } local.busy = false; } if (local.complete) { trace((((((((("LZW2 complete " + nbChar) + " ") + comp_dict.length) + " ") + len) + " ") + pos) + " ") + skipnum); clearInterval(interval); local.callback(result, local.callback_params); result = ""; buffer = ""; } } static function encode_next() { if (pos <= len) { var _local1 = splitStr[pos]; if (!(comp_dict[buffer + _local1] === undefined)) { buffer = buffer + _local1; } else { result = result + String.fromCharCode(comp_dict[buffer]); comp_dict[buffer + _local1] = nbChar; nbChar++; buffer = _local1; } pos++; } else { local.complete = true; return(undefined); } } static var comp_config = false; static var skipnum = 5; static var busy = false; static var max_chunk_length = 12000; }
Symbol 92 MovieClip [__Packages.com.newgrounds.encoders.LZW] Frame 0
class com.newgrounds.encoders.LZW { function LZW () { } static function setXMLSafe(x) { xmlsafe = x; } static function compress(str, escape_chars) { var _local2 = new Array(); var _local11 = (xmlsafe ? 5 : 0); var _local5 = 0; while (_local5 < 256) { _local2[String.fromCharCode(_local5)] = _local5; _local5++; } if (xmlsafe) { _local2["<"] = 256; _local2[">"] = 257; _local2["&"] = 258; _local2["\""] = 259; _local2["'"] = 260; } var _local7 = ""; var _local8 = str.split(""); var _local9 = _local8.length; var _local6 = 256 + _local11; var _local1 = ""; var _local4; _local5 = 0; while (_local5 <= _local9) { var _local3 = _local8[_local5]; if (!(_local2[_local1 + _local3] === undefined)) { _local1 = _local1 + _local3; } else { _local4 = String.fromCharCode(_local2[_local1]); if (escape_chars and (((_local2[_local1] < 33) or (_local2[_local1] > 126)) or (_local4 == "%"))) { _local4 = escape(_local4); } _local7 = _local7 + _local4; _local2[_local1 + _local3] = _local6; _local6++; _local1 = _local3; } _local5++; } return(_local7); } static function decompress(str) { var _local4 = new Array(); var _local10 = (xmlsafe ? 5 : 0); var _local6 = 0; while (_local6 < 256) { var _local9 = String.fromCharCode(_local6); _local4[_local6] = _local9; _local6++; } if (xmlsafe) { _local4[256] = "<"; _local4[257] = ">"; _local4[258] = "&"; _local4[259] = "\""; _local4[260] = "'"; } var _local11 = str; var _local13 = _local11.split(""); var _local12 = _local13.length; var _local7 = 256 + _local10; var _local1 = ""; var _local2 = ""; var _local8 = ""; _local6 = 0; while (_local6 < _local12) { var _local5 = _local11.charCodeAt(_local6); var _local3 = _local4[_local5]; if (_local1 == "") { _local1 = _local3; _local8 = _local8 + _local3; } else if (_local5 <= (255 + _local10)) { _local8 = _local8 + _local3; _local2 = _local1 + _local3; _local4[_local7] = _local2; _local7++; _local1 = _local3; } else { _local2 = _local4[_local5]; if (_local2 == undefined) { _local2 = _local1 + _local1.slice(0, 1); } _local8 = _local8 + _local2; _local4[_local7] = _local1 + _local2.slice(0, 1); _local7++; _local1 = _local2; } _local6++; } return(_local8); } static function compress_fp6(str) { var _local3 = new Array(); var _local10 = (xmlsafe ? 5 : 0); var _local4 = 0; while (_local4 < 256) { _local3[String(_local4)] = _local4; _local4++; } if (xmlsafe) { var _local14 = String(new String("<").charCodeAt(0)); var _local11 = String(new String(">").charCodeAt(0)); var _local13 = String(new String("&").charCodeAt(0)); var _local15 = String(new String("\"").charCodeAt(0)); var _local12 = String(new String("'").charCodeAt(0)); _local3[_local14] = 256; _local3[_local11] = 257; _local3[_local13] = 258; _local3[_local15] = 259; _local3[_local12] = 260; } var _local7 = ""; var _local16 = str; var _local8 = _local16.split(""); var _local9 = _local8.length; var _local6 = 256 + _local10; var _local1 = new Array(); _local4 = 0; while (_local4 <= _local9) { var _local2 = _local8[_local4]; if (_local1.length == 0) { var _local5 = String(_local2.charCodeAt(0)); } else { var _local5 = (_local1.join("-") + "-") + String(_local2.charCodeAt(0)); } if (!(_local3[_local5] === undefined)) { _local1.push(_local2.charCodeAt(0)); } else { _local7 = _local7 + String.fromCharCode(_local3[_local1.join("-")]); _local3[_local5] = _local6; _local6++; _local1 = new Array(); _local1.push(_local2.charCodeAt(0)); } _local4++; } return(_local7); } static var xmlsafe = false; }
Symbol 93 MovieClip [__Packages.com.newgrounds.Medal] Frame 0
class com.newgrounds.Medal { var _medal_id, _medal_name, _medal_value, _medal_difficulty; function Medal (id, name, value, difficulty, unlocked, _icon_url) { if ((((id == undefined) || (name == undefined)) || (value == undefined)) || (difficulty == undefined)) { com.newgrounds.API.fatalError("Medal instances require an id, name, value and difficulty"); } _medal_id = id; _medal_name = name; _medal_value = value; _medal_difficulty = difficulty; if (unlocked) { _medal_unlocked = true; } if (_icon_url) { this._icon_url = _icon_url; } } function get difficulty() { return(difficulty_names[_medal_difficulty]); } function get difficultyId() { return(_medal_difficulty); } function get icon_url() { return(_icon_url); } function get id() { return(_medal_id); } function get name() { return(_medal_name); } function get unlocked() { return(_medal_unlocked); } function get value() { return(_medal_value); } function isUnlocked() { return(_medal_unlocked); } function unlock() { if (!isUnlocked()) { com.newgrounds.API.unlockMedal(this); } } function setUnlocked(u) { _medal_unlocked = u; } function attachIcon(target, depth) { if (!depth) { depth = target.getNextHighestDepth(); } var _local3 = target.createEmptyMovieClip("Asset_Medal_Icon_" + getID(), depth); if (_icon_url) { _local3.loadMovie(_icon_url); } else { var _local4 = flash.display.BitmapData.loadBitmap("Asset_default_medal_icon_" + getDifficulty(), depth); _local3.attachBitmap(_local4, depth, true); } } function getID() { return(_medal_id); } function getName() { return(_medal_name); } function getValue() { return(_medal_value); } function getDifficulty(as_string) { if (as_string) { return(difficulty_names[_medal_difficulty]); } return(_medal_difficulty); } var _medal_unlocked = false; var _icon_loaded = false; var _icon_width = 50; var _icon_height = 50; var _icon_url = null; static var difficulty_names = new Array(null, "Easy", "Moderate", "Challenging", "Difficult", "Brutal"); }
Symbol 95 MovieClip [__Packages.com.newgrounds.Score] Frame 0
class com.newgrounds.Score { var _board, _position, _username, _value, _numeric_value; function Score (board, position, username, value, numeric_value) { _board = board; _position = position; _username = username; _value = value; _numeric_value = numeric_value; } function get board() { return(_board); } function get position() { return(_position); } function get username() { return(_username); } function get value() { return(_value); } function get numeric_value() { return(_numeric_value); } static function fromTime(time) { var _local1 = time.split(":"); var _local2 = Math.round(Number(_local1.pop()) * 1000); if (_local1.length > 0) { _local2 = _local2 + (Number(_local1.pop()) * 60); } if (_local1.length > 0) { _local2 = _local2 + (Number(_local1.pop()) * 3600); } return(_local2); } static function fromDistance(distance) { var _local1 = distance.indexOf("'"); var _local5 = distance.indexOf("\"", _local1); var _local3 = Number(distance.substr(0, _local1)); var _local4 = Number(distance.substring(_local1 + 1, _local5)); return(Math.round((_local3 * 12) + _local4)); } }
Symbol 96 MovieClip [__Packages.com.newgrounds.encoders.RC4] Frame 0
class com.newgrounds.encoders.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 97 MovieClip [__Packages.com.newgrounds.encoders.JSON] Frame 0
class com.newgrounds.encoders.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.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.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.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "object"; com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; _setTargetValue({}); } else if (_local1 == ",") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != "\"") { throw "Malformed object key in encoded string. Keys must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; } else if (_local1 == "}") { _useParent(); } else if (_local1 == "\"") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 != ":") { throw "Malformed object notation. Object keys and values must be separated by colons(:)"; } _addParent(com.newgrounds.encoders.JSON.cache.scratch); com.newgrounds.encoders.JSON.cache.mode = null; } else { if (_local1 == "\\") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); } com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; } com.newgrounds.encoders.JSON.cache.pos++; } function _array() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "array"; com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); _setTargetValue([]); if (_local1 != "]") { _addArrayKey(); } else { _useParent(); } return(undefined); } if (_local1 == ",") { _addArrayKey(); } else if (_local1 == "]") { _useParent(); } com.newgrounds.encoders.JSON.cache.pos++; } function _boolean() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 == "t") { _setTargetValue(true); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 3; } else if (_local1 == "f") { _setTargetValue(false); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 4; } else { throw "Bool values must be true or false"; } _useParent(); } function _null() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (_local1 == "n") { _setTargetValue(null); com.newgrounds.encoders.JSON.cache.pos = com.newgrounds.encoders.JSON.cache.pos + 2; } else { throw "Null values must be null"; } _useParent(); } function _string() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); if (!com.newgrounds.encoders.JSON.cache.mode) { if (_local1 != "\"") { throw "Strings must be wrapped in quotes (\"\")"; } com.newgrounds.encoders.JSON.cache.scratch = ""; com.newgrounds.encoders.JSON.cache.mode = "string"; } else if (_local1 == "\"") { _setTargetValue(com.newgrounds.encoders.JSON.cache.scratch); _useParent(); } else { if (_local1 == "\\") { com.newgrounds.encoders.JSON.cache.pos++; _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.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.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; } com.newgrounds.encoders.JSON.cache.pos++; } function _number() { var _local1 = com.newgrounds.encoders.JSON.cache.arg.charAt(com.newgrounds.encoders.JSON.cache.pos); var _local2 = "01234567890.-"; if (!com.newgrounds.encoders.JSON.cache.mode) { com.newgrounds.encoders.JSON.cache.mode = "number"; com.newgrounds.encoders.JSON.cache.scratch = ""; } if (_local2.indexOf(_local1) < 0) { _setTargetValue(Number(com.newgrounds.encoders.JSON.cache.scratch)); _useParent(); } else { com.newgrounds.encoders.JSON.cache.scratch = com.newgrounds.encoders.JSON.cache.scratch + _local1; com.newgrounds.encoders.JSON.cache.pos++; } } function _setTargetValue(newval) { var _local2 = _getParent().obj; var _local1 = com.newgrounds.encoders.JSON.cache.parents[com.newgrounds.encoders.JSON.cache.parents.length - 1]; _local2[_local1] = newval; } function _useParent() { com.newgrounds.encoders.JSON.cache.mode = com.newgrounds.encoders.JSON.getType(_getParent().obj); com.newgrounds.encoders.JSON.cache.parents.pop(); } function _getParent() { var _local2 = com.newgrounds.encoders.JSON.cache; var _local1 = 0; while (_local1 < (com.newgrounds.encoders.JSON.cache.parents.length - 1)) { _local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]}); } function _getCurrent() { var _local2 = com.newgrounds.encoders.JSON.cache; var _local1 = 0; while (_local1 < com.newgrounds.encoders.JSON.cache.parents.length) { _local2 = _local2[com.newgrounds.encoders.JSON.cache.parents[_local1]]; _local1++; } return({obj:_local2, name:com.newgrounds.encoders.JSON.cache.parents[_local1]}); } function _addParent(child) { com.newgrounds.encoders.JSON.cache.parents.push(child); } function _addArrayKey() { var _local1 = _getCurrent().obj.length; com.newgrounds.encoders.JSON.cache.parents.push(_local1); com.newgrounds.encoders.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 99 MovieClip [__Packages.com.newgrounds.encoders.MD5] Frame 0
class com.newgrounds.encoders.MD5 { function MD5 () { } static function calculate(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 159 MovieClip Frame 316
_parent._parent.nextFrame();
Symbol 163 Button
on (press) { getURL ("http://www.phantasmagor.newgrounds.com", _blank); }
Symbol 251 MovieClip Frame 159
stop(); _parent.nextFrame();
Symbol 252 Button
on (press) { getURL ("http://www.bgroupproductions.com", _blank); }
Symbol 257 MovieClip Frame 20
stop();
Symbol 258 MovieClip Frame 25
stop();
Symbol 287 MovieClip Frame 1
_root.stop();
Symbol 287 MovieClip Frame 267
_parent.nextFrame();
Symbol 288 Button
on (press) { NewgroundsAPI.loadNewgrounds(); }
Symbol 294 MovieClip Frame 1
stop();
Symbol 294 MovieClip Frame 2
_root.playSound(1);
Symbol 303 MovieClip Frame 1
stop();
Symbol 303 MovieClip Frame 100
gotoAndStop (1);
Symbol 303 MovieClip Frame 200
gotoAndStop (1);
Symbol 303 MovieClip Frame 300
gotoAndStop (1);
Symbol 303 MovieClip Frame 400
gotoAndStop (1);
Symbol 303 MovieClip Frame 500
gotoAndStop (1);
Symbol 303 MovieClip Frame 600
gotoAndStop (1);
Symbol 303 MovieClip Frame 700
gotoAndStop (1);
Symbol 303 MovieClip Frame 800
gotoAndStop (1);
Symbol 311 MovieClip Frame 1
stop(); onEnterFrame = function () { if (random(60) == 0) { play(); } };
Symbol 329 MovieClip Frame 1
stop(); onEnterFrame = function () { if (random(30) == 0) { play(); } };
Symbol 330 MovieClip Frame 1
stop(); onEnterFrame = function () { if (random(120) == 0) { play(); } };
Symbol 334 MovieClip Frame 1
if (_root.blondeLevel < 3) { gotoAndStop (1); } else { gotoAndStop (2); } onEnterFrame = function () { if (_root.blondeLevel < 3) { gotoAndStop (1); } else { gotoAndStop (2); } };
Symbol 341 MovieClip Frame 1
stop(); onEnterFrame = function () { if ((random(40) == 0) && ((((_parent._currentframe == 2) && (_root.player.talking)) && (_root.player._currentframe == 2)) || ((_parent._currentframe == 1) && (!_root.player.talking)))) { play(); } };
Symbol 342 MovieClip Frame 1
stop();
Symbol 347 MovieClip Frame 1
stop(); onEnterFrame = function () { if ((random(40) == 0) && (_root.blonde._currentframe == 1)) { play(); } };
Symbol 349 MovieClip Frame 1
stop();
Symbol 368 MovieClip Frame 1
this._visible = _root.awd_Score; onEnterFrame = function () { this._visible = _root.awd_Score; };
Symbol 378 MovieClip Frame 1
stop(); onEnterFrame = function () { if ((random(40) == 0) && (_root.player.talking == true)) { play(); } };
Symbol 380 MovieClip Frame 1
this._visible = _root.awd_Score; this.gotoAndStop(_parent.inside._currentframe); onEnterFrame = function () { this._visible = _root.awd_Score; this.gotoAndStop(_parent.inside._currentframe); };
Symbol 385 MovieClip Frame 1
stop(); if (_root.guy._currentframe == 3) { gotoAndStop (2); } onEnterFrame = function () { if (_root.guy._currentframe == 3) { gotoAndStop (2); } };
Symbol 388 MovieClip Frame 1
this._visible = _root.awd_Score; this.gotoAndStop(_parent.inside._currentframe); onEnterFrame = function () { this._visible = _root.awd_Score; this.gotoAndStop(_parent.inside._currentframe); };
Symbol 391 MovieClip Frame 1
stop(); talking = false; onEnterFrame = function () { if (_currentframe != 2) { if (_root.blonde._currentframe == 2) { _root.blonde.gotoAndStop(1); } } if (_currentframe != 5) { if (_root.guy._currentframe == 2) { _root.guy.gotoAndStop(1); } } if (_root.fatty._currentframe == 2) { _root.blonde.gotoAndStop(2); } };
Symbol 398 MovieClip Frame 1
stop(); onEnterFrame = function () { if (random(40) == 0) { play(); } };
Symbol 403 MovieClip Frame 1
stop();
Symbol 403 MovieClip Frame 3
_root.asian.gotoAndStop(2);
Symbol 410 MovieClip Frame 1
stop(); onEnterFrame = function () { if ((random(40) == 0) && ((_root.guy._currentframe == 1) || (((_root.guy._currentframe == 3) && (_root.player._currentframe == 5)) && (_root.player.talking)))) { play(); } };
Symbol 412 MovieClip Frame 1
stop();
Symbol 428 Button
on (press) { getURL ("http://www.thatcomposerguy.newgrounds.com", _blank); }
Symbol 430 MovieClip Frame 230
stop();
Symbol 436 MovieClip Frame 21
stop();
Symbol 436 MovieClip Frame 100
gotoAndPlay (50);
Symbol 439 MovieClip Frame 1
playingNow = false; if (_root.muted) { stop(); playingNow = false; } else if (!playingNow) { playingNow = true; play(); } onEnterFrame = function () { if (_root.muted) { stop(); playingNow = false; } else if (!playingNow) { playingNow = true; play(); } };
Symbol 453 MovieClip Frame 1
stop();
Symbol 453 MovieClip Frame 3
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 4
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 5
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 6
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(5); }
Symbol 453 MovieClip Frame 7
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 8
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(5); }
Symbol 453 MovieClip Frame 9
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(5); }
Symbol 453 MovieClip Frame 10
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 11
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 453 MovieClip Frame 12
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(5); }
Symbol 453 MovieClip Frame 13
overMsg.text = _root.Feedback.text; _root.Feedback.text = "Type AWARDS to view achievements or type PLAY to try again"; if (_root.awards._currentframe == 1) { _root.playSound(4); }
Symbol 503 MovieClip Frame 1
this._visible = _root.awd_BoozeHound;
Symbol 506 MovieClip Frame 1
this._visible = _root.awd_Sleazebag;
Symbol 509 MovieClip Frame 1
this._visible = _root.awd_Experimenting;
Symbol 512 MovieClip Frame 1
this._visible = _root.awd_CockBlock;
Symbol 515 MovieClip Frame 1
this._visible = _root.awd_AlphaMale;
Symbol 518 MovieClip Frame 1
this._visible = _root.awd_ScooterRooter;
Symbol 521 MovieClip Frame 1
this._visible = _root.awd_Quitter;
Symbol 524 MovieClip Frame 1
this._visible = _root.awd_Rejection;
Symbol 527 MovieClip Frame 1
this._visible = _root.awd_Violence;
Symbol 530 MovieClip Frame 1
this._visible = _root.awd_TrueGentleman;
Symbol 533 MovieClip Frame 1
this._visible = _root.awd_Hospitalized;
Symbol 536 MovieClip Frame 1
this._visible = _root.awd_Frotteurism;
Symbol 539 MovieClip Frame 1
this._visible = _root.awd_Thirsty;
Symbol 542 MovieClip Frame 1
this._visible = _root.awd_Hungry;
Symbol 545 MovieClip Frame 1
this._visible = _root.awd_Deaf;
Symbol 548 MovieClip Frame 1
this._visible = _root.awd_Flash;
Symbol 551 MovieClip Frame 1
this._visible = _root.awd_Beached;
Symbol 554 MovieClip Frame 1
this._visible = _root.awd_LadiesMan;
Symbol 557 MovieClip Frame 1
this._visible = _root.awd_Score;
Symbol 560 MovieClip Frame 1
this._visible = _root.awd_Casanova;
Symbol 563 MovieClip Frame 1
this._visible = _root.awd_Multiculturalism;
Symbol 566 MovieClip Frame 1
stop();
Symbol 566 MovieClip Frame 2
_root.Feedback.text = "Type CLOSE to hide list of awards"; if (_root.awd_Thirsty) { thirsty.text = "Nothing like that first taste of cold beer!"; } if (_root.awd_Hungry) { hungry.text = "They looked like mints, but they weren't at all!"; } if (_root.awd_Deaf) { deaf.text = "The sound of silence..."; } if (_root.awd_Quitter) { quitter.text = "Only losers give up and go home alone."; } if (_root.awd_LadiesMan) { ladiesMan.text = "...a hell of a good time!"; } if (_root.awd_BoozeHound) { boozeHound.text = "Drink til you drop."; } if (_root.awd_ScooterRooter) { scooterRooter.text = "Fun to ride, but don't let anyone catch you on one."; } if (_root.awd_TrueGentleman) { trueGentleman.text = "Treat her like a lady."; } if (_root.awd_Sleazebag) { sleazebag.text = "Can anyone say... Date rape?"; } if (_root.awd_Hospitalized) { hospitalized.text = "Let's take this outside!"; } if (_root.awd_Experimenting) { experimenting.text = "Proven to double your chances!"; } if (_root.awd_Rejection) { rejection.text = "Love hurts."; } if (_root.awd_CockBlock) { cockBlock.text = "Chicks before dicks."; } if (_root.awd_Violence) { violence.text = "Put em up."; } if (_root.awd_Frotteurism) { frotteurism.text = "It's just too hard to resist..."; } if (_root.awd_Multiculturalism) { multicultural.text = "Ahh... Theres nothing like a little asian takeaway!"; } if (_root.awd_AlphaMale) { alphaMale.text = "Sometimes you just have to establish dominance."; } if (_root.awd_Casanova) { casanova.text = "There's clearly no one that you can't please!"; } if (_root.awd_Flash) { theFlash.text = "Sometimes things are best kept to yourself!"; } if (_root.awd_Beached) { beached.text = "Ohh noo! She's beached as bru!"; } if (_root.awd_Score) { score.text = "You are officially the master of scoring!"; }
Symbol 566 MovieClip Frame 3
_root.playSound(6);

Library Items

Symbol 1 GraphicUsed by:6
Symbol 2 FontUsed by:3 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 490 491 492 498 499 500
Symbol 3 TextUses:2Used by:6
Symbol 4 FontUsed by:5
Symbol 5 EditableTextUses:4Used by:6
Symbol 6 MovieClip [award]Uses:1 3 5Used by:Timeline
Symbol 8 GraphicUsed by:17 19 79
Symbol 9 GraphicUsed by:17 19 79
Symbol 10 GraphicUsed by:17 19 79
Symbol 11 GraphicUsed by:17 19 79
Symbol 12 FontUsed by:13 16 18 24 27 33 36 38 66 67 75 76
Symbol 13 TextUses:12Used by:79
Symbol 14 GraphicUsed by:15
Symbol 15 MovieClipUses:14Used by:17
Symbol 16 TextUses:12Used by:17
Symbol 17 MovieClipUses:8 9 10 11 15 16Used by:79
Symbol 18 TextUses:12Used by:19
Symbol 19 MovieClipUses:8 9 10 11 18Used by:79
Symbol 20 GraphicUsed by:21
Symbol 21 MovieClipUses:20Used by:31 37 40
Symbol 22 GraphicUsed by:23 32 74
Symbol 23 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]Uses:22Used by:31
Symbol 24 EditableTextUses:12Used by:31
Symbol 25 FontUsed by:26 39 72 77
Symbol 26 TextUses:25Used by:31
Symbol 27 EditableTextUses:12Used by:31
Symbol 28 Bitmap [NewgroundsAPIAsset_default_medal_icon_1]Used by:30
Symbol 29 Bitmap [NewgroundsAPIAsset_default_medal_icon_2]Used by:30
Symbol 30 GraphicUses:29 28Used by:31
Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup]Uses:21 23 24 26 27 30Used by:79
Symbol 32 ButtonUses:22Used by:73 79
Symbol 33 TextUses:12Used by:37
Symbol 34 BitmapUsed by:35
Symbol 35 GraphicUses:34Used by:37 40
Symbol 36 TextUses:12Used by:37
Symbol 37 MovieClip [NewgroundsAPIAsset_Login_Warning]Uses:21 33 35 36Used by:79
Symbol 38 TextUses:12Used by:40
Symbol 39 TextUses:25Used by:40
Symbol 40 MovieClip [NewgroundsAPIAsset_Connection_Error]Uses:21 38 39 35Used by:79
Symbol 41 GraphicUsed by:42
Symbol 42 MovieClipUses:41Used by:61
Symbol 43 GraphicUsed by:44
Symbol 44 MovieClipUses:43Used by:61
Symbol 45 GraphicUsed by:46
Symbol 46 MovieClipUses:45Used by:61
Symbol 47 GraphicUsed by:48
Symbol 48 MovieClipUses:47Used by:61
Symbol 49 GraphicUsed by:50
Symbol 50 MovieClipUses:49Used by:61
Symbol 51 GraphicUsed by:52
Symbol 52 MovieClipUses:51Used by:61
Symbol 53 GraphicUsed by:54
Symbol 54 MovieClipUses:53Used by:61
Symbol 55 GraphicUsed by:56
Symbol 56 MovieClipUses:55Used by:61
Symbol 57 GraphicUsed by:58
Symbol 58 MovieClipUses:57Used by:61
Symbol 59 GraphicUsed by:60
Symbol 60 MovieClipUses:59Used by:61
Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background]Uses:42 44 46 48 50 52 54 56 58 60Used by:73 78
Symbol 62 GraphicUsed by:73
Symbol 63 GraphicUsed by:65
Symbol 64 GraphicUsed by:65
Symbol 65 ButtonUses:63 64Used by:73
Symbol 66 TextUses:12Used by:73
Symbol 67 TextUses:12Used by:73
Symbol 68 GraphicUsed by:71
Symbol 69 GraphicUsed by:71
Symbol 70 GraphicUsed by:71
Symbol 71 ButtonUses:68 69 70Used by:73 78
Symbol 72 TextUses:25Used by:73
Symbol 73 MovieClip [NewgroundsAsset_New_Version_Available]Uses:32 61 62 65 66 67 71 72Used by:79
Symbol 74 ButtonUses:22Used by:78
Symbol 75 TextUses:12Used by:78
Symbol 76 TextUses:12Used by:78
Symbol 77 TextUses:25Used by:78
Symbol 78 MovieClip [NewgroundsAsset_Illegal_Host]Uses:74 61 75 76 71 77Used by:79
Symbol 79 MovieClip [API Connector (NewgroundsAPI)]Uses:8 9 10 11 13 17 19 31 32 37 40 73 78Used by:Timeline
Symbol 100 Bitmap [NewgroundsAPIAsset_default_medal_icon_3]
Symbol 101 Bitmap [NewgroundsAPIAsset_default_medal_icon_4]
Symbol 102 Bitmap [NewgroundsAPIAsset_default_medal_icon_5]
Symbol 103 GraphicUsed by:Timeline
Symbol 104 GraphicUsed by:106
Symbol 105 GraphicUsed by:106
Symbol 106 MovieClipUses:104 105Used by:136
Symbol 107 GraphicUsed by:136
Symbol 108 GraphicUsed by:136
Symbol 109 GraphicUsed by:136
Symbol 110 MovieClipUsed by:136
Symbol 111 GraphicUsed by:136
Symbol 112 GraphicUsed by:120
Symbol 113 GraphicUsed by:120
Symbol 114 GraphicUsed by:120
Symbol 115 GraphicUsed by:120
Symbol 116 GraphicUsed by:120
Symbol 117 GraphicUsed by:120
Symbol 118 GraphicUsed by:120
Symbol 119 GraphicUsed by:120
Symbol 120 MovieClipUses:112 113 114 115 116 117 118 119Used by:136
Symbol 121 ShapeTweeningUsed by:136
Symbol 122 ShapeTweeningUsed by:136
Symbol 123 GraphicUsed by:136
Symbol 124 GraphicUsed by:136
Symbol 125 GraphicUsed by:136
Symbol 126 GraphicUsed by:134 135
Symbol 127 GraphicUsed by:134 135 136
Symbol 128 GraphicUsed by:134 135
Symbol 129 GraphicUsed by:134 135 136
Symbol 130 GraphicUsed by:134 135 136
Symbol 131 GraphicUsed by:133 134 135
Symbol 132 GraphicUsed by:133
Symbol 133 MovieClipUses:131 132Used by:134 135 136
Symbol 134 ButtonUses:126 127 128 129 130 133 131Used by:136
Symbol 135 ButtonUses:126 127 128 129 130 133 131Used by:136
Symbol 136 MovieClipUses:106 107 108 109 110 111 120 121 122 123 124 125 134 135 130 127 133 129Used by:150
Symbol 137 GraphicUsed by:150
Symbol 138 GraphicUsed by:142
Symbol 139 GraphicUsed by:142
Symbol 140 GraphicUsed by:142
Symbol 141 GraphicUsed by:142
Symbol 142 ButtonUses:138 139 140 141Used by:150
Symbol 143 GraphicUsed by:150
Symbol 144 GraphicUsed by:150
Symbol 145 GraphicUsed by:149
Symbol 146 GraphicUsed by:148
Symbol 147 GraphicUsed by:148
Symbol 148 ButtonUses:146 147Used by:149
Symbol 149 MovieClipUses:145 148Used by:150
Symbol 150 MovieClipUses:136 137 142 143 144 149Used by:Timeline
Symbol 151 GraphicUsed by:152
Symbol 152 MovieClipUses:151Used by:Timeline
Symbol 567 MovieClip [__Packages.NewgroundsAPI]
Symbol 82 MovieClip [__Packages.com.newgrounds.Bridge]
Symbol 80 MovieClip [__Packages.com.newgrounds.APIError]
Symbol 81 MovieClip [__Packages.com.newgrounds.API]
Symbol 83 MovieClip [__Packages.com.newgrounds.SaveFile]
Symbol 84 MovieClip [__Packages.com.newgrounds.SaveGroup]
Symbol 87 MovieClip [__Packages.com.newgrounds.SaveGroupQuery]
Symbol 89 MovieClip [__Packages.com.newgrounds.encoders.ImageScanner]
Symbol 88 MovieClip [__Packages.com.newgrounds.encoders.BaseN]
Symbol 98 MovieClip [__Packages.com.newgrounds.APIEventDispatcher]
Symbol 86 MovieClip [__Packages.com.newgrounds.APIEvent]
Symbol 94 MovieClip [__Packages.com.newgrounds.ScoreBoard]
Symbol 7 MovieClip [__Packages.com.newgrounds.components.APIConnector]
Symbol 85 MovieClip [__Packages.com.newgrounds.ValidationTools]
Symbol 90 MovieClip [__Packages.com.newgrounds.encoders.SerialXML]
Symbol 91 MovieClip [__Packages.com.newgrounds.encoders.LZW2]
Symbol 92 MovieClip [__Packages.com.newgrounds.encoders.LZW]
Symbol 93 MovieClip [__Packages.com.newgrounds.Medal]
Symbol 95 MovieClip [__Packages.com.newgrounds.Score]
Symbol 96 MovieClip [__Packages.com.newgrounds.encoders.RC4]
Symbol 97 MovieClip [__Packages.com.newgrounds.encoders.JSON]
Symbol 99 MovieClip [__Packages.com.newgrounds.encoders.MD5]
Symbol 153 GraphicUsed by:154
Symbol 154 MovieClipUses:153Used by:159
Symbol 155 GraphicUsed by:156
Symbol 156 MovieClipUses:155Used by:159
Symbol 157 GraphicUsed by:158
Symbol 158 MovieClipUses:157Used by:159
Symbol 159 MovieClipUses:154 156 158 SS1Used by:160
Symbol 160 MovieClipUses:159Used by:Timeline
Symbol 161 GraphicUsed by:163 252 288 428
Symbol 162 GraphicUsed by:163 252 288 428
Symbol 163 ButtonUses:161 162Used by:453  Timeline
Symbol 164 GraphicUsed by:251
Symbol 165 GraphicUsed by:251
Symbol 166 GraphicUsed by:251
Symbol 167 GraphicUsed by:251
Symbol 168 GraphicUsed by:251
Symbol 169 GraphicUsed by:251
Symbol 170 GraphicUsed by:251
Symbol 171 GraphicUsed by:251
Symbol 172 GraphicUsed by:251
Symbol 173 GraphicUsed by:251
Symbol 174 GraphicUsed by:251
Symbol 175 GraphicUsed by:251
Symbol 176 GraphicUsed by:251
Symbol 177 GraphicUsed by:251
Symbol 178 GraphicUsed by:251
Symbol 179 GraphicUsed by:251
Symbol 180 GraphicUsed by:251
Symbol 181 GraphicUsed by:251
Symbol 182 GraphicUsed by:251
Symbol 183 GraphicUsed by:251
Symbol 184 GraphicUsed by:251
Symbol 185 GraphicUsed by:251
Symbol 186 GraphicUsed by:251
Symbol 187 GraphicUsed by:251
Symbol 188 GraphicUsed by:251
Symbol 189 GraphicUsed by:251
Symbol 190 GraphicUsed by:251
Symbol 191 GraphicUsed by:251
Symbol 192 GraphicUsed by:251
Symbol 193 GraphicUsed by:251
Symbol 194 GraphicUsed by:251
Symbol 195 GraphicUsed by:251
Symbol 196 GraphicUsed by:251
Symbol 197 GraphicUsed by:251
Symbol 198 GraphicUsed by:251
Symbol 199 GraphicUsed by:251
Symbol 200 GraphicUsed by:251
Symbol 201 GraphicUsed by:251
Symbol 202 GraphicUsed by:251
Symbol 203 GraphicUsed by:251
Symbol 204 GraphicUsed by:251
Symbol 205 GraphicUsed by:251
Symbol 206 GraphicUsed by:251
Symbol 207 GraphicUsed by:251
Symbol 208 GraphicUsed by:251
Symbol 209 GraphicUsed by:251
Symbol 210 GraphicUsed by:251
Symbol 211 GraphicUsed by:251
Symbol 212 GraphicUsed by:251
Symbol 213 GraphicUsed by:251
Symbol 214 GraphicUsed by:251
Symbol 215 GraphicUsed by:251
Symbol 216 GraphicUsed by:251
Symbol 217 GraphicUsed by:251
Symbol 218 GraphicUsed by:251
Symbol 219 GraphicUsed by:251
Symbol 220 GraphicUsed by:251
Symbol 221 GraphicUsed by:251
Symbol 222 GraphicUsed by:251
Symbol 223 GraphicUsed by:251
Symbol 224 GraphicUsed by:251
Symbol 225 GraphicUsed by:251
Symbol 226 GraphicUsed by:251
Symbol 227 GraphicUsed by:251
Symbol 228 GraphicUsed by:251
Symbol 229 GraphicUsed by:251
Symbol 230 GraphicUsed by:251
Symbol 231 GraphicUsed by:251
Symbol 232 GraphicUsed by:251
Symbol 233 GraphicUsed by:251
Symbol 234 GraphicUsed by:251
Symbol 235 GraphicUsed by:251
Symbol 236 GraphicUsed by:251
Symbol 237 GraphicUsed by:251
Symbol 238 GraphicUsed by:251
Symbol 239 GraphicUsed by:251
Symbol 240 GraphicUsed by:251
Symbol 241 GraphicUsed by:251
Symbol 242 GraphicUsed by:251
Symbol 243 GraphicUsed by:251
Symbol 244 GraphicUsed by:251
Symbol 245 GraphicUsed by:251
Symbol 246 GraphicUsed by:251
Symbol 247 GraphicUsed by:251
Symbol 248 GraphicUsed by:251
Symbol 249 GraphicUsed by:251
Symbol 250 GraphicUsed by:251
Symbol 251 MovieClipUses:164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 SS2Used by:Timeline
Symbol 252 ButtonUses:161 162Used by:453  Timeline
Symbol 253 GraphicUsed by:254
Symbol 254 ButtonUses:253Used by:287
Symbol 255 ShapeTweeningUsed by:257
Symbol 256 GraphicUsed by:257
Symbol 257 MovieClipUses:255 256Used by:258
Symbol 258 MovieClipUses:257Used by:261 287
Symbol 259 GraphicUsed by:260
Symbol 260 MovieClipUses:259Used by:261 287
Symbol 261 MovieClipUses:258 260Used by:287
Symbol 262 GraphicUsed by:263
Symbol 263 MovieClipUses:262Used by:287
Symbol 264 GraphicUsed by:287
Symbol 265 GraphicUsed by:287
Symbol 266 GraphicUsed by:287
Symbol 267 GraphicUsed by:287
Symbol 268 GraphicUsed by:287
Symbol 269 GraphicUsed by:287
Symbol 270 GraphicUsed by:287
Symbol 271 GraphicUsed by:287
Symbol 272 GraphicUsed by:287
Symbol 273 GraphicUsed by:287
Symbol 274 GraphicUsed by:287
Symbol 275 GraphicUsed by:287
Symbol 276 GraphicUsed by:287
Symbol 277 GraphicUsed by:278
Symbol 278 MovieClipUses:277Used by:287
Symbol 279 GraphicUsed by:280
Symbol 280 MovieClipUses:279Used by:287
Symbol 281 GraphicUsed by:282
Symbol 282 MovieClipUses:281Used by:287
Symbol 283 GraphicUsed by:284
Symbol 284 MovieClipUses:283Used by:287
Symbol 285 GraphicUsed by:286
Symbol 286 MovieClipUses:285Used by:287
Symbol 287 MovieClipUses:254 261 258 260 263 264 265 266 267 268 269 270 271 272 273 274 275 276 278 280 282 284 286 SS3Used by:Timeline
Symbol 288 ButtonUses:161 162Used by:453  Timeline
Symbol 289 GraphicUsed by:Timeline
Symbol 290 GraphicUsed by:294
Symbol 291 ShapeTweeningUsed by:294
Symbol 292 ShapeTweeningUsed by:294
Symbol 293 GraphicUsed by:294
Symbol 294 MovieClipUses:290 291 292 293Used by:Timeline
Symbol 295 GraphicUsed by:303
Symbol 296 SoundUsed by:303
Symbol 297 SoundUsed by:303
Symbol 298 SoundUsed by:303
Symbol 299 SoundUsed by:303
Symbol 300 SoundUsed by:303
Symbol 301 SoundUsed by:303
Symbol 302 SoundUsed by:303
Symbol 303 MovieClipUses:295 296 297 298 299 300 301 302Used by:Timeline
Symbol 304 GraphicUsed by:Timeline
Symbol 305 GraphicUsed by:313
Symbol 306 ShapeTweeningUsed by:311
Symbol 307 ShapeTweeningUsed by:311
Symbol 308 ShapeTweeningUsed by:311
Symbol 309 ShapeTweeningUsed by:311
Symbol 310 GraphicUsed by:311
Symbol 311 MovieClipUses:306 307 308 309 310Used by:313
Symbol 312 GraphicUsed by:313
Symbol 313 MovieClipUses:305 311 312Used by:Timeline
Symbol 314 GraphicUsed by:Timeline
Symbol 315 GraphicUsed by:330
Symbol 316 GraphicUsed by:317
Symbol 317 MovieClipUses:316Used by:330
Symbol 318 GraphicUsed by:319
Symbol 319 MovieClipUses:318Used by:330
Symbol 320 GraphicUsed by:321
Symbol 321 MovieClipUses:320Used by:330
Symbol 322 ShapeTweeningUsed by:329
Symbol 323 ShapeTweeningUsed by:329
Symbol 324 ShapeTweeningUsed by:329
Symbol 325 ShapeTweeningUsed by:329
Symbol 326 GraphicUsed by:329
Symbol 327 ShapeTweeningUsed by:329
Symbol 328 ShapeTweeningUsed by:329
Symbol 329 MovieClipUses:322 323 324 325 326 327 328Used by:330
Symbol 330 MovieClipUses:315 317 319 321 329Used by:Timeline
Symbol 331 GraphicUsed by:Timeline
Symbol 332 GraphicUsed by:334
Symbol 333 GraphicUsed by:334
Symbol 334 MovieClipUses:332 333Used by:342
Symbol 335 GraphicUsed by:341
Symbol 336 GraphicUsed by:341
Symbol 337 GraphicUsed by:341
Symbol 338 GraphicUsed by:341
Symbol 339 GraphicUsed by:341
Symbol 340 GraphicUsed by:341
Symbol 341 MovieClipUses:335 336 337 338 339 340Used by:342
Symbol 342 MovieClipUses:334 341Used by:Timeline
Symbol 343 GraphicUsed by:349
Symbol 344 GraphicUsed by:347
Symbol 345 GraphicUsed by:347
Symbol 346 GraphicUsed by:347
Symbol 347 MovieClipUses:344 345 346Used by:349
Symbol 348 GraphicUsed by:349
Symbol 349 MovieClipUses:343 347 348Used by:Timeline
Symbol 350 GraphicUsed by:391
Symbol 351 GraphicUsed by:366
Symbol 352 ShapeTweeningUsed by:365
Symbol 353 ShapeTweeningUsed by:365
Symbol 354 ShapeTweeningUsed by:365
Symbol 355 ShapeTweeningUsed by:365
Symbol 356 ShapeTweeningUsed by:365
Symbol 357 ShapeTweeningUsed by:365
Symbol 358 ShapeTweeningUsed by:365
Symbol 359 ShapeTweeningUsed by:365
Symbol 360 ShapeTweeningUsed by:365
Symbol 361 ShapeTweeningUsed by:365
Symbol 362 ShapeTweeningUsed by:365
Symbol 363 ShapeTweeningUsed by:365
Symbol 364 GraphicUsed by:365
Symbol 365 MovieClipUses:352 353 354 355 356 357 358 359 360 361 362 363 364Used by:366 385 391
Symbol 366 MovieClipUses:351 365Used by:391
Symbol 367 GraphicUsed by:368
Symbol 368 MovieClipUses:367Used by:391
Symbol 369 GraphicUsed by:391
Symbol 370 GraphicUsed by:378
Symbol 371 GraphicUsed by:378
Symbol 372 GraphicUsed by:378
Symbol 373 GraphicUsed by:378
Symbol 374 GraphicUsed by:378
Symbol 375 GraphicUsed by:378
Symbol 376 GraphicUsed by:378
Symbol 377 GraphicUsed by:378
Symbol 378 MovieClipUses:370 371 372 373 374 375 376 377Used by:385 391
Symbol 379 GraphicUsed by:380
Symbol 380 MovieClipUses:379Used by:391
Symbol 381 GraphicUsed by:391
Symbol 382 GraphicUsed by:391
Symbol 383 GraphicUsed by:385
Symbol 384 GraphicUsed by:385
Symbol 385 MovieClipUses:383 378 365 384Used by:391
Symbol 386 GraphicUsed by:388
Symbol 387 GraphicUsed by:388
Symbol 388 MovieClipUses:386 387Used by:391
Symbol 389 GraphicUsed by:391
Symbol 390 GraphicUsed by:391
Symbol 391 MovieClipUses:350 366 368 369 378 365 380 381 382 385 388 389 390Used by:Timeline
Symbol 392 GraphicUsed by:403
Symbol 393 GraphicUsed by:398
Symbol 394 GraphicUsed by:398
Symbol 395 GraphicUsed by:398
Symbol 396 GraphicUsed by:398
Symbol 397 GraphicUsed by:398
Symbol 398 MovieClipUses:393 394 395 396 397Used by:403
Symbol 399 GraphicUsed by:403
Symbol 400 GraphicUsed by:403
Symbol 401 GraphicUsed by:403
Symbol 402 GraphicUsed by:403
Symbol 403 MovieClipUses:392 398 399 400 401 402Used by:Timeline
Symbol 404 GraphicUsed by:412
Symbol 405 GraphicUsed by:410
Symbol 406 GraphicUsed by:410
Symbol 407 GraphicUsed by:410
Symbol 408 GraphicUsed by:410
Symbol 409 GraphicUsed by:410
Symbol 410 MovieClipUses:405 406 407 408 409Used by:412
Symbol 411 GraphicUsed by:412
Symbol 412 MovieClipUses:404 410 411Used by:Timeline
Symbol 413 GraphicUsed by:Timeline
Symbol 414 FontUsed by:415
Symbol 415 EditableTextUses:414Used by:Timeline
Symbol 416 FontUsed by:417 418 426 442
Symbol 417 EditableTextUses:416Used by:Timeline
Symbol 418 EditableTextUses:416Used by:Timeline
Symbol 419 GraphicUsed by:453
Symbol 420 GraphicUsed by:421
Symbol 421 MovieClipUses:420Used by:453
Symbol 422 GraphicUsed by:423
Symbol 423 MovieClipUses:422Used by:453
Symbol 424 FontUsed by:425 427 437 564
Symbol 425 TextUses:424Used by:453
Symbol 426 EditableTextUses:416Used by:453
Symbol 427 TextUses:424Used by:453
Symbol 428 ButtonUses:161 162Used by:453
Symbol 429 GraphicUsed by:430
Symbol 430 MovieClipUses:429 SS4Used by:453
Symbol 431 ShapeTweeningUsed by:436
Symbol 432 GraphicUsed by:436
Symbol 433 ShapeTweeningUsed by:436
Symbol 434 ShapeTweeningUsed by:436
Symbol 435 GraphicUsed by:436
Symbol 436 MovieClipUses:431 432 433 434 435Used by:453
Symbol 437 TextUses:424Used by:453
Symbol 438 GraphicUsed by:439
Symbol 439 MovieClipUses:438 SS5Used by:453
Symbol 440 GraphicUsed by:453
Symbol 441 GraphicUsed by:453
Symbol 442 EditableTextUses:416Used by:453
Symbol 443 GraphicUsed by:453
Symbol 444 GraphicUsed by:453
Symbol 445 GraphicUsed by:453
Symbol 446 GraphicUsed by:453
Symbol 447 GraphicUsed by:453
Symbol 448 GraphicUsed by:453
Symbol 449 GraphicUsed by:453
Symbol 450 GraphicUsed by:453
Symbol 451 GraphicUsed by:453
Symbol 452 GraphicUsed by:453
Symbol 453 MovieClipUses:419 421 423 425 426 427 163 252 428 288 430 436 437 439 440 441 442 443 444 445 446 447 448 449 450 451 452Used by:Timeline
Symbol 454 GraphicUsed by:566
Symbol 455 GraphicUsed by:566
Symbol 456 FontUsed by:457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 487 488 489 495 496 497
Symbol 457 EditableTextUses:456Used by:566
Symbol 458 EditableTextUses:456Used by:566
Symbol 459 EditableTextUses:456Used by:566
Symbol 460 EditableTextUses:456Used by:566
Symbol 461 EditableTextUses:456Used by:566
Symbol 462 EditableTextUses:456Used by:566
Symbol 463 EditableTextUses:456Used by:566
Symbol 464 EditableTextUses:456Used by:566
Symbol 465 EditableTextUses:456Used by:566
Symbol 466 EditableTextUses:456Used by:566
Symbol 467 EditableTextUses:456Used by:566
Symbol 468 EditableTextUses:456Used by:566
Symbol 469 EditableTextUses:456Used by:566
Symbol 470 EditableTextUses:456Used by:566
Symbol 471 EditableTextUses:456Used by:566
Symbol 472 TextUses:2Used by:566
Symbol 473 TextUses:2Used by:566
Symbol 474 TextUses:2Used by:566
Symbol 475 TextUses:2Used by:566
Symbol 476 TextUses:2Used by:566
Symbol 477 TextUses:2Used by:566
Symbol 478 TextUses:2Used by:566
Symbol 479 TextUses:2Used by:566
Symbol 480 TextUses:2Used by:566
Symbol 481 TextUses:2Used by:566
Symbol 482 TextUses:2Used by:566
Symbol 483 TextUses:2Used by:566
Symbol 484 TextUses:2Used by:566
Symbol 485 TextUses:2Used by:566
Symbol 486 TextUses:2Used by:566
Symbol 487 EditableTextUses:456Used by:566
Symbol 488 EditableTextUses:456Used by:566
Symbol 489 EditableTextUses:456Used by:566
Symbol 490 TextUses:2Used by:566
Symbol 491 TextUses:2Used by:566
Symbol 492 TextUses:2Used by:566
Symbol 493 FontUsed by:494
Symbol 494 TextUses:493Used by:566
Symbol 495 EditableTextUses:456Used by:566
Symbol 496 EditableTextUses:456Used by:566
Symbol 497 EditableTextUses:456Used by:566
Symbol 498 TextUses:2Used by:566
Symbol 499 TextUses:2Used by:566
Symbol 500 TextUses:2Used by:566
Symbol 501 BitmapUsed by:502
Symbol 502 GraphicUses:501Used by:503
Symbol 503 MovieClipUses:502Used by:566
Symbol 504 BitmapUsed by:505
Symbol 505 GraphicUses:504Used by:506
Symbol 506 MovieClipUses:505Used by:566
Symbol 507 BitmapUsed by:508
Symbol 508 GraphicUses:507Used by:509
Symbol 509 MovieClipUses:508Used by:566
Symbol 510 BitmapUsed by:511
Symbol 511 GraphicUses:510Used by:512
Symbol 512 MovieClipUses:511Used by:566
Symbol 513 BitmapUsed by:514
Symbol 514 GraphicUses:513Used by:515
Symbol 515 MovieClipUses:514Used by:566
Symbol 516 BitmapUsed by:517
Symbol 517 GraphicUses:516Used by:518
Symbol 518 MovieClipUses:517Used by:566
Symbol 519 BitmapUsed by:520
Symbol 520 GraphicUses:519Used by:521
Symbol 521 MovieClipUses:520Used by:566
Symbol 522 BitmapUsed by:523
Symbol 523 GraphicUses:522Used by:524
Symbol 524 MovieClipUses:523Used by:566
Symbol 525 BitmapUsed by:526
Symbol 526 GraphicUses:525Used by:527
Symbol 527 MovieClipUses:526Used by:566
Symbol 528 BitmapUsed by:529
Symbol 529 GraphicUses:528Used by:530
Symbol 530 MovieClipUses:529Used by:566
Symbol 531 BitmapUsed by:532
Symbol 532 GraphicUses:531Used by:533
Symbol 533 MovieClipUses:532Used by:566
Symbol 534 BitmapUsed by:535
Symbol 535 GraphicUses:534Used by:536
Symbol 536 MovieClipUses:535Used by:566
Symbol 537 BitmapUsed by:538
Symbol 538 GraphicUses:537Used by:539
Symbol 539 MovieClipUses:538Used by:566
Symbol 540 BitmapUsed by:541
Symbol 541 GraphicUses:540Used by:542
Symbol 542 MovieClipUses:541Used by:566
Symbol 543 BitmapUsed by:544
Symbol 544 GraphicUses:543Used by:545
Symbol 545 MovieClipUses:544Used by:566
Symbol 546 BitmapUsed by:547
Symbol 547 GraphicUses:546Used by:548
Symbol 548 MovieClipUses:547Used by:566
Symbol 549 BitmapUsed by:550
Symbol 550 GraphicUses:549Used by:551
Symbol 551 MovieClipUses:550Used by:566
Symbol 552 BitmapUsed by:553
Symbol 553 GraphicUses:552Used by:554
Symbol 554 MovieClipUses:553Used by:566
Symbol 555 BitmapUsed by:556
Symbol 556 GraphicUses:555Used by:557
Symbol 557 MovieClipUses:556Used by:566
Symbol 558 BitmapUsed by:559
Symbol 559 GraphicUses:558Used by:560
Symbol 560 MovieClipUses:559Used by:566
Symbol 561 BitmapUsed by:562
Symbol 562 GraphicUses:561Used by:563
Symbol 563 MovieClipUses:562Used by:566
Symbol 564 TextUses:424Used by:566
Symbol 565 GraphicUsed by:566
Symbol 566 MovieClipUses:454 455 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 494 495 496 497 498 499 500 503 506 509 512 515 518 521 524 527 530 533 536 539 542 545 548 551 554 557 560 563 564 565Used by:Timeline
Streaming Sound 1Used by:Symbol 159 MovieClip
Streaming Sound 2Used by:Symbol 251 MovieClip
Streaming Sound 3Used by:Symbol 287 MovieClip
Streaming Sound 4Used by:Symbol 430 MovieClip
Streaming Sound 5Used by:Symbol 439 MovieClip

Instance Names

"logo2"Frame 3Symbol 251 MovieClip
"bDoor"Frame 5Symbol 294 MovieClip
"sfx"Frame 5Symbol 303 MovieClip
"blonde"Frame 5Symbol 342 MovieClip
"fatty"Frame 5Symbol 349 MovieClip
"player"Frame 5Symbol 391 MovieClip
"guy"Frame 5Symbol 403 MovieClip
"asian"Frame 5Symbol 412 MovieClip
"Input"Frame 5Symbol 417 EditableText
"Feedback"Frame 5Symbol 418 EditableText
"award"Frame 5Symbol 6 MovieClip [award]
"splash"Frame 5Symbol 453 MovieClip
"awards"Frame 5Symbol 566 MovieClip
"Title"Symbol 6 MovieClip [award] Frame 1Symbol 5 EditableText
"icon"Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 1Symbol 23 MovieClip [NewgroundsAPIAsset_Medal_Icon_Placeholder]
"shadow"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 42 MovieClip
"c"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 44 MovieClip
"b"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 46 MovieClip
"t"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 48 MovieClip
"l"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 50 MovieClip
"r"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 52 MovieClip
"tl"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 54 MovieClip
"tr"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 56 MovieClip
"bl"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 58 MovieClip
"br"Symbol 61 MovieClip [NewgroundsAPIAsset_big_popup_background] Frame 1Symbol 60 MovieClip
"background"Symbol 73 MovieClip [NewgroundsAsset_New_Version_Available] Frame 1Symbol 32 Button
"background"Symbol 78 MovieClip [NewgroundsAsset_Illegal_Host] Frame 1Symbol 74 Button
"connected"Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 11Symbol 19 MovieClip
"ng_ad"Symbol 150 MovieClip Frame 1Symbol 149 MovieClip
"inside"Symbol 342 MovieClip Frame 1Symbol 334 MovieClip
"inside"Symbol 391 MovieClip Frame 5Symbol 385 MovieClip
"overMsg"Symbol 453 MovieClip Frame 3Symbol 442 EditableText
"quitter"Symbol 566 MovieClip Frame 2Symbol 457 EditableText
"boozeHound"Symbol 566 MovieClip Frame 2Symbol 458 EditableText
"scooterRooter"Symbol 566 MovieClip Frame 2Symbol 459 EditableText
"trueGentleman"Symbol 566 MovieClip Frame 2Symbol 460 EditableText
"sleazebag"Symbol 566 MovieClip Frame 2Symbol 461 EditableText
"hospitalized"Symbol 566 MovieClip Frame 2Symbol 462 EditableText
"experimenting"Symbol 566 MovieClip Frame 2Symbol 463 EditableText
"rejection"Symbol 566 MovieClip Frame 2Symbol 464 EditableText
"multicultural"Symbol 566 MovieClip Frame 2Symbol 465 EditableText
"cockBlock"Symbol 566 MovieClip Frame 2Symbol 466 EditableText
"violence"Symbol 566 MovieClip Frame 2Symbol 467 EditableText
"frotteurism"Symbol 566 MovieClip Frame 2Symbol 468 EditableText
"alphaMale"Symbol 566 MovieClip Frame 2Symbol 469 EditableText
"ladiesMan"Symbol 566 MovieClip Frame 2Symbol 470 EditableText
"casanova"Symbol 566 MovieClip Frame 2Symbol 471 EditableText
"theFlash"Symbol 566 MovieClip Frame 2Symbol 487 EditableText
"beached"Symbol 566 MovieClip Frame 2Symbol 488 EditableText
"score"Symbol 566 MovieClip Frame 2Symbol 489 EditableText
"thirsty"Symbol 566 MovieClip Frame 2Symbol 495 EditableText
"hungry"Symbol 566 MovieClip Frame 2Symbol 496 EditableText
"deaf"Symbol 566 MovieClip Frame 2Symbol 497 EditableText

Special Tags

FileAttributes (69)Timeline Frame 1Access local files only, Metadata present, AS1/AS2.
SWFMetaData (77)Timeline Frame 11284 bytes "<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Description rdf:about="" xmln ..."
ExportAssets (56)Timeline Frame 1Symbol 6 as "award"
ExportAssets (56)Timeline Frame 1Symbol 23 as "NewgroundsAPIAsset_Medal_Icon_Placeholder"
ExportAssets (56)Timeline Frame 1Symbol 28 as "NewgroundsAPIAsset_default_medal_icon_1"
ExportAssets (56)Timeline Frame 1Symbol 29 as "NewgroundsAPIAsset_default_medal_icon_2"
ExportAssets (56)Timeline Frame 1Symbol 31 as "NewgroundsAPIAsset_Medal_Popup"
ExportAssets (56)Timeline Frame 1Symbol 37 as "NewgroundsAPIAsset_Login_Warning"
ExportAssets (56)Timeline Frame 1Symbol 40 as "NewgroundsAPIAsset_Connection_Error"
ExportAssets (56)Timeline Frame 1Symbol 61 as "NewgroundsAPIAsset_big_popup_background"
ExportAssets (56)Timeline Frame 1Symbol 73 as "NewgroundsAsset_New_Version_Available"
ExportAssets (56)Timeline Frame 1Symbol 78 as "NewgroundsAsset_Illegal_Host"
ExportAssets (56)Timeline Frame 1Symbol 79 as "API Connector (NewgroundsAPI)"
ExportAssets (56)Timeline Frame 1Symbol 100 as "NewgroundsAPIAsset_default_medal_icon_3"
ExportAssets (56)Timeline Frame 1Symbol 101 as "NewgroundsAPIAsset_default_medal_icon_4"
ExportAssets (56)Timeline Frame 1Symbol 102 as "NewgroundsAPIAsset_default_medal_icon_5"
ExportAssets (56)Timeline Frame 1Symbol 567 as "__Packages.NewgroundsAPI"
ExportAssets (56)Timeline Frame 1Symbol 82 as "__Packages.com.newgrounds.Bridge"
ExportAssets (56)Timeline Frame 1Symbol 80 as "__Packages.com.newgrounds.APIError"
ExportAssets (56)Timeline Frame 1Symbol 81 as "__Packages.com.newgrounds.API"
ExportAssets (56)Timeline Frame 1Symbol 83 as "__Packages.com.newgrounds.SaveFile"
ExportAssets (56)Timeline Frame 1Symbol 84 as "__Packages.com.newgrounds.SaveGroup"
ExportAssets (56)Timeline Frame 1Symbol 87 as "__Packages.com.newgrounds.SaveGroupQuery"
ExportAssets (56)Timeline Frame 1Symbol 89 as "__Packages.com.newgrounds.encoders.ImageScanner"
ExportAssets (56)Timeline Frame 1Symbol 88 as "__Packages.com.newgrounds.encoders.BaseN"
ExportAssets (56)Timeline Frame 1Symbol 98 as "__Packages.com.newgrounds.APIEventDispatcher"
ExportAssets (56)Timeline Frame 1Symbol 86 as "__Packages.com.newgrounds.APIEvent"
ExportAssets (56)Timeline Frame 1Symbol 94 as "__Packages.com.newgrounds.ScoreBoard"
ExportAssets (56)Timeline Frame 1Symbol 7 as "__Packages.com.newgrounds.components.APIConnector"
ExportAssets (56)Timeline Frame 1Symbol 85 as "__Packages.com.newgrounds.ValidationTools"
ExportAssets (56)Timeline Frame 1Symbol 90 as "__Packages.com.newgrounds.encoders.SerialXML"
ExportAssets (56)Timeline Frame 1Symbol 91 as "__Packages.com.newgrounds.encoders.LZW2"
ExportAssets (56)Timeline Frame 1Symbol 92 as "__Packages.com.newgrounds.encoders.LZW"
ExportAssets (56)Timeline Frame 1Symbol 93 as "__Packages.com.newgrounds.Medal"
ExportAssets (56)Timeline Frame 1Symbol 95 as "__Packages.com.newgrounds.Score"
ExportAssets (56)Timeline Frame 1Symbol 96 as "__Packages.com.newgrounds.encoders.RC4"
ExportAssets (56)Timeline Frame 1Symbol 97 as "__Packages.com.newgrounds.encoders.JSON"
ExportAssets (56)Timeline Frame 1Symbol 99 as "__Packages.com.newgrounds.encoders.MD5"

Labels

"closeme"Symbol 31 MovieClip [NewgroundsAPIAsset_Medal_Popup] Frame 11
"closeme"Symbol 37 MovieClip [NewgroundsAPIAsset_Login_Warning] Frame 11
"closeme"Symbol 40 MovieClip [NewgroundsAPIAsset_Connection_Error] Frame 11
"connecting"Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 2
"connected"Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 11
"done"Symbol 79 MovieClip [API Connector (NewgroundsAPI)] Frame 20
"loading"Symbol 136 MovieClip Frame 1
"loaded"Symbol 136 MovieClip Frame 101
"lastframe"Symbol 136 MovieClip Frame 165
"end"Symbol 136 MovieClip Frame 166

Dynamic Text Variables

medal_nameSymbol 24 EditableText"medal unlocked!"
medal_valueSymbol 27 EditableText"100pts"
varSymbol 417 EditableText"<p align="left"></p>"




http://swfchan.com/19/93424/info.shtml
Created: 26/3 -2019 20:48:09 Last modified: 26/3 -2019 20:48:09 Server time: 10/05 -2024 03:49:44