Frame 1
function getNG() {
getURL ("http://www.newgrounds.com", "_blank");
}
function getPG() {
getURL ("http://www.psychogoldfish.com", "_blank");
}
var my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
my_cm.customItems.push(new ContextMenuItem("Newgrounds.com", getNG, true));
my_cm.customItems.push(new ContextMenuItem("PsychoGoldfish.com", getPG, true));
this.menu = my_cm;
cookie = SharedObject.getLocal("login");
tag = SharedObject.getLocal("jhgjhg");
stop();
Frame 10
function skipIntro() {
gotoAndPlay ("config");
}
stop();
Instance of Symbol 158 MovieClip in Frame 10
onClipEvent (mouseUp) {
_parent.skipIntro();
}
Frame 19
_global.character = new Array();
character[0] = "Pico";
character[1] = "Nene";
character[2] = "Darnell";
character[3] = "\u00DCbersam";
character[4] = "\u00DCberjon";
character[5] = "\u00DCberfred";
character[6] = "Cyclops";
character[7] = "Alucard";
character[8] = "Hanzou";
character[9] = "Cassandra";
character[10] = "Leyroy";
character[11] = "Jose";
character[12] = "Roc";
character[13] = "Reptile";
guestIndex = 6;
gotoAndStop ("connect");
Frame 25
_global.SSgameId = "pico_roulette";
_global.SS = new SServer(SSgameId, false);
wait = "Connecting to server";
SS.onEvent.connected = function (s) {
if (s.success) {
gotoAndStop ("login");
} else {
error = "Could not connect to the game server";
gotoAndStop ("error");
}
};
SS.onEvent.error = function (i) {
error = i.info.m;
if ((error == "permission denied") and (SS.remoteUserVars.al > 0)) {
gotoAndPlay ("badpass");
} else {
gotoAndStop ("error");
}
};
gotoAndStop ("wait");
Frame 33
SS.close();
Frame 43
function reformat(old) {
New = "";
i = 1;
while (i <= old.length) {
char = substring(old, i, 1);
if (chars.indexOf(char.toUpperCase()) > -1) {
New = New + char;
trace(char);
} else {
trace("-----");
}
i++;
}
trace(New);
return(New);
}
function guestLogin() {
if (nname.text) {
wait = "Please wait...";
SS.basicLogin("GUEST_" + reformat(nname.text));
gotoAndStop ("wait");
}
}
function userLogin() {
if (uname.text and pwd.text) {
if (!tag.data.hash) {
trace((("hashing" + uname.text) + "::") + random(340));
tag.data.hash = (uname.text + "::") + random(340);
tag.flush();
}
if (remember.checked) {
cookie.data.username = uname.text;
cookie.data.passwd = pwd.text;
} else {
cookie.data.username = "";
cookie.data.passwd = "";
}
cookie.flush();
wait = "Verifying, please wait...";
_global.auth = new Object();
auth.username = uname.text;
auth.password = pwd.text;
SS.basicLogin(uname.text, pwd.text);
gotoAndStop ("wait");
}
}
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890-";
SS.onEvent.loggedIn = function () {
gotoAndStop ("menu");
};
if (cookie.data.username) {
username = cookie.data.username;
remember.gotoAndStop(2);
lfocus = 1;
}
if (cookie.data.passwd) {
passwd = cookie.data.passwd;
remember.gotoAndStop(2);
lfocus = 1;
}
uname.onSetFocus = function () {
lfocus = 1;
};
pwd.onSetFocus = function () {
lfocus = 1;
};
nname.onSetFocus = function () {
lfocus = 2;
};
if (!_root.ng_username) {
nextFrame();
}
stop();
Instance of Symbol 173 MovieClip "htxt" in Frame 43
onClipEvent (load) {
scrll = 0;
vArea = 100;
top = _y;
bot = (_y - _height) + vArea;
speed = 2;
}
onClipEvent (enterFrame) {
if (scrll < 0) {
_y = (_y + (scrll * speed));
if (_y < bot) {
_y = bot;
}
} else if (scrll > 0) {
_y = (_y + (scrll * speed));
if (_y > top) {
_y = top;
}
}
}
Frame 49
SS.remoteAreaVars = new Object();
SS.areaProperties = new Object();
if (SS.localUser.substr(0, 3) == "NG_") {
SS.remoteUserVars.al = 1;
}
if (SS.remoteUserVars.al > 0) {
nextFrame();
}
SS.onEvent.areaEntered = function (d) {
if (d.area == "_lobby_") {
gotoAndStop ("lobby");
} else {
gotoAndStop ("game_setup");
}
};
stopAllSounds();
ingame = false;
Frame 105
function clearRows() {
i = 1;
while (i <= maxRows) {
this["bar_" + i].gotoAndStop("blank");
i++;
}
}
function fakeList() {
aList = new Array();
i = 0;
while (i < 40) {
aList.push({name:"room " + i, desc:(i + " ") + random(10000), pass:random(2)});
i++;
}
}
function setAreaList() {
ulist = "";
dlist = "";
ranked = "";
clearRows();
i = 0;
while (i < aList.length) {
r = (i + 2) - row;
ulist = ulist + aList[i].name;
if (aList[i].desc) {
dlist = dlist + aList[i].desc;
}
if (aList[i].al == 1) {
ranked = ranked + "Y";
} else {
ranked = ranked + "N";
}
if ((i + 1) < aList.length) {
ulist = ulist + newline;
dlist = dlist + newline;
ranked = ranked + newline;
}
if (r > 0) {
if (aList[i].pass) {
this["bar_" + r].gotoAndStop(2);
} else {
this["bar_" + r].gotoAndStop(1);
}
this["bar_" + r].val = i;
}
i++;
}
ulist.scroll = row;
dlist.scroll = row;
}
function roomJoin(i) {
if (aList[i].pass) {
theRoom = aList[i].name;
nextFrame();
} else {
SS.enterArea(aList[i].name);
}
}
SS.remoteAreaVars = new Object();
SS.areaProperties = new Object();
SS.onEvent.userExited = function () {
};
tmp = new Object();
rowDir = 0;
ulist = "";
dlist = "";
maxRows = 20;
clearRows();
SS.onEvent.areaListLoaded = function (obj) {
aList = new Array();
for (i in obj.areaList) {
aList.push({name:i, desc:obj.areaList[i].desc, pass:obj.areaList[i].priv, al:obj.areaList[i].al});
}
row = 1;
setAreaList();
};
f = new Object();
f.properties = new Object();
f.properties.uc = new Object();
f.properties.uc["="] = 1;
SS.getAreaList(f);
stop();
function statPop(v) {
user = aList[v].name;
popUser = user;
if (tmp[user]) {
popPop(user);
} else {
SS.getUserVar("aura", user);
SS.getUserVar("level", user);
SS.getUserVar("wins", user);
SS.getUserVar("losses", user);
SS.getUserVar("plays", user);
}
}
function popPop(user) {
stats._y = _ymouse - 20;
stats.uname = user;
wins = Number(SS.users[user].remoteVars.wins);
losses = Number(SS.users[user].remoteVars.losses);
plays = Number(SS.users[user].remoteVars.plays);
quits = plays - (wins + losses);
if (plays < 1) {
rank = "Fresh Meat";
} else if (plays <= 10) {
rank = "Beginner";
} else if ((quits / plays) > 0.33) {
rank = "Crybaby quitter";
} else if ((quits / plays) > 0.2) {
rank = "Sore loser";
} else if (wins > (losses * 2)) {
rank = "Lucky bastard";
} else if (wins > losses) {
rank = "Pretty lucky";
} else if (losses > (wins * 2)) {
rank = "Should be dead...";
} else {
rank = "Accident prone";
}
stats.stats = ("Total Plays: " + plays) + newline;
stats.stats = stats.stats + (("Total Wins: " + wins) + newline);
stats.stats = stats.stats + (("Total Losses: " + losses) + newline);
stats.stats = stats.stats + (("Games Quit: " + quits) + newline);
stats.stats = stats.stats + ("Player Rating: " + rank);
if (stats._y < 4) {
stats._y = 4;
} else if (stats._y > 280) {
stats._y = 280;
}
}
function statHide() {
stats._y = -9999;
}
statHide();
SS.onEvent.userVarLoaded = function (obj) {
if ((obj.name == "plays") and (popUser == obj.user)) {
tmp[user] = true;
popPop(obj.user);
} else if ((obj.name == "level") and (popUser == obj.user)) {
stats.getIcon(SS.users[user].remoteVars.level, SS.users[user].remoteVars.aura);
}
};
Instance of Symbol 279 MovieClip in Frame 105
onClipEvent (enterFrame) {
if (_parent.rowDir != 0) {
_parent.row = _parent.row + _parent.rowDir;
if (_parent.row < 1) {
_parent.row = 1;
}
if (_parent.row > _parent.ulist.maxscroll) {
_parent.row = _parent.ulist.maxscroll;
}
_parent.setAreaList();
}
}
Instance of Symbol 317 MovieClip in Frame 105
onClipEvent (enterFrame) {
if (ag.checked) {
gotoAndStop (2);
} else {
gotoAndStop (1);
}
}
Frame 110
clearInterval(delay);
stopAllSounds();
if (gameStatus == 2) {
gameStatus = 3;
auth.action = "u";
if (SS.areaProperties.al > 0) {
SS.postData(auth);
SS.updateUserVar("plays", Number(SS.remoteUserVars.plays) - 1);
}
}
if (!ingame) {
SS.remoteAreaVars = new Object();
SS.areaProperties = new Object();
SS.resetAreaVars();
}
Frame 145
if ((!SS.isOwner()) or (ingame == true)) {
gotoAndStop ("menu");
}
Frame 146
function startSong() {
if (sound != true) {
APsong.stop();
} else {
APsong.loadSound(SS.remoteUserVars.audio_url, true);
}
}
gameStatus = 1;
if (SS.isOwner()) {
myRoom = true;
} else {
myRoom = false;
}
SS.onEvent.userExited = function () {
if (!myRoom) {
SS.exitArea();
}
gotoAndPlay ("reset");
};
APsong = new Sound();
SS.remoteUserVars.audio_url = "http://www.newgrounds.com/audio/download/77718";
apInfo = "SineRider - Pico's Battle";
APsong.onSoundComplete = function () {
startSong();
};
pround = 0;
SS.onEvent.areaVarCreated = function () {
trace(tag.data.hash);
for (i in SS.remoteAreaVars) {
trace((i + " = ") + SS.remoteAreaVars[i]);
}
};
stop();
Frame 156
function startRound() {
clearInterval(delay);
obj = new Object();
obj.a = "sg";
SS.sendAreaMsg(obj);
}
function updateSprite() {
this[spr].gotoAndStop(sid + 2);
if (i < use) {
frm = 3;
} else if (i === use) {
frm = 2;
this["sel" + usr] = character[sid];
if (usr == me) {
_global.mySprite = sid;
} else {
_global.theirSprite = sid;
}
} else {
frm = 1;
}
this[spr].sprite.gotoAndStop(frm);
}
if (gameStatus == 1) {
gameStatus = 2;
auth.action = "p";
if (SS.areaProperties.al > 0) {
mystats = new Object();
mystats.plays = Number(SS.remoteUserVars.plays) + 1;
mystats.wins = Number(SS.remoteUserVars.wins);
mystats.losses = Number(SS.remoteUserVars.losses);
theirstats = new Object();
theirstats.plays = Number(SS.users[theirName].remoteVars.plays) + 1;
theirstats.wins = Number(SS.users[theirName].remoteVars.wins);
theirstats.losses = Number(SS.users[theirName].remoteVars.losses);
SS.postData(auth);
SS.updateUserVar("plays", Number(SS.remoteUserVars.plays) + 1);
}
}
APsong.stop();
SS.createAreaVar("ir" + SS.userId, false);
pround++;
prtext = "ROUND " + pround;
i = 0;
while (i < 3) {
spr = (("p" + me) + "_s") + i;
usr = me;
sid = SS.remoteAreaVars["u" + SS.userId][i];
use = SS.remoteAreaVars["sp" + SS.userId];
updateSprite();
spr = (("p" + them) + "_s") + i;
usr = them;
sid = SS.remoteAreaVars["u" + theirId][i];
use = SS.remoteAreaVars["sp" + theirId];
updateSprite();
i++;
}
SS.onEvent.areaVarCreated = function () {
trace("THE BULLET IS #" + SS.remoteAreaVars.bl);
_global.bullet = SS.remoteAreaVars.bl;
};
if (SS.isOwner()) {
SS.createAreaVar("bl", Math.floor(Math.random() * 5.99) + 1);
delay = setInterval(this, "startRound", 3000);
}
SS.onEvent.areaDataReceived = function (obj) {
if (obj.data.a == "sg") {
gotoAndStop ("main_game");
}
};
this["player" + me] = SS.localUser;
this["player" + them] = theirName;
Frame 164
SS.onEvent.areaDataReceived = function (obj) {
u = obj.user;
if (u == SS.localUser) {
player = me;
id = SS.userId;
sprite = mySprite;
} else {
player = them;
id = theirId;
sprite = theirSprite;
}
if (obj.data.a == "st") {
game.chosen(player, obj.data.t);
} else if (obj.data.a == "rs") {
game.showWinner(obj.data.w);
} else if (obj.data.a == "tie") {
game.gotoAndPlay("reload");
} else if (obj.data.a == "gp") {
game.takeShot();
} else if (obj.data.a == "endr") {
gotoAndStop ("round_init");
} else if (obj.data.a == "endg") {
gotoAndStop ("game_over");
}
};
SS.onEvent.areaMsgReceived = function (obj) {
game.gotMsg(obj.msg, them);
};
SS.onEvent.userExited = function () {
SS.exitArea();
gotoAndPlay ("reset");
};
ingame = true;
game.shotsLeft = 6;
game.chatLog = new Array();
Frame 173
function updateSprite() {
this[spr].gotoAndStop(sid + 2);
if (i < use) {
frm = 3;
} else {
frm = 4;
}
this[spr].sprite.gotoAndStop(frm);
}
i = 0;
while (i < 3) {
spr = (("p" + me) + "_s") + i;
usr = me;
sid = SS.remoteAreaVars["u" + SS.userId][i];
use = SS.remoteAreaVars["sp" + SS.userId];
updateSprite();
spr = (("p" + them) + "_s") + i;
usr = them;
sid = SS.remoteAreaVars["u" + theirId][i];
use = SS.remoteAreaVars["sp" + theirId];
updateSprite();
i++;
}
if (SS.remoteAreaVars["sp" + SS.userId] < SS.remoteAreaVars["sp" + theirId]) {
win.gotoAndStop(me);
win.winner = SS.localUser;
action = "w";
} else {
win.gotoAndStop(them);
win.winner = theirName;
action = "l";
}
if (gameStatus == 2) {
if (SS.remoteAreaVars["vf" + SS.userId] == SS.remoteAreaVars["vf" + theirId]) {
SS.updateAreaVar("plays", Number(SS.remoteAreaVars.plays) - 1);
} else {
gameStatus = 3;
auth.action = action;
if (SS.areaProperties.al > 1000) {
SS.postData(auth);
if (action == "w") {
mystats.wins = mystats.wins + 1;
theirstats.losses = theirstats.losses + 1;
SS.updateUserVar("wins", Number(SS.remoteUserVars.wins) + 1);
} else {
SS.updateUserVar("losses", Number(SS.remoteUserVars.losses) + 1);
theirstats.wins = theirstats.wins + 1;
mystats.losses = mystats.losses + 1;
}
this["stats" + me].stats = mystats;
this["stats" + them].stats = theirstats;
stats1.gotoAndStop(2);
stats2.gotoAndStop(2);
}
}
}
SS.onEvent.userExited = function () {
replay.gotoAndStop(3);
};
if (SS.isOwner()) {
replay.gotoAndStop(1);
} else {
replay.gotoAndStop(2);
}
SS.onEvent.areaDataReceived = function (obj) {
if (obj.data.a == "new") {
gotoAndStop ("game_setup");
}
};
SS.remoteAreaVars = new Object();
Symbol 10 Button
on (release) {
_global.NewgroundsAPI_DataObject.API.LoadNewgrounds();
}
Symbol 12 MovieClip Frame 1
function startAd(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("\r::IGNORE THE FOLLOWING ERROR IF THE AD LOADS::");
if (success) {
ng_ad.loadMovie(ngads_redirect.toString(), "GET");
}
};
var _local1 = 731;
var _local2 = 3;
ngads_redirect.load(ngad_url);
}
_root.stop();
if (_global.NewgroundsAPI_DataObject.ad_url) {
startAd(_global.NewgroundsAPI_DataObject.ad_url);
}
_global.NewgroundsAPI_DataObject.API.onAdsApproved = function () {
startAd(_global.NewgroundsAPI_DataObject.ad_url);
};
stop();
Symbol 47 MovieClip Frame 136
gotoAndPlay(random(30) + 1);
Symbol 52 MovieClip Frame 40
stop();
Symbol 64 Button
on (press) {
_root.play();
}
Symbol 65 Button
on (press) {
play();
}
Instance of Symbol 12 MovieClip in Symbol 69 MovieClip Frame 1
onClipEvent (load) {
_parent.ng_API = new NewgroundsAPI(14);
_parent.stop();
}
Instance of Symbol 45 MovieClip in Symbol 69 MovieClip Frame 1
onClipEvent (load) {
PercentLoaded = int((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (PercentLoaded != 100) {
_parent.gotoAndStop(PercentLoaded);
} else {
_parent.gotoAndStop("play_button");
}
}
onClipEvent (enterFrame) {
PercentLoaded = int((_root.getBytesLoaded() / _root.getBytesTotal()) * 100);
if (PercentLoaded != 100) {
_parent.gotoAndStop(PercentLoaded);
} else {
_parent.gotoAndPlay("loaded");
}
}
Symbol 69 MovieClip Frame 130
stop();
Symbol 69 MovieClip Frame 154
_root.play();
stop();
Symbol 74 Button
on (release) {
getURL ("http://www.newgrounds.com", "_blank");
}
Symbol 76 Button
on (release) {
getURL ("http://www.psychogoldfish.com", "_blank");
}
Symbol 1001 MovieClip [__Packages.NewgroundsAPI] Frame 0
class NewgroundsAPI
{
var script_url, movie_id, host, stat_ids, data_object;
function NewgroundsAPI (id) {
script_url = "http://www.ngads.com/gateway.php";
movie_id = id;
host = _url.split("/")[2];
if (host.length < 1) {
host = "localhost";
}
stat_ids = new Object();
stat_ids.movie_views = 1;
stat_ids.author_links = 2;
stat_ids.sponsor_links = 3;
stat_ids.high_score = 4;
if (!_global.NewgroundsAPI_DataObject) {
_global.NewgroundsAPI_DataObject = new Object();
_global.NewgroundsAPI_DataObject.API = this;
var _local3 = new Object();
_local3.id = movie_id;
_local3.host = host;
_local3.stat = stat_ids.movie_views;
_local3.value = 1;
sendStats(_local3);
}
data_object = _global.NewgroundsAPI_DataObject;
}
function sendStats(params) {
var _local7 = "?version=1.0.2";
for (var _local4 in params) {
_local7 = _local7 + ((("&" + _local4) + "=") + escape(String(params[_local4])));
}
var _local9 = new XML();
_local9.ignoreWhite = true;
_local9.onLoad = function (success) {
trace((newline + this) + newline);
var _local7 = new Object();
var _local4 = 0;
while (_local4 < this.firstChild.childNodes.length) {
var _local5 = this.firstChild.childNodes[_local4];
var _local6 = _local5.nodeName;
var _local3 = _local5.attributes.value;
if (_local3 == Number(_local3)) {
_local3 = Number(_local3);
}
_local7[_local6] = _local3;
_local4++;
}
_global.NewgroundsAPI_DataObject.API.eventHandler(_local7);
};
trace(script_url + _local7);
_local9.load(script_url + _local7);
}
function LoadNewgrounds() {
getURL ((script_url + "?referrer=") + movie_id, "_blank");
}
function eventHandler(params) {
for (var _local3 in params) {
data_object[_local3] = unescape(params[_local3]);
switch (_local3) {
case "ad_url" :
if (params[_local3]) {
onAdsApproved();
}
break;
case "deny_host" :
if (params[_local3]) {
onDenyHost();
}
break;
case "settings_loaded" :
onSettingsLoaded(params[_local3]);
}
}
}
function onSettingsLoaded(success) {
}
function onAdsApproved() {
}
function onDenyHost() {
trace("\r======================================================================================");
trace("{{NEWGROUNDS API HELP}}");
trace("======================================================================================");
trace("In order to test this movie from your local computer,");
trace("look for the following ActionScript on your timeline:");
trace("======================================================================================");
trace("\r\tvar ng_API = new NewgroundsAPI(movie_id);\r");
trace("======================================================================================");
trace("and AFTER, add this code:");
trace("======================================================================================");
trace("\r\tng_API.onDenyHost = function() {");
trace("\t\t// delete this function when you publish");
trace("\t}\r");
trace("======================================================================================");
trace("OR, log in to your Newgrounds Account and add 'localhost' to");
trace("your list of approved domains");
trace("======================================================================================\r");
if (data_object.real_host) {
var _local7 = data_object.real_host;
} else {
var _local7 = "http://www.newgrounds.com";
}
_root.createEmptyMovieClip("overlay", 1000);
_root.overlay.lineStyle(20, 0, 100);
_root.overlay.beginFill(6684672);
_root.overlay.moveTo(0, 0);
_root.overlay.lineTo(Stage.width, 0);
_root.overlay.lineTo(Stage.width, Stage.height);
_root.overlay.lineTo(0, Stage.height);
_root.overlay.lineTo(0, 0);
_root.overlay.endFill();
var _local3 = "This movie has not been approved for use on this host.\r\rPlease Visit ";
var _local9 = _local3.length;
_local3 = _local3 + _local7;
var _local8 = _local3.length;
_local3 = _local3 + " for an approved copy";
var _local6 = new TextFormat();
_local6.font = "Arial Black";
_local6.size = 48;
_local6.color = 16711680 /* 0xFF0000 */;
_root.overlay.createTextField("error", 100, (Stage.width - 400) / 2, (Stage.height / 2) - 100, 400, 200);
_root.overlay.error.text = "ERROR!";
_root.overlay.error.setTextFormat(_local6);
var _local4 = new TextFormat();
_local4.font = "Arial";
_local4.bold = true;
_local4.size = 12;
_local4.color = 16777215 /* 0xFFFFFF */;
var _local5 = new TextFormat();
_local5.color = 16776960 /* 0xFFFF00 */;
_local5.underline = true;
_local5.url = _local7;
_root.overlay.createTextField("message", 101, (Stage.width - 400) / 2, Stage.height / 2, 400, 200);
_root.overlay.message.text = _local3;
_root.overlay.message.multiline = true;
_root.overlay.message.wordWrap = true;
_root.overlay.message.html = true;
_root.overlay.message.setTextFormat(_local4);
_root.overlay.message.setTextFormat(_local9, _local8, _local5);
}
}
Symbol 1002 MovieClip [__Packages.SServer] Frame 0
class SServer extends XMLSocket
{
var guestPlayer, singleMode, devID, eKey, areas, a_ids, u_ids, users, debug, timeOutLimit, timeout, gameID, connect, bwLogOut, bwLogIn, bwMonitorOut, bwMonitorIn, bwSwitch, log, bw, bwCyclesOut, bwCyclesIn, pingTimer, close, localUser, currentArea, token, localUserID, commands, send, events, lastData;
function SServer (ns, d) {
super();
guestPlayer = false;
singleMode = false;
defineCommands();
defineEvents();
devID = "NG";
eKey = "ahj2Seechi";
areas = new Object();
a_ids = new Object();
u_ids = new Object();
users = new Object();
debug = d;
mx.events.EventDispatcher.initialize(this);
addEventListener("connected", onEvent);
addEventListener("disconnected", onEvent);
addEventListener("loggedIn", onEvent);
addEventListener("areaCreated", onEvent);
addEventListener("areaEntered", onEvent);
addEventListener("areaExited", onEvent);
addEventListener("userListLoaded", onEvent);
addEventListener("userListUpdated", onEvent);
addEventListener("userEntered", onEvent);
addEventListener("userExited", onEvent);
addEventListener("userKicked", onEvent);
addEventListener("kicked", onEvent);
addEventListener("serverMsg", onEvent);
addEventListener("userKilled", onEvent);
addEventListener("areaMsgReceived", onEvent);
addEventListener("privateMsgReceived", onEvent);
addEventListener("areaDataReceived", onEvent);
addEventListener("privateDataReceived", onEvent);
addEventListener("areaListLoaded", onEvent);
addEventListener("error", onEvent);
addEventListener("userVarCreated", onEvent);
addEventListener("userVarDeleted", onEvent);
addEventListener("userVarUpdated", onEvent);
addEventListener("userVarLoaded", onEvent);
addEventListener("userVarsLoaded", onEvent);
addEventListener("areaVarLoaded", onEvent);
addEventListener("areaVarsLoaded", onEvent);
addEventListener("areaVarCreated", onEvent);
addEventListener("areaVarUpdated", onEvent);
addEventListener("areaVarDeleted", onEvent);
addEventListener("areaVarsReset", onEvent);
addEventListener("areaPropertyCreated", onEvent);
addEventListener("areaPropertyUpdated", onEvent);
addEventListener("areaPropertiesLoaded", onEvent);
addEventListener("areaPropertyDeleted", onEvent);
addEventListener("areaOwnerUpdated", onEvent);
addEventListener("stringData", onEvent);
addEventListener("accessUpdated", onEvent);
timeOutLimit = 1800000 /* 0x1B7740 */;
timeout = setInterval(this, "timedOut", timeOutLimit);
var _local3 = "pgf-sserv-01.psychogoldfish.com";
var _local4 = 4000;
gameID = ns;
echo((((("connecting to " + _local3) + " on port ") + _local4) + ", game ID: ") + gameID);
connect(_local3, _local4);
bwLogOut = 0;
bwLogIn = 0;
bwMonitorOut = new Object();
bwMonitorOut.stream = 0;
bwMonitorOut.average = 0;
bwMonitorOut.total = 0;
bwMonitorIn = new Object();
bwMonitorIn.stream = 0;
bwMonitorIn.average = 0;
bwMonitorIn.total = 0;
bwSwitch = false;
log = new Array();
}
function dispatchEvent() {
}
function addEventListener() {
}
function removeEventListener() {
}
function parseAttributes() {
}
function base64encode(str) {
return(com.meychi.ascrypt.Base64.encode(str));
}
function base64decode(str) {
return(com.meychi.ascrypt.Base64.decode(str));
}
function startbwMonitor() {
clearInterval(bw);
bwCyclesOut = 0;
bwCyclesIn = 0;
bw = setInterval(this, "dumpBw", 1000);
bwSwitch = true;
}
function stopbwMonitor() {
clearInterval(bw);
bwSwitch = false;
}
function dumpBw() {
bwMonitorOut.stream = Math.round((bwLogOut / 128) * 100) / 100;
bwMonitorOut.total = bwMonitorOut.total + (Math.round((bwLogOut / 128) * 100) / 100);
if (bwLogOut > 0) {
bwCyclesOut++;
bwMonitorOut.average = Math.round((bwMonitorOut.total / bwCyclesOut) * 100) / 100;
}
bwLogOut = 0;
bwMonitorIn.stream = Math.round((bwLogIn / 128) * 100) / 100;
bwMonitorIn.total = bwMonitorIn.total + (Math.round((bwLogIn / 128) * 100) / 100);
if (bwLogIn > 0) {
bwCyclesIn++;
bwMonitorIn.average = Math.round((bwMonitorIn.total / bwCyclesIn) * 100) / 100;
}
bwLogIn = 0;
}
function timedOut() {
clearInterval(timeout);
trace(">>>>>>>>>>>>>>>>>>>>>>>>>>>>> YOU TIMED OUT <<<<<<<<<<<<<<<<<<<<<<<<<<<");
echo("Connection closed");
var _local2 = {type:"disconnected", success:false};
dispatchEvent(_local2);
clearInterval(pingTimer);
close();
}
function get remoteUserVars() {
return(users[localUser].remoteVars);
}
function get localUserVars() {
return(users[localUser].localVars);
}
function get localAreaVars() {
return(areas[currentArea].localVars);
}
function get remoteAreaVars() {
return(areas[currentArea].remoteVars);
}
function get areaProperties() {
return(areas[currentArea].properties);
}
function get userList() {
return(areas[currentArea].userList);
}
function get userId() {
return(users[localUser].id);
}
function getUserId(uname) {
return(users[uname].id);
}
function echo(txt) {
if (debug) {
trace("{DEBUG_OUTPUT} " + txt);
log.push(txt);
if (log.length > 500) {
log.shift();
}
}
}
function dumpLog(dump) {
if (debug) {
var _local2 = new Object();
_local2.name = "errorLog";
if (dump) {
_local2.value = dump;
} else {
_local2.value = log;
}
_local2.gameID = gameID;
postData(_local2);
}
log = new Array();
}
function isOwner(user, area) {
if (!user) {
user = localUser;
}
if (!area) {
area = currentArea;
}
if (areas[area].properties.owner == localUser) {
return(true);
}
return(false);
}
function isGuest(user, area) {
if (!user) {
user = localUser;
}
if (!area) {
area = currentArea;
}
if (users[user].remoteVars.al < 1) {
return(true);
}
return(false);
}
function isAdmin(user) {
if (!user) {
user = localUser;
}
if (users[user].remoteVars.developerAdmin > 0) {
return(true);
}
return(false);
}
function getToken() {
var _local2 = new Object();
_local2.developerID = devID;
sendCommand(_local2);
}
function guestLogin(nick) {
if (!nick) {
login("guest");
} else {
var _local2 = new Object();
_local2.bypass = true;
login(nick, "empty", _local2);
}
}
function login(user, pass, v) {
if (user) {
var _local2 = new Object();
_local2.u = user;
localUser = user;
if (pass) {
_local2.p = com.meychi.ascrypt.MD5.calculate(pass);
} else {
_local2.p = "";
}
_local2.t = token;
if (v) {
_local2.v = v;
}
_local2.n = gameID;
var _local4 = JSON.stringify(_local2);
trace(((">>>>>>>>>>>>>>>>\r" + _local4) + ">>>>>>>>>>>>>>>>>>>>>>") + newline);
var _local3 = new Object();
_local3.c = "secureLogin";
_local3.d = com.meychi.ascrypt.RC4.encrypt(_local4.toString(), eKey);
sendCommand(_local3);
} else {
genericErrors("login");
}
}
function basicLogin(user, pass, v) {
if (user) {
var _local2 = new Object();
_local2.u = user;
localUser = user;
if (pass) {
_local2.p = pass;
} else {
_local2.p = "";
}
_local2.t = token;
if (v) {
_local2.v = v;
}
_local2.n = gameID;
var _local5 = JSON.stringify(_local2);
var _local3 = new Object();
_local3.c = "secureLogin";
_local3.d = com.meychi.ascrypt.RC4.encrypt(_local5.toString(), eKey);
sendCommand(_local3);
} else {
genericErrors("basicLogin");
}
}
function getAreaList(filters) {
var _local2 = new Object();
_local2.c = "getAreaList";
if (filters) {
_local2.f = filters;
}
sendCommand(_local2);
}
function deleteArea(area) {
if (!area) {
area = currentArea;
}
var _local2 = new Object();
_local2.c = "deleteArea";
_local2.a = area;
sendCommand(_local2);
}
function createArea(area, properties) {
var _local3 = true;
if (!properties) {
properties = new Object();
}
if (properties.al == undefined) {
properties.al = Number(0);
}
for (var _local5 in properties) {
if (_local5.length > 16) {
_local3 = false;
break;
}
}
if (_local3 == false) {
genericErrors("createArea", "Property names must be 16 chars or less");
} else if (area) {
var _local4 = new Object();
_local4.c = "createArea";
_local4.n = area;
if (!properties.password) {
properties.password = "";
}
if (!properties.description) {
properties.description = "";
}
_local4.p = properties;
sendCommand(_local4);
} else {
genericErrors("createArea");
}
}
function enterArea(area, pass) {
var _local2 = new Object();
if (area) {
if (!pass) {
pass = "";
}
_local2.c = "enterArea";
_local2.p = pass;
_local2.n = area;
sendCommand(_local2);
} else {
_local2.c = "enterArea";
sendCommand(_local2);
}
}
function autoArea(props) {
var _local2 = new Object();
_local2.pr = props;
if (_local2.pr.al == undefined) {
_local2.pr.al = 1;
}
_local2.c = "enterArea";
sendCommand(_local2);
}
function exitArea(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "exitArea";
_local2.n = area;
sendCommand(_local2);
} else {
genericErrors("exitArea");
}
}
function getUserList(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getUserList";
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("getUserList");
}
}
function getAreaProperties(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getAreaProperties";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("getAreaProperties");
}
}
function createAreaProperty(name, value, area) {
if (!area) {
area = currentArea;
}
if (name.length > 16) {
genericErrors("createAreaProperty", "Property names must be 16 chars or less");
} else if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createAreaProperty";
_local2.i = areas[area].id;
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("createAreaProperty");
}
}
function updateAreaProperty(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateAreaProperty";
if (!key) {
key = "";
}
_local2.k = key;
_local2.i = areas[area].id;
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("updateAreaProperty");
}
}
function deleteAreaProperty(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "deleteAreaProperty";
_local2.a = area;
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("deleteAreaProperty");
}
}
function addToAreaProperty(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToAreaProperty";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("addToAreaProperty");
}
}
function appendToAreaProperty(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToAreaProperty";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("appendToAreaProperty");
}
}
function getAreaVars(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "getAreaVariables";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("getAreaVars");
}
}
function getAreaVar(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "getAreaVariable";
_local2.a = area;
_local2.k = "";
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("getAreaVar");
}
}
function createAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if (name.length > 16) {
genericErrors("createAreaVar", "Var names must be 16 chars or less");
} else if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
echo((((("setting area var for " + area) + " ") + name) + "=") + value);
sendCommand(_local2);
} else {
genericErrors("createAreaVar");
}
}
function updateAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("updateAreaVar");
}
}
function appendToAreaVar(name, value, key, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToAreaVariable";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("appendToAreaVar");
}
}
function addToAreaVar(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToAreaVariable";
_local2.n = name;
_local2.v = value;
_local2.i = areas[area].id;
sendCommand(_local2);
} else {
genericErrors("addToAreaVar");
}
}
function deleteAreaVar(name, area) {
if (!area) {
area = currentArea;
}
if (area and name) {
var _local2 = new Object();
_local2.c = "deleteAreaVariable";
_local2.n = name;
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("deleteAreaVar");
}
}
function resetAreaVars(area) {
if (!area) {
area = currentArea;
}
if (area) {
var _local2 = new Object();
_local2.c = "resetAreaVariables";
_local2.a = area;
sendCommand(_local2);
} else {
genericErrors("resetAreaVars");
}
}
function getUserVar(name, user) {
if (!user) {
user = localUser;
}
var _local2 = new Object();
_local2.c = "getUserVariable";
if (user and name) {
_local2.u = user;
_local2.k = "";
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("getUserVar");
}
}
function getUserVars(user) {
if (!user) {
user = localUser;
}
var _local2 = new Object();
_local2.c = "getUserVariables";
if (user) {
_local2.u = user;
sendCommand(_local2);
} else {
genericErrors("getUserVars");
}
}
function createUserVar(name, value, readonly) {
if (!readonly) {
readonly = false;
}
if (name.length > 16) {
genericErrors("createUserVar", "Var names must be 16 chars or less");
} else if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "createUserVariable";
_local2.n = name;
_local2.v = value;
_local2.r = readonly;
sendCommand(_local2);
} else {
genericErrors("setUserVar");
}
}
function updateUserVar(name, value) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "updateUserVariable";
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("setUserVar");
}
}
function deleteUserVar(name) {
if (name) {
var _local2 = new Object();
_local2.c = "deleteUserVariable";
_local2.n = name;
sendCommand(_local2);
} else {
genericErrors("deleteUserVar");
}
}
function addToUserVar(name, value, area) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "addToUserVariable";
_local2.n = name;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("addToUserVar");
}
}
function appendToUserVar(name, value, key) {
if (name and (value != undefined)) {
var _local2 = new Object();
_local2.c = "appendToUserVariable";
_local2.n = name;
if (!key) {
key = "";
}
_local2.k = key;
_local2.v = value;
sendCommand(_local2);
} else {
genericErrors("appendToUserVar");
}
}
function sendAreaMsg(msg, area, enc) {
if (!area) {
area = currentArea;
}
if (area and msg) {
var _local2 = new Object();
_local2.c = "sendAreaMessage";
_local2.i = areas[area].id;
_local2.q = 0;
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendAreaMsg");
}
}
function silentAreaMsg(msg, area) {
if (!area) {
area = currentArea;
}
if (area and msg) {
var _local2 = new Object();
_local2.c = "sendAreaMessage";
_local2.i = areas[area].id;
_local2.q = 1;
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("silentAreaMsg");
}
}
function sendAreaString(msg, self, area, enc) {
if (!area) {
area = currentArea;
}
if (area and msg) {
var _local2 = new Object();
_local2.c = "sendAreaMessage";
_local2.t = 1;
_local2.i = areas[area].id;
if (self) {
_local2.q = 0;
} else {
_local2.q = 1;
}
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendAreaMsg");
}
}
function sendServerMsg(msg) {
if (msg) {
var _local2 = new Object();
_local2.c = "sendServerMessage";
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendServerMsg");
}
}
function sendAreaData(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and value) {
var _local2 = new Object();
_local2.n = name;
_local2.v = value;
sendAreaMsg(_local2, area);
} else {
trace(((((">> " + area) + " ") + name) + " ") + value);
genericErrors("sendAreaData");
}
}
function silentAreaData(name, value, area) {
if (!area) {
area = currentArea;
}
if ((area and name) and value) {
var _local2 = new Object();
_local2.n = name;
_local2.v = value;
silentAreaMsg(_local2, area);
} else {
genericErrors("silentAreaData");
}
}
function sendPrivateMsg(msg, users) {
if (users and msg) {
trace("sending");
var _local2 = new Object();
_local2.c = "sendPrivateMessage";
_local2.a = currentArea;
if (typeof(users) == "string") {
_local2.u = new Array();
_local2.u = users.split(",");
} else {
_local2.u = users;
}
_local2.m = msg;
sendCommand(_local2);
} else {
genericErrors("sendPrivateMsg");
}
}
function createGrid(x, y, z, area) {
if (!area) {
area = currentArea;
}
if (!z) {
z = 1;
}
var _local2 = new Object();
_local2.c = "createGrid";
_local2.a = areas[area].id;
_local2.x = x;
_local2.y = y;
_local2.z = z;
sendCommand(_local2);
}
function postData(obj, enc) {
if (obj) {
var _local2 = new Object();
_local2.c = "postData";
_local2.d = obj;
if (enc) {
_local2.e = 1;
} else {
_local2.e = 0;
}
sendCommand(_local2);
} else {
genericErrors("postData");
}
}
function updateAccess(user, newLev) {
trace(((((">>>>>>> " + user) + " ") + newLev) + " ") + users[user].id);
if (user) {
if (!newLev) {
newLev = Number(0);
}
var _local2 = new Object();
_local2.c = "updateUserAccessLevel";
_local2.i = users[user].id;
_local2.l = newLev;
sendCommand(_local2);
} else {
genericErrors("updateAccess");
}
}
function kickUser(user, reason, area) {
if (!area) {
area = currentArea;
}
if (!reason) {
reason = "user has been kicked";
}
if ((area and user) and reason) {
var _local2 = new Object();
_local2.c = "kick";
_local2.a = area;
_local2.u = user;
_local2.r = reason;
sendCommand(_local2);
} else {
genericErrors("kickUser");
}
}
function killUser(user, reason) {
if (!reason) {
reason = "user has been killed";
}
if (user and reason) {
var _local2 = new Object();
_local2.c = "ban";
_local2.u = user;
_local2.r = reason;
sendCommand(_local2);
} else {
trace("angry");
genericErrors("killUser");
}
}
function genericErrors(command, msg) {
if (!msg) {
msg = "missing required field(s)";
}
var _local3 = {type:"error", info:{commandName:command, message:msg}};
dispatchEvent(_local3);
echo((("ERROR in " + command) + ": ") + msg);
}
function updateTimestamp() {
var _local2 = new Object();
_local2.c = "updateTimestamp";
sendCommand(_local2);
}
function authTokenReceived(command) {
token = com.meychi.ascrypt.RC4.decrypt(command.t, eKey);
echo("your token is " + token);
var _local2 = {type:"connected", success:true};
dispatchEvent(_local2);
}
function loginSuccessful(command) {
localUser = command.u.username;
localUserID = command.u.id;
buildUser(localUser, command.u.id, command.u.al);
users[localUser].remoteVars = command.u;
var _local3 = {type:"loggedIn", msg:command.m};
dispatchEvent(_local3);
pingTimer = setInterval(this, "updateTimestamp", 20000);
updateTimestamp();
}
function error(command) {
echo("==============ERROR================");
if (command.c != "updateTimestamp") {
var _local2 = {type:"error", info:command};
dispatchEvent(_local2);
}
}
function areaListReceived(command) {
var _local5 = new Object();
var _local2 = 0;
while (_local2 < command.l.length) {
var _local3 = command.l[_local2].na;
buildArea(_local3, command.l[_local2].i);
_local5[_local3] = new Object();
_local5[_local3].desc = command.l[_local2].d;
_local5[_local3].priv = command.l[_local2].p;
_local5[_local3].maxUsers = command.l[_local2].m;
_local5[_local3].numUsers = command.l[_local2].n;
_local2++;
}
var _local6 = {type:"areaListLoaded", areaList:_local5};
dispatchEvent(_local6);
}
function areaCreated(command) {
currentArea = command.n;
buildArea(currentArea, command.p.id);
areas[currentArea].properties = command.p;
var _local2 = {type:"areaCreated", area:currentArea};
dispatchEvent(_local2);
}
function areaEntered(command) {
currentArea = command.n;
buildArea(currentArea, command.i);
var _local2 = {type:"areaEntered", area:currentArea};
dispatchEvent(_local2);
}
function areaExited(command) {
if (currentArea == command.n) {
currentArea = undefined;
}
areas[command.n] = undefined;
var _local2 = {type:"areaExited", area:command.n};
dispatchEvent(_local2);
}
function userListReceived(command) {
var _local4 = a_ids[command.i];
areas[_local4].userList = new Array();
for (var _local5 in command.l) {
buildUser(command.l[_local5].u, command.l[_local5].i, command.l[_local5].v.al);
for (var _local3 in command.l[_local5].v) {
users[command.l[_local5].u].remoteVars[_local3] = command.l[_local5].v[_local3];
}
areas[_local4].userList.push(command.l[_local5].u);
}
areas[_local4].userList.sort(Array.CASEINSENSITIVE);
var _local6 = {type:"userListLoaded", area:command.a};
dispatchEvent(_local6);
_local6 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local6);
}
function userEntered(command) {
buildUser(command.u, command.i, command.v.al);
for (var _local3 in command.v) {
users[command.u].remoteVars[_local3] = command.v[_local3];
trace((("ADDED VAR " + _local3) + " = ") + users[command.u].remoteVars[_local3]);
}
areas[command.a].userList.push(command.u);
areas[command.a].userList.sort(Array.CASEINSENSITIVE);
var _local4 = {type:"userEntered", area:command.a, user:command.u};
dispatchEvent(_local4);
_local4 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local4);
}
function userExited(command) {
var _local3 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] != command.u) {
areas[command.a].userList.push(_local3[_local2]);
}
_local2++;
}
var _local5 = {type:"userExited", area:command.a, user:command.u};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
}
function areaPropertiesReceived(command) {
if (!areas[command.a]) {
buildArea(command.a, command.id);
}
areas[command.a].properties = command.p;
var _local3 = {type:"areaPropertiesLoaded", area:command.a};
dispatchEvent(_local3);
}
function areaPropertyCreated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].properties[command.n] = command.v;
var _local3 = {type:"areaPropertyCreated", user:u_ids[command.u], area:a_ids[command.i], name:command.n};
dispatchEvent(_local3);
}
function areaPropertyUpdated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].properties[command.n] = command.v;
var _local3 = {type:"areaPropertyUpdated", user:u_ids[command.u], area:a_ids[command.i], name:command.n};
dispatchEvent(_local3);
}
function areaPropertyDeleted(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].properties[command.n] = undefined;
var _local3 = {type:"areaPropertyDeleted", user:command.u, area:command.a, name:command.n};
dispatchEvent(_local3);
}
function areaVariableReceived(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarLoaded", area:command.a, name:command.n};
dispatchEvent(_local3);
}
function areaVariablesReceived(command) {
if (!areas[command.a]) {
buildArea(command.a, command.id);
}
areas[command.a].remoteVars = command.v;
var _local3 = {type:"areaVarsLoaded", area:command.a};
dispatchEvent(_local3);
}
function areaVariableUpdated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarUpdated", area:a_ids[command.i], name:command.n, user:u_ids[command.u]};
dispatchEvent(_local3);
}
function areaVariableDeleted(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].remoteVars[command.n] = undefined;
var _local3 = {type:"areaVarDeleted", area:command.a, name:command.n, user:command.u};
dispatchEvent(_local3);
}
function areaVariableCreated(command) {
if (!areas[a_ids[command.i]]) {
buildArea(a_ids[command.i], command.i);
}
areas[a_ids[command.i]].remoteVars[command.n] = command.v;
var _local3 = {type:"areaVarCreated", area:a_ids[command.i], name:command.n, user:u_ids[command.u]};
dispatchEvent(_local3);
}
function areaVariablesReset(command) {
areas[command.a].remoteVars = new Object();
var _local3 = {type:"areaVarsReset", area:command.a, name:command.n, user:command.u};
dispatchEvent(_local3);
}
function userVariableReceived(command) {
if (!users[command.u]) {
buildUser(command.u);
}
trace(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
if (command.v.autoSend) {
users[command.u].remoteVars[command.n] = command.v.value;
} else {
users[command.u].remoteVars[command.n] = command.v;
}
trace((((command.u + ": ") + command.n) + " = ") + users[command.u].remoteVars[command.n]);
var _local3 = {type:"userVarLoaded", user:command.u, name:command.n};
dispatchEvent(_local3);
}
function userVariablesReceived(command) {
users[command.u].remoteVars = command.variables;
var _local2 = {type:"userVarsLoaded", user:command.u};
dispatchEvent(_local2);
}
function userVariableCreated(command) {
users[localUser].remoteVars[command.n] = command.v;
var _local2 = {type:"userVarCreated", name:command.n};
dispatchEvent(_local2);
}
function userVariableUpdated(command) {
users[localUser].remoteVars[command.n] = command.v;
var _local2 = {type:"userVarUpdated", name:command.n};
dispatchEvent(_local2);
}
function userVariableDeleted(command) {
users[localUser].remoteVars[command.n] = undefined;
var _local2 = {type:"userVarDeleted", name:command.n};
dispatchEvent(_local2);
}
function areaMessageReceived(command) {
if (typeof(command.m) == "string") {
var _local3 = {type:"areaMsgReceived", area:a_ids[command.a], user:u_ids[command.u], msg:command.m};
dispatchEvent(_local3);
} else {
var _local3 = {type:"areaDataReceived", area:a_ids[command.a], user:u_ids[command.u], data:command.m};
dispatchEvent(_local3);
}
}
function privateMessageReceived(command) {
if (typeof(command.m) == "string") {
var _local3 = {type:"privateMsgReceived", user:command.u, msg:command.m};
dispatchEvent(_local3);
} else {
var _local3 = {type:"privateDataReceived", user:command.u, data:command.m};
dispatchEvent(_local3);
}
}
function userKicked(command) {
var _local4 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local4.length) {
if (_local4[_local2] != command.u) {
areas[command.a].userList.push(_local4[_local2]);
}
_local2++;
}
if (command.u == localUser) {
var _local5 = {type:"areaExited", area:command.a};
dispatchEvent(_local5);
_local5 = {type:"kicked", area:command.a, kickedBy:command.b, reason:command.r};
dispatchEvent(_local5);
} else {
var _local5 = {type:"userExited", area:command.a, user:command.u};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
_local5 = {type:"userKicked", area:command.a, kickedBy:command.b, user:command.u, reason:command.r};
dispatchEvent(_local5);
}
}
function userBanned(command) {
var _local3 = areas[command.a].userList;
areas[command.a].userList = new Array();
var _local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2] != command.u) {
areas[command.a].userList.push(_local3[_local2]);
}
_local2++;
}
users[command.u] = undefined;
var _local5 = {type:"userKilled", area:command.a, kickedBy:command.b, user:command.u, reason:command.r};
dispatchEvent(_local5);
_local5 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local5);
}
function areaOwnerUpdated(command) {
if (!areas[command.a]) {
buildArea(command.a);
}
areas[command.a].properties.owner = command.u;
var _local3 = {type:"areaOwnerUpdated", user:command.u, area:command.a};
dispatchEvent(_local3);
_local3 = {type:"userListUpdated", area:command.a};
dispatchEvent(_local3);
}
function userAccessLevelUpdated(command) {
users[u_ids[command.i]].access = command.l;
echo((((u_ids[command.b] + " changed ") + u_ids[command.i]) + "'s access level to ") + command.l);
var _local3 = {type:"accessUpdated", user:u_ids[command.i], level:command.l, updatedBy:u_ids[command.b]};
dispatchEvent(_local3);
}
function serverMessageReceived(command) {
trace("<<<<<<<<<<<<<<<<<<<<<<<<<< SERVER MESSAGE >>>>>>>>>>>>>>>>>>>>>>>>>>>");
trace(command.m);
var _local2 = {type:"serverMsg", msg:command.m};
dispatchEvent(_local2);
}
function localMessage(command) {
echo("Local Message: " + command);
var _local2 = {type:"serverMsg", msg:command};
dispatchEvent(_local2);
}
function buildUser(user, id, al) {
if (!users[user]) {
users[user] = new Object();
users[user].access = al;
users[user].localVars = new Object();
users[user].remoteVars = new Object();
}
users[user].id = id;
u_ids[id] = user;
trace((((("built SS user " + user) + " with id ") + id) + " and access ") + al);
}
function buildArea(area, id) {
if (!areas[area]) {
areas[area] = new Object();
areas[area].localVars = new Object();
areas[area].remoteVars = new Object();
areas[area].properties = new Object();
}
areas[area].id = id;
a_ids[id] = area;
}
function resetTimeout() {
clearInterval(timeout);
timeout = setInterval(this, "timedOut", timeOutLimit);
}
function sendCommand(command) {
if (command.c != "updateTimestamp") {
resetTimeout();
}
if (debug and (command.t != 1)) {
echo("===========================================================");
echo("Sending Command: " + command.c);
echo("");
for (var _local4 in command) {
if (_local4 == "v") {
for (var _local3 in command[_local4]) {
echo(((" v['" + _local3) + "'] -> ") + command[_local4][_local3]);
}
} else if (_local4 == "m") {
for (var _local3 in command[_local4]) {
echo(((" m['" + _local3) + "'] -> ") + command[_local4][_local3]);
}
} else if (_local4 != "c") {
echo(((" " + _local4) + " -> ") + command[_local4]);
}
}
}
if (!checkSinglePlayer(command)) {
command.c = commands[command.c];
var _local5 = JSON.stringify(command);
echo("{DEBUG OUTPUT} " + _local5);
if (bwSwitch == true) {
bwLogOut = bwLogOut + (_local5.length * 8);
}
send(_local5);
}
}
function checkSinglePlayer(c) {
if (singleMode != true) {
return(false);
}
if (c.i) {
var _local5 = a_ids[c.i];
if (areas[_local5].userList.length > 1) {
return(false);
}
if (c.c == "sendAreaMessage") {
echo(("By passing " + c.c) + " to SServer via single player mode");
if (c.q != 1) {
var _local3 = new Object();
_local3.m = c.m;
_local3.a = c.i;
_local3.u = users[localUser].id;
areaMessageReceived(_local3);
}
return(true);
}
if (c.c == "createAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
_local3.n = c.n;
_local3.v = c.v;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableCreated(_local3);
return(true);
}
if (c.c == "updateAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
_local3.n = c.n;
_local3.v = c.v;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableUpdated(_local3);
return(true);
}
if (c.c == "appendToAreaVariable") {
echo(("By passing " + c.c) + " to SServer via single player mode");
var _local3 = new Object();
var _local4 = areas[_local5].remoteVars[c.n];
if (!_local4) {
_local4 = new Object();
}
_local4[c.k] = c.v;
_local3.n = c.n;
_local3.v = _local4;
_local3.i = c.i;
_local3.u = users[localUser].id;
areaVariableUpdated(_local3);
return(true);
}
return(false);
}
return(false);
}
function defineCommands() {
commands = new Object();
commands.addToAreaProperty = 0;
commands.addToAreaVariable = 1;
commands.addToUserVariable = 2;
commands.appendToAreaProperty = 3;
commands.appendToAreaVariable = 4;
commands.appendToUserVariable = 5;
commands.ban = 6;
commands.closeArea = 7;
commands.createArea = 8;
commands.createAreaProperty = 9;
commands.createAreaVariable = 10;
commands.createSession = 11;
commands.createUserVariable = 12;
commands.deleteAreaProperty = 13;
commands.deleteAreaVariable = 14;
commands.deleteUserVariable = 15;
commands.enterArea = 16;
commands.exitArea = 17;
commands.getAreaList = 18;
commands.getAreaProperty = 19;
commands.getAreaProperties = 20;
commands.getAreaVariable = 21;
commands.getAreaVariables = 22;
commands.getServerStatistics = 23;
commands.getServerTime = 24;
commands.getUserList = 25;
commands.getUserVariable = 26;
commands.getUserVariables = 27;
commands.kick = 28;
commands.popAreaProperty = 29;
commands.popAreaVariable = 30;
commands.popUserVariable = 31;
commands.postData = 32;
commands.resetAreaVariables = 33;
commands.secureLogin = 34;
commands.sendAreaMessage = 35;
commands.sendPrivateMessage = 36;
commands.sendServerMessage = 37;
commands.updateAreaProperty = 38;
commands.updateAreaVariable = 39;
commands.updateTimestamp = 40;
commands.updateUserVariable = 41;
commands.createGrid = 44;
commands.registerGrid = 45;
commands.sendGridMessage = 46;
commands.unregisterGrid = 47;
commands.updateUserAccessLevel = 48;
}
function defineEvents() {
events = new Array();
events[0] = "error";
events[1] = "areaClosed";
events[2] = "areaCreated";
events[3] = "areaEntered";
events[4] = "areaExited";
events[5] = "areaListReceived";
events[6] = "areaMessageReceived";
events[7] = "areaOwnerUpdated";
events[8] = "areaPropertiesReceived";
events[9] = "areaPropertyCreated";
events[10] = "areaPropertyDeleted";
events[11] = "areaPropertyPopped";
events[12] = "areaPropertyReceived";
events[13] = "areaPropertyUpdated";
events[14] = "areaVariableCreated";
events[15] = "areaVariableDeleted";
events[16] = "areaVariablePopped";
events[17] = "areaVariableReceived";
events[18] = "areaVariablesReceived";
events[19] = "areaVariablesReset";
events[20] = "areaVariableUpdated";
events[21] = "authTokenReceived";
events[22] = "dataPosted";
events[23] = "loginSuccessful";
events[24] = "privateMessageReceived";
events[25] = "serverMessageReceived";
events[26] = "serverStatisticsReceived";
events[27] = "serverTimeReceived";
events[28] = "success";
events[29] = "userBanned";
events[30] = "userEntered";
events[31] = "userExited";
events[32] = "userKicked";
events[33] = "userListReceived";
events[34] = "userVariableCreated";
events[35] = "userVariableDeleted";
events[36] = "userVariablePopped";
events[37] = "userVariableReceived";
events[38] = "userVariablesReceived";
events[39] = "userVariableUpdated";
events[40] = "gridCreated";
events[41] = "gridRegistered";
events[42] = "gridMessageReceived";
events[43] = "gridUnregistered";
events[44] = "terseMessageReceived";
events[45] = "userAccessLevelUpdated";
}
function onConnect(success) {
if (success) {
echo("Connection successful, awaiting token");
lastData = getTimer();
getToken();
} else {
genericErrors("connect", "Could not connect to server");
}
}
function onClose() {
echo("Connection closed");
var _local2 = {type:"disconnected", success:false};
dispatchEvent(_local2);
clearInterval(pingTimer);
}
function dumpObject(name, obj) {
if (((typeof(obj) == "string") or (typeof(obj) == "boolean")) or (typeof(obj) == "number")) {
echo((name + " <- ") + obj);
} else {
for (var _local4 in obj) {
if (obj[_local4] != undefined) {
dumpObject(((name + "[") + _local4) + "]", obj[_local4]);
} else {
echo(((name + "['") + _local4) + "'] <- undefined");
}
}
}
}
function onData(raw) {
if (bwSwitch == true) {
bwLogIn = bwLogIn + (raw.length * 8);
}
if ((substring(raw, 1, 1)) == "$") {
var _local3 = substring(raw, 2, raw.length);
echo("Raw String: " + _local3);
var _local4 = {type:"stringData", string:_local3};
dispatchEvent(_local4);
} else {
bufferEvent(raw);
}
}
function bufferEvent(raw) {
trace(raw);
var _local2 = JSON.parse(raw);
lastData = getTimer();
_local2.e = events[_local2.e];
if (_local2.e) {
if (debug) {
echo("===========================================================");
echo("Event Received: " + _local2.e);
echo("");
for (var _local3 in _local2) {
if (_local3 != "e") {
dumpObject(" " + _local3, _local2[_local3]);
}
}
}
this[_local2.e](_local2);
} else {
echo("Raw Data Received:");
echo(raw) + newline;
}
}
var onEvent = new Object();
}
Symbol 1003 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 1004 MovieClip [__Packages.com.meychi.ascrypt.Base64] Frame 0
class com.meychi.ascrypt.Base64
{
function Base64 () {
}
static function encode(src) {
var _local1 = 0;
var _local8 = new String("");
var _local6;
var _local4;
var _local3;
var _local10;
var _local9;
var _local7;
var _local2;
while (_local1 < src.length) {
_local6 = src.charCodeAt(_local1++);
_local4 = src.charCodeAt(_local1++);
_local3 = src.charCodeAt(_local1++);
_local10 = _local6 >> 2;
_local9 = ((_local6 & 3) << 4) | (_local4 >> 4);
_local7 = ((_local4 & 15) << 2) | (_local3 >> 6);
_local2 = _local3 & 63;
if (isNaN(_local4)) {
_local2 = 64;
_local7 = _local2;
} else if (isNaN(_local3)) {
_local2 = 64;
}
_local8 = _local8 + (base64chars.charAt(_local10) + base64chars.charAt(_local9));
_local8 = _local8 + (base64chars.charAt(_local7) + base64chars.charAt(_local2));
}
return(_local8);
}
static function decode(src) {
var _local2 = 0;
var _local1 = new String("");
var _local7;
var _local10;
var _local9;
var _local8;
var _local6;
var _local4;
var _local5;
while (_local2 < src.length) {
_local8 = base64chars.indexOf(src.charAt(_local2++));
_local6 = base64chars.indexOf(src.charAt(_local2++));
_local4 = base64chars.indexOf(src.charAt(_local2++));
_local5 = base64chars.indexOf(src.charAt(_local2++));
_local7 = (_local8 << 2) | (_local6 >> 4);
_local10 = ((_local6 & 15) << 4) | (_local4 >> 2);
_local9 = ((_local4 & 3) << 6) | _local5;
_local1 = _local1 + String.fromCharCode(_local7);
if (_local4 != 64) {
_local1 = _local1 + String.fromCharCode(_local10);
}
if (_local5 != 64) {
_local1 = _local1 + String.fromCharCode(_local9);
}
}
return(_local1);
}
static var base64chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
}
Symbol 1005 MovieClip [__Packages.com.meychi.ascrypt.MD5] Frame 0
class com.meychi.ascrypt.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 1006 MovieClip [__Packages.JSON] Frame 0
class JSON
{
function JSON () {
}
static function stringify(arg, noquotes) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
var _local8 = typeof(arg);
switch (_local8) {
case "object" :
if (arg) {
if (arg instanceof Array) {
_local2 = 0;
while (_local2 < arg.length) {
_local4 = stringify(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 = stringify(_local4);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + ((stringify(_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 parse(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());
}
}
Symbol 1007 MovieClip [__Packages.com.meychi.ascrypt.RC4] Frame 0
class com.meychi.ascrypt.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 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 81 MovieClip Frame 1
startX = _x;
width = 1732;
endX = startX - width;
spd = _parent.speed;
onEnterFrame = function () {
_x = (_x - spd);
if (_x < endX) {
_x = (_x + width);
}
};
Symbol 82 MovieClip Frame 1
_x = (_x - random(1000));
speed = random(14) + 6;
Symbol 119 MovieClip Frame 40
stop();
Symbol 158 MovieClip Frame 1
blurred = samp1.filters;
unblurred = samp2.filters;
Symbol 158 MovieClip Frame 127
function initClip(clip) {
clip.bx = clip._x;
clip.by = clip._y;
clip.shutter = 0;
}
function shutterClip(clip) {
if (clip.shutter < 1) {
clip._x = (clip.bx + random(7)) - 3;
clip._y = (clip.by + random(7)) - 3;
clip.shutter = random(3) + 1;
alph = random(3) * 10;
clip._alpha = 100 - alph;
if (random(100) < 25) {
clip.filters = blurred;
} else {
clip.filters = unblurred;
}
} else {
clip.shutter--;
}
}
Instance of Symbol 87 MovieClip in Symbol 158 MovieClip Frame 130
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 99 MovieClip in Symbol 158 MovieClip Frame 152
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 87 MovieClip in Symbol 158 MovieClip Frame 177
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 102 MovieClip in Symbol 158 MovieClip Frame 181
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 87 MovieClip in Symbol 158 MovieClip Frame 207
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 105 MovieClip in Symbol 158 MovieClip Frame 211
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 87 MovieClip in Symbol 158 MovieClip Frame 237
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 108 MovieClip in Symbol 158 MovieClip Frame 241
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 119 MovieClip in Symbol 158 MovieClip Frame 289
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 124 MovieClip in Symbol 158 MovieClip Frame 373
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 126 MovieClip in Symbol 158 MovieClip Frame 374
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 127 MovieClip in Symbol 158 MovieClip Frame 389
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 129 MovieClip in Symbol 158 MovieClip Frame 389
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 124 MovieClip in Symbol 158 MovieClip Frame 405
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 130 MovieClip in Symbol 158 MovieClip Frame 420
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 132 MovieClip in Symbol 158 MovieClip Frame 420
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 124 MovieClip in Symbol 158 MovieClip Frame 436
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 133 MovieClip in Symbol 158 MovieClip Frame 451
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 135 MovieClip in Symbol 158 MovieClip Frame 451
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 124 MovieClip in Symbol 158 MovieClip Frame 467
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 141 MovieClip in Symbol 158 MovieClip Frame 564
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 144 MovieClip in Symbol 158 MovieClip Frame 610
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 146 MovieClip in Symbol 158 MovieClip Frame 650
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 149 MovieClip in Symbol 158 MovieClip Frame 684
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 151 MovieClip in Symbol 158 MovieClip Frame 724
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 154 MovieClip in Symbol 158 MovieClip Frame 764
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Instance of Symbol 156 MovieClip in Symbol 158 MovieClip Frame 804
onClipEvent (load) {
_parent.initClip(this);
}
onClipEvent (enterFrame) {
_parent.shutterClip(this);
}
Symbol 158 MovieClip Frame 947
_parent.skipIntro();
stop();
Symbol 166 Button
on (release) {
gotoAndStop ("connect");
}
Symbol 170 MovieClip Frame 45
gotoAndPlay (1);
Symbol 176 Button
on (press) {
htxt.scrll = -1;
}
on (release, releaseOutside) {
htxt.scrll = 0;
}
Symbol 177 Button
on (press) {
htxt.scrll = 1;
}
on (release, releaseOutside) {
htxt.scrll = 0;
}
Symbol 194 Button
on (release) {
SS.basicLogin("NG_" + _root.ng_username);
}
Symbol 198 Button
on (release) {
play();
}
Symbol 201 MovieClip Frame 1
checked = false;
stop();
Symbol 201 MovieClip Frame 2
checked = true;
stop();
Symbol 214 Button
on (release) {
userLogin();
}
on (keyPress "<Enter>") {
if (lfocus == 1) {
userLogin();
}
}
Symbol 215 Button
on (release) {
guestLogin();
}
on (keyPress "<Enter>") {
if (lfocus == 2) {
guestLogin();
}
}
Symbol 233 Button
on (release) {
properties = new Object();
properties.maxUsers = 2;
properties.m = "s";
properties.al = Number(0);
SS.autoArea(properties);
}
Symbol 237 Button
on (release) {
gotoAndStop ("instructions");
}
Symbol 238 Button
on (release) {
getURL ("http://www.newgrounds.com/scores/picoroulette/", "_blank");
}
Symbol 240 Button
on (release) {
SS.enterArea("_lobby_");
}
Symbol 243 Button
on (release) {
gotoAndStop ("menu");
}
Symbol 257 Button
on (rollOver) {
gotoAndStop (1);
}
Symbol 258 Button
on (rollOver) {
gotoAndStop (2);
}
Symbol 259 Button
on (rollOver) {
gotoAndStop (3);
}
Symbol 260 Button
on (rollOver) {
gotoAndStop (4);
}
Symbol 276 MovieClip Frame 1
stop();
Symbol 280 Button
on (release) {
SS.exitArea("_lobby_");
_parent.roomJoin(val);
}
Symbol 281 Button
on (rollOver) {
_parent.statPop(val);
}
on (rollOut) {
_parent.statHide();
}
Symbol 291 Button
on (release, releaseOutside) {
rowDir = 0;
}
on (press) {
rowDir = 1;
}
Symbol 293 Button
on (release, releaseOutside) {
rowDir = 0;
}
on (press) {
rowDir = -1;
}
Symbol 294 Button
on (release) {
SS.exitArea();
gotoAndStop ("menu");
}
Symbol 297 Button
on (release) {
gotoAndPlay ("reset_lobby");
}
Symbol 304 MovieClip Frame 1
function getIcon(l, a) {
if (a == "N") {
al = "a";
uaura = "Neutral";
} else if (a == "L") {
al = "b";
uaura = "Light";
} else {
al = "c";
uaura = "Dark";
}
ulvl = "Level " + l;
if (icons) {
icons.removeMovieClip();
}
this.createEmptyMovieClip("icons", 100);
icons.loadMovie((("http://www.newgrounds.com/gold/profile/level_icons/power" + l) + al) + ".gif");
icons._x = box._x - 36;
icons._y = box._y - 36;
}
Symbol 306 Button
on (release) {
props = new Object();
props.maxUsers = 2;
props.m = "s";
if (rdt.text.length > 0) {
props.description = rdt.text;
}
if (rpt.text.length > 0) {
props.password = rpt.text;
}
if (ag.checked) {
props.al = Number(0);
} else {
props.al = Number(1);
}
props.uc = 1;
props.vf = tag.data.hash;
SS.exitArea("_lobby_");
SS.createArea(SS.localUser, props);
}
Symbol 310 MovieClip Frame 1
checked = false;
stop();
Symbol 310 MovieClip Frame 2
checked = true;
stop();
Symbol 317 MovieClip Frame 1
ag.gotoAndStop(1);
Symbol 324 Button
on (release) {
if (lpt.text.length > 0) {
SS.enterArea(theRoom, lpt.text);
lpass = "";
}
}
Symbol 339 Button
on (press) {
prevFrame();
}
Symbol 340 MovieClip Frame 1
stop();
Symbol 348 MovieClip Frame 1
stop();
Symbol 357 MovieClip Frame 1
stop();
Symbol 370 MovieClip Frame 54
stop();
Symbol 371 MovieClip Frame 1
stop();
Symbol 382 MovieClip Frame 22
gotoAndPlay (16);
Symbol 383 MovieClip Frame 1
stop();
Symbol 403 MovieClip Frame 24
gotoAndPlay (10);
Symbol 404 MovieClip Frame 1
stop();
Symbol 424 MovieClip Frame 18
gotoAndPlay (6);
Symbol 425 MovieClip Frame 1
stop();
Symbol 444 MovieClip Frame 39
stop();
Symbol 445 MovieClip Frame 1
stop();
Symbol 455 MovieClip Frame 9
stop();
Symbol 456 MovieClip Frame 1
stop();
Symbol 468 MovieClip Frame 21
stop();
Symbol 469 MovieClip Frame 1
stop();
Symbol 480 MovieClip Frame 1
stop();
Symbol 488 MovieClip Frame 61
stop();
Symbol 489 MovieClip Frame 1
stop();
Symbol 490 MovieClip Frame 1
stop();
Symbol 496 Button
on (release) {
_parent.dropUnit(2);
}
on (rollOver) {
_parent.setInfo(2);
}
Symbol 497 Button
on (release) {
_parent.dropUnit(1);
}
on (rollOver) {
_parent.setInfo(1);
}
Symbol 498 Button
on (release) {
_parent.dropUnit(3);
}
on (rollOver) {
_parent.setInfo(3);
}
Symbol 499 MovieClip Frame 1
stop();
Symbol 501 MovieClip Frame 1
stop();
Symbol 504 Button
on (release) {
_parent.imReady();
}
Symbol 520 MovieClip Frame 1
stop();
Symbol 527 MovieClip Frame 1
stop();
Symbol 528 MovieClip Frame 1
function dropUnit(s) {
a = SS.remoteAreaVars["u" + SS.userId];
if (s <= a.length) {
index = s - 1;
na = new Array();
i = 0;
while (i < a.length) {
if (i != index) {
na.push(a[i]);
} else {
drop = a[i];
}
i++;
}
SS.updateAreaVar("u" + SS.userId, na);
}
}
function imReady() {
SS.createAreaVar("r" + SS.userId, true);
}
function setupTiles() {
tiles = new Array();
i = 0;
while (i < character.length) {
this["select_" + i].sprite.gotoAndStop(i + 2);
tiles.push({tile:"select_" + i, type:1});
i++;
}
tiles.push({tile:"rand", type:2});
}
randDelay = 0;
if (SS.remoteUserVars.al < 1) {
myIndex = _parent.guestIndex;
} else {
myIndex = character.length;
}
SS.getAreaProperties();
if (SS.isOwner()) {
SS.resetAreaVars();
player2 = "Waiting for player 2";
SS.createAreaProperty("rd", 1);
SS.createAreaVar("bl", Math.floor(Math.random() * 5.99) + 1);
}
SS.getAreaVars();
SS.getUserList();
SS.createAreaVar("u" + SS.userId, new Array());
SS.createAreaVar("sp" + SS.userId, 0);
SS.createAreaVar("r" + SS.userId, false);
SS.createAreaVar("vf" + SS.userId, _parent.tag.data.hash);
char1._alpha = 0;
char2._alpha = 0;
onMouseUp = function () {
mouseRelease = true;
};
onMouseDown = function () {
mousePress = true;
};
mousedOver = null;
onEnterFrame = function () {
safety = 0;
if (randDelay > 0) {
randDelay--;
}
if (SS.isOwner()) {
_global.me = 1;
_global.them = 2;
} else {
_global.them = 1;
_global.me = 2;
}
this["units" + me].gotoAndStop(1);
this["units" + them].gotoAndStop(2);
i = 0;
while (i < SS.userList.length) {
if (SS.userList[i] == SS.localUser) {
this["player" + me] = SS.userList[i];
} else {
this["player" + them] = SS.userList[i];
_global.theirName = SS.userList[i];
_global.theirId = SS.getUserId(SS.userList[i]);
}
i++;
}
i = 0;
while (i < 3) {
if (i < SS.remoteAreaVars["u" + SS.userId].length) {
this["units" + me]["sel" + (i + 1)]._alpha = 100;
this["units" + me]["sel" + (i + 1)].gotoAndStop(SS.remoteAreaVars["u" + SS.userId][i] + 2);
} else {
this["units" + me]["sel" + (i + 1)]._alpha = 0;
}
if (i < SS.remoteAreaVars["u" + theirId].length) {
this["units" + them]["sel" + (i + 1)]._alpha = 100;
this["units" + them]["sel" + (i + 1)].gotoAndStop(SS.remoteAreaVars["u" + theirId][i] + 2);
} else {
this["units" + them]["sel" + (i + 1)]._alpha = 0;
}
i++;
}
this["char" + me]._alpha = 0;
this["sel" + me] = "";
this["char" + them]._alpha = 0;
this["sel" + them] = "";
onTiles = false;
usedTiles = new Array();
i = 0;
while (i < SS.remoteAreaVars["u" + SS.userId].length) {
t = SS.remoteAreaVars["u" + SS.userId][i];
usedTiles["t" + t] = SS.userId;
i++;
}
i = 0;
while (i < SS.remoteAreaVars["u" + theirId].length) {
t = SS.remoteAreaVars["u" + theirId][i];
usedTiles["t" + t] = theirId;
i++;
}
i = 0;
while (i < tiles.length) {
overTile = this[tiles[i].tile].hitTest(_root._xmouse, _root._ymouse, true);
this[tiles[i].tile].val = i;
if (overTile) {
onTiles = true;
}
towner = undefined;
x = 0;
while (x < 3) {
if (SS.remoteAreaVars["u" + SS.userId][x] == i) {
towner = SS.userId;
} else if (SS.remoteAreaVars["u" + theirId][x] == i) {
towner = theirId;
}
x++;
}
if (towner and (tiles[i].type == 1)) {
if (towner == SS.userId) {
this[tiles[i].tile].gotoAndStop(("p" + me) + "_sel");
} else {
this[tiles[i].tile].gotoAndStop(("p" + them) + "_sel");
}
} else if (mousedOver === i) {
this[tiles[i].tile].gotoAndStop(("p" + me) + "_on");
t = i;
if (tiles[i].type != 1) {
t = random(myIndex - 1);
}
do {
if (!usedTiles["t" + t]) {
break;
}
t++;
if (t >= myIndex) {
t = 0;
}
safety++;
} while (safety <= 100);
this["char" + me]._alpha = 100;
this["char" + me].gotoAndStop(t + 2);
this["char" + me].sprite.gotoAndStop(2);
this["sel" + me] = character[t];
} else if (theirMouseOn === i) {
t = i;
if (tiles[i].type != 1) {
t = random(myIndex);
}
this[tiles[i].tile].gotoAndStop(("p" + them) + "_on");
do {
if (!usedTiles["t" + t]) {
break;
}
t++;
if (t >= myIndex) {
t = 0;
}
safety++;
} while (safety <= 100);
if (t >= myIndex) {
sfrm = 1;
snm = "???????";
} else {
sfrm = t + 2;
snm = character[t];
}
this["char" + them]._alpha = 100;
this["char" + them].gotoAndStop(sfrm);
this["char" + them].sprite.gotoAndStop(2);
this["sel" + them] = snm;
} else {
this[tiles[i].tile].gotoAndStop(1);
}
if (overTile and (SS.remoteAreaVars["u" + SS.userId].length < 3)) {
if ((i != mousedOver) and (!usedTiles["t" + i])) {
if ((i < myIndex) or (tiles[i].type != 1)) {
mousedOver = i;
msg = new Object();
msg.a = "hov";
msg.t = i;
SS.silentAreaMsg(msg);
} else {
onTiles = false;
}
}
if (tiles[i].type == 1) {
name = character[i];
frame = 2 + i;
use = i;
} else {
name = "Random";
frame = 1;
use = random(myIndex);
}
if (mousePress) {
preselect = tiles[i].tile;
} else if ((mouseRelease and (SS.remoteAreaVars["u" + SS.userId].length < 3)) and (randDelay < 1)) {
do {
if (!usedTiles["t" + use]) {
break;
}
use++;
if (use >= myIndex) {
use = 0;
}
safety++;
} while (safety <= 100);
mouseRelease = false;
if ((tiles[i].tile == preselect) and ((i < myIndex) or (tiles[i].type != 1))) {
msg = new Object();
msg.a = "sel";
msg.t = use;
SS.sendAreaMsg(msg);
if (tiles[i].type != 1) {
randDelay = 15;
}
}
preselect = null;
}
}
i++;
}
mousePress = false;
mouseRelease = false;
if (SS.remoteAreaVars["r" + theirId]) {
this["go" + them].gotoAndStop(3);
} else {
this["go" + them].gotoAndStop(1);
}
if (SS.remoteAreaVars["r" + SS.userId]) {
this["go" + me].gotoAndStop(3);
this["units" + me].gotoAndStop(2);
} else if (SS.remoteAreaVars["u" + SS.userId].length >= 3) {
this["go" + me].gotoAndStop(2);
} else {
this["go" + me].gotoAndStop(1);
}
if ((!onTiles) or (SS.remoteAreaVars["u" + SS.userId].length >= 3)) {
if (mousedOver != null) {
msg = new Object();
msg.a = "hov";
msg.t = null;
SS.silentAreaMsg(msg);
}
mousedOver = null;
}
if (SS.remoteAreaVars["r" + SS.userId] and SS.remoteAreaVars["r" + theirId]) {
_parent.gotoAndStop("round_init");
SS.getAreaVars();
}
};
SS.onEvent.areaDataReceived = function (obj) {
if ((obj.data.a == "sel") and SS.isOwner()) {
t = obj.data.t;
u = SS.getUserId(obj.user);
a = SS.remoteAreaVars["u" + u];
if (!usedTiles["t" + t]) {
if (a.length < 3) {
a.push(t);
SS.updateAreaVar("u" + u, a);
}
}
} else if (obj.data.a == "hov") {
theirMouseOn = obj.data.t;
}
};
if (SS.remoteUserVars.al < 1) {
nextFrame();
} else {
setupTiles();
stop();
}
Symbol 528 MovieClip Frame 2
setupTiles();
stop();
Symbol 529 Button
on (release) {
APsong.stop();
SS.exitArea();
gotoAndStop ("menu");
}
Symbol 530 Button
on (rollOver) {
APpop.gotoAndPlay("pop");
}
on (rollOut, dragOut) {
APpop.gotoAndPlay("unpop");
}
on (release) {
getURL ("http://www.newgrounds.com/audio/", "_blank");
}
Symbol 534 MovieClip Frame 1
stop();
Symbol 534 MovieClip Frame 10
stop();
Symbol 538 Button
on (release) {
stogg.play();
}
Symbol 541 MovieClip Frame 1
_parent.sound = true;
_parent.startSong();
stop();
Symbol 541 MovieClip Frame 2
_parent.sound = false;
_parent.startSong();
stop();
Symbol 551 MovieClip Frame 1
stop();
Symbol 554 MovieClip Frame 1
stop();
Symbol 559 MovieClip Frame 1
stop();
Symbol 559 MovieClip Frame 60
stop();
Symbol 560 MovieClip Frame 1
stop();
Symbol 586 MovieClip Frame 1
stop();
Symbol 586 MovieClip Frame 92
if (_parent._parent.shotsLeft > 2) {
loop = 1;
} else {
loop = 0;
}
Symbol 586 MovieClip Frame 203
_parent._parent.fireGun(_parent.user);
Symbol 586 MovieClip Frame 206
if (loop > 0) {
loop = 0;
_parent._parent.setChance();
gotoAndPlay ("loop");
}
Symbol 586 MovieClip Frame 251
_parent._parent.endTurn(_parent.user);
stop();
Symbol 586 MovieClip Frame 326
_parent._parent.dead(_parent.user);
stop();
Symbol 588 MovieClip Frame 21
stop();
Symbol 624 MovieClip Frame 1
stop();
Symbol 624 MovieClip Frame 2
spinner.gotoAndStop(_parent.user);
fist.gotoAndStop(_parent.selected);
fist.icon.gotoAndStop(_parent.sprite + 1);
Symbol 642 MovieClip Frame 1
stop();
Symbol 642 MovieClip Frame 164
_parent._parent.fireGun(_parent.user);
Symbol 642 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
gotoAndStop ("happy");
Symbol 642 MovieClip Frame 251
_parent._parent.dead(_parent.user);
stop();
Symbol 661 MovieClip Frame 1
stop();
Symbol 661 MovieClip Frame 183
_parent._parent.fireGun(_parent.user);
Symbol 661 MovieClip Frame 250
_parent._parent.endTurn(_parent.user);
stop();
Symbol 661 MovieClip Frame 326
_parent._parent.dead(_parent.user);
stop();
Symbol 681 MovieClip Frame 9
stop();
Symbol 682 MovieClip Frame 1
stop();
Symbol 682 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 682 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 682 MovieClip Frame 259
_parent._parent.dead(_parent.user);
stop();
Symbol 716 MovieClip Frame 1
stop();
Symbol 716 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 716 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 716 MovieClip Frame 302
_parent._parent.dead(_parent.user);
stop();
Symbol 739 MovieClip Frame 1
function f_Shockwave(x, y, size, fadeSpeed, distortion) {
if (size == undefined) {
size = 200;
}
if (fadeSpeed == undefined) {
fadeSpeed = 10;
}
if (distortion == undefined) {
distortion = 40;
}
var bounds = new Object();
var shockwaveBitmap = flash.display.BitmapData.loadBitmap("shockwave");
var shockBitmap = (new flash.display.BitmapData(size, size, false, 4286513279));
var m = (new flash.geom.Matrix());
bounds = _root.getBounds(_root);
m.scale(0.01, 0.01);
shockBitmap.draw(shockwaveBitmap, m);
var f = (new flash.filters.DisplacementMapFilter(shockBitmap, new flash.geom.Point((x - bounds.xMin) - 1, (y - bounds.yMin) - 1), 1, 4, distortion, distortion, "clamp"));
_root.filters = [f];
var shockClip = _root.createEmptyMovieClip("specialEffect" + numSpecialFX, numSpecialFX);
numSpecialFX = (numSpecialFX + 1) % 16;
var scaleSize = 0;
var scaleStep = ((size / 200) / fadeSpeed);
shockClip.m = new flash.geom.Matrix();
shockClip.onEnterFrame = function () {
scaleSize = scaleSize + scaleStep;
this.m.identity();
this.m.scale(scaleSize, scaleSize);
if (scaleSize >= ((size / 200) - 0.01)) {
_root.filters = [];
shockClip.removeMovieClip();
} else {
shockBitmap.draw(shockwaveBitmap, this.m);
f.mapPoint = new flash.geom.Point((x - ((scaleSize * 200) / 2)) - bounds.xMin, (y - ((scaleSize * 200) / 2)) - bounds.yMin);
f.scaleX = (f.scaleY = (1 - (scaleSize / (size / 200))) * distortion);
_root.filters = [f];
}
};
}
stop();
Symbol 739 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 739 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 739 MovieClip Frame 205
u_point = new Object();
u_point.x = 0;
u_point.y = 0;
shock.localToGlobal(u_point);
f_Shockwave(u_point.x, u_point.y, 500, 60, 40);
Symbol 739 MovieClip Frame 282
_parent._parent.dead(_parent.user);
stop();
Symbol 760 MovieClip Frame 7
stop();
Symbol 764 MovieClip Frame 6
stop();
Symbol 765 MovieClip Frame 1
stop();
Symbol 765 MovieClip Frame 18
_parent._parent.blackout.play();
Symbol 765 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 765 MovieClip Frame 146
_parent._parent.blackout.play();
Symbol 765 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 765 MovieClip Frame 204
_parent.lights(true);
Symbol 765 MovieClip Frame 206
_parent.lights(false);
Symbol 765 MovieClip Frame 246
_parent._parent.blackout.play();
Symbol 765 MovieClip Frame 288
_parent._parent.dead(_parent.user);
stop();
Symbol 782 MovieClip Frame 1
stop();
Symbol 782 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 782 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 782 MovieClip Frame 282
_parent._parent.dead(_parent.user);
stop();
Symbol 809 MovieClip Frame 58
gotoAndPlay (1);
Symbol 820 MovieClip Frame 1
stop();
Symbol 820 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 820 MovieClip Frame 232
_parent._parent.endTurn(_parent.user);
stop();
Symbol 820 MovieClip Frame 311
_parent._parent.dead(_parent.user);
stop();
Symbol 849 MovieClip Frame 1
stop();
Symbol 849 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 849 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 849 MovieClip Frame 282
_parent._parent.dead(_parent.user);
stop();
Symbol 868 MovieClip Frame 5
stop();
Symbol 869 MovieClip Frame 1
stop();
Symbol 869 MovieClip Frame 114
_parent._parent.fireGun(_parent.user);
Symbol 869 MovieClip Frame 203
_parent._parent.endTurn(_parent.user);
stop();
Symbol 869 MovieClip Frame 282
_parent._parent.dead(_parent.user);
stop();
Symbol 875 MovieClip Frame 1
stop();
Symbol 875 MovieClip Frame 2
gun.gotoAndStop(_parent.user);
Symbol 875 MovieClip Frame 17
stop();
Symbol 922 MovieClip Frame 1
stop();
Symbol 922 MovieClip Frame 181
Symbol 922 MovieClip Frame 182
_parent._parent.fireGun(_parent.user);
Symbol 922 MovieClip Frame 217
_parent._parent.endTurn(_parent.user);
stop();
Symbol 922 MovieClip Frame 257
_parent._parent.dead(_parent.user);
stop();
Symbol 926 MovieClip Frame 1
stop();
Symbol 931 MovieClip Frame 1
moveMe = 0;
y1 = 31;
y2 = -139;
trace("CHAT BUBBLE LOADED");
canTaunt = false;
onEnterFrame = function () {
if (moveMe != 0) {
xm = x2 - x1;
ym = y2 - y1;
_x = (_x + ((xm / 20) * moveMe));
_y = (_y + ((ym / 20) * moveMe));
trace((moveMe + " ") + ((xm / 20) * moveMe));
} else if (_parent._currentframe == 1) {
_x = x1;
_y = y1;
} else if (canTaunt) {
_x = x2;
_y = y2;
}
};
stop();
Symbol 931 MovieClip Frame 2
bub.gotoAndStop(_parent.bubview);
Symbol 931 MovieClip Frame 120
chat = "";
Symbol 933 MovieClip Frame 1
moveMe = 0;
y1 = 31;
y2 = -139;
trace("CHAT BUBBLE LOADED");
canTaunt = false;
onEnterFrame = function () {
if (moveMe != 0) {
xm = x2 - x1;
ym = y2 - y1;
_x = (_x + ((xm / 20) * moveMe));
_y = (_y + ((ym / 20) * moveMe));
trace((moveMe + " ") + ((xm / 20) * moveMe));
} else if (_parent._currentframe == 1) {
_x = x1;
_y = y1;
} else if (canTaunt) {
_x = x2;
_y = y2;
}
};
stop();
Symbol 933 MovieClip Frame 2
bub.gotoAndStop(_parent.bubview);
Symbol 933 MovieClip Frame 120
chat = "";
Symbol 943 Button
on (release) {
select(3);
}
Symbol 944 Button
on (release) {
select(1);
}
Symbol 945 Button
on (release) {
select(2);
}
Symbol 947 MovieClip Frame 1
function select(hand) {
if (SS.remoteAreaVars["ir" + SS.userId] and SS.remoteAreaVars["ir" + theirId]) {
obj = new Object();
obj.a = "st";
obj.t = hand;
SS.sendAreaMsg(obj);
_parent.time.gotoAndStop("stopTimer");
nextFrame();
}
}
tiles = new Object();
tiles.rock = 1;
tiles.paper = 1;
tiles.scissor = 1;
sendMe = false;
rock.gotoAndStop(1);
paper.gotoAndStop(2);
scissor.gotoAndStop(3);
if (user == me) {
char = mySprite;
} else {
char = theirSprite;
}
for (i in tiles) {
this[i].back.gotoAndStop(user);
this[i].icon.gotoAndStop(char + 1);
}
if (user == me) {
nextFrame();
} else {
stop();
}
Symbol 947 MovieClip Frame 2
stop();
Symbol 947 MovieClip Frame 3
spins = 5 + random(4);
Symbol 947 MovieClip Frame 6
for (i in tiles) {
this[i].gotoAndStop(4);
this[i].back.gotoAndStop(user);
}
Symbol 947 MovieClip Frame 16
if (spins > 0) {
spins--;
gotoAndPlay ("spin");
}
Symbol 947 MovieClip Frame 21
stop();
Symbol 947 MovieClip Frame 22
_parent.Song.stop();
stopAllSounds();
for (i in tiles) {
tile.gotoAndStop(4);
tile.back.gotoAndStop(user);
}
Symbol 947 MovieClip Frame 29
for (i in tiles) {
tile.gotoAndStop(selected);
tile.icon.gotoAndStop(char + 1);
tile.back.gotoAndStop(user);
}
Symbol 947 MovieClip Frame 36
stop();
Symbol 950 MovieClip Frame 1
stop();
Symbol 950 MovieClip Frame 2
stopAllSounds();
Symbol 953 MovieClip Frame 35
stop();
Symbol 953 MovieClip Frame 51
stop();
Symbol 959 Button
on (release, keyPress "<Enter>") {
if (msgBar.text.length > 0) {
SS.silentAreaMsg(msgBar.text);
_parent.gotMsg(msgBar.text, me);
msgBar.text = "";
msgDelay = 15;
play();
}
}
Symbol 964 MovieClip Frame 1
stop();
Symbol 968 MovieClip Frame 60
stop();
Symbol 969 MovieClip Frame 30
if (SS.remoteAreaVars["ir" + SS.userId] and SS.remoteAreaVars["ir" + theirId]) {
timer--;
timer_txt = "TIME LEFT: " + timer;
if (timer < 1) {
obj = new Object();
obj.a = "st";
obj.t = random(3) + 1;
SS.sendAreaMsg(obj);
gotoAndStop ("timeUp");
}
}
Symbol 969 MovieClip Frame 31
gotoAndPlay (1);
Symbol 972 MovieClip Frame 15
stop();
Symbol 976 MovieClip Frame 1
stop();
Symbol 978 MovieClip Frame 1
if (_parent.shotsLeft < 2) {
play();
} else {
stop();
}
Symbol 978 MovieClip Frame 33
stop();
Symbol 981 MovieClip Frame 1
_parent.lamp.gotoAndStop(1);
stop();
Symbol 981 MovieClip Frame 2
_parent.lamp.gotoAndStop(2);
Symbol 981 MovieClip Frame 5
_parent.lights(false);
stop();
Symbol 981 MovieClip Frame 6
_parent.lights(true);
Symbol 982 MovieClip Frame 1
function startSong() {
Song.loadSound(Songurl, true);
}
time._x = this["buttons" + me]._x;
Songurl = SS.remoteUserVars.game_song;
Song = new Sound();
Song.onSoundComplete = function () {
startSong();
};
startSong();
function chosen(player, choice) {
if (player == me) {
myChoice = choice;
} else {
theirChoice = choice;
}
this["buttons" + player].selected = choice;
this["player" + player].selected = choice;
this["buttons" + player].gotoAndPlay(3);
if (myChoice and theirChoice) {
if (SS.isOwner()) {
delay = setInterval(this, "sendWinner", 3000);
}
battle.gotoAndPlay(36);
}
}
function sendWinner() {
clearInterval(delay);
if (SS.isOwner()) {
obj = new Object();
obj.a = "rs";
if (myChoice == theirChoice) {
obj.w = 0;
} else if ((((myChoice == 1) and (theirChoice == 3)) or ((myChoice == 2) and (theirChoice == 1))) or ((myChoice == 3) and (theirChoice == 2))) {
obj.w = me;
} else {
obj.w = them;
}
SS.sendAreaMsg(obj);
}
}
function showWinner(w) {
cbar.gotoAndStop(2);
winner = w;
if (winner == 1) {
loser = 2;
} else if (winner == 2) {
loser = 1;
} else {
loser = undefined;
tie.play();
}
if (loser) {
lamp.glow.gotoAndPlay("red");
delay = setInterval(this, "changeFaces", 1000);
} else {
player1.body.gotoAndStop("mad");
player2.body.gotoAndStop("mad");
if (SS.isOwner()) {
delay = setInterval(this, "resetTie", 6000);
}
}
buttons1.gotoAndPlay("flip");
buttons2.gotoAndPlay("flip");
player1.fists.gotoAndStop(2);
player2.fists.gotoAndStop(2);
}
function resetTie() {
clearInterval(delay);
obj = new Object();
obj.a = "tie";
SS.sendAreaMsg(obj);
}
function changeFaces() {
this["player" + winner].body.gotoAndStop("happy");
this["player" + loser].body.gotoAndStop("shock");
this["player" + loser].gun.play();
clearInterval(delay);
if (SS.isOwner()) {
delay = setInterval(this, "startGunplay", 3000);
}
}
function startGunplay() {
clearInterval(delay);
if (SS.isOwner()) {
obj = new Object();
obj.a = "gp";
SS.sendAreaMsg(obj);
}
}
function takeShot() {
gotoAndPlay("zoom" + loser);
}
function fireGun(u) {
if (shotsLeft == bullet) {
if (u == 1) {
shockMe = 2;
} else {
shockMe = 1;
}
delay = setInterval(this, "shocking", 100);
this["player" + u].body.gotoAndPlay("die");
}
shotsLeft--;
}
function dead(u) {
if (SS.isOwner()) {
if (u == me) {
id = SS.userId;
} else {
id = theirId;
}
SS.remoteAreaVars["sp" + id]++;
SS.updateAreaVar("sp" + id, SS.remoteAreaVars["sp" + id]);
if (SS.remoteAreaVars["sp" + id] >= 3) {
endfunc = "endGame";
} else {
endfunc = "endRound";
}
delay = setInterval(this, endfunc, 2000);
}
}
function endGame() {
clearInterval(delay);
obj = new Object();
obj.a = "endg";
SS.sendAreaMsg(obj);
}
function endRound() {
clearInterval(delay);
obj = new Object();
obj.a = "endr";
SS.sendAreaMsg(obj);
}
function shocking() {
this["player" + shockMe].body.gotoAndStop("shock");
}
function endTurn(u) {
play();
}
function setChance() {
ch.an.ce = ("1 IN " + shotsLeft) + " CHANCE";
}
function gotMsg(msg, user) {
this["bubble" + user].gotoAndPlay(2);
this["bubble" + user].chat = msg;
}
SS.createAreaVar("ir" + SS.userId, true);
cbar.gotoAndStop(1);
myChoice = undefined;
theirChoice = undefined;
bubview = 1;
function playerFrames() {
this["player" + me].gotoAndStop(mySprite + 1);
this["player" + them].gotoAndStop(theirSprite + 1);
this["player" + me].user = me;
this["player" + them].user = them;
this["player" + me].sprite = mySprite;
this["player" + them].sprite = theirSprite;
}
function lights(light) {
if (light) {
f = 1;
a = 100;
playerFrames();
} else {
f = 2;
a = 0;
if (player1.sprite != 8) {
player1.gotoAndStop("blank");
}
if (player2.sprite != 8) {
player2.gotoAndStop("blank");
}
gun.gotoAndStop(f);
}
bg.gotoAndStop(f);
table.gotoAndStop(f);
}
playerFrames();
stop();
bubble1.canTaunt = false;
bubble2.canTaunt = false;
gun.gotoAndStop(1);
Instance of Symbol 923 MovieClip "player2" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
user = 2;
}
Instance of Symbol 923 MovieClip "player1" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
user = 1;
}
Instance of Symbol 931 MovieClip "bubble2" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
x1 = 180;
x2 = 140;
}
Instance of Symbol 933 MovieClip "bubble1" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
x1 = -175;
x2 = -135;
}
Instance of Symbol 947 MovieClip "buttons2" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
user = 2;
setColor();
}
Instance of Symbol 947 MovieClip "buttons1" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
user = 1;
setColor();
}
Instance of Symbol 964 MovieClip "cbar" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
Selection.setFocus("msgBar");
}
onClipEvent (mouseUp) {
Selection.setFocus("msgBar");
}
Instance of Symbol 969 MovieClip "time" in Symbol 982 MovieClip Frame 1
onClipEvent (load) {
timer_txt = "Waiting for opponent...";
timer = 30;
}
Symbol 982 MovieClip Frame 2
Song.stop();
playerFrames();
setChance();
bubble2.moveMe = 1;
Symbol 982 MovieClip Frame 12
bubview = 2;
bubble2.bub.gotoAndStop(bubview);
Symbol 982 MovieClip Frame 22
playerFrames();
player1.body.gotoAndPlay("gun");
stop();
if (me == 2) {
cbar.gotoAndStop(1);
}
bubble2.canTaunt = true;
bubble2.moveMe = 0;
SS.createAreaVar("ir" + SS.userId, false);
gun.gotoAndStop(2);
Symbol 982 MovieClip Frame 23
cbar.gotoAndStop(2);
bubble2.moveMe = -1;
bubble2.canTaunt = false;
Symbol 982 MovieClip Frame 32
bubview = 1;
bubble2.bub.gotoAndStop(bubview);
Symbol 982 MovieClip Frame 42
playerFrames();
gotoAndPlay ("reload");
bubble2.moveMe = 0;
Symbol 982 MovieClip Frame 43
Song.stop();
playerFrames();
setChance();
bubble1.moveMe = 1;
Symbol 982 MovieClip Frame 54
bubview = 2;
bubble1.bub.gotoAndStop(bubview);
Symbol 982 MovieClip Frame 63
playerFrames();
player2.body.gotoAndPlay("gun");
stop();
if (me == 1) {
cbar.gotoAndStop(1);
}
bubble1.canTaunt = true;
bubble1.moveMe = 0;
SS.createAreaVar("ir" + SS.userId, false);
gun.gotoAndStop(2);
Symbol 982 MovieClip Frame 64
cbar.gotoAndStop(2);
bubble1.moveMe = -1;
bubble1.canTaunt = false;
Symbol 982 MovieClip Frame 74
bubview = 1;
bubble1.bub.gotoAndStop(bubview);
Symbol 982 MovieClip Frame 83
playerFrames();
gotoAndPlay ("reload");
bubble1.moveMe = 0;
Symbol 982 MovieClip Frame 84
gotoAndStop (1);
Symbol 993 Button
on (release) {
SS.resetAreaVars();
obj = new Object();
obj.a = "new";
SS.sendAreaMsg(obj);
nextFrame();
}
Symbol 1000 MovieClip Frame 1
stop();
Symbol 1000 MovieClip Frame 2
bar = (((("Wins: " + stats.wins) + " Losses: ") + stats.losses) + " Plays: ") + stats.plays;