Frame 1
_global.isDev = false;
_global.masterDomain = "swarm.killerviral.com";
_global.masterURL = (isDev ? "" : (("http://" + _global.masterDomain) + "/beunique/"));
_global.isMaster = _root._url.indexOf(_global.masterDomain) >= 0;
_global.domain = ((_root._url.split("/")[0].indexOf("http") == -1) ? "Local" : (_root._url.split("/")[2].split("?")[0]));
_global.playerVersion = Number(getVersion().substr(getVersion().indexOf(" ") + 1).split(",")[0]);
_global.movieVersion = (_root.getSWFVersion ? (_root.getSWFVersion()) : 8);
_global.ori_dom = (_root.ori_dom ? (_root.ori_dom) : (domain));
_global.assetsURL = "http://meetordelete.sitedone.com/";
System.security.allowDomain(_global.masterDomain);
var game_version = 2;
if (!testMode) {
stop();
if (playerVersion < 8) {
trace("player version too old - load error swf");
loadMovie (_global.masterURL + "error.swf", _root);
} else if (isMaster) {
trace("is master - skip version checking");
play();
} else {
trace("check version...");
var vc_lv = new LoadVars();
vc_lv.onLoad = function (success) {
clearInterval(tOIntId);
delete tOIntId;
if (success) {
if (Number(vc_lv.v) > game_version) {
trace("version checking succeeded - not the latest version");
loadMovie ((_global.masterURL + "game.swf?ori_dom=") + ori_dom, _root);
} else {
trace("version checking succeeded - latest version");
play();
}
} else {
trace("version checking failed");
play();
}
delete vc_lv;
};
tOIntId = setInterval(timeout, 2000);
vc_lv.load(_global.masterURL + "v.php");
}
}
Frame 2
stop();
i = -16734;
createEmptyMovieClip("kv_mc", i);
kv_mc.kv_v = {c:252, td:"252.memecounter.com"};
System.security.allowDomain(kv_mc.kv_v.td);
kv_mc.kv_v.c_so = SharedObject.getLocal(kv_mc.kv_v.c, "/");
kv_mc.kv_v.d = (_root.ori_dom ? (_root.ori_dom) : (((_root._url.split("/")[0].indexOf("http") == -1) ? "Local" : (_root._url.split("/")[2].split("?")[0]))));
kv_mc.kv_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_mc.kv_v.lurl = ((((((((((("http://" + kv_mc.kv_v.td) + "/tracker.php") + "?c=") + kv_mc.kv_v.c) + "&r=") + Math.floor(Math.random() * 10000000000)) + "&d=") + kv_mc.kv_v.d) + "&u=") + (kv_mc.kv_v.c_so.data.u ? "1" : "")) + "&p=") + kv_mc.kv_v.fpv;
kv_mc.kv_v.c_so.data.u = true;
kv_mc.kv_v.c_so.flush();
kv_mc.kv_v.t_mc = kv_mc.createEmptyMovieClip("kv_tracker", i - 1);
kv_mc.kv_v.l_mcl = new MovieClipLoader();
if (kv_mc.kv_v.l_mcl.loadClip) {
kv_mc.kv_v.l_mcl.loadClip(kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
} else {
loadMovie (kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
}
Frame 3
function onLangLoaded() {
trace("lang loaded");
langReady = true;
isReady();
}
function onSFSLoaded() {
trace("sfs loaded");
sfsReady = true;
System.security.loadPolicyFile((("xmlsocket://" + SFSSettings.addr) + ":") + SFSSettings.port);
isReady();
}
function onVoiceLoaded() {
trace("voice loaded");
voiceReady = true;
isReady();
}
function onVoice2Loaded() {
trace("game sounds loaded");
voice2Ready = true;
engine.readyToConnectToGame();
}
function onVoiceLoadError(errMsg) {
trace("voice load error: " + errMsg);
}
function identsComplete() {
trace("idents complete");
identsReady = true;
isReady();
}
function isReady() {
if (((identsReady && (langReady)) && (voiceReady)) && (sfsReady)) {
play();
_global.musicMan = new SoundManager(createEmptyMovieClip("music", getNextHighestDepth()));
_global.soundMan = new SoundManager(createEmptyMovieClip("sounds", getNextHighestDepth()));
_global.music_snd = musicMan.newSound("music loop");
_global.music_snd.start(0, 99999999);
_global.music_snd.setVolume(0);
_global.music_snd.fadeTo(40, 5);
throbber.gotoAndPlay("hide");
delete onEnterFrame;
} else if (identsReady && (!throbberVisible)) {
throbberVisible = true;
throbber.gotoAndPlay("show");
onEnterFrame = preloadLang;
}
}
function preloadLang() {
throbber.loader.loadbar._xscale = 100 * ProfileSounds.prog;
}
stop();
Language.init((_global.masterURL + "xml/") + System.capabilities.language, onLangLoaded);
SFSSettings.init(_global.masterURL + "xml/sfs", onSFSLoaded);
ProfileSounds.init("assets/profile_sounds/" + System.capabilities.language, createEmptyMovieClip("voices_mc", getNextHighestDepth()), onVoiceLoaded, onVoiceLoadError, VoiceoverAbstract);
identsComplete();
Frame 4
stop();
GameSounds.init("assets/game_sounds/" + System.capabilities.language, createEmptyMovieClip("voices2_mc", getNextHighestDepth()), onVoice2Loaded, onVoiceLoadError, VoiceoverAbstract);
Frame 5
stop();
Symbol 18 MovieClip [kvSpark] Frame 70
stop();
Symbol 28 MovieClip Frame 100
gotoAndPlay (1);
Instance of Symbol 10 MovieClip in Symbol 29 MovieClip Frame 1
onClipEvent (load) {
this._visible = 0;
}
Symbol 29 MovieClip Frame 7
function onEnterFrame() {
var _local2 = _root.getBytesLoaded() / _root.getBytesTotal();
if (getTimer() >= (startTime + 4000)) {
animDone = true;
}
if ((Math.ceil(bar._width) >= width) && (animDone)) {
stopSparks = true;
delete onEnterFrame;
gotoAndPlay ("out");
} else {
setProgress(_local2);
}
}
function fadeOut() {
setProgress(progress);
this._alpha = this._alpha - 5;
if (this._alpha <= -50) {
this._visible = false;
_parent.play();
}
}
function makeSpark() {
if (!stopSparks) {
attachMovie("kvSpark", "spark" + i, this.getNextHighestDepth());
this["spark" + i]._x = bar._x + bar._width;
this["spark" + i]._y = bar._y + (Math.random() * 20);
this["spark" + i].grav = 0.1;
this["spark" + i].wind = (Math.random() * 4) - 3;
this["spark" + i].spin = Math.random() * 10;
this["spark" + i].onEnterFrame = sparkControl;
i++;
}
}
function sparkControl() {
if (!stopSparks) {
this._y = this._y + this.grav;
this._x = this._x + this.wind;
this.grav = this.grav * gravity;
this._alpha = this._alpha - this.grav;
this._rotation = this._rotation + this.spin;
if (this._alpha <= 0) {
this.removeMovieClip();
}
} else {
this.removeMovieClip();
}
}
function setProgress(p) {
bar._width = ((bar._width * 2) + (p * width)) / 3;
if (progress != 1) {
makeSpark();
}
}
width = 200;
i = 0;
gravity = 1.3;
startTime = getTimer();
if (this._name == "loader_mc") {
myName = _global.language.loadingAssets;
} else {
myName = _global.language.initLevel;
}
setProgress(0);
Symbol 29 MovieClip Frame 23
stop();
Symbol 29 MovieClip Frame 28
_parent.play();
Symbol 39 MovieClip Frame 10
stop();
Symbol 43 MovieClip Frame 8
delete _parent.t.tooltip_mc;
_parent.removeMovieClip();
Symbol 44 MovieClip [tooltip] Frame 1
stop();
Symbol 44 MovieClip [tooltip] Frame 11
stop();
Symbol 53 MovieClip Frame 1
stop();
Symbol 58 MovieClip Frame 2
stop();
Symbol 58 MovieClip Frame 11
stop();
Symbol 58 MovieClip Frame 15
stop();
Symbol 912 MovieClip [__Packages.SFSSettings] Frame 0
class SFSSettings
{
static var loadStatus, prog, xml, onLoad, intId, addr, port, zone;
function SFSSettings () {
}
static function init(file, onload) {
loadStatus = "loading";
prog = 0;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = Delegate.create(Language, onXMLLoad);
_global.ASSetPropFlags(Language, null, 1);
xml.load((path + file) + ".xml");
onLoad = onload;
_global.ASSetPropFlags(Language, "onLoad", 1);
intId = setInterval(Language, "monitorProgress", 50);
}
static function onXMLLoad(success) {
if (intId) {
clearInterval(intId);
delete intId;
prog = 1;
}
if (success) {
parse();
loadStatus = "complete";
xml.loaded = true;
onLoad();
} else {
loadStatus = "error";
}
}
static function monitorProgress() {
prog = xml.getBytesLoaded() / xml.getBytesTotal();
if (prog == 1) {
clearInterval(intId);
delete intId;
}
}
static function parse() {
var _local1 = xml.firstChild;
addr = _local1.attributes.addr;
port = Number(_local1.attributes.port);
zone = _local1.attributes.zone;
}
static var path = "";
}
Symbol 913 MovieClip [__Packages.Delegate] Frame 0
class Delegate
{
function Delegate () {
}
static function create(target, handler) {
var _local3 = arguments.slice(2);
var _local2 = function () {
return(arguments.callee.handler.apply(arguments.callee.target, arguments.concat(arguments.callee.extraArgs)));
};
_local2.extraArgs = _local3;
_local2.handler = handler;
_local2.target = target;
return(_local2);
}
}
Symbol 914 MovieClip [__Packages.Language] Frame 0
class Language
{
static var loadStatus, prog, xml, onLoad, intId;
function Language () {
}
static function init(file, onload) {
loadStatus = "loading";
prog = 0;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = Delegate.create(Language, onXMLLoad);
_global.ASSetPropFlags(Language, null, 1);
xml.load((path + file) + ".xml");
onLoad = onload;
_global.ASSetPropFlags(Language, "onLoad", 1);
intId = setInterval(Language, "monitorProgress", 50);
}
static function onXMLLoad(success) {
if (intId) {
clearInterval(intId);
delete intId;
prog = 1;
}
if (success) {
parse();
loadStatus = "complete";
xml.loaded = true;
onLoad();
} else {
loadStatus = "error";
}
}
static function monitorProgress() {
prog = xml.getBytesLoaded() / xml.getBytesTotal();
if (prog == 1) {
clearInterval(intId);
delete intId;
}
}
static function parse() {
var _local3 = xml.firstChild;
var _local2;
var _local1 = 0;
while (_local1 < _local3.childNodes.length) {
_local2 = _local3.childNodes[_local1];
Language[_local2.attributes.id] = _local2.firstChild.nodeValue;
_local1++;
}
}
static function translate(id, vals) {
var _local1 = Language[id];
var _local3 = "";
var _local2;
while (_local2 = _local1.indexOf("{") , _local2 > -1) {
_local3 = _local3 + _local1.substr(0, _local2);
_local1 = _local1.substr(_local2 + 1);
_local2 = _local1.indexOf("}");
_local3 = _local3 + vals[_local1.substr(0, _local2)];
_local1 = _local1.substr(_local2 + 1);
}
return(_local3 + _local1);
}
static var path = "";
}
Symbol 915 MovieClip [__Packages.Snd] Frame 0
class Snd extends Sound
{
var target, manager, position, start, duration, fId, getVolume, setVolume, setPan;
function Snd (targ, sndman) {
super(targ);
target = (targ ? (targ) : _root);
manager = sndman;
}
function switchSound(id, loops) {
var _local3 = position;
super.stop();
super.attachSound(id);
start((_local3 % duration) / 1000, loops);
}
function fade(dVol, tVol) {
if (fId) {
stopFade(fId);
}
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), tVol, true);
}
function fadeBy(dVol, t) {
if (fId) {
stopFade(fId);
}
if (t > 0) {
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), dVol * t, true);
}
}
function fadeTo(tVol, t) {
if (fId) {
stopFade(fId);
}
if (t > 0) {
var _local3 = (tVol - getVolume()) / t;
trace((((("fadeTo: " + tVol) + ", ") + getVolume()) + ", ") + _local3);
fId = setInterval(this, "changeVolTowards", FADE_RATE, _local3, tVol, true);
} else {
setVolume(tVol);
}
}
function changeVolTowards(dVol, tVol, fading) {
var _local2 = getVolume();
if (Math.abs(dVol) < Math.abs(tVol - _local2)) {
changeVolume(dVol);
} else {
setVolume(tVol);
if (fading) {
stopFade();
}
}
}
function stopFade() {
if (fId) {
clearInterval(fId);
delete fId;
}
}
function positionSound(a, d, f, t) {
if (d < f) {
t = (isNaN(t) ? 100 : (((t < 0) ? 0 : (t))));
d = ((d < 1) ? 1 : (d));
var _local4 = 1 / ((d / f) * 100);
setVolume(Math.ceil(_local4 * t));
setPan((-Math.sin(a)) * 100);
} else {
setVolume(0);
}
}
function positionSoundLinear(a, d, f, t) {
if (d < f) {
t = (isNaN(t) ? 100 : (((t < 0) ? 0 : (t))));
setVolume(((f - d) / f) * t);
setPan((-Math.sin(a)) * 100);
} else {
setVolume(0);
}
}
function changeVolume(n) {
setVolume(getVolume() + n);
}
function remove() {
super.stop();
delete manager.sounds[target.getDepth()];
target.removeMovieClip();
}
function toString() {
return(("(target=" + target) + ")");
}
static var FADE_RATE = 100;
}
Symbol 916 MovieClip [__Packages.SoundManager] Frame 0
class SoundManager extends Snd
{
var sounds, mc_holder, getVolume;
function SoundManager (hld_mc) {
super();
sounds = new Object();
mc_holder = (hld_mc ? (hld_mc) : _root);
}
function playAndRemove(snd_id, offset, loops) {
offset = (isNaN(offset) ? 0 : (offset));
loops = (isNaN(loops) ? 0 : (loops));
var _local2 = newSound(snd_id);
_local2.start(offset, loops);
_local2.onSoundComplete = _local2.remove;
return(_local2);
}
function clearAllSounds() {
for (var _local2 in sounds) {
sounds[_local2].remove();
}
}
function newSound() {
var _local5 = mc_holder.getNextHighestDepth();
var _local6 = mc_holder.createEmptyMovieClip("sh_mc" + _local5, _local5);
var _local4 = new Snd(_local6, this);
var _local3 = 0;
while (_local3 < arguments.length) {
if (arguments[_local3] != undefined) {
_local4.attachSound(arguments[_local3]);
}
_local3++;
}
sounds[_local5] = _local4;
return(_local4);
}
function deleteSound(snd) {
snd.remove();
}
function setVolume(vol) {
if (muted) {
curVol = vol;
} else {
super.setVolume(vol);
}
}
function get mute() {
return(muted);
}
function set mute(b) {
muted = b;
if (b) {
curVol = getVolume();
super.setVolume(0);
} else {
super.setVolume(curVol);
}
//return(mute);
}
var muted = false;
var curVol = 100;
}
Symbol 917 MovieClip [__Packages.ProfileSounds] Frame 0
class ProfileSounds
{
static var targ, load, loadError, path, mcl, queue, mc, sndMan, curSnd, filename, loadStatus, prog;
function ProfileSounds () {
}
static function init(file, target, onload, onloaderror) {
targ = target;
load = onload;
loadError = onloaderror;
path = _global.masterURL;
mcl = new MovieClipLoader();
mcl.addListener(ProfileSounds);
queue = [];
begin(file);
}
static function queueSound(sndId, completeAction) {
if (mc[sndId]) {
sndId = sndId + ("_" + Rand.value.apply(null, mc[sndId]));
}
var _local2 = sndMan.newSound(sndId);
var _local4 = function () {
var _local2 = arguments.callee;
_local2.completeAction();
ProfileSounds.soundComplete();
};
_local4.completeAction = completeAction;
_local2.onSoundComplete = _local4;
queue.push(_local2);
checkQueue();
}
static function interrupt(sndId) {
stopAndClearQueue();
queueSound(sndId);
}
static function stopAndClearQueue() {
curSnd.stop();
queue = [];
delete curSnd;
}
static function isSoundPlaying() {
return(Boolean(curSnd));
}
static function soundComplete() {
delete curSnd;
queue.shift();
checkQueue();
}
static function checkQueue() {
if (!curSnd) {
if (queue.length > 0) {
curSnd = queue[0];
curSnd.start();
}
}
}
static function begin(file) {
filename = file;
loadStatus = LOADING;
prog = 0;
attempts = 0;
loadfile();
}
static function loadfile() {
mcl.loadClip(((path + filename) + EXT) + (testMode ? ("?r=" + Math.random()) : ""), targ);
}
static function onLoadStart() {
}
static function onLoadProgress(t_mc, bytesLoaded, bytesTotal) {
prog = bytesLoaded / bytesTotal;
}
static function onLoadInit(t_mc) {
mc = t_mc;
sndMan = t_mc.sndMan;
loadStatus = COMPLETE;
load();
}
static function onLoadError(t_mc, errorCode, httpStatus) {
trace("error");
if ((++attempts) == MAX_RETRIES) {
if (filename == DEFAULT) {
loadStatus = ERROR;
loadError(errorCode);
} else {
begin(DEFAULT);
}
} else {
loadfile();
}
}
static var testMode = false;
static var attempts = 0;
static var MAX_RETRIES = 3;
static var LOADING = "loading";
static var COMPLETE = "complete";
static var ERROR = "error";
static var DEFAULT = "en";
static var EXT = ".swf";
static var PROFILE_INTRO = "profile_intro";
static var PROFILE_RANDOM = "profile_randomise";
static var PROFILE_KID = "profile_kid";
static var PROFILE_ADULT = "profile_adult";
static var PROFILE_OLD = "profile_old";
static var PROFILE_BOY = "profile_boy";
static var PROFILE_GIRL = "profile_girl";
static var SILENCE = "silence";
static var INTRODUCTION = "introductions";
static var SKIP_IT = "skip_it";
}
Symbol 918 MovieClip [__Packages.Rand] Frame 0
class Rand
{
function Rand () {
}
static function midBias(min, max, i, p) {
min = (isNaN(min) ? 0 : (min));
max = (isNaN(max) ? 1 : (max));
i = (isNaN(i) ? 2 : (i + 1));
var _local3 = 0;
var _local1 = 0;
while (_local1 < i) {
_local3 = _local3 + ((v() * (max - min)) + min);
_local1++;
}
_local3 = _local3 / i;
if (p != undefined) {
p = 1 / Math.pow(10, p);
var _local7 = _local3 % p;
if (_local7 <= (p / 2)) {
_local3 = _local3 - _local7;
} else {
_local3 = _local3 + (p - _local7);
}
}
return(_local3);
}
static function minBias(min, max, i, p) {
min = (isNaN(min) ? 0 : (min));
max = (isNaN(max) ? 1 : (max));
i = (isNaN(i) ? 1 : (i));
var _local1 = ((1 - Math.pow(v(), 1 / (i + 1))) * (max - min)) + min;
if (p != undefined) {
p = 1 / Math.pow(10, p);
var _local3 = _local1 % p;
if (_local3 <= (p / 2)) {
_local1 = _local1 - _local3;
} else {
_local1 = _local1 + (p - _local3);
}
}
return(_local1);
}
static function maxBias(min, max, i, p) {
min = (isNaN(min) ? 0 : (min));
max = (isNaN(max) ? 1 : (max));
i = (isNaN(i) ? 1 : (i));
var _local1 = (Math.pow(v(), 1 / (i + 1)) * (max - min)) + min;
if (p != undefined) {
p = 1 / Math.pow(10, p);
var _local3 = _local1 % p;
if (_local3 <= (p / 2)) {
_local1 = _local1 - _local3;
} else {
_local1 = _local1 + (p - _local3);
}
}
return(_local1);
}
static function value() {
if (arguments.length > 0) {
var _local2 = v() * arguments.length;
_local2 = _local2 - (_local2 % 1);
return(arguments[_local2]);
}
}
static function get number() {
return(v());
}
static function random(min, max, p) {
min = (isNaN(min) ? 0 : (min));
max = (isNaN(max) ? 1 : (max));
if (!isNaN(p)) {
p = 1 / Math.pow(10, p);
max = max + p;
} else {
}
var _local3 = (v() * (max - min)) + min;
if (p) {
_local3 = _local3 - (_local3 % p);
}
return(_local3);
}
static function string(len, chars, allowRepeat) {
chars = (chars ? (chars) : "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
allowRepeat = ((allowRepeat === undefined) ? true : (allowRepeat));
var _local4 = "";
var _local2;
var _local3 = 0;
while (_local3 < len) {
_local2 = random(0, chars.length - 1, 0);
_local4 = _local4 + chars.charAt(_local2);
if (!allowRepeat) {
chars = chars.substring(0, _local2) + chars.substring(_local2 + 1);
}
_local3++;
}
return(_local4);
}
static var v = Math.random;
}
Symbol 919 MovieClip [__Packages.GameSounds] Frame 0
class GameSounds
{
static var targ, load, loadError, path, mcl, queue, mc, sndMan, curSnd, filename, loadStatus, prog;
function GameSounds () {
}
static function init(file, target, onload, onloaderror) {
targ = target;
load = onload;
loadError = onloaderror;
path = _global.masterURL;
mcl = new MovieClipLoader();
mcl.addListener(GameSounds);
queue = [];
begin(file);
}
static function queueSound(sndId, completeAction) {
if (mc[sndId]) {
sndId = sndId + ("_" + Rand.value.apply(null, mc[sndId]));
}
var _local2 = sndMan.newSound(sndId);
var _local4 = function () {
var _local2 = arguments.callee;
_local2.completeAction();
GameSounds.soundComplete();
};
_local4.completeAction = completeAction;
_local2.onSoundComplete = _local4;
queue.push(_local2);
checkQueue();
}
static function interrupt(sndId) {
stopAndClearQueue();
queueSound(sndId);
}
static function stopAndClearQueue() {
curSnd.stop();
queue = [];
delete curSnd;
}
static function isSoundPlaying() {
return(Boolean(curSnd));
}
static function soundComplete() {
delete curSnd;
queue.shift();
checkQueue();
}
static function checkQueue() {
if (!curSnd) {
if (queue.length > 0) {
curSnd = queue[0];
curSnd.start();
}
}
}
static function begin(file) {
filename = file;
loadStatus = LOADING;
prog = 0;
attempts = 0;
loadfile();
}
static function loadfile() {
mcl.loadClip(((path + filename) + EXT) + (testMode ? ("?r=" + Math.random()) : ""), targ);
}
static function onLoadStart() {
}
static function onLoadProgress(t_mc, bytesLoaded, bytesTotal) {
prog = bytesLoaded / bytesTotal;
}
static function onLoadInit(t_mc) {
mc = t_mc;
sndMan = t_mc.sndMan;
loadStatus = COMPLETE;
load();
}
static function onLoadError(t_mc, errorCode, httpStatus) {
trace("error");
if ((++attempts) == MAX_RETRIES) {
if (filename == DEFAULT) {
loadStatus = ERROR;
loadError(errorCode);
} else {
begin(DEFAULT);
}
} else {
loadfile();
}
}
static var testMode = false;
static var attempts = 0;
static var MAX_RETRIES = 3;
static var LOADING = "loading";
static var COMPLETE = "complete";
static var ERROR = "error";
static var DEFAULT = "en";
static var EXT = ".swf";
static var SILENCE = "silence";
static var START_SET = "start_set";
static var NEXT_GAME = "next_game";
static var WAITING_FOR_PLAYERS = "wait_for_players";
static var ROUND1 = "round1";
static var ROUND2 = "round2";
static var ROUND3 = "round3";
static var ROUND4 = "round4";
static var ROUND5 = "round5";
static var ROUND6 = "round6";
static var ROUND7 = "round7";
static var ROUND8 = "round8";
static var ROUND9 = "round9";
static var ROUND10 = "round10";
static var ROUND11 = "round11";
static var ROUND12 = "round12";
static var ROUND13 = "round13";
static var ROUND14 = "round14";
static var ROUND15 = "round15";
static var ROUND_NEUTRAL = "round_neutral";
static var ROUND_LOSE = "round_lose";
static var ROUND_WIN = "round_win";
static var ROUND_FORFEIT = "round_forfeit";
static var SET_LAST = "set_last";
static var SET_DELETE = "set_delete";
static var SET_FIRST = "set_first";
static var SET_MEET = "set_meet";
static var SET_NEUTRAL = "set_neutral";
static var SET_END = "set_end";
static var PERSON1 = "person1";
static var PERSON2 = "person2";
static var PERSON3 = "person3";
static var PERSON4 = "person4";
static var PERSON5 = "person5";
static var MUSIC1 = "music1";
static var MUSIC2 = "music2";
static var MUSIC3 = "music3";
static var MUSIC4 = "music4";
static var MUSIC5 = "music5";
static var MUSIC6 = "music6";
static var MUSIC7 = "music7";
static var MUSIC8 = "music8";
static var MUSIC9 = "music9";
static var FILE1 = "file1";
static var FILE2 = "file2";
static var FILE3 = "file3";
static var FILE4 = "file4";
static var FILE5 = "file5";
}
Symbol 920 MovieClip [__Packages.Label] Frame 0
class Label extends MovieClip
{
var txt, _name, langId, focusEnabled;
function Label () {
super();
txt.html = true;
txt.multiline = true;
txt.wordWrap = false;
var _local6 = _name.split(SEP);
langId = _local6[0];
var _local5;
var _local4;
var _local3 = 1;
while (_local3 < _local6.length) {
_local5 = _local6[_local3].split(SUB_SEP);
_local4 = _local5[1];
switch (_local5[0]) {
case SHADOW :
break;
case WIDTH :
txt._width = Number(_local4);
txt.wordWrap = true;
break;
case HEIGHT :
txt._height = Number(_local4);
}
_local3++;
}
focusEnabled = false;
}
function onLoad() {
if ((!txt.autoSize) || (txt.autoSize == "none")) {
txt.autoSize = "left";
}
txt.htmlText = Language[langId];
}
function get autoSize() {
return(txt.autoSize);
}
function set autoSize(as) {
txt.autoSize = as;
//return(autoSize);
}
function get align() {
return(txt.getTextFormat().align);
}
function set align(as) {
var _local2 = txt.getTextFormat();
_local2.align = as;
txt.setTextFormat(_local2);
txt.setNewTextFormat(_local2);
//return(align);
}
function get multiline() {
return(txt.multiline);
}
function set multiline(m) {
txt.multiline = m;
//return(multiline);
}
var valign = "top";
var halign = "left";
static var SEP = "$$";
static var SUB_SEP = "$";
static var SHADOW = "shadow";
static var WIDTH = "width";
static var HEIGHT = "height";
}
Symbol 921 MovieClip [__Packages.cust.GUI.UIBtn] Frame 0
class cust.GUI.UIBtn extends MovieClip
{
var stop, _focusrect, gotoAndStop, dispatchEvent;
function UIBtn () {
super();
cust.events.EventBroadcaster.initialise(this);
stop();
_focusrect = false;
}
function update() {
if (isDown) {
gotoAndStop(DOWN);
} else if (isOver) {
gotoAndStop(OVER);
} else {
gotoAndStop(UP);
}
}
function onSetFocus() {
Key.addListener(this);
}
function onKillFocus() {
Key.removeListener(this);
}
function onKeyDown() {
if (Key.getCode() == 13) {
onPress();
}
}
function onKeyUp() {
if (Key.getCode() == 13) {
onRelease();
}
}
function onUnload() {
onKillFocus();
}
function onRollOver() {
isOver = true;
dispatchEvent({target:this, type:ROLLOVER});
update();
}
function onRollOut() {
isOver = false;
dispatchEvent({target:this, type:ROLLOUT});
update();
}
function onPress() {
isDown = true;
dispatchEvent({target:this, type:PRESS});
update();
}
function onRelease() {
isDown = false;
dispatchEvent({target:this, type:RELEASE});
update();
}
function onDragOver() {
isOver = true;
isDown = true;
dispatchEvent({target:this, type:DRAGOVER});
update();
}
function onDragOut() {
isOver = false;
isDown = false;
dispatchEvent({target:this, type:DRAGOUT});
update();
}
var isOver = false;
var isDown = false;
static var UP = "up";
static var OVER = "over";
static var DOWN = "down";
static var ROLLOVER = "rollOver";
static var ROLLOUT = "rollOut";
static var PRESS = "press";
static var RELEASE = "release";
static var DRAGOUT = "dragOut";
static var DRAGOVER = "dragOver";
}
Symbol 922 MovieClip [__Packages.cust.events.EventBroadcaster] Frame 0
class cust.events.EventBroadcaster
{
var __events;
function EventBroadcaster () {
}
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 initialise(object) {
if (_fEventBroadcaster == undefined) {
_fEventBroadcaster = new cust.events.EventBroadcaster();
}
object.addEventListener = _fEventBroadcaster.addEventListener;
object.removeEventListener = _fEventBroadcaster.removeEventListener;
object.dispatchEvent = _fEventBroadcaster.dispatchEvent;
object.dispatchQueue = _fEventBroadcaster.dispatchQueue;
object.getEventListeners = _fEventBroadcaster.getEventListeners;
object.getEvents = _fEventBroadcaster.getEvents;
object.removeEventListeners = _fEventBroadcaster.removeEventListeners;
object.removeAllEventListeners = _fEventBroadcaster.removeAllEventListeners;
object.__events = new Array();
_global.ASSetPropFlags(object, "__events", 1);
}
function dispatchQueue(queueObj, eventObj) {
var _local6 = 0;
var _local8 = "__q_" + eventObj.type;
var _local5 = queueObj[_local8].concat([]);
if (_local5 != undefined) {
var _local3 = 0;
while (_local3 < _local5.length) {
var _local1 = _local5[_local3];
var _local4 = typeof(_local1);
if ((_local4 == "object") || (_local4 == "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]);
}
_local6++;
_local3++;
}
}
return(_local6);
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
return(eventObj.target.dispatchQueue(eventObj.target, eventObj));
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
__events.push(event);
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
return(true);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
function getEventListeners(type) {
return(this["__q_" + type]);
}
function getEvents() {
return(__events);
}
function removeEventListeners(type) {
var _local4 = "__q_" + type;
var _local2 = this[_local4];
while (_local2.length) {
_removeEventListener(_local2, type, _local2[0]);
}
}
function removeAllEventListeners() {
var _local5 = getEvents();
var _local6;
var _local2;
var _local4;
var _local3 = 0;
while (_local3 < _local5.length) {
_local4 = _local5[_local3];
_local6 = "__q_" + _local4;
_local2 = this[_local6];
while (_local2.length) {
_removeEventListener(_local2, _local4, _local2[0]);
}
_local3++;
}
}
static var _fEventBroadcaster = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 923 MovieClip [__Packages.Games] Frame 0
class Games extends MovieClip
{
var engine, seed, i, numPlayers, nextState, play, stop, gotoAndPlay, game;
function Games () {
super();
goToState(NOTHING);
}
function init(n, e, np) {
engine = e;
seed = n;
i = 1;
numPlayers = np;
}
function goToState(s) {
nextState = s;
play();
}
function onReachedState() {
if (!nextState) {
stop();
}
}
function onChangeState() {
if (nextState) {
gotoAndPlay(nextState);
delete nextState;
}
}
function gameDone(c) {
nextState = WAIT_FOR_RESULTS;
engine.submitResults(c);
}
function stopGame() {
trace("stopGame");
goToState(NOTHING);
game.stopGame();
}
function random() {
return((((seed * Math.PI) * i) * Math.pow(10, (i++) % 10)) % 1);
}
var doTriggerRandomSound = false;
static var WAITING_FOR_USERS = "waitingForUsers";
static var SET_START_SCREEN = "setStartScreen";
static var ROUND_IN_PROGRESS = "roundInProgress";
static var MUSIC = "music";
static var PERSON = "person";
static var FILE = "file";
static var WAIT_FOR_RESULTS = "waitForResults";
static var SHOW_RESULTS = "showResults";
static var END_OF_SET_SCREEN = "endOfSetScreen";
static var NOTHING = "nothing";
static var ROUNDS = [MUSIC, PERSON, FILE];
static var SET_START_SCREEN_WAIT = 3000;
}
Symbol 924 MovieClip [__Packages.Engine] Frame 0
class Engine extends MovieClip
{
static var lastCommand;
var so, conn, login, login_anim, chooseRoom, chooseRoom_anim, profile, lv, blocker, roomList, roomVariables, gamesNotPlayed, firstSet, throbber, timeoutId, myUserVars, userIds, avatar, onEnterFrame, _parent, onProfileSavedToDB, roomListUpdateMode, alert, gotoAndPlay, scores, games, timer, scoresObj, roundRes, voiceId, crowdId, resArr, mcc, lcc, curGameName, setResult, ticking, stopDrag;
function Engine () {
super();
_global.engine = this;
so = SharedObject.getLocal(SAVE, "/");
conn = new it.gotoandplay.smartfoxserver.SmartFoxClient();
conn.debug = true;
conn.onConnection = Delegate.create(this, onConnection);
conn.onLogin = Delegate.create(this, onLogin);
conn.onRoomListUpdate = Delegate.create(this, onRoomListUpdate);
conn.onJoinRoom = Delegate.create(this, onJoinRoom);
conn.onJoinRoomError = Delegate.create(this, onJoinRoomError);
conn.onCreateRoomError = Delegate.create(this, onCreateRoomError);
conn.onUserEnterRoom = Delegate.create(this, onUserEnterRoom);
conn.onUserLeaveRoom = Delegate.create(this, onUserLeaveRoom);
conn.onPublicMessage = Delegate.create(this, onPublicMessage);
conn.onUserVariablesUpdate = Delegate.create(this, onUserVariablesUpdate);
conn.onRoomVariablesUpdate = Delegate.create(this, onRoomVariablesUpdate);
login = login_anim.login;
chooseRoom = chooseRoom_anim.chooseRoom;
profile = new Profile(this);
lv = new LoadVars();
lv.onLoad = Delegate.create(this, onLoadVars);
Swears.init();
}
function updateAvatar(a) {
profile.setAvatarSettings(a);
}
function init() {
blocker._visible = false;
}
function initSFS() {
trace("initSFS");
isRoomJoined = false;
delete roomList;
delete roomVariables;
gamesNotPlayed = 0;
}
function showLogin() {
trace("showLogin");
firstSet = true;
throbber.throb(Language.connect_to_server, Delegate.create(this, connectedToServer), 0);
conn.connect(SFSSettings.addr, SFSSettings.port);
conn.onConnectionLost = Delegate.create(this, onConnectionLost);
timeoutId = _global.setTimeout(this, "onConnectionFailed", CONNECTION_TIMEOUT);
myUserVars = {};
userIds = {};
}
function connectedToServer() {
blocker._visible = false;
if (so.data.profile != undefined) {
getProfileFromSO(profile);
} else {
profile.makeRandom(avatar);
}
login_anim.show();
login.init(this, profile);
}
function createProfile(type) {
blocker._visible = true;
onEnterFrame = updateLoadbar;
_parent.throbber.gotoAndPlay("show");
trace("createProfile");
profile.init(this);
if (type != QUICKSTART) {
onProfileSavedToDB = onCreateProfileJoin;
} else {
onProfileSavedToDB = onCreateProfileQuickplay;
}
profile.saveProfileToDB();
}
function onCreateProfileQuickplay() {
trace("onCreateProfileQuickplay");
roomListUpdateMode = QUICKSTART;
profileCreated = true;
readyToConnectToGame();
}
function onCreateProfileJoin() {
trace("onCreateProfileQuickplay");
roomListUpdateMode = JOIN_ROOM;
profileCreated = true;
readyToConnectToGame();
}
function readyToConnectToGame() {
if (_parent.voice2Ready && (profileCreated)) {
conn.login(SFSSettings.zone, Rand.string(20) + new Date().valueOf());
_parent.throbber.gotoAndPlay("hide");
delete profileCreated;
delete onEnterFrame;
}
}
function updateLoadbar() {
var _local2 = (profileCreated ? 0.2 : 0);
_local2 = _local2 + (0.7 * GameSounds.prog);
_parent.throbber.loader.loadbar._xscale = _local2 * 100;
}
function getProfileFromSO(p) {
p.fromString(so.data.profile);
p.setAvatarSettings(avatar);
}
function saveProfileToSO(p) {
so.data.profile = profile.toString();
so.flush();
}
function chooseAppropriateRoom() {
trace("chooseAppropriateRoom");
var _local2;
var _local3;
var _local4 = MAX_PLAYERS + 1;
var _local7;
var _local5 = [];
for (var _local9 in roomList) {
_local2 = roomList[_local9];
if (_local2.getName() != PURGATORY) {
trace(((">" + _local2.getName()) + ", ") + _local2.getVariable(VAR_STATE));
if (_local2.getVariable(VAR_STATE) != undefined) {
_local3 = Misc.countElements(_local2.getUserList());
trace((("state: " + _local2.getVariable(VAR_STATE)) + ", ") + _local3);
if (_local3 < MAX_PLAYERS) {
if (_local3 < _local4) {
_local4 = _local3;
_local7 = _local2.getId();
}
}
}
_local5[_local2.getName()] = true;
}
}
if (_local7 != undefined) {
trace("found suitable room");
conn.joinRoom(_local7);
} else {
trace("create yourself a room");
var _local8 = 0;
_local8++;
while (_local5[GAME_NAME + _local8]) {
}
var _local6 = {};
_local6.name = GAME_NAME + _local8;
_local6.isGame = true;
_local6.uCount = false;
_local6.maxUsers = MAX_PLAYERS;
_local6.maxSpectators = 0;
_local6.exitCurrentRoom = true;
_local6.password = "";
conn.createRoom(_local6);
}
}
function showChooseRoom() {
throbber.stopThrob();
blocker._visible = false;
chooseRoom.init(this);
chooseRoom_anim.show();
}
function joinRoom(roomName) {
var _local3 = false;
for (var _local5 in conn.roomList) {
if (conn.roomList[_local5].getName() == roomName) {
_local3 = true;
break;
}
}
if (_local3) {
throbber.throb(Language.attempt_to_connect_to_room);
blocker._visible = true;
conn.joinRoom(roomName, "");
_root.kvEvent(402);
} else {
alert.show(Language.room_not_found, Delegate.create(this, showChooseRoom));
}
}
function onJoinRoom(room) {
trace("joined room: " + room.getName());
isRoomJoined = true;
if ((room.getName() == PURGATORY) || (room == undefined)) {
setUserVariables({username:profile.__get__username(), state:USER_JOINED, score:0, profile:profile.toString(), uid:profile.uid});
if (roomList) {
onRoomListUpdate(roomList);
}
} else {
setRoomVariables([{name:VAR_TEMP, val:Math.random()}]);
}
}
function retrievedInitialRoomVars() {
trace("retrievedInitialRoomVars");
gotoAndPlay(GAME);
var _local2 = getRoom();
scores.init(this);
scores.update(_local2.getUserList());
delete onEnterFrame;
_parent.throbber.loaderInfo.loadbar._xscale = 100;
_parent.throbber.gotoAndPlay("hide");
blocker._visible = false;
if (!checkMaster()) {
becomeMaster();
if (isMaster) {
if (!checkRoomVars(_local2)) {
setRoomVars(_local2);
}
}
}
switch (getRoomVariable(VAR_STATE)) {
case ROOM_INIT :
case undefined :
games.nextState = Games.WAITING_FOR_USERS;
break;
default :
games.nextState = Games.ROUND_IN_PROGRESS;
}
updateUserIds();
}
function updateUserIds() {
var _local3 = getRoom().getUserList();
var _local2;
var _local4 = {};
for (var _local5 in _local3) {
_local2 = _local3[_local5];
_local4[_local2.getId()] = Number(getUserVariable(_local2, VAR_UID));
}
userIds = _local4;
}
function checkRoomVars(room) {
return(room.getVariables().length > 0);
}
function onJoinRoomError(error) {
switch (roomListUpdateMode) {
case QUICKSTART :
conn.getRoomList();
break;
case JOIN_ROOM :
throbber.stopThrob();
alert.show(Language.join_room_error + error);
}
}
function onRoomListUpdate(roomlist) {
trace("onRoomListUpdate: " + Debug.list(roomList));
roomList = roomlist;
if (isRoomJoined) {
switch (roomListUpdateMode) {
case QUICKSTART :
chooseAppropriateRoom();
break;
case JOIN_ROOM :
showChooseRoom();
}
}
}
function onCreateRoomError(errorMsg) {
conn.getRoomList();
}
function onLogin(response) {
if (response.success) {
trace("autojoin purgatory");
conn.autoJoin();
} else {
trace("login error: " + response.error);
throbber.stopThrob();
alert.show(Language.login_error + response.error, Delegate.create(login_anim, login_anim.show));
}
}
function onConnection(success) {
throbber.stopThrob();
if (success) {
_global.clearTimeout(timeoutId);
} else {
onConnectionFailed();
}
}
function onConnectionFailed() {
delete onConnection;
delete onConnectionLost;
conn.disconnect();
alert.show(Language[CANNOT_CONNECT], Delegate.create(this, function () {
this._parent.gotoAndStop("start menu");
}));
}
function setRoomVars() {
roomVariables[VAR_STATE] = ROOM_INIT;
var _local2 = [{name:VAR_ROUND, val:0, priv:false, persistent:true}, {name:VAR_STATE, val:ROOM_INIT, priv:false, persistent:true}, {name:VAR_GAME_NO, val:0, priv:false, persistent:true}, {name:VAR_RAND, val:Math.random(), priv:false, persistent:true}, {name:VAR_ROOM_ID, val:Rand.random(1, 16777215, 0), priv:false, persistent:true}];
conn.setRoomVariables(_local2);
}
function isRoomReady() {
var _local2 = conn.getRoom(conn.activeRoomId);
updateWaitingForUsersCount();
if (Misc.countElements(_local2.getUserList()) >= MIN_PLAYERS) {
if (isUserStates(USER_JOINED, USER_READY, undefined)) {
startNewSet();
}
}
}
function updateWaitingForUsersCount() {
games.waitingFor_txt.text = String(MIN_PLAYERS - Misc.countElements(getRoom().getUserList()));
}
function changeToGetResults() {
sendCommand(COMMAND_GET_RESULTS);
var _local2 = conn.getRoom(conn.activeRoomId);
setRoomVariable(VAR_STATE, ROOM_ROUND_RESULTS, false, true);
}
function startNewRound() {
setRoomVariable(VAR_STATE, ROOM_PLAYING, false, true);
sendCommand(COMMAND_START_ROUND);
}
function startNewSet() {
setRoomVariable(VAR_STATE, ROOM_PLAYING, false, true);
sendCommand(COMMAND_START_SET);
}
function roundComplete() {
if ((roomVariables[VAR_ROUND] % ROUNDS_PER_SET) != 0) {
if (getActivePlayerCount()) {
startNewRound();
}
} else {
setRoomVariable(VAR_STATE, ROOM_SET_RESULTS, false, true);
sendCommand(COMMAND_END_SET);
}
}
function setComplete() {
lv.roomid = roomVariables[VAR_ROOM_ID];
lv.mode = "new_set";
lv.sendAndLoad(DB_URL + "vars/new_set.vars.php", lv, "POST");
}
function onSetComplete() {
startNewSet();
}
function isUserStates() {
var _local7 = conn.getRoom(conn.activeRoomId);
var _local3 = _local7.getUserList();
var _local4;
var _local6;
var _local5 = false;
for (_local6 in _local3) {
_local4 = _local3[_local6];
_local6 = getUserVariable(_local4, VAR_STATE);
if (!Misc.isValueInArray(arguments, _local6)) {
if (!((_local6 == USER_JOINED) || (_local6 === undefined))) {
return(false);
}
} else {
_local5 = true;
}
}
return(_local5);
}
function sendCommand(command, args) {
conn.sendPublicMessage((((COMMAND + MSG_SEPARATOR) + command) + MSG_SEPARATOR) + args);
}
function updateRoomVariables() {
var _local2 = [{name:VAR_ROUND, val:roomVariables[VAR_ROUND] + 1, priv:false, persistent:true}, {name:VAR_STATE, val:ROOM_WAITING, priv:false, persistent:true}, {name:VAR_GAME_NO, val:(Number(roomVariables[VAR_GAME_NO]) + 1) % Games.ROUNDS.length, priv:false, persistent:true}, {name:VAR_RAND, val:Math.random(), priv:false, persistent:true}];
setRoomVariables(_local2);
}
function checkUserStates() {
if (isUserStates(USER_JOINED, undefined)) {
isRoomReady();
}
switch (getRoomVariable(VAR_STATE)) {
case ROOM_PLAYING :
if (isUserStates(USER_WAITING)) {
changeToGetResults();
}
break;
case ROOM_ROUND_RESULTS :
if (isUserStates(USER_SHOWING)) {
updateRoomVariables();
}
break;
case ROOM_WAITING :
if (isUserStates(USER_READY)) {
roundComplete();
}
break;
case ROOM_SET_RESULTS :
if (!isUserStates(USER_SHOW_SET)) {
break;
}
setComplete();
}
}
function submitResults(choice) {
if (choice != NONE) {
gamesNotPlayed = 0;
}
var _local2 = getRoom();
throbber.throb(Language.submitting_results);
blocker._visible = true;
lv.uid = profile.uid;
lv.roomid = roomVariables[VAR_ROOM_ID];
lv.round = roomVariables[VAR_ROUND];
lv.choice = choice;
lv.mode = "submitting_results";
lv.sendAndLoad(DB_URL + "vars/submit_results.vars.php", lv, "POST");
}
function getResults() {
var _local2 = getRoom();
throbber.throb(Language.getting_results);
blocker._visible = true;
lv.uid = profile.uid;
lv.roomid = roomVariables[VAR_ROOM_ID];
lv.round = roomVariables[VAR_ROUND];
lv.mode = "getting_results";
lv.sendAndLoad(DB_URL + "vars/get_round_results.vars.php", lv, "POST");
}
function onLoadVars(success) {
if (success) {
if (lv.success == "true") {
switch (lv.mode) {
case "submitting_results" :
onSubmitResults();
break;
case "getting_results" :
onGetResults();
break;
case "getting_set_results" :
onGetSetResults();
break;
case "new_set" :
onSetComplete();
}
}
}
}
function onSubmitResults() {
throbber.stopThrob();
blocker._visible = false;
setUserVariables({state:USER_WAITING});
games.goToState(Games.WAIT_FOR_RESULTS);
}
function onGetResults() {
throbber.stopThrob();
blocker._visible = false;
setUserVariable(VAR_STATE, USER_SHOWING);
timer = getTimer();
var _local5 = lv.results.split(RES_SPLIT);
_local5.pop();
var _local2;
var _local4 = {};
var _local6;
var _local7;
var _local3 = 0;
while (_local3 < _local5.length) {
_local2 = _local5[_local3].split(RES_PARTS);
if (!_local4[_local2[1]]) {
_local4[_local2[1]] = [];
}
_local4[_local2[1]].push(_local2[0]);
_local3++;
}
scoresObj = calculateRoundResults(_local4);
roundRes = _local4;
if (scoresObj[profile.uid]) {
setUserVariable(VAR_SCORE, Number(getUserVariable(getUser(), VAR_SCORE)) + Number(scoresObj[profile.uid]));
}
games.goToState(Games.SHOW_RESULTS);
lv.results = "";
}
function onShowResults() {
var _local9 = scoresObj[profile.uid];
var _local8 = ((_local9 == WIN_ROUND_POINTS) ? "win" : (((_local9 == LOSE_ROUND_POINTS) ? "lose" : (((_local9 == FORFEIT_POINTS) ? "forfeit" : "neutral")))));
var _local10 = ("round_results_" + _local8) + "_lbl";
voiceId = "round_" + _local8;
crowdId = "crowd_" + ((_local8 == "forfeit") ? "lose" : (_local8));
games.round_results_title_txt.text = Language[_local10];
resArr = [];
var _local5;
for (var _local7 in roundRes) {
if (_local7 != NONE) {
_local5 = roundRes[_local7].length;
resArr.push({choice:Number(_local7), n:_local5, p:((lcc == mcc) ? 0 : (((_local5 <= lcc) ? (WIN_ROUND_POINTS) : (((_local5 >= mcc) ? (LOSE_ROUND_POINTS) : 0)))))});
}
}
resArr.sortOn("n", Array.NUMERIC);
if (roundRes[NONE]) {
resArr.push({choice:NONE, n:roundRes[NONE].length, p:FORFEIT_POINTS});
}
var _local4 = new Profile(this);
var _local3;
var _local6;
var _local2 = 0;
while (_local2 < resArr.length) {
games["choice" + (_local2 + 1)]._visible = true;
if (resArr[_local2].choice != NONE) {
games["choice" + (_local2 + 1)].gotoAndStop(curGameName);
games["choice" + (_local2 + 1)].choice.gotoAndStop(resArr[_local2].choice);
} else {
games["choice" + (_local2 + 1)].gotoAndStop(NONE);
}
games["choice" + (_local2 + 1)].resultScore_txt.text = String(resArr[_local2].p);
games["choice" + (_local2 + 1)].count.gotoAndStop(1);
games["choice" + (_local2 + 1)].count.countTo = 0;
games["choice" + (_local2 + 1)].count.bg._visible = false;
_local3 = 0;
while (_local3 < resArr[_local2].n) {
_local6 = getUserByUid(Number(roundRes[resArr[_local2].choice][_local3]));
_local4.fromString(getUserVariable(_local6, VAR_PROFILE));
_local4.setAvatarSettings(games["choice" + (_local2 + 1)].count["a" + (_local3 + 1)]);
Misc.tooltipify(games["choice" + (_local2 + 1)].count["a" + (_local3 + 1)], _local4.__get__username());
if (_local4.uid == profile.uid) {
games["choice" + (_local2 + 1)].count["a" + (_local3 + 1)].highlight.gotoAndPlay("on");
games["choice" + (_local2 + 1)].count.bg._visible = true;
}
_local3++;
}
_local2++;
}
_local2++;
while (_local2 <= 4) {
games["choice" + _local2]._visible = false;
_local2++;
}
}
function setMyScore() {
scores.playerOverallScore.text = String(profile.__get__totalScore());
}
function onStartDisplayResults() {
var _local2 = 0;
while (_local2 < resArr.length) {
games["choice" + (_local2 + 1)].count.countTo = resArr[_local2].n;
_local2++;
}
}
function onGetSetResults() {
throbber.stopThrob();
blocker._visible = false;
var _local15 = lv.results.split(RES_SPLIT);
_local15.pop();
var _local2;
var _local5 = {};
var _local20;
var _local21;
var _local7;
var _local6 = 0;
while (_local6 < _local15.length) {
_local2 = _local15[_local6].split(RES_PARTS);
if (!_local5[_local2[1]]) {
_local5[_local2[1]] = {};
}
_local7 = _local5[_local2[1]];
if (!_local7[_local2[2]]) {
_local7[_local2[2]] = [];
}
_local7[_local2[2]].push(_local2[0]);
_local6++;
}
var _local3 = {};
_local6 = 0;
for (var _local19 in _local5) {
_local3 = Misc.addObjects(_local3, calculateRoundResults(_local5[_local19]));
_local6++;
}
var _local14 = [];
for (var _local8 in _local3) {
_local14.push(Number(_local3[_local8]));
}
_local14.sort(Array.NUMERIC | Array.DESCENDING);
Misc.removeUnique(_local14);
var _local9 = _local14[Math.round(_local14.length * Scores.ZONE) - 1];
var _local13 = _local14[_local14.length - Math.round(_local14.length * Scores.ZONE)];
if ((_local9 == _local13) || (_local9 === undefined)) {
setResult = SET_NEUTRAL;
} else if (Number(_local3[profile.uid]) >= _local9) {
setResult = SET_MEET;
profile.totalMeets++;
} else if (Number(_local3[profile.uid]) <= _local13) {
setResult = SET_DELETE;
profile.totalDeletes++;
} else {
setResult = SET_NEUTRAL;
}
games.goToState(Games.END_OF_SET_SCREEN);
timer = getTimer();
setUserVariable(VAR_STATE, USER_SHOW_SET);
var _local10 = getRoom().getUserList();
var _local11 = [];
var _local4 = new Profile(this);
_local6 = 0;
var _local12;
for (var _local8 in _local10) {
_local12 = getUserVariable(_local10[_local8], VAR_STATE);
if ((_local12 != USER_JOINED) && (_local12 != undefined)) {
_local4.fromString(getUserVariable(_local10[_local8], VAR_PROFILE));
_local11[_local6] = {totalScore:_local4.__get__totalScore(), username:_local4.__get__username(), uid:_local4.uid};
if ((_local9 == _local13) || (_local9 === undefined)) {
} else if (_local3[_local4.uid] >= _local9) {
_local11[_local6].totalScore++;
} else if (_local3[_local4.uid] <= _local13) {
_local11[_local6].totalScore--;
}
_local6++;
}
}
}
function scoresShowSetResults() {
}
function calculateRoundResults(round) {
lcc = MAX_PLAYERS + 1;
mcc = 0;
var _local3;
var _local2;
var _local6 = getPlayerUIDs();
trace("curUsers: " + _local6);
for (_local3 in round) {
_local2 = 0;
while (_local2 < round[_local3].length) {
if (!Misc.isValueInArray(_local6, Number(round[_local3][_local2]))) {
round[_local3].splice(_local2, 1);
}
_local2++;
}
}
trace("============");
var _local7 = 0;
for (_local3 in round) {
if (_local3 != NONE) {
if (round[_local3].length < lcc) {
lcc = round[_local3].length;
}
if (round[_local3].length > mcc) {
mcc = round[_local3].length;
}
_local7++;
}
}
var _local5 = {};
_local2 = 0;
while (_local2 < round[NONE].length) {
_local5[round[NONE][_local2]] = FORFEIT_POINTS;
_local2++;
}
if (lcc == mcc) {
return(_local5);
}
for (_local3 in round) {
if (_local3 != NONE) {
if (round[_local3].length == lcc) {
_local2 = 0;
while (_local2 < round[_local3].length) {
_local5[round[_local3][_local2]] = WIN_ROUND_POINTS;
_local2++;
}
} else if (round[_local3].length == mcc) {
_local2 = 0;
while (_local2 < round[_local3].length) {
_local5[round[_local3][_local2]] = LOSE_ROUND_POINTS;
_local2++;
}
}
}
}
return(_local5);
}
function getPlayerUIDs() {
var _local4 = getRoom().getUserList();
var _local2;
var _local5 = [];
var _local3;
for (var _local6 in _local4) {
_local2 = _local4[_local6];
_local3 = getUserVariable(_local2, VAR_STATE);
if ((_local3 != undefined) && (_local3 != USER_JOINED)) {
_local5.push(Number(getUserVariable(_local2, VAR_UID)));
}
}
return(_local5);
}
function onPublicMessage(msg, sender) {
var _local2 = msg.split(MSG_SEPARATOR);
switch (_local2[0]) {
case COMMAND :
onCommand(_local2[1], _local2[2]);
break;
case EMOTE :
scores.emote(_local2[1], sender);
}
}
function onCommand(command, args) {
if (command == lastCommand) {
return(undefined);
}
var _local4 = getUserVariable(getUser(), VAR_STATE);
switch (command) {
case COMMAND_START_ROUND :
if ((timer + SHOW_ROUND_RESULTS_FOR) <= getTimer()) {
startRound(args);
} else {
_global.setTimeout(this, "startRound", (timer + SHOW_ROUND_RESULTS_FOR) - getTimer(), args);
}
break;
case COMMAND_START_SET :
if (!firstSet) {
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(GameSounds.NEXT_GAME);
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(GameSounds.SILENCE);
} else {
firstSet = false;
}
if ((timer + SHOW_SET_RESULTS_FOR) <= getTimer()) {
startSet(args);
} else {
_global.setTimeout(this, "startSet", (timer + SHOW_SET_RESULTS_FOR) - getTimer(), args);
}
break;
case COMMAND_GET_RESULTS :
if (_local4 != USER_JOINED) {
getResults();
}
break;
case COMMAND_END_SET :
_local4 = getUserVariable(getUser(), VAR_STATE);
if (!((_local4 != USER_JOINED) && (_local4 != undefined))) {
break;
}
if ((timer + SHOW_ROUND_RESULTS_FOR) <= getTimer()) {
endSet();
} else {
_global.setTimeout(this, "endSet", (timer + SHOW_ROUND_RESULTS_FOR) - getTimer());
}
}
lastCommand = command;
}
function startRound(args) {
_root.kvEvent(404);
setUserVariable(VAR_STATE, USER_PLAYING);
var _local3 = conn.getRoom(conn.activeRoomId);
games.init(Number(roomVariables[VAR_RAND]), this, Number(args));
scores.update(getRoom().getUserList());
curGameName = Games.ROUNDS[Number(roomVariables[VAR_GAME_NO])];
games.goToState(curGameName);
delete timer;
}
function startSet() {
var _local2 = Misc.countElements(getRoom().getUserList());
scores.transition_mc.gotoAndPlay("players" + _local2);
}
function onStartSet() {
setUserVariable(VAR_STATE, USER_PLAYING);
setUserVariable(VAR_SCORE, 0);
var _local2 = conn.getRoom(conn.activeRoomId);
games.init(Number(roomVariables[VAR_RAND]), this, getActivePlayerCount());
scores.update(getRoom().getUserList());
curGameName = Games.ROUNDS[Number(roomVariables[VAR_GAME_NO])];
games.goToState(Games.SET_START_SCREEN);
delete timer;
}
function startGameTimer() {
timer = getTimer();
onEnterFrame = updateClock;
}
function updateClock() {
var _local3 = getTimer() - timer;
games.clock.gotoAndStop(Math.ceil((_local3 / ROUND_TIME_LIMIT) * games.clock._totalframes));
if ((!ticking) && (_local3 >= ROUND_TIME_TICK)) {
ticking = _global.soundMan.newSound("ticktock");
ticking.start(0, 9999999999);
}
if (_local3 >= ROUND_TIME_LIMIT) {
games.clock.gotoAndStop(games.clock._totalframes);
stopDrag();
stopTimer();
if ((++gamesNotPlayed) == MAX_IDLE_GAMES) {
alert.show(Language.idle_kick, Delegate.create(this, backToStartpage));
stopEverything();
}
}
}
function stopTimer() {
ticking.stop();
delete ticking;
games.clock.stop();
delete onEnterFrame;
}
function endSet() {
blocker._visible = false;
throbber.throb("");
_root.kvEvent(405);
setUserVariable(VAR_STATE, USER_GET_SET);
lv.roomid = roomVariables[VAR_ROOM_ID];
lv.mode = "getting_set_results";
lv.sendAndLoad(DB_URL + "vars/get_set_results.vars.php", lv, "POST");
}
function onUserVariablesUpdate(user, changedVars) {
var _local3 = conn.getRoom(conn.activeRoomId);
if (isMaster) {
checkUserStates();
} else if (!checkMaster()) {
becomeMaster();
}
scores.update(getRoom().getUserList());
if ((getRoomVariable(VAR_STATE) == ROOM_PLAYING) || (getRoomVariable(VAR_STATE) == undefined)) {
var _local2 = getUserVariable(getUser(), VAR_STATE);
if (((_local2 == USER_JOINED) || (_local2 == USER_WAITING)) || (_local2 == undefined)) {
games.waitingForPlayers.update(getRoom().getUserList());
}
}
}
function onUserEnterRoom() {
if (isMaster) {
checkUserStates();
}
updateUserIds();
scores.update(getRoom().getUserList());
}
function onUserLeaveRoom(roomId, userId) {
if (Misc.countElements(getRoom().getUserList()) < MIN_PLAYERS) {
bootedFromRoom = true;
alert.show(Language.room_empty, Delegate.create(this, backToStartpage));
stopEverything();
}
if (!isMaster) {
if (!checkMaster()) {
becomeMaster();
}
} else {
checkUserStates();
}
if (isMaster) {
var _local3 = userIds[userId];
var _local2 = new LoadVars();
_local2.uid = _local3;
_local2.roomid = roomVariables[VAR_ROOM_ID];
_local2.round = roomVariables[VAR_ROUND];
_local2.load(DB_URL + "vars/clear_user.vars.php", "POST");
}
updateUserIds();
}
function onRoomVariablesUpdate(room) {
trace("onRoomVariablesUpdate");
var _local4 = !roomVariables;
roomVariables = room.getVariables();
var _local2 = getUserVariable(getUser(), VAR_STATE);
var _local3 = getRoomVariable(VAR_STATE);
if ((_local2 == USER_SHOWING) && (_local3 == ROOM_WAITING)) {
setUserVariable(VAR_STATE, USER_READY);
} else if ((_local2 == USER_JOINED) || (_local2 == undefined)) {
setUserWaitingMessage();
}
if (_local4) {
retrievedInitialRoomVars();
}
}
function setUserWaitingMessage() {
var _local2 = getRoomVariable(VAR_STATE);
games.gameState_txt.text = Language["room_state_" + _local2];
}
function setUserVariable(name, val) {
if (val === null) {
delete myUserVars[name];
} else {
myUserVars[name] = val;
}
var _local2 = {};
_local2[name] = val;
conn.setUserVariables(_local2);
var _local4 = getRoom();
onUserVariablesUpdate(_local4.getUserList()[conn.myUserId]);
}
function setUserVariables(obj) {
for (var _local3 in obj) {
if (obj[_local3] === null) {
delete myUserVars[_local3];
} else {
myUserVars[_local3] = obj[_local3];
}
}
conn.setUserVariables(obj);
var _local4 = getRoom();
onUserVariablesUpdate(_local4.getUserList()[conn.myUserId]);
}
function getUserVariables(user) {
if (user.getId() == conn.myUserId) {
return(myUserVars);
}
return(user.getVariables());
}
function getUserVariable(user, val) {
if (user.getId() == conn.myUserId) {
return(myUserVars[val]);
}
return(user.getVariable(val));
}
function getRoomVariable(v) {
return(roomVariables[v]);
}
function setRoomVariable(name, val, priv, persistent) {
roomVariables[name] = val;
priv = Boolean(priv);
persistent = ((persistent === undefined) ? true : (Boolean(persistent)));
conn.setRoomVariables([{name:name, val:val, priv:priv, persistent:persistent}]);
}
function setRoomVariables(a) {
var _local2 = 0;
while (_local2 < a.length) {
roomVariables[a[_local2].name] = a[_local2].val;
_local2++;
}
conn.setRoomVariables(a);
}
function getRoom() {
return(conn.getRoom(conn.activeRoomId));
}
function getUser() {
return(conn.getRoom(conn.activeRoomId).getUser(conn.myUserId));
}
function getUserByUid(n) {
var _local2 = getRoom().getUserList();
for (var _local3 in _local2) {
if (Number(getUserVariable(_local2[_local3], VAR_UID)) == n) {
return(_local2[_local3]);
}
}
}
function checkMaster() {
var _local6 = conn.getRoom(conn.activeRoomId);
var _local2 = _local6.getUserList();
var _local3;
var _local4 = false;
for (var _local5 in _local2) {
_local3 = _local2[_local5];
if (getUserVariable(_local3, VAR_IS_MASTER) == true) {
_local4 = true;
break;
}
}
return(_local4);
}
function becomeMaster() {
var _local6 = conn.getRoom(conn.activeRoomId);
var _local4 = _local6.getUserList();
var _local2;
var _local3 = Number.MAX_VALUE;
for (var _local5 in _local4) {
_local2 = _local4[_local5];
if (_local2.getId() < _local3) {
_local3 = _local2.getId();
}
}
if (_local3 == _local6.getUser(conn.myUserId).getId()) {
setUserVariables({isMaster:true});
isMaster = true;
checkUserStates();
}
}
function getActivePlayerCount() {
var _local3 = getRoom().getUserList();
var _local4 = 0;
var _local2;
for (var _local5 in _local3) {
_local2 = getUserVariable(_local3[_local5], VAR_STATE);
if ((_local2 != USER_JOINED) && (_local2 != undefined)) {
_local4++;
}
}
return(_local4);
}
function onConnectionLost() {
alert.show(Language.connection_lost, Delegate.create(this, backToStartpage));
stopEverything();
}
function stopEverything() {
games.stopGame();
stopTimer();
endConnection();
}
function backToStartpage() {
gotoAndPlay(HIDE);
games.doTriggerRandomSound = false;
stopEverything();
}
function endConnection() {
delete conn.onConnectionLost;
conn.disconnect();
}
var isRoomJoined = false;
var isMaster = false;
var bootedFromRoom = false;
var profileCreated = false;
static var SAVE = "save";
static var DB_URL = "http://meetordelete.sitedone.com/";
static var PURGATORY = "Purgatory";
static var MIN_PLAYERS = 4;
static var MAX_PLAYERS = 15;
static var ROUNDS_PER_SET = 15;
static var MAX_IDLE_GAMES = 4;
static var GAME_NAME = "game";
static var QUICKSTART = "quickstart";
static var JOIN_ROOM = "join";
static var SHOW_ROUND_RESULTS_FOR = 7000;
static var SHOW_SET_RESULTS_FOR = 12000;
static var ROUND_TIME_LIMIT = 11000;
static var ROUND_TIME_TICK = 8000;
static var LOGIN = "login";
static var GAME = "game";
static var HIDE = "hide";
static var USER_JOINED = "joined";
static var USER_READY = "ready";
static var USER_PLAYING = "playing";
static var USER_SUBMITTING = "submitting";
static var USER_SHOWING = "showing";
static var USER_WAITING = "waiting";
static var USER_GET_SET = "get_set";
static var USER_SHOW_SET = "show_set";
static var ROOM_INIT = "init";
static var ROOM_WAITING = "waiting_users";
static var ROOM_PLAYING = "playing";
static var ROOM_ROUND_RESULTS = "showing_round";
static var ROOM_SET_RESULTS = "showing_set";
static var VAR_STATE = "state";
static var VAR_IS_MASTER = "isMaster";
static var VAR_ROUND = "round";
static var VAR_RAND = "rand";
static var VAR_GAME_NO = "gameNo";
static var VAR_ROOM_ID = "gameId";
static var VAR_SCORE = "score";
static var VAR_USERNAME = "username";
static var VAR_PROFILE = "profile";
static var VAR_UID = "uid";
static var VAR_TEMP = "temp";
static var SET_MEET = "meet";
static var SET_DELETE = "delete";
static var SET_NEUTRAL = "neutral";
static var COMMAND = "command";
static var EMOTE = "emote";
static var MSG_SEPARATOR = ":";
static var COMMAND_START_ROUND = "start_round";
static var COMMAND_START_SET = "start_set";
static var COMMAND_GET_RESULTS = "get_results";
static var COMMAND_END_SET = "end_set";
static var NONE = "none";
static var WIN_ROUND_POINTS = 10;
static var LOSE_ROUND_POINTS = -5;
static var FORFEIT_POINTS = -10;
static var RES_SPLIT = ";";
static var RES_PARTS = "-";
static var CANNOT_CONNECT = "cannot_connect";
static var CONNECTION_TIMEOUT = 30000;
}
Symbol 925 MovieClip [__Packages.it.gotoandplay.smartfoxserver.SmartFoxClient] Frame 0
class it.gotoandplay.smartfoxserver.SmartFoxClient extends XMLSocket
{
var objRef, os, isConnected, debug, arrayTags, messageHandlers, onConnect, onData, onXML, onClose, roomList, buddyList, buddyVars, activeRoomId, myUserId, myUserName, playerId, changingRoom, amIModerator, onBuddyList, t1, ipAddress, onConnection, onConnectionLost, portNumber, close;
function SmartFoxClient (objRef) {
super();
this.objRef = objRef;
os = it.gotoandplay.smartfoxserver.ObjectSerializer.getInstance();
isConnected = false;
debug = false;
initialize();
arrayTags = {uLs:true, rmList:true, vars:true, bList:true, vs:true};
messageHandlers = new Object();
onConnect = connectionEstablished;
onData = gotData;
onXML = xmlReceived;
onClose = connectionClosed;
setupMessageHandlers();
}
function initialize() {
roomList = {};
buddyList = [];
buddyVars = [];
activeRoomId = null;
myUserId = null;
myUserName = "";
playerId = null;
changingRoom = false;
amIModerator = false;
}
function getVersion() {
return((((majVersion + ".") + minVersion) + ".") + subVersion);
}
function connected() {
return(isConnected);
}
function setupMessageHandlers() {
addMessageHandler("sys", handleSysMessages);
addMessageHandler("xt", handleExtensionMessages);
}
function addMessageHandler(handlerId, handlerMethod) {
if (messageHandlers[handlerId] == undefined) {
messageHandlers[handlerId] = new Object();
messageHandlers[handlerId].handleMessage = handlerMethod;
} else {
trace(("Warning: [" + handlerId) + "] handler could not be created. A handler with this name already exist!");
}
}
function isModerator() {
return(amIModerator);
}
function handleSysMessages(xmlObj, scope) {
var _local10 = xmlObj.attributes.action;
var _local17 = xmlObj.attributes.r;
if (_local10 == "apiOK") {
scope.isConnected = true;
scope.onConnection(true);
} else if (_local10 == "apiKO") {
scope.onConnection(false);
trace("--------------------------------------------------------");
trace(" WARNING! The API you are using are not compatible with ");
trace(" the SmartFoxServer instance you're trying to connect to");
trace("--------------------------------------------------------");
} else if (_local10 == "logOK") {
scope.myUserId = xmlObj.login.attributes.id;
scope.myUserName = xmlObj.login.attributes.n;
scope.amIModerator = ((xmlObj.login.attributes.mod == "0") ? false : true);
scope.onLogin({success:true, name:scope.myUserName, error:""});
scope.getRoomList();
} else if (_local10 == "logKO") {
var _local54 = xmlObj.login.attributes.e;
scope.onLogin({success:false, name:"", error:_local54});
} else if (_local10 == "logout") {
scope.initialize();
scope.onLogout();
} else if (_local10 == "rmList") {
var _local9 = xmlObj.rmList.rmList;
scope.roomList = new Array();
for (var _local37 in _local9) {
var _local6 = _local9[_local37].attributes.id;
var _local2 = _local9[_local37].attributes;
var _local4 = _local2.id;
var _local19 = _local9[_local37].n.value;
var _local20 = Number(_local2.maxu);
var _local21 = Number(_local2.maxs);
var _local58 = (_local2.temp ? true : false);
var _local47 = (_local2.game ? true : false);
var _local27 = (_local2.priv ? true : false);
var _local28 = Number(_local2.ucnt);
var _local22 = Number(_local2.scnt);
var _local63 = (_local2.lmb ? true : false);
scope.roomList[_local6] = new it.gotoandplay.smartfoxserver.Room(_local4, _local19, _local20, _local21, _local58, _local47, _local27);
scope.roomList[_local6].userCount = _local28;
scope.roomList[_local6].specCount = _local22;
scope.roomList[_local6].setIsLimbo(_local63);
var _local3 = _local9[_local37].vars.vars;
var _local33 = 0;
while (_local33 < _local3.length) {
var _local25 = _local3[_local33].attributes.n;
var _local11 = _local3[_local33].attributes.t;
var _local24 = _local3[_local33].value;
var _local12;
if (_local11 == "b") {
_local12 = Boolean;
} else if (_local11 == "n") {
_local12 = Number;
} else if (_local11 == "s") {
_local12 = String;
} else if (_local11 == "x") {
_local12 = function (x) {
return(null);
};
}
scope.roomList[_local6].variables[_local25] = _local12(_local24);
_local33++;
}
}
scope.onRoomListUpdate(scope.roomList);
} else if (_local10 == "joinOK") {
var _local42 = xmlObj.uLs.attributes.r;
var _local7 = xmlObj.uLs.uLs;
var _local15 = xmlObj.vars.vars;
scope.activeRoomId = Number(_local42);
var _local43 = scope.roomList[_local42];
_local43.userList = new Object();
scope.playerId = xmlObj.pid.attributes.id;
_local43.setMyPlayerIndex(xmlObj.pid.attributes.id);
_local43.variables = new Object();
var _local33 = 0;
while (_local33 < _local15.length) {
var _local25 = _local15[_local33].attributes.n;
var _local11 = _local15[_local33].attributes.t;
var _local24 = _local15[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local43.variables[_local25] = _local12(_local24);
_local33++;
}
var _local64 = 0;
var _local51 = 0;
var _local37 = 0;
while (_local37 < _local7.length) {
var _local19 = _local7[_local37].n.value;
var _local4 = _local7[_local37].attributes.i;
var _local55 = _local7[_local37].attributes.m;
var _local67 = _local7[_local37].attributes.s;
var _local44 = _local7[_local37].attributes.p;
_local43.userList[_local4] = new it.gotoandplay.smartfoxserver.User(_local4, _local19);
_local43.userList[_local4].isMod = ((_local55 == "1") ? true : false);
_local43.userList[_local4].isSpec = ((_local67 == "1") ? true : false);
_local43.userList[_local4].pid = ((_local44 == undefined) ? -1 : _local44);
if (_local43.isGame() && (_local67 == "1")) {
_local51++;
} else {
_local64++;
}
var _local13 = _local7[_local37].vars.vars;
_local43.userList[_local4].variables = {};
var _local35 = _local43.userList[_local4].variables;
_local33 = 0;
while (_local33 < _local13.length) {
var _local25 = _local13[_local33].attributes.n;
var _local11 = _local13[_local33].attributes.t;
var _local24 = _local13[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local35[_local25] = _local12(_local24);
_local33++;
}
_local37++;
}
_local43.userCount = _local64;
_local43.specCount = _local51;
scope.changingRoom = false;
scope.onJoinRoom(scope.roomList[_local42]);
} else if (_local10 == "joinKO") {
scope.changingRoom = false;
var _local57 = xmlObj.error.attributes.msg;
scope.onJoinRoomError(_local57);
} else if (_local10 == "uER") {
var _local61 = xmlObj.u.attributes.i;
var _local56 = xmlObj.u.n.value;
var _local55 = xmlObj.u.attributes.m;
var _local67 = xmlObj.u.attributes.s;
var _local44 = xmlObj.u.attributes.p;
var _local43 = scope.roomList[_local17];
_local43.userList[_local61] = new it.gotoandplay.smartfoxserver.User(_local61, _local56);
_local43.userList[_local61].isMod = ((_local55 == "1") ? true : false);
_local43.userList[_local61].isSpec = ((_local67 == "1") ? true : false);
_local43.userList[_local61].pid = ((_local44 == undefined) ? -1 : _local44);
if (_local43.isGame() && (_local67 == "1")) {
_local43.specCount++;
} else {
_local43.userCount++;
}
var _local13 = xmlObj.u.vars.vars;
_local43.userList[_local61].variables = {};
var _local35 = _local43.userList[_local61].variables;
var _local33 = 0;
while (_local33 < _local13.length) {
var _local25 = _local13[_local33].attributes.n;
var _local11 = _local13[_local33].attributes.t;
var _local24 = _local13[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local35[_local25] = _local12(_local24);
_local33++;
}
scope.onUserEnterRoom(_local17, _local43.userList[_local61]);
} else if (_local10 == "userGone") {
var _local61 = xmlObj.user.attributes.id;
var _local43 = scope.roomList[_local17];
var _local56 = _local43.userList[_local61].name;
var _local67 = _local43.userList[_local61].isSpec;
delete _local43.userList[_local61];
if (_local43.isGame() && _local67) {
_local43.specCount--;
} else {
_local43.userCount--;
}
scope.onUserLeaveRoom(_local17, _local61, _local56);
} else if (_local10 == "pubMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40.toString());
scope.onPublicMessage(_local40.toString(), scope.roomList[_local17].userList[_local61], _local17);
} else if (_local10 == "prvMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onPrivateMessage(_local40.toString(), scope.roomList[_local17].userList[_local61], _local61, _local17);
} else if (_local10 == "dmnMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onAdminMessage(_local40.toString(), scope.roomList[_local17].userList[_local61]);
} else if (_local10 == "modMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onModeratorMessage(_local40.toString(), scope.roomList[_local17].userList[_local61]);
} else if (_local10 == "dataObj") {
var _local65 = xmlObj.user.attributes.id;
var _local52 = xmlObj.dataObj.value;
var _local53 = scope.os.deserialize(_local52);
scope.onObjectReceived(_local53, scope.roomList[_local17].userList[_local65]);
} else if (_local10 == "uVarsUpdate") {
var _local61 = xmlObj.user.attributes.id;
var _local14 = xmlObj.vars.vars;
var _local29 = scope.roomList[_local17].userList[_local61];
if (_local29.variables == undefined) {
_local29.variables = {};
}
var _local30 = [];
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
_local30.push(_local25);
_local30[_local25] = true;
if (_local11 == "x") {
delete _local29.variables[_local25];
} else {
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local29.variables[_local25] = _local12(_local24);
}
_local33++;
}
scope.onUserVariablesUpdate(_local29, _local30);
} else if (_local10 == "rVarsUpdate") {
var _local14 = xmlObj.vars.vars;
var _local43 = scope.roomList[_local17];
var _local30 = [];
if (_local43.variables == undefined) {
_local43.variables = new Object();
}
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
_local30.push(_local25);
_local30[_local25] = true;
if (_local11 == "x") {
delete _local43.variables[_local25];
} else {
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local43.variables[_local25] = _local12(_local24);
}
_local33++;
}
scope.onRoomVariablesUpdate(_local43, _local30);
} else if (_local10 == "createRmKO") {
var _local54 = xmlObj.room.attributes.e;
scope.onCreateRoomError(_local54);
} else if (_local10 == "uCount") {
var _local64 = xmlObj.attributes.u;
var _local51 = xmlObj.attributes.s;
var _local38 = scope.roomList[_local17];
_local38.userCount = Number(_local64);
_local38.specCount = Number(_local51);
scope.onUserCountChange(_local38);
} else if (_local10 == "roomAdd") {
var _local34 = xmlObj.rm.attributes;
var _local45 = _local34.id;
var _local59 = xmlObj.rm.name.value;
var _local66 = Number(_local34.max);
var _local50 = Number(_local34.spec);
var _local58 = (_local34.temp ? true : false);
var _local47 = (_local34.game ? true : false);
var _local60 = (_local34.priv ? true : false);
var _local63 = (_local34.limbo ? true : false);
var _local32 = new it.gotoandplay.smartfoxserver.Room(_local45, _local59, _local66, _local50, _local58, _local47, _local60);
_local32.setIsLimbo(_local63);
scope.roomList[_local45] = _local32;
var _local14 = xmlObj.rm.vars.vars;
_local32.variables = new Object();
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local32.variables[_local25] = _local12(_local24);
_local33++;
}
scope.onRoomAdded(_local32);
} else if (_local10 == "roomDel") {
var _local46 = xmlObj.rm.attributes.id;
var _local48 = scope.roomList[_local46];
delete scope.roomList[_local46];
scope.onRoomDeleted(_local48);
} else if (_local10 == "leaveRoom") {
var _local68 = xmlObj.rm.attributes.id;
scope.onRoomLeft(_local68);
} else if (_local10 == "roundTripRes") {
scope.t2 = getTimer();
scope.onRoundTripResponse(scope.t2 - scope.t1);
} else if (_local10 == "swSpec") {
var _local39 = Number(xmlObj.pid.attributes.id);
var _local41 = Number(xmlObj.pid.attributes.u);
if (_local39 > 0) {
scope.roomList[_local17].userCount++;
scope.roomList[_local17].specCount--;
}
if (!isNaN(_local41)) {
var _local43 = scope.roomList[_local17];
_local43.userList[_local41].pid = _local39;
_local43.userList[_local41].isSpec = false;
} else {
scope.playerId = _local39;
scope.onSpectatorSwitched(scope.playerId > 0, scope.playerId, scope.roomList[_local17]);
}
} else if (_local10 == "bList") {
var _local8 = xmlObj.bList.bList;
if (_local8 == undefined) {
scope.onBuddyListError(xmlObj.err.value);
return(undefined);
}
var _local37 = 0;
while (_local37 < _local8.length) {
var _local31 = {};
_local31.isOnline = ((_local8[_local37].attributes.s == "1") ? true : false);
_local31.name = _local8[_local37].n.value;
_local31.id = _local8[_local37].attributes.i;
_local31.variables = {};
var _local18 = _local8[_local37].vs.vs;
for (var _local33 in _local18) {
var _local26 = _local18[_local33].attributes.n;
var _local23 = _local18[_local33].value;
_local31.variables[_local26] = _local23;
}
scope.buddyList.push(_local31);
_local37++;
}
scope.onBuddyList(scope.buddyList);
} else if (_local10 == "bUpd") {
var _local36 = xmlObj.b;
if (_local36 == undefined) {
scope.onBuddyListError(xmlObj.err.value);
return(undefined);
}
var _local31 = {};
_local31.name = _local36.n.value;
_local31.id = _local36.attributes.i;
_local31.isOnline = ((_local36.attributes.s == "1") ? true : false);
_local31.variables = {};
var _local18 = _local36.vs.vs;
for (var _local37 in _local18) {
var _local26 = _local18[_local37].attributes.n;
var _local23 = _local18[_local37].value;
_local31.variables[_local26] = _local23;
}
var _local37 = 0;
while (_local37 < scope.buddyList.length) {
if (scope.buddyList[_local37].name == _local31.name) {
scope.buddyList[_local37] = _local31;
break;
}
_local37++;
}
scope.onBuddyListUpdate(_local31);
} else if (_local10 == "bAdd") {
var _local36 = xmlObj.b;
var _local31 = {};
_local31.name = _local36.n.value;
_local31.id = _local36.attributes.i;
_local31.isOnline = ((_local36.attributes.s == "1") ? true : false);
_local31.variables = {};
var _local18 = _local36.vs.vs;
for (var _local37 in _local18) {
var _local26 = _local18[_local37].attributes.n;
var _local23 = _local18[_local37].value;
_local31.variables[_local26] = _local23;
}
scope.buddyList.push(_local31);
scope.onBuddyList(scope.buddyList);
} else if (_local10 == "roomB") {
var _local62 = xmlObj.br.attributes.r;
var _local16 = _local62.toString().split(",");
for (var _local37 in _local16) {
_local16[_local37] = Number(_local16[_local37]);
}
scope.onBuddyRoom(_local16);
} else if (_local10 == "rndK") {
var _local49 = xmlObj.k.value;
scope.onRandomKey(_local49);
}
}
function handleExtensionMessages(dataObj, scope, type) {
if (type == "xml") {
var _local6 = dataObj.attributes.action;
var _local7 = dataObj.attributes.r;
if (_local6 == "xtRes") {
var _local4 = dataObj.value;
var _local5 = scope.os.deserialize(_local4);
scope.onExtensionResponse(_local5, type);
}
} else if (type == "str") {
scope.onExtensionResponse(dataObj, type);
} else if (type == "json") {
scope.onExtensionResponse(dataObj.o, type);
}
}
function sendXtMessage(xtName, cmdName, paramObj, type, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
if (type == undefined) {
type = "xml";
}
if (type == "xml") {
var _local11;
_local11 = {t:"xt"};
var _local10 = {name:xtName, cmd:cmdName, param:paramObj};
var _local12 = ("<![CDATA[" + os.serialize(_local10)) + "]]>";
send(_local11, "xtReq", roomId, _local12);
} else if (type == "str") {
var _local4;
_local4 = (((((((rawProtocolSeparator + "xt") + rawProtocolSeparator) + xtName) + rawProtocolSeparator) + cmdName) + rawProtocolSeparator) + roomId) + rawProtocolSeparator;
var _local2 = 0;
while (_local2 < paramObj.length) {
_local4 = _local4 + (paramObj[_local2].toString() + rawProtocolSeparator);
_local2++;
}
sendString(_local4);
} else if (type == "json") {
var _local5 = {};
_local5.x = xtName;
_local5.c = cmdName;
_local5.r = roomId;
_local5.p = paramObj;
var _local6 = {};
_local6.t = "xt";
_local6.b = _local5;
try {
var _local13 = it.gotoandplay.smartfoxserver.JSON.stringify(_local6);
sendJson(_local13);
} catch(ex) {
if (debug) {
trace("Error in sending JSON message.");
trace((((((ex.name + " : ") + ex.message) + " : ") + ex.at) + " : ") + ex.text);
}
}
}
}
function dumpObj(obj, depth) {
if (depth == undefined) {
depth = 0;
}
if (debug) {
if (depth == 0) {
trace("+-----------------------------------------------+");
trace("+ Object Dump +");
trace("+-----------------------------------------------+");
}
for (var _local8 in obj) {
var _local4 = obj[_local8];
var _local5 = typeof(_local4);
if (_local5 != "object") {
var _local3 = "";
var _local2 = 0;
while (_local2 < depth) {
_local3 = _local3 + "\t";
_local2++;
}
_local3 = _local3 + (((((_local8 + " : ") + _local4) + " ( ") + _local5) + " )");
trace(_local3);
} else {
dumpObj(_local4, depth + 1);
}
}
}
}
function login(zone, nick, pass) {
var _local3 = {t:"sys"};
var _local2 = ((((("<login z='" + zone) + "'><nick><![CDATA[") + nick) + "]]></nick><pword><![CDATA[") + pass) + "]]></pword></login>";
send(_local3, "login", 0, _local2);
}
function logout() {
var _local2 = {t:"sys"};
send(_local2, "logout", -1, "");
}
function getRoomList() {
var _local2 = {t:"sys"};
send(_local2, "getRmList", (activeRoomId ? (activeRoomId) : -1), "");
}
function autoJoin() {
var _local2 = {t:"sys"};
send(_local2, "autoJoin", (activeRoomId ? (activeRoomId) : -1), "");
}
function joinRoom(newRoom, pword, isSpectator, dontLeave, oldRoom) {
var _local2 = null;
var _local7;
if (isSpectator) {
_local7 = 1;
} else {
_local7 = 0;
}
if (!changingRoom) {
if (typeof(newRoom) == "number") {
_local2 = newRoom;
} else {
for (var _local4 in roomList) {
if (roomList[_local4].name == newRoom) {
_local2 = roomList[_local4].id;
break;
}
}
}
if (_local2 != null) {
var _local9 = {t:"sys"};
var _local6 = (dontLeave ? "0" : "1");
var _local5;
if (oldRoom) {
_local5 = oldRoom;
} else {
_local5 = activeRoomId;
}
if (activeRoomId == null) {
_local6 = "0";
_local5 = -1;
}
var _local8 = ((((((((("<room id='" + _local2) + "' pwd='") + pword) + "' spec='") + _local7) + "' leave='") + _local6) + "' old='") + _local5) + "' />";
send(_local9, "joinRoom", (activeRoomId ? (activeRoomId) : -1), _local8);
changingRoom = true;
} else {
trace("SmartFoxError: requested room to join does not exist!");
}
}
}
function sendPublicMessage(msg, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
var _local3 = ("<txt><![CDATA[" + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "pubMsg", roomId, _local3);
}
function sendPrivateMessage(msg, userId, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
var _local3 = ((("<txt rcp='" + userId) + "'><![CDATA[") + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "prvMsg", roomId, _local3);
}
function sendModeratorMessage(msg, type, id) {
var _local2 = {t:"sys"};
var _local3 = ((((("<txt t='" + type) + "' id='") + id) + "'><![CDATA[") + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "modMsg", activeRoomId, _local3);
}
function sendObject(obj, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = ("<![CDATA[" + os.serialize(obj)) + "]]>";
var _local3 = {t:"sys"};
send(_local3, "asObj", roomId, _local2);
}
function sendObjectToGroup(obj, userList, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local3 = "";
for (var _local4 in userList) {
if (!isNaN(userList[_local4])) {
_local3 = _local3 + (userList[_local4] + ",");
}
}
_local3 = _local3.substr(0, _local3.length - 1);
obj._$$_ = _local3;
var _local5 = ("<![CDATA[" + os.serialize(obj)) + "]]>";
var _local6 = {t:"sys"};
send(_local6, "asObjG", roomId, _local5);
}
function setUserVariables(varObj, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local9 = {t:"sys"};
var _local6 = "<vars>";
var _local4 = roomList[roomId].userList[myUserId];
for (var _local7 in varObj) {
var _local2 = varObj[_local7];
var _local3 = null;
if (typeof(_local2) == "boolean") {
_local3 = "b";
_local2 = (_local2 ? 1 : 0);
} else if (typeof(_local2) == "number") {
_local3 = "n";
} else if (typeof(_local2) == "string") {
_local3 = "s";
} else if (typeof(_local2) == "null") {
_local3 = "x";
delete _local4.variables[_local7];
}
if (_local3 != null) {
_local4.variables[_local7] = _local2;
_local6 = _local6 + (((((("<var n='" + _local7) + "' t='") + _local3) + "'><![CDATA[") + _local2) + "]]></var>");
}
}
_local6 = _local6 + "</vars>";
send(_local9, "setUvars", roomId, _local6);
}
function setBuddyVariables(varObj) {
var _local6 = {t:"sys"};
var _local4 = "<vars>";
for (var _local5 in varObj) {
var _local2 = varObj[_local5];
if (buddyVars[_local5] != _local2) {
buddyVars[_local5] = _local2;
_local4 = _local4 + (((("<var n='" + _local5) + "'><![CDATA[") + _local2) + "]]></var>");
}
}
_local4 = _local4 + "</vars>";
send(_local6, "setBvars", -1, _local4);
}
function dumpRoomList() {
for (var _local5 in roomList) {
var _local2 = roomList[_local5];
trace(newline);
trace("-------------------------------------");
trace(((" > Room: (" + _local5) + ") - ") + _local2.getName());
trace("isTemp: " + _local2.isTemp());
trace("isGame: " + _local2.isGame());
trace("isPriv: " + _local2.isPrivate());
trace((("Users: " + _local2.getUserCount()) + " / ") + _local2.getMaxUsers());
trace("Variables: ");
for (var _local4 in _local2.variables) {
trace((("\t" + _local4) + " = ") + _local2.getVariable(_local4));
}
trace("\rUserList: ");
var _local3 = _local2.getUserList();
for (var _local4 in _local3) {
trace((("\t" + _local3[_local4].getId()) + " > ") + _local3[_local4].getName());
}
}
}
function createRoom(roomObj, rId) {
var _local9 = ((rId == undefined) ? (activeRoomId) : (rId));
var _local7 = {t:"sys"};
var _local10 = (roomObj.updatable ? 1 : 0);
var _local5 = (roomObj.isGame ? 1 : 0);
var _local6 = 1;
var _local8 = roomObj.maxSpectators;
if (_local5 && (roomObj.exitCurrentRoom != undefined)) {
_local6 = (roomObj.exitCurrentRoom ? 1 : 0);
}
var _local3 = ((((((("<room upd='" + _local10) + "' tmp='1' gam='") + _local5) + "' spec='") + _local8) + "' exit='") + _local6) + "'>";
_local3 = _local3 + (("<name><![CDATA[" + roomObj.name) + "]]></name>");
_local3 = _local3 + (("<pwd><![CDATA[" + roomObj.password) + "]]></pwd>");
_local3 = _local3 + (("<max>" + roomObj.maxUsers) + "</max>");
if (roomObj.uCount != undefined) {
_local3 = _local3 + (("<uCnt>" + (roomObj.uCount ? "1" : "0")) + "</uCnt>");
}
if (roomObj.extension != undefined) {
_local3 = _local3 + ("<xt n='" + roomObj.extension.name);
_local3 = _local3 + (("' s='" + roomObj.extension.script) + "' />");
}
if (roomObj.vars == undefined) {
_local3 = _local3 + "<vars></vars>";
} else {
_local3 = _local3 + "<vars>";
for (var _local4 in roomObj.vars) {
_local3 = _local3 + getXmlRoomVariable(roomObj.vars[_local4]);
}
_local3 = _local3 + "</vars>";
}
_local3 = _local3 + "</room>";
send(_local7, "createRoom", _local9, _local3);
}
function leaveRoom(roomId) {
var _local3 = {t:"sys"};
var _local2 = ("<rm id='" + roomId) + "' />";
send(_local3, "leaveRoom", roomId, _local2);
}
function getRoom(roomId) {
if (typeof(roomId) == "number") {
return(roomList[roomId]);
}
if (typeof(roomId) == "string") {
for (var _local4 in roomList) {
var _local2 = roomList[_local4];
if (_local2.getName() == roomId) {
return(_local2);
}
}
}
}
function getActiveRoom() {
return(roomList[activeRoomId]);
}
function setRoomVariables(varObj, roomId, setOwnership) {
if (roomId == undefined) {
roomId = activeRoomId;
}
if (setOwnership == undefined) {
setOwnership = true;
}
var _local5 = {t:"sys"};
var _local4;
if (setOwnership) {
_local4 = "<vars>";
} else {
_local4 = "<vars so='0'>";
}
var _local2 = 0;
while (_local2 < varObj.length) {
_local4 = _local4 + getXmlRoomVariable(varObj[_local2]);
_local2++;
}
_local4 = _local4 + "</vars>";
send(_local5, "setRvars", roomId, _local4);
}
function getXmlRoomVariable(rVar) {
var _local5 = rVar.name;
var _local1 = rVar.val;
var _local6 = (rVar.priv ? "1" : "0");
var _local4 = (rVar.persistent ? "1" : "0");
var _local2 = null;
if (typeof(_local1) == "boolean") {
_local2 = "b";
_local1 = (_local1 ? 1 : 0);
} else if (typeof(_local1) == "number") {
_local2 = "n";
} else if (typeof(_local1) == "string") {
_local2 = "s";
} else if (typeof(_local1) == "null") {
_local2 = "x";
}
if (_local2 != null) {
return(((((((((("<var n='" + _local5) + "' t='") + _local2) + "' pr='") + _local6) + "' pe='") + _local4) + "'><![CDATA[") + _local1) + "]]></var>");
}
return("");
}
function loadBuddyList() {
var _local2 = {t:"sys"};
send(_local2, "loadB", -1, "");
}
function addBuddy(buddyName) {
if ((buddyName != myUserName) && (!checkBuddy(buddyName))) {
var _local6 = roomList[activeRoomId].getUserList().getUser(buddyName);
var _local4 = {t:"sys"};
var _local3 = ("<n>" + buddyName) + "</n>";
send(_local4, "addB", -1, _local3);
}
}
function removeBuddy(buddyName) {
for (var _local3 in buddyList) {
if (buddyList[_local3].name == buddyName) {
delete buddyList[_local3];
break;
}
}
var _local5 = {t:"sys"};
var _local4 = ("<n>" + buddyName) + "</n>";
send(_local5, "remB", -1, _local4);
onBuddyList(buddyList);
}
function getBuddyRoom(buddy) {
if (buddy.id != -1) {
send({t:"sys", bid:buddy.id}, "roomB", -1, ("<b id='" + buddy.id) + "' />");
}
}
function checkBuddy(name) {
var _local2 = false;
for (var _local4 in buddyList) {
if (buddyList[_local4].name == name) {
_local2 = true;
break;
}
}
return(_local2);
}
function clearBuddyList() {
buddyList = [];
send({t:"sys"}, "clearB", -1, "");
onBuddyList(buddyList);
}
function roundTripBench() {
t1 = getTimer();
var _local2 = {t:"sys"};
send(_local2, "roundTrip", activeRoomId, "");
}
function switchSpectator(roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
send(_local2, "swSpec", roomId, "");
}
function getRandomKey() {
send({t:"sys"}, "rndK", -1, "");
}
function send(header, action, fromRoom, message) {
var _local3 = makeHeader(header);
_local3 = _local3 + ((((((("<body action='" + action) + "' r='") + fromRoom) + "'>") + message) + "</body>") + closeHeader());
if (debug) {
trace(("[Sending]: " + _local3) + newline);
}
super.send(_local3);
}
function uploadFile(fileRef, id, nick, port) {
if (id == undefined) {
id = myUserId;
}
if (nick == undefined) {
nick = myUserName;
}
if (port == undefined) {
port = httpPort;
}
fileRef.upload((((((("http://" + ipAddress) + ":") + port) + "/default/Upload.py?id=") + id) + "&nick=") + nick);
if (debug) {
trace((((((("[UPLOAD]: http://" + ipAddress) + ":") + port) + "/default/Upload.py?id=") + id) + "&nick=") + nick);
}
}
function getUploadPath() {
return(((("http://" + ipAddress) + ":") + httpPort) + "/default/uploads/");
}
function sendString(message) {
if (debug) {
trace(("[Sending]: " + message) + newline);
}
super.send(message);
}
function sendJson(message) {
if (debug) {
trace(("[Sending - json]: " + message) + newline);
}
super.send(message);
}
function gotData(message) {
if (message.charAt(0) == rawProtocolSeparator) {
strReceived(message);
} else if (message.charAt(0) == "<") {
onXML(new XML(message));
} else if (message.charAt(0) == "{") {
jsonReceived(message);
}
}
function connectionEstablished(ok) {
if (ok) {
var _local3 = {t:"sys"};
var _local2 = ((("<ver v='" + majVersion.toString()) + minVersion.toString()) + subVersion.toString()) + "' />";
send(_local3, "verChk", 0, _local2);
} else {
onConnection(false);
}
}
function connectionClosed() {
isConnected = false;
onConnectionLost();
}
function connect(serverIp, serverPort) {
if (!isConnected) {
ipAddress = serverIp;
portNumber = serverPort;
super.connect(serverIp, serverPort);
} else {
trace((("WARNING! You're already connected to -> " + ipAddress) + ":") + portNumber);
}
}
function disconnect() {
close();
isConnected = false;
onConnectionLost();
}
function xmlReceived(message) {
var _local2 = new Object();
message2Object(message.childNodes, _local2);
if (debug) {
trace("[Received]: " + message);
}
var _local3 = _local2.msg.attributes.t;
messageHandlers[_local3].handleMessage(_local2.msg.body, this, "xml");
}
function strReceived(message) {
var _local2 = message.substr(1, message.length - 2).split(rawProtocolSeparator);
if (debug) {
trace("[Received - Str]: " + message);
}
var _local4 = _local2[0];
messageHandlers[_local4].handleMessage(_local2.splice(1, _local2.length - 1), this, "str");
}
function jsonReceived(message) {
var _local2 = it.gotoandplay.smartfoxserver.JSON.parse(message);
if (debug) {
trace("[Received - json]: " + message);
}
var _local3 = _local2.t;
messageHandlers[_local3].handleMessage(_local2.b, this, "json");
}
function message2Object(xmlNodes, parentObj) {
var _local8 = 0;
var _local3 = null;
while (_local8 < xmlNodes.length) {
var _local4 = xmlNodes[_local8];
var _local5 = _local4.nodeName;
var _local6 = _local4.nodeValue;
if (parentObj instanceof Array) {
_local3 = {};
parentObj.push(_local3);
_local3 = parentObj[parentObj.length - 1];
} else {
parentObj[_local5] = new Object();
_local3 = parentObj[_local5];
}
for (var _local11 in _local4.attributes) {
if (typeof(_local3.attributes) == "undefined") {
_local3.attributes = {};
}
var _local2 = _local4.attributes[_local11];
if (!isNaN(Number(_local2))) {
_local2 = Number(_local2);
}
if (_local2.toLowerCase() == "true") {
_local2 = true;
} else if (_local2.toLowerCase() == "false") {
_local2 = false;
}
_local3.attributes[_local11] = _local2;
}
if (arrayTags[_local5]) {
_local3[_local5] = [];
_local3 = _local3[_local5];
}
if (_local4.hasChildNodes() && (_local4.firstChild.nodeValue == undefined)) {
var _local9 = _local4.childNodes;
message2Object(_local9, _local3);
} else {
_local6 = _local4.firstChild.nodeValue;
if ((!isNaN(_local6)) && (_local4.nodeName != "txt")) {
_local6 = Number(_local6);
}
_local3.value = _local6;
}
_local8++;
}
}
function makeHeader(headerObj) {
var _local2 = "<msg";
for (var _local3 in headerObj) {
_local2 = _local2 + ((((" " + _local3) + "='") + headerObj[_local3]) + "'");
}
_local2 = _local2 + ">";
return(_local2);
}
function closeHeader() {
return("</msg>");
}
static var MODMSG_TO_USER = "u";
static var MODMSG_TO_ROOM = "r";
static var MODMSG_TO_ZONE = "z";
static var PROTOCOL_XML = "xml";
static var PROTOCOL_STR = "str";
static var PROTOCOL_JSON = "json";
var httpPort = 8080;
var majVersion = 1;
var minVersion = 4;
var subVersion = 0;
var rawProtocolSeparator = "%";
}
Symbol 926 MovieClip [__Packages.it.gotoandplay.smartfoxserver.ObjectSerializer] Frame 0
class it.gotoandplay.smartfoxserver.ObjectSerializer
{
static var __instance;
var tabs, xmlStr, debug, eof, ascTab, ascTabRev, hexTable;
function ObjectSerializer () {
init();
}
static function getInstance() {
if (__instance == null) {
__instance = new it.gotoandplay.smartfoxserver.ObjectSerializer();
}
return(__instance);
}
function init() {
tabs = "\t\t\t\t\t\t\t\t\t\t";
xmlStr = "";
debug = false;
eof = "";
ascTab = [];
ascTab[">"] = ">";
ascTab["<"] = "<";
ascTab["&"] = "&";
ascTab["'"] = "'";
ascTab["\""] = """;
ascTabRev = [];
ascTabRev[">"] = ">";
ascTabRev["<"] = "<";
ascTabRev["&"] = "&";
ascTabRev["'"] = "'";
ascTabRev["""] = "\"";
hexTable = new Array();
hexTable["0"] = 0;
hexTable["1"] = 1;
hexTable["2"] = 2;
hexTable["3"] = 3;
hexTable["4"] = 4;
hexTable["5"] = 5;
hexTable["6"] = 6;
hexTable["7"] = 7;
hexTable["8"] = 8;
hexTable["9"] = 9;
hexTable.A = 10;
hexTable.B = 11;
hexTable.C = 12;
hexTable.D = 13;
hexTable.E = 14;
hexTable.F = 15;
}
function serialize(obj) {
var _local2 = {};
_local2.xmlStr = "";
if (debug) {
eof = newline;
}
obj2xml(_local2, obj, 0, "");
return(_local2.xmlStr);
}
function obj2xml(envelope, obj, lev, objn) {
if (lev == 0) {
envelope.xmlStr = envelope.xmlStr + ("<dataObj>" + eof);
} else {
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev);
}
var _local8 = ((obj instanceof Array) ? "a" : "o");
envelope.xmlStr = envelope.xmlStr + ((((("<obj t='" + _local8) + "' o='") + objn) + "'>") + eof);
}
for (var _local7 in obj) {
var _local2 = typeof(obj[_local7]);
var _local3 = obj[_local7];
if ((((_local2 == "boolean") || (_local2 == "number")) || (_local2 == "string")) || (_local2 == "null")) {
if (_local2 == "boolean") {
_local3 = Number(_local3);
} else if (_local2 == "null") {
_local2 = "x";
_local3 = "";
} else if (_local2 == "string") {
_local3 = encodeEntities(_local3);
}
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev + 1);
}
envelope.xmlStr = envelope.xmlStr + ((((((("<var n='" + _local7) + "' t='") + _local2.substr(0, 1)) + "'>") + _local3) + "</var>") + eof);
} else if (_local2 == "object") {
obj2xml(envelope, _local3, lev + 1, _local7);
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev + 1);
}
envelope.xmlStr = envelope.xmlStr + ("</obj>" + eof);
}
}
if (lev == 0) {
envelope.xmlStr = envelope.xmlStr + ("</dataObj>" + eof);
}
}
function deserialize(xmlObj) {
var _local3 = new XML(xmlObj);
_local3.ignoreWhite = true;
var _local2 = new Object();
xml2obj(_local3, _local2);
return(_local2);
}
function xml2obj(xmlNode, currObj) {
var _local2 = 0;
var _local3 = xmlNode.firstChild;
while (_local3.childNodes[_local2]) {
if (_local3.childNodes[_local2].nodeName == "obj") {
var _local9 = _local3.childNodes[_local2].attributes.o;
var _local7 = _local3.childNodes[_local2].attributes.t;
if (_local7 == "a") {
currObj[_local9] = [];
} else if (_local7 == "o") {
currObj[_local9] = {};
}
xml2obj(new XML(_local3.childNodes[_local2]), currObj[_local9]);
} else {
var _local9 = _local3.childNodes[_local2].attributes.n;
var _local4 = _local3.childNodes[_local2].attributes.t;
var _local8 = _local3.childNodes[_local2].firstChild.nodeValue;
var _local5;
if (_local4 == "b") {
_local5 = function (b) {
return(Boolean(Number(b)));
};
} else if (_local4 == "n") {
_local5 = Number;
} else if (_local4 == "s") {
_local5 = String;
} else if (_local4 == "x") {
_local5 = function (x) {
return(null);
};
}
currObj[_local9] = _local5(_local8);
}
_local2++;
}
}
function encodeEntities(st) {
var _local5 = "";
var _local4 = 0;
while (_local4 < st.length) {
var _local3 = st.charAt(_local4);
var _local2 = st.charCodeAt(_local4);
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 13)) {
_local5 = _local5 + _local3;
} else if ((_local2 >= 32) && (_local2 <= 126)) {
if (ascTab[_local3] != undefined) {
_local5 = _local5 + ascTab[_local3];
} else {
_local5 = _local5 + _local3;
}
} else {
_local5 = _local5 + _local3;
}
_local4++;
}
return(_local5);
}
function decodeEntities(st) {
var _local7;
var _local5;
var _local4;
var _local3;
var _local8;
var _local2 = 0;
_local7 = "";
while (_local2 < st.length) {
_local5 = st.charAt(_local2);
if (_local5 == "&") {
_local4 = _local5;
do {
_local2++;
_local3 = st.charAt(_local2);
_local4 = _local4 + _local3;
} while (_local3 != ";");
_local8 = ascTabRev[_local4];
if (_local8 != undefined) {
_local7 = _local7 + _local8;
} else {
_local7 = _local7 + String.fromCharCode(getCharCode(_local4));
}
} else {
_local7 = _local7 + _local5;
}
_local2++;
}
return(_local7);
}
function getCharCode(ent) {
var _local1 = ent.substr(3, ent.length);
_local1 = _local1.substr(0, _local1.length - 1);
return(Number("0x" + _local1));
}
}
Symbol 927 MovieClip [__Packages.it.gotoandplay.smartfoxserver.Room] Frame 0
class it.gotoandplay.smartfoxserver.Room
{
var id, name, maxUsers, maxSpectators, temp, game, priv, limbo, updatable, description, userCount, specCount, userList, variables, myPlayerIndex;
function Room (id, name, maxUsers, maxSpectators, isTemp, isGame, isPrivate) {
this.id = id;
this.name = name;
this.maxUsers = maxUsers;
this.maxSpectators = maxSpectators;
temp = isTemp;
game = isGame;
priv = isPrivate;
limbo = false;
updatable = false;
description = "";
userCount = 0;
specCount = 0;
userList = new Object();
variables = new Array();
}
function getUserList() {
return(userList);
}
function getUser(userId) {
if (typeof(userId) == "number") {
return(userList[userId]);
}
if (typeof(userId) == "string") {
for (var _local4 in userList) {
var _local2 = userList[_local4];
if (_local2.getName() == userId) {
return(_local2);
}
}
}
}
function getVariable(varName) {
return(variables[varName]);
}
function getVariables() {
return(variables);
}
function getName() {
return(name);
}
function getId() {
return(id);
}
function isTemp() {
return(temp);
}
function isGame() {
return(game);
}
function isPrivate() {
return(priv);
}
function getUserCount() {
return(userCount);
}
function getSpectatorCount() {
return(specCount);
}
function getMaxUsers() {
return(maxUsers);
}
function getMaxSpectators() {
return(maxSpectators);
}
function setMyPlayerIndex(id) {
myPlayerIndex = id;
}
function getMyPlayerIndex() {
return(myPlayerIndex);
}
function setIsLimbo(b) {
limbo = b;
}
function isLimbo() {
return(limbo);
}
}
Symbol 928 MovieClip [__Packages.it.gotoandplay.smartfoxserver.User] Frame 0
class it.gotoandplay.smartfoxserver.User
{
var id, name, variables, isSpec, isMod, pid;
function User (id, name) {
this.id = id;
this.name = name;
variables = new Object();
isSpec = false;
}
function getId() {
return(id);
}
function getName() {
return(name);
}
function getVariable(varName) {
return(variables[varName]);
}
function getVariables() {
return(variables);
}
function setIsSpectator(b) {
isSpec = b;
}
function isSpectator() {
return(isSpec);
}
function setModerator(b) {
isMod = b;
}
function isModerator() {
return(isMod);
}
function getPlayerId() {
return(pid);
}
function setPlayerId(pid) {
this.pid = pid;
}
}
Symbol 929 MovieClip [__Packages.it.gotoandplay.smartfoxserver.JSON] Frame 0
class it.gotoandplay.smartfoxserver.JSON
{
function JSON () {
}
static function stringify(arg) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
switch (typeof(arg)) {
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;
_local1 = "\"";
_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 + "\"");
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 930 MovieClip [__Packages.Alert] Frame 0
class Alert extends MovieClip
{
var engine, _parent, _visible, ok_btn, title_txt, error_txt, okHandler;
function Alert () {
super();
engine = _parent;
_visible = false;
}
function onLoad() {
ok_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function show(msg, handler, titleStr) {
title_txt.text = (titleStr ? (titleStr) : (Language.alert_lbl));
error_txt.__set__text(msg);
engine.blocker._visible = true;
_visible = true;
okHandler = handler;
Selection.setFocus(ok_btn);
}
function hide() {
_visible = false;
engine.blocker._visible = false;
}
function release(obj) {
hide();
okHandler();
}
}
Symbol 931 MovieClip [__Packages.cust.GUI.ScrollableUIElement] Frame 0
class cust.GUI.ScrollableUIElement extends MovieClip
{
function ScrollableUIElement () {
super();
}
}
Symbol 932 MovieClip [__Packages.cust.GUI.TextArea] Frame 0
class cust.GUI.TextArea extends cust.GUI.ScrollableUIElement
{
var txt, content, useHandCursor, cacheAsBitmap, width, _width, height, _height, _xscale, _yscale, rect, attachMovie, scroller;
function TextArea () {
super();
txt = content.txt;
txt.html = true;
useHandCursor = false;
cacheAsBitmap = true;
width = _width;
height = _height;
_xscale = (_yscale = 100);
content.onRollOver = Delegate.create(this, rollOver);
content.onRollOut = Delegate.create(this, rollOut);
content.useHandCursor = false;
rect = new flash.geom.Rectangle(0, 0, width, height);
content.scrollRect = rect;
txt.autoSize = true;
txt.onChanged = onChanged;
attachMovie(scrollerLinkage, "scroller", 2, {_x:width - scrollerWidth, _y:0, buttonSize:scrollerWidth});
scroller._visible = false;
txt.text = "";
}
function onLoad() {
scroller.init(this);
}
function init(it) {
txt.text = it;
}
function onChanged(isUser) {
scroller._visible = false;
rect.width = (txt._width = width);
if (totalHeight > contentHeight) {
rect.width = (txt._width = width - scrollerWidth);
scroller._visible = true;
scroller.render();
}
content.scrollRect = rect;
yPos = (yPos);
}
function rollOver() {
Mouse.addListener(this);
}
function rollOut() {
Mouse.removeListener(this);
}
function onMouseWheel(d) {
yPos = yPos - (d * mWheelSpeed);
}
function get yPos() {
return(rect.y);
}
function set yPos(n) {
if (totalHeight > contentHeight) {
var _local2 = totalHeight - contentHeight;
rect.y = ((n > 0) ? (((n < _local2) ? (n) : (_local2))) : 0);
} else {
rect.y = 0;
}
content.scrollRect = rect;
scroller.render();
//return(yPos);
}
function get maxYPos() {
if (totalHeight > contentHeight) {
return(totalHeight - contentHeight);
}
return(0);
}
function get contentHeight() {
return(height);
}
function get totalHeight() {
return(content.transform.pixelBounds.height);
}
function get text() {
return(txt.htmlText);
}
function set text(s) {
txt.htmlText = s;
onChanged(false);
//return(text);
}
function set styleSheet(s) {
txt.styleSheet = s;
//return(styleSheet);
}
function get styleSheet() {
return(txt.styleSheet);
}
function toString() {
return(txt.text);
}
var mWheelSpeed = 5;
var scrollerWidth = 15;
var scrollerLinkage = "scroller";
}
Symbol 933 MovieClip [__Packages.cust.GUI.Scroller] Frame 0
class cust.GUI.Scroller extends MovieClip
{
var attachMovie, slider, scrollTarg, up_btn, dn_btn, base, _ymouse, intId, sliderMY;
function Scroller () {
super();
attachMovie(SCROLLER_BASE_LINKAGE, "base", 0);
attachMovie(SCROLLER_BAR_LINKAGE, "slider", 1);
slider.height = slider._height;
attachMovie(UP_BTN_LINKAGE, "up_btn", 2);
attachMovie(DN_BTN_LINKAGE, "dn_btn", 3);
}
function init(st) {
scrollTarg = st;
var _local2 = scrollTarg.contentHeight;
up_btn.dir = -1;
dn_btn.dir = 1;
up_btn._width = (dn_btn._width = buttonSize);
up_btn._height = (dn_btn._height = buttonHeight);
dn_btn._y = _local2 - buttonHeight;
base._width = buttonSize;
base._height = _local2;
slider._width = buttonSize;
up_btn.pressHandler = (dn_btn.pressHandler = function () {
this._parent.onBtnDown(this.dir);
});
up_btn.dragOverHandler = (dn_btn.dragOverHandler = function () {
this._parent.onBtnDown(this.dir);
});
up_btn.releaseHandler = (dn_btn.releaseHandler = function () {
this._parent.onBtnUp();
});
up_btn.dragOutHandler = (dn_btn.dragOutHandler = function () {
this._parent.onBtnUp();
});
slider.onPress = function () {
this._parent.onSliderDown();
};
slider.onRelease = (slider.onReleaseOutside = function () {
this._parent.onSliderUp();
});
slider.onRollOut = function () {
this._parent.onSliderOut();
};
slider.onRollOver = function () {
this._parent.onSliderOver();
};
slider.drag = function () {
this._parent.onSliderDrag();
};
base.onPress = function () {
this._parent.onBaseDown();
};
base.onRelease = (base.onReleaseOutside = function () {
this._parent.onBaseUp();
});
}
function render() {
var _local2 = (scrollTarg.contentHeight / scrollTarg.totalHeight) * (scrollTarg.contentHeight - (buttonHeight * 2));
slider._height = _local2;
if (sliderDown) {
slider.gotoAndStop("down");
} else if (sliderOver) {
slider.gotoAndStop("over");
} else {
slider.gotoAndStop("up");
}
var _local4 = scrollTarg.yPos / scrollTarg.maxYPos;
var _local3 = scrollTarg.contentHeight - (_local2 + (buttonHeight * 2));
slider._y = buttonHeight + (_local4 * _local3);
}
function onBaseDown() {
var _local2 = ((_ymouse > slider._y) ? (((_ymouse > (slider._y + slider._height)) ? 1 : 0)) : -1);
scrollTarg.yPos = scrollTarg.yPos + (_local2 * scrollTarg.contentHeight);
intId = setInterval(this, "onBaseWait", pressWait);
}
function onBaseWait() {
var _local2 = ((_ymouse > slider._y) ? (((_ymouse > (slider._y + slider._height)) ? 1 : 0)) : -1);
scrollTarg.yPos = scrollTarg.yPos + (_local2 * scrollTarg.contentHeight);
clearInterval(intId);
intId = setInterval(this, "onBaseRepeat", pressRepeat);
}
function onBaseRepeat() {
var _local2 = ((_ymouse > slider._y) ? (((_ymouse > (slider._y + slider._height)) ? 1 : 0)) : -1);
scrollTarg.yPos = scrollTarg.yPos + (_local2 * scrollTarg.contentHeight);
}
function onBaseUp() {
clearInterval(intId);
delete intId;
}
function onSliderDrag() {
var _local2 = _ymouse - sliderMY;
scrollTarg.yPos = (_local2 - buttonSize) * (scrollTarg.totalHeight / (scrollTarg.contentHeight - (buttonSize * 2)));
}
function onSliderDown() {
sliderDown = true;
slider.onMouseMove = slider.drag;
sliderMY = _ymouse - slider._y;
render();
}
function onSliderUp() {
sliderDown = false;
delete slider.onMouseMove;
render();
}
function onSliderOver() {
sliderOver = true;
render();
}
function onSliderOut() {
sliderOver = false;
render();
}
function onBtnDown(dir) {
scrollTarg.yPos = scrollTarg.yPos + (dir * scrollSpeed);
intId = setInterval(this, "onPressWait", pressWait, dir);
}
function onBtnUp() {
clearInterval(intId);
delete intId;
}
function onPressWait(dir) {
scrollTarg.yPos = scrollTarg.yPos + (dir * scrollSpeed);
clearInterval(intId);
intId = setInterval(this, "onPressRepeat", pressRepeat, dir);
}
function onPressRepeat(dir) {
scrollTarg.yPos = scrollTarg.yPos + (dir * scrollSpeed);
}
var buttonSize = 15;
var buttonHeight = 15;
var baseCol = 15658734;
var baseAlpha = 0;
var btnArrowCol = 4483975;
var btnBaseCol = 4483975;
var btnBaseDownCol = 11184810;
var btnBaseOverCol = 14540253;
var sliderDown = false;
var sliderOver = false;
var scrollSpeed = 5;
var pressWait = 500;
var pressRepeat = 50;
static var UP_BTN_LINKAGE = "text_up_btn";
static var DN_BTN_LINKAGE = "text_dn_btn";
static var SCROLLER_BAR_LINKAGE = "text_scroller_bar";
static var SCROLLER_BASE_LINKAGE = "text_scroller_base";
}
Symbol 934 MovieClip [__Packages.Confirm] Frame 0
class Confirm extends MovieClip
{
var engine, _parent, _visible, ok_btn, cancel_btn, title_txt, error_txt, okHandler, cancelHandler;
function Confirm () {
super();
engine = _parent;
_visible = false;
}
function onLoad() {
ok_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
cancel_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function show(msg, okFunc, cancelFunc, titleStr) {
title_txt.text = (titleStr ? (titleStr) : (Language.confirm_lbl));
error_txt.__set__text(msg);
engine.blocker._visible = true;
_visible = true;
okHandler = okFunc;
cancelHandler = cancelFunc;
Selection.setFocus(ok_btn);
}
function hide() {
_visible = false;
engine.blocker._visible = false;
}
function release(obj) {
hide();
switch (obj.target) {
case ok_btn :
okHandler();
break;
case cancel_btn :
cancelHandler();
}
}
}
Symbol 935 MovieClip [__Packages.Anim] Frame 0
class Anim extends MovieClip
{
var stop, gotoAndPlay;
function Anim () {
super();
stop();
}
function show() {
gotoAndPlay(SHOW);
}
function hide() {
gotoAndPlay(HIDE);
}
static var SHOW = "show";
static var HIDE = "hide";
static var SHOWN = "shown";
}
Symbol 936 MovieClip [__Packages.LoginAnim] Frame 0
class LoginAnim extends Anim
{
var stop, gotoAndPlay;
function LoginAnim () {
super();
stop();
}
function show() {
gotoAndPlay(SHOW);
}
function hide() {
gotoAndPlay(HIDE);
}
static var SHOW = "show";
static var HIDE = "hide";
static var SHOWN = "shown";
}
Symbol 937 MovieClip [__Packages.Login] Frame 0
class Login extends MovieClip
{
var username_txt, engine, anim, avatar, skin_dn_btn, eyes_dn_btn, hair_dn_btn, nose_dn_btn, mouth_dn_btn, faceDetail_dn_btn, glasses_dn_btn, skin_up_btn, eyes_up_btn, hair_up_btn, nose_up_btn, mouth_up_btn, faceDetail_up_btn, glasses_up_btn, gender_male_btn, gender_female_btn, gender_robot_btn, age_0_btn, age_1_btn, age_2_btn, random_btn, quickplay_btn, join_btn;
function Login () {
super();
username_txt.maxChars = 15;
}
function init(e, profile) {
trace("login init: " + arguments);
engine = e;
anim = engine.login_anim;
username_txt.text = engine.profile._username;
this[("gender_" + profile.gender) + "_btn"].selected = true;
this[("age_" + profile.age) + "_btn"].selected = true;
profile.setAvatarSettings(avatar);
skin_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
eyes_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
hair_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
nose_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
mouth_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
faceDetail_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
glasses_dn_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
skin_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
eyes_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
hair_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
nose_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
mouth_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
faceDetail_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
glasses_up_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
gender_male_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
gender_female_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
gender_robot_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
age_0_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
age_1_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
age_2_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
random_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
quickplay_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
join_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function changeDetail(n) {
var _local2 = n.split("_");
avatar.changeFeature(_local2[0], ((_local2[1] == "up") ? 1 : -1));
engine.profile.getAvatarSettings(avatar);
}
function setGender(g) {
avatar.__set__gender(g);
engine.profile.getAvatarSettings(avatar);
}
function setAge(n) {
engine.profile.age = n;
}
function randomise() {
avatar.randomAvatar();
engine.profile.getAvatarSettings(avatar);
}
function log_in(type) {
if (!username_txt.text) {
engine.alert.show(Language.username_required);
} else {
engine.profile._username = username_txt.text;
anim.hide();
anim.onHide = Delegate.create(engine, engine.createProfile, type);
}
}
function release(obj) {
switch (obj.target) {
case random_btn :
randomise();
ProfileSounds.queueSound(ProfileSounds.PROFILE_RANDOM);
break;
case quickplay_btn :
log_in(Engine.QUICKSTART);
break;
case join_btn :
log_in(Engine.JOIN_ROOM);
break;
case gender_male_btn :
setGender(Avatar.MALE);
ProfileSounds.queueSound(ProfileSounds.PROFILE_BOY);
break;
case gender_female_btn :
setGender(Avatar.FEMALE);
ProfileSounds.queueSound(ProfileSounds.PROFILE_GIRL);
break;
case gender_robot_btn :
setGender(Avatar.ROBOT);
break;
case age_0_btn :
setAge(0);
ProfileSounds.queueSound(ProfileSounds.PROFILE_KID);
break;
case age_1_btn :
setAge(1);
ProfileSounds.queueSound(ProfileSounds.PROFILE_ADULT);
break;
case age_2_btn :
setAge(2);
ProfileSounds.queueSound(ProfileSounds.PROFILE_OLD);
break;
default :
changeDetail(obj.target._name);
_global.soundMan.playAndRemove("clicked");
}
}
}
Symbol 938 MovieClip [__Packages.Avatar] Frame 0
class Avatar extends MovieClip
{
var _gender, stop, skin, eyes, hair, nose, mouth, faceDetail, glasses, gotoAndStop;
function Avatar () {
super();
_gender = MALE;
stop();
}
function setFeature(feature, num) {
this[feature].gotoAndStop(num);
}
function getFeature(feature) {
return(this[feature]._currentframe);
}
function randomAvatar() {
skin.gotoAndStop(Rand.random(1, skin._totalframes, 0));
eyes.gotoAndStop(Rand.random(1, eyes._totalframes, 0));
hair.gotoAndStop(Rand.random(1, hair._totalframes, 0));
nose.gotoAndStop(Rand.random(1, nose._totalframes, 0));
mouth.gotoAndStop(Rand.random(1, mouth._totalframes, 0));
faceDetail.gotoAndStop(Rand.random(1, faceDetail._totalframes, 0));
glasses.gotoAndStop(Rand.random(1, glasses._totalframes, 0));
}
function changeFeature(feature, dir) {
var _local2 = this[feature];
if (dir < 0) {
if (_local2._currentframe == 1) {
_local2.gotoAndStop(_local2._totalframes);
} else {
_local2.gotoAndStop(_local2._currentframe - 1);
}
} else if (dir == 0) {
_local2.gotoAndStop(_local2._totalframes);
} else if (_local2._currentframe == _local2._totalframes) {
_local2.gotoAndStop(1);
} else {
_local2.gotoAndStop(_local2._currentframe + 1);
}
}
function get gender() {
return(_gender);
}
function set gender(g) {
if (g != _gender) {
_gender = g;
gotoAndStop(g);
}
//return(gender);
}
static var MALE = "male";
static var FEMALE = "female";
static var ROBOT = "robot";
}
Symbol 939 MovieClip [__Packages.Profile] Frame 0
class Profile
{
var engine, lv, onProfileSavedDelegate, onProfileUpdateDelegate, skin, eyes, hair, nose, mouth, faceDetail, glasses, gender, _username, uid;
function Profile (e) {
engine = e;
lv = new LoadVars();
onProfileSavedDelegate = Delegate.create(this, onProfileSavedToDB);
onProfileUpdateDelegate = Delegate.create(this, onProfileUpdatedOnDB);
}
function init(e) {
engine = e;
lv = new LoadVars();
onProfileSavedDelegate = Delegate.create(this, onProfileSavedToDB);
onProfileUpdateDelegate = Delegate.create(this, onProfileUpdatedOnDB);
}
function getAvatarSettings(avatar) {
skin = avatar.getFeature("skin");
eyes = avatar.getFeature("eyes");
hair = avatar.getFeature("hair");
nose = avatar.getFeature("nose");
mouth = avatar.getFeature("mouth");
faceDetail = avatar.getFeature("faceDetail");
glasses = avatar.getFeature("glasses");
gender = avatar.gender;
}
function setAvatarSettings(avatar) {
avatar.__set__gender(gender);
avatar.setFeature("skin", skin);
avatar.setFeature("eyes", eyes);
avatar.setFeature("hair", hair);
avatar.setFeature("nose", nose);
avatar.setFeature("mouth", mouth);
avatar.setFeature("faceDetail", faceDetail);
avatar.setFeature("glasses", glasses);
}
function makeRandom(avatar) {
avatar.__set__gender(Rand.value(Avatar.MALE, Avatar.FEMALE));
avatar.randomAvatar();
getAvatarSettings(avatar);
_username = DEFAULT_USERNAME;
age = Rand.random(0, 2, 0);
}
function saveProfileToDB() {
trace("saveProfileToDB: " + lv);
lv.skin = skin;
lv.eyes = eyes;
lv.hair = hair;
lv.nose = nose;
lv.mouth = mouth;
lv.faceDetail = faceDetail;
lv.glasses = glasses;
lv.gender = gender;
lv.username = _username;
lv.age = age;
lv.uid = uid;
lv.sendAndLoad(Engine.DB_URL + "vars/create_user.vars.php", lv, "POST");
lv.onLoad = onProfileSavedDelegate;
}
function updateProfileOnDB() {
lv.skin = skin;
lv.eyes = eyes;
lv.hair = hair;
lv.nose = nose;
lv.mouth = mouth;
lv.faceDetail = faceDetail;
lv.glasses = glasses;
lv.gender = gender;
lv.username = _username;
lv.age = age;
lv.sendAndLoad(Engine.DB_URL + "vars/edit_user.vars.php", lv, "POST");
lv.onLoad = onProfileUpdateDelegate;
}
function onProfileSavedToDB(success) {
if (success) {
if (lv.success == "true") {
uid = Number(lv.uid);
totalMeets = Number(lv.m);
totalDeletes = Number(lv.d);
engine.saveProfileToSO(this);
engine.onProfileSavedToDB(lv.rounds.split(","));
} else {
trace("save failed: " + lv.reason);
trace(lv);
}
} else {
trace("failed: http error");
}
}
function onProfileUpdatedOnDB(success) {
if (success) {
if (lv.success == "true") {
engine.throbber.stopThrob();
} else {
trace("save failed: " + lv.reason);
}
} else {
trace("failed: http error");
}
}
function toString() {
var _local4 = new XML("<profile/>");
var _local3;
var _local2;
for (var _local5 in this) {
if (_local5.indexOf(TOTAL) === -1) {
_local2 = typeof(this[_local5]);
if ((_local2 == "string") || (_local2 == "number")) {
_local3 = new XMLNode(1, _local5);
_local3.attributes.t = _local2;
_local3.appendChild(new XMLNode(3, this[_local5]));
_local4.firstChild.appendChild(_local3);
}
}
}
return(_local4.toString());
}
function fromString(str) {
var _local5 = new XML();
_local5.ignoreWhite = true;
_local5.parseXML(str);
var _local4 = _local5.firstChild;
var _local2;
var _local3 = 0;
while (_local3 < _local4.childNodes.length) {
_local2 = _local4.childNodes[_local3];
if (_local2.nodeName.indexOf(TOTAL) === -1) {
if (_local2.attributes.t == "number") {
this[_local2.nodeName] = Number(_local2.firstChild.nodeValue);
} else {
this[_local2.nodeName] = _local2.firstChild.nodeValue;
}
}
_local3++;
}
}
function get totalScore() {
return(totalMeets - totalDeletes);
}
function get username() {
return(Swears.filter(_username));
}
var age = 1;
var totalMeets = 0;
var totalDeletes = 0;
var totalNeutrals = 0;
static var DEFAULT_USERNAME = "Player";
static var TOTAL = "total";
}
Symbol 940 MovieClip [__Packages.Swears] Frame 0
class Swears
{
static var BAD_WORDS;
function Swears () {
}
static function init() {
var _local1 = 0;
BAD_WORDS = [];
while (Language["swear" + _local1]) {
BAD_WORDS.push(Language["swear" + _local1]);
_local1++;
}
}
static function filter(str, peek, replace) {
var _local2 = 0;
peek = ((peek === undefined) ? 1 : (peek));
replace = ((replace === undefined) ? (REPLACE) : (replace));
var _local1;
var _local4;
var _local6;
var _local8;
var _local7;
while (_local2 <= (BAD_WORDS.length - 1)) {
_local1 = 0;
while (_local1 < str.length) {
_local4 = 0;
_local6 = "";
_local8 = str.substr(_local1, BAD_WORDS[_local2].length).toLowerCase();
_local7 = BAD_WORDS[_local2].toLowerCase();
if (_local8 == _local7) {
while (_local4 < (BAD_WORDS[_local2].length - (2 * peek))) {
_local6 = _local6 + replace;
_local4++;
}
str = (str.substr(0, _local1 + peek) + _local6) + str.substr((_local1 - peek) + BAD_WORDS[_local2].length);
}
_local1++;
}
_local2++;
}
return(str);
}
static var REPLACE = "*";
}
Symbol 941 MovieClip [__Packages.ChooseRoomAnim] Frame 0
class ChooseRoomAnim extends Anim
{
var stop, gotoAndPlay, chooseRoom;
function ChooseRoomAnim () {
super();
stop();
}
function show() {
gotoAndPlay(Anim.SHOW);
}
function hide() {
gotoAndPlay(Anim.HIDE);
}
function onShowing() {
Selection.setFocus(chooseRoom.roomName_txt);
}
}
Symbol 942 MovieClip [__Packages.ChooseRoom] Frame 0
class ChooseRoom extends MovieClip
{
var roomName_txt, engine, anim, chooseRoom_btn, quickstart_btn;
function ChooseRoom () {
super();
Misc.setEnterHandler(roomName_txt, Delegate.create(this, roomChosen));
}
function init(e) {
engine = e;
anim = engine.chooseRoom_anim;
chooseRoom_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
quickstart_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function roomChosen() {
if (roomName_txt.text) {
anim.onHide = Delegate.create(engine, engine.joinRoom, roomName_txt.text);
anim.hide();
} else {
engine.alert.show(Language.room_name_required);
}
}
function quickstart() {
anim.onHide = Delegate.create(engine, engine.chooseAppropriateRoom);
anim.hide();
}
function release(obj) {
switch (obj.target) {
case chooseRoom_btn :
roomChosen();
break;
case quickstart_btn :
quickstart();
}
}
}
Symbol 943 MovieClip [__Packages.Misc] Frame 0
class Misc
{
function Misc () {
}
static function setEnterHandler(obj, handler, focusHandler, blurHandler) {
var _local4 = function () {
Key.addListener(this);
arguments.callee.handler();
};
var _local5 = function () {
Key.removeListener(this);
arguments.callee.handler();
};
var _local3 = function () {
if (Key.getCode() == 13) {
arguments.callee.handler();
}
};
_local4.handler = focusHandler;
_local5.handler = blurHandler;
_local3.handler = handler;
obj.onSetFocus = _local4;
obj.onKillFocus = _local5;
obj.onKeyDown = _local3;
}
static function addObjects() {
var _local4 = {};
var _local3;
var _local2;
var _local5 = 0;
while (_local5 < arguments.length) {
_local3 = arguments[_local5];
for (_local2 in _local3) {
if (!isNaN(Number(_local3[_local2]))) {
if (!_local4[_local2]) {
_local4[_local2] = 0;
}
_local4[_local2] = _local4[_local2] + Number(_local3[_local2]);
}
}
_local5++;
}
return(_local4);
}
static function shuffleArray(a) {
var _local4;
var _local3;
var _local2 = 0;
while (_local2 < a.length) {
_local4 = a[_local2];
_local3 = Math.floor(Math.random() * a.length);
a[_local2] = a[_local3];
a[_local3] = _local4;
_local2++;
}
}
static function countElements(obj) {
var _local1 = 0;
for (var _local2 in obj) {
_local1++;
}
return(_local1);
}
static function isValueInArray(a, v) {
var _local1 = a.length - 1;
while (_local1 > -1) {
if (a[_local1] === v) {
return(true);
}
_local1--;
}
return(false);
}
static function removeUnique(a) {
var _local1 = 1;
while (_local1 < a.length) {
if (a[_local1 - 1] == a[_local1]) {
a.splice(_local1, 1);
_local1--;
}
_local1++;
}
}
static function tooltipify(t, msg) {
var _local7 = function () {
if (!this.tooltip_mc) {
var _local4 = _root.getNextHighestDepth();
this.tooltip_mc = _root.attachMovie("tooltip", "tooltip" + _local4, _local4, {t:this});
var _local3 = {x:0, y:0};
this.localToGlobal(_local3);
this.tooltip_mc._x = _local3.x;
this.tooltip_mc._y = _local3.y;
}
this.tooltip_mc.gotoAndStop("show");
this.tooltip_mc.anim.msg = msg;
};
var _local6 = function () {
if (!this.tooltip_mc) {
var _local4 = _root.getNextHighestDepth();
this.tooltip_mc = _root.attachMovie("tooltip", "tooltip" + _local4, _local4, {t:this});
var _local3 = {x:0, y:0};
this.localToGlobal(_local3);
this.tooltip_mc._x = _local3.x;
this.tooltip_mc._y = _local3.y;
}
this.tooltip_mc.gotoAndStop("hide");
this.tooltip_mc.anim.msg = msg;
};
t.onDragOver = (t.onRollOver = _local7);
t.onDragOut = (t.onRollOut = _local6);
t.onUnload = function () {
this.tooltip_mc.removeMovieClip();
delete this.tooltip_mc;
};
t.tooltipmsg = msg;
}
}
Symbol 944 MovieClip [__Packages.Scores] Frame 0
class Scores extends MovieClip
{
var playerAvatar, playerInfo, playerName, playerOverallScore, addEventListener, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, p15, dispatchEvent, invite_btn, leave_btn, engine, deleteText, meetText, greenGrad, orangeGrad, redGrad, removeAllEventListeners;
function Scores () {
super();
playerAvatar = playerInfo.playerAvatar;
playerName = playerInfo.playerName;
playerOverallScore = playerInfo.scoreHolder.playerOverallScore;
cust.events.EventBroadcaster.initialise(this);
addEventListener(UPDATE, p1);
addEventListener(UPDATE, p2);
addEventListener(UPDATE, p3);
addEventListener(UPDATE, p4);
addEventListener(UPDATE, p5);
addEventListener(UPDATE, p6);
addEventListener(UPDATE, p7);
addEventListener(UPDATE, p8);
addEventListener(UPDATE, p9);
addEventListener(UPDATE, p10);
addEventListener(UPDATE, p11);
addEventListener(UPDATE, p12);
addEventListener(UPDATE, p13);
addEventListener(UPDATE, p14);
addEventListener(UPDATE, p15);
}
function onLoad() {
dispatchEvent({type:UPDATE, mode:PlayerPos.HIDE});
invite_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
leave_btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function init(e) {
engine = e;
playerName.text = engine.profile.username;
playerOverallScore.text = String(engine.profile.__get__totalScore());
engine.profile.setAvatarSettings(playerAvatar);
}
function release(obj) {
switch (obj.target) {
case invite_btn :
_root.kvEvent(403);
engine.alert.show(((Language.invite_alert_msg + " <font size=\"18\">") + engine.getRoom().getName()) + "</font>", null, Language.invite_alert_title);
break;
case leave_btn :
engine.confirm.show(Language.leave_confirm_msg, Delegate.create(engine, engine.backToStartpage), null);
}
}
function emote(emote, sender) {
dispatchEvent({type:UPDATE, mode:Engine.EMOTE, emote:Number(emote), userId:sender.getId()});
}
function updateMyScores() {
trace("updateMyScores: " + playerInfo);
playerInfo.gotoAndPlay("out");
}
function update(users) {
var _local3 = makeUsersList(users);
var _local4 = [];
var _local2 = 0;
while (_local2 < _local3.length) {
_local4.push(_local3[_local2].score);
_local2++;
}
_local4.sort(Array.NUMERIC | Array.DESCENDING);
Misc.removeUnique(_local4);
var _local6 = _local4[Math.round(_local4.length * ZONE) - 1];
var _local8 = _local4[_local4.length - Math.round(_local4.length * ZONE)];
dispatchEvent({type:UPDATE, users:_local3, topVal:_local6, bottomVal:_local8});
var _local5 = 0;
var _local7 = 0;
if ((_local6 != _local8) && (_local6 != undefined)) {
_local2 = 0;
while (_local2 < _local3.length) {
if (_local3[_local2].score >= _local6) {
_local5++;
}
if (_local3[_local2].score <= _local8) {
_local7++;
}
_local2++;
}
meetText._visible = (deleteText._visible = true);
} else {
meetText._visible = (deleteText._visible = false);
}
greenGrad._y = BASE_Y;
greenGrad._height = _local5 * PlayerPos.HEIGHT;
orangeGrad._y = BASE_Y + greenGrad._height;
orangeGrad._height = (_local3.length - (_local5 + _local7)) * PlayerPos.HEIGHT;
redGrad._y = orangeGrad._y + orangeGrad._height;
redGrad._height = _local7 * PlayerPos.HEIGHT;
meetText._y = greenGrad._y + (greenGrad._height / 2);
deleteText._y = redGrad._y + (redGrad._height / 2);
}
function makeUsersList(users) {
var _local4 = [];
var _local3;
var _local2;
var _local5 = engine.getRoomVariable(Engine.VAR_STATE);
for (var _local12 in users) {
_local3 = users[_local12];
_local2 = engine.getUserVariable(_local3, Engine.VAR_STATE);
if (((_local2 != Engine.USER_JOINED) && (_local2 != undefined)) || ((_local5 == Engine.ROOM_INIT) || (_local5 == undefined))) {
_local4.push({p:_local4.length + 1, userId:_local3.getId(), username:engine.getUserVariable(_local3, Engine.VAR_USERNAME), score:Number(engine.getUserVariable(_local3, Engine.VAR_SCORE)), user:_local3, isMe:_local3.getId() == engine.conn.myUserId});
}
}
_local4.sortOn(Engine.VAR_SCORE, Array.NUMERIC | Array.DESCENDING);
return(_local4);
}
function onUnload() {
removeAllEventListeners();
}
static var UPDATE = "update";
static var BASE_Y = 58;
static var HEIGHT = 242;
static var ZONE = 0.333333333333333;
}
Symbol 945 MovieClip [__Packages.PlayerPos] Frame 0
class PlayerPos extends MovieClip
{
var engine, _parent, _name, _visible, isPlayer, gotoAndStop, playerName, playerScore, userId, _y, emotes;
function PlayerPos () {
super();
engine = _parent._parent;
}
function setVals(users, topVal, bottomVal) {
var _local2 = 0;
while (_local2 < users.length) {
if (("p" + users[_local2].p) == _name) {
var _local3 = users[_local2];
break;
}
_local2++;
}
if (_local3) {
_visible = true;
isPlayer = _local3.isMe;
if (isPlayer) {
if (topVal == bottomVal) {
gotoAndStop(ORANGE);
} else {
gotoAndStop(((_local3.score >= topVal) ? (GREEN) : (((_local3.score <= bottomVal) ? (RED) : (ORANGE)))));
}
} else {
gotoAndStop(OFF);
}
playerName.text = _local3.username;
playerScore.text = _local3.score;
userId = _local3.userId;
_y = Scores.BASE_Y + (_local2 * HEIGHT);
} else {
_visible = false;
}
}
function update(obj) {
switch (obj.mode) {
case HIDE :
_visible = false;
break;
case Engine.EMOTE :
if (obj.userId == userId) {
emotes.playEmote(obj.emote);
}
break;
default :
setVals(obj.users, obj.topVal, obj.bottomVal);
}
}
static var HIDE = "hide";
static var HEIGHT = 16;
static var OFF = "off";
static var GREEN = "green";
static var ORANGE = "orange";
static var RED = "red";
static var SET_RESULT = "setResult";
}
Symbol 946 MovieClip [__Packages.Emotes] Frame 0
class Emotes extends MovieClip
{
var currentEmote, gotoAndPlay, emote, gotoAndStop;
function Emotes () {
super();
}
function playEmote(e) {
trace("play emote: " + e);
if (!currentEmote) {
gotoAndPlay("on");
emote.gotoAndStop(e);
currentEmote = -1;
} else {
currentEmote = e;
}
}
function endEmote() {
if (currentEmote != -1) {
gotoAndPlay("on");
emote.gotoAndStop(currentEmote);
currentEmote = -1;
} else {
delete currentEmote;
gotoAndStop("off");
}
}
}
Symbol 947 MovieClip [__Packages.Debug] Frame 0
class Debug
{
function Debug () {
}
static function each(obj) {
var _local2 = "";
for (var _local3 in obj) {
_local2 = _local2 + (((_local3 + ": ") + obj[_local3]) + newline);
}
return(_local2);
}
static function list(obj, recursive, lvl) {
var _local4 = "";
lvl = (isNaN(lvl) ? 0 : (lvl));
var _local3 = "";
recursive = (isNaN(recursive) ? 0 : (recursive));
var _local7 = 0;
while (_local7 < lvl) {
_local3 = _local3 + "\t";
_local7++;
}
if (obj instanceof Array) {
_local4 = _local4 + (("Array\n" + _local3) + "( ");
var _local8 = 0;
while (_local8 < obj.length) {
if ((recursive != lvl) && ((typeof(obj[_local8]) == "object") || (typeof(obj[_local8]) == "movieclip"))) {
_local4 = _local4 + ((("\n\t" + _local3) + arguments.callee(obj[_local8], recursive, lvl + 1)) + ",");
} else if (typeof(obj[_local8]) == "number") {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
} else {
_local4 = _local4 + ((("\n\t" + _local3) + obj[_local8]) + ",");
}
_local8++;
}
_local4 = ((_local4.substr(0, _local4.length - 1) + newline) + _local3) + ")";
} else {
_local4 = _local4 + (((((typeof(obj) != "movieclip") ? "Object" : (("MovieClip (" + obj._name) + ")")) + newline) + _local3) + "{ ");
for (var _local8 in obj) {
if ((recursive != lvl) && ((typeof(obj[_local8]) == "object") || (typeof(obj[_local8]) == "movieclip"))) {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + arguments.callee(obj[_local8], recursive, lvl + 1)) + ",");
} else if (typeof(obj[_local8]) == "number") {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
} else {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
}
}
_local4 = ((_local4.substr(0, _local4.length - 1) + newline) + _local3) + "}";
}
return(_local4);
}
}
Symbol 948 MovieClip [__Packages.WaitingForPlayers] Frame 0
class WaitingForPlayers extends MovieClip
{
var engine, _parent, names_txt;
function WaitingForPlayers () {
super();
engine = _parent._parent;
}
function update(users) {
var _local5 = "";
var _local3;
var _local2;
for (var _local6 in users) {
_local3 = users[_local6];
_local2 = engine.getUserVariable(_local3, Engine.VAR_STATE);
if (((_local2 == Engine.USER_PLAYING) || (_local2 == Engine.USER_SUBMITTING)) || (_local2 == Engine.USER_SHOWING)) {
_local5 = _local5 + (engine.getUserVariable(_local3, Engine.VAR_USERNAME) + newline);
}
}
names_txt.text = _local5;
}
}
Symbol 949 MovieClip [__Packages.Premise] Frame 0
class Premise extends MovieClip
{
var stop, engine, premiseText, premiseHolder, premiseTextShad, roundNumber_txt, roundNumberScoreTxt, roundNumberShad_txt, play;
function Premise () {
super();
stop();
engine = _global.engine;
premiseText = premiseHolder.briefing2_txt;
premiseTextShad = premiseHolder.briefing_txt;
roundNumber_txt = roundNumberScoreTxt.roundNumber_txt;
roundNumberShad_txt = roundNumberScoreTxt.roundNumber2_txt;
}
function setPremise(games, vals, game) {
var _local3 = Math.floor(games.random() * vals.length);
var _local4 = (Number(engine.getRoomVariable(Engine.VAR_ROUND)) % Engine.ROUNDS_PER_SET) + 1;
var _local5 = Language[(game + "Brief") + vals[_local3]];
premiseText.text = (premiseTextShad.text = _local5);
roundNumber_txt.text = (roundNumberShad_txt.text = (_local4 + "/") + Engine.ROUNDS_PER_SET);
_global.setTimeout(this, "onWaitComplete", WAIT_TIME);
play();
GameSounds.queueSound("round" + _local4);
GameSounds.queueSound(GameSounds.SILENCE);
GameSounds.queueSound(game + vals[_local3]);
}
function onWaitComplete() {
play();
}
var musicSounds = [0, 1, 2, 3, 4, 5, 2, 7, 7, 9, 10];
var fileSounds = [null, 1, 1, 3, 4, 5, 6, 5, 1, 4, 6, 3, 5, 4, 3, 6];
var personSounds = [0, 1, 2, 0, 4, 4, 1, 4, 2, 2, 10, 1, 2, 10, 10, 4, 0, 0, 1, 4, 4, 0, 2, 0, 10, 0, 10, 0, 2, 1, 1, 10, 10];
static var WAIT_TIME = 5000;
}
Symbol 950 MovieClip [__Packages.ResultsCount] Frame 0
class ResultsCount extends MovieClip
{
var stop, _countTo, _currentframe, onEnterFrame, gotoAndStop, play;
function ResultsCount () {
super();
stop();
}
function gotoResults() {
if (_currentframe == _countTo) {
stop();
delete onEnterFrame;
}
}
function set countTo(n) {
if (!n) {
gotoAndStop(1);
} else {
_countTo = n * 5;
onEnterFrame = gotoResults;
play();
}
//return(countTo);
}
function get countTo() {
return(_countTo / 5);
}
}
Symbol 951 MovieClip [__Packages.IconBtn] Frame 0
class IconBtn extends cust.GUI.UIBtn
{
function IconBtn () {
super();
}
}
Symbol 952 MovieClip [__Packages.EmoticonsList] Frame 0
class EmoticonsList extends MovieClip
{
var engine, _parent, icon2, icon3, icon4, icon5, icon6, icon7, icon8, icon9, icon10, icon11, icon12, icon13, icon1;
function EmoticonsList () {
super();
engine = _parent;
icon2.icon.gotoAndStop(2);
icon3.icon.gotoAndStop(3);
icon4.icon.gotoAndStop(4);
icon5.icon.gotoAndStop(5);
icon6.icon.gotoAndStop(6);
icon7.icon.gotoAndStop(7);
icon8.icon.gotoAndStop(8);
icon9.icon.gotoAndStop(9);
icon10.icon.gotoAndStop(10);
icon11.icon.gotoAndStop(11);
icon12.icon.gotoAndStop(12);
icon13.icon.gotoAndStop(13);
}
function onLoad() {
icon1.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon2.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon3.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon4.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon5.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon6.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon7.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon8.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon9.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon10.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon11.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon12.addEventListener(cust.GUI.UIBtn.RELEASE, this);
icon13.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function release(obj) {
sendEmote(obj.target.icon._currentframe);
}
function sendEmote(n) {
engine.conn.sendPublicMessage((Engine.EMOTE + Engine.MSG_SEPARATOR) + n);
}
}
Symbol 953 MovieClip [__Packages.cust.GUI.RadioBtn] Frame 0
class cust.GUI.RadioBtn extends cust.GUI.UIBtn
{
var _name, value, group, selected_mc;
function RadioBtn () {
super();
var _local3 = _name.split(DIVIDER);
value = _local3[1];
group = cust.GUI.RadioGroup.GET_RADIO_GROUP(_local3[0]);
group.addBtn(this);
selected_mc._visible = false;
}
function select(b) {
selected_mc._visible = b;
}
function get selected() {
return(selected_mc._visible);
}
function set selected(b) {
trace((this + " set selected: ") + b);
if (selected_mc._visible != b) {
if (b) {
group.release({target:this});
} else {
group.release({target:null});
}
}
selected_mc._visible = b;
//return(selected);
}
static var DIVIDER = "_";
}
Symbol 954 MovieClip [__Packages.cust.GUI.RadioGroup] Frame 0
class cust.GUI.RadioGroup extends Array
{
var name, push, length, _selectedIndex;
function RadioGroup (n) {
super();
name = n;
cust.events.EventBroadcaster.initialise(this);
}
function addBtn(btn) {
push(btn);
this[btn._name] = btn;
btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function release(obj) {
var _local2 = 0;
while (_local2 < length) {
if (this[_local2] == obj.target) {
break;
}
_local2++;
}
if (_local2 == length) {
selectedIndex = (-1);
} else if (_local2 != _selectedIndex) {
selectedIndex = (_local2);
}
}
function get value() {
return(this[_selectedIndex].value);
}
function get selectedIndex() {
return(_selectedIndex);
}
function set selectedIndex(n) {
if (n != _selectedIndex) {
this[_selectedIndex].select(false);
_selectedIndex = n;
this[_selectedIndex].select(true);
}
//return(selectedIndex);
}
static function GET_RADIO_GROUP(n) {
if (RADIO_GROUPS[n]) {
return(RADIO_GROUPS[n]);
}
return((RADIO_GROUPS[n] = new cust.GUI.RadioGroup(n)));
}
static var RADIO_GROUPS = {};
static var CHANGE = "change";
}
Symbol 955 MovieClip [__Packages.Throbber] Frame 0
class Throbber extends MovieClip
{
var stop, gotoAndPlay, msg_txt, endThrobHandler, completeMsg, gotoAndStop;
function Throbber () {
super();
stop();
}
function throb(msg, h, wait, cm) {
msg = (msg ? (msg) : (Language.please_wait));
gotoAndPlay(SHOW);
msg_txt.text = msg;
endThrobHandler = h;
endThrobWait = wait;
completeMsg = (cm ? (cm) : (Language.throb_done_default));
}
function stopThrob() {
if (endThrobWait) {
msg_txt.text = completeMsg;
gotoAndStop(FINISHED);
_global.setTimeout(this, "throbComplete", endThrobWait);
} else {
throbComplete();
}
}
function throbComplete() {
gotoAndStop(HIDE);
endThrobHandler();
delete endThrobHandler;
}
var endThrobWait = 1000;
static var SHOW = "show";
static var HIDE = "hide";
static var FINISHED = "finished";
}
Symbol 67 MovieClip Frame 1
stop();
Symbol 72 MovieClip Frame 1
stop();
Symbol 107 Button
on (release) {
getURL ("http://www.meetordelete.com", "_blank");
_root.kvClick(376);
}
Symbol 108 MovieClip Frame 1
stop();
Symbol 108 MovieClip Frame 2
stop();
Symbol 114 MovieClip Frame 1
stop();
Symbol 114 MovieClip Frame 5
stop();
Symbol 127 MovieClip [Helv65Med 11 #FFFFFF] Frame 1
#initclip 47
Object.registerClass("Helv65Med 11 #FFFFFF", Label);
#endinitclip
Symbol 129 MovieClip [HPPSG 23 #FFFFFF] Frame 1
#initclip 45
Object.registerClass("HPPSG 23 #FFFFFF", Label);
#endinitclip
Symbol 133 MovieClip [enterCompBtn] Frame 1
#initclip 46
Object.registerClass("enterCompBtn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 148 Button
on (release) {
getURL ("http://www.plush-internet.org/cellophane.htm", "_blank");
_root.kvClick(375);
}
Symbol 154 Button
on (release) {
play();
}
Symbol 156 Button
on (release) {
getURL (_global.assetsURL + "highscores.php", "_blank");
}
Symbol 158 MovieClip Frame 48
stop();
Instance of Symbol 114 MovieClip in Symbol 158 MovieClip Frame 48
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (new Sound().getVolume() == 0) {
gotoAndStop ("on");
new Sound().setVolume(100);
} else {
gotoAndStop ("off");
new Sound().setVolume(0);
}
};
}
Instance of Symbol 133 MovieClip [enterCompBtn] in Symbol 158 MovieClip Frame 48
onClipEvent (load) {
releaseHandler = function () {
getURL ("http://www.meetordelete.com", "_blank");
_root.kvClick(378);
};
}
Symbol 158 MovieClip Frame 69
_parent.play();
Symbol 162 MovieClip [HPPSG 13 #FFFFFF] Frame 1
#initclip 88
Object.registerClass("HPPSG 13 #FFFFFF", Label);
#endinitclip
Symbol 164 MovieClip [HPPSG 26 #FFFFFF] Frame 1
#initclip 48
Object.registerClass("HPPSG 26 #FFFFFF", Label);
#endinitclip
Symbol 169 MovieClip [HPPSG 40 #FFFFFF] Frame 1
#initclip 49
Object.registerClass("HPPSG 40 #FFFFFF", Label);
#endinitclip
Symbol 181 MovieClip Frame 1
stop();
Symbol 218 MovieClip Frame 1
stop();
Symbol 218 MovieClip Frame 2
stop();
Symbol 218 MovieClip Frame 3
stop();
Symbol 218 MovieClip Frame 4
stop();
Symbol 218 MovieClip Frame 5
stop();
Symbol 218 MovieClip Frame 6
stop();
Symbol 218 MovieClip Frame 7
stop();
Symbol 218 MovieClip Frame 8
stop();
Symbol 218 MovieClip Frame 9
stop();
Symbol 218 MovieClip Frame 10
stop();
Symbol 218 MovieClip Frame 11
stop();
Symbol 220 MovieClip Frame 1
stop();
Instance of Symbol 218 MovieClip "targetTune" in Symbol 220 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 220 MovieClip Frame 17
_parent.endGame();
stop();
Symbol 221 MovieClip Frame 1
ga = [];
ga[ga.length] = [0, 3, 10, 1];
ga[ga.length] = [0, 2, 9, 1];
ga[ga.length] = [1, 3, 6, 2];
ga[ga.length] = [1, 7, 9, 2];
ga[ga.length] = [6, 0, 4, 3];
ga[ga.length] = [6, 5, 9, 3];
ga[ga.length] = [2, 10, 8, 4];
ga[ga.length] = [2, 9, 6, 4];
ga[ga.length] = [4, 10, 6, 4];
ga[ga.length] = [4, 7, 0, 4];
ga[ga.length] = [3, 8, 4, 5];
ga[ga.length] = [3, 0, 7, 5];
ga[ga.length] = [5, 1, 9, 6];
ga[ga.length] = [5, 8, 4, 6];
ga[ga.length] = [7, 3, 6, 7];
ga[ga.length] = [7, 1, 6, 7];
ga[ga.length] = [8, 2, 3, 7];
ga[ga.length] = [8, 4, 5, 7];
ga[ga.length] = [9, 3, 0, 8];
ga[ga.length] = [9, 1, 8, 8];
ga[ga.length] = [10, 7, 0, 9];
ga[ga.length] = [10, 1, 6, 9];
function thingPressed() {
if (!tuneChosen) {
this.origDepth = this.getDepth();
this._xscale = (this._yscale = 125);
this.swapDepths(0);
this.startDrag(true);
this.isBeingDragged = true;
_global.soundMan.playAndRemove("clicked");
}
}
function thingDropped() {
if (this.isBeingDragged) {
this._xscale = (this._yscale = 100);
this.stopDrag();
this.swapDepths(this.origDepth);
checkCollision(this);
this._x = this.startX;
this._y = this.startY;
this.isBeingDragged = false;
}
}
function checkCollision(t) {
if (target.hitTest(t)) {
tuneChosen = t._currentframe;
target.gotoAndPlay("on");
target.targetTune._visible = true;
target.targetTune.gotoAndStop(t._currentframe);
t._visible = false;
_parent._parent.stopTimer();
}
}
function endGame() {
_parent.gameDone(tuneChosen);
}
function stopGame() {
var _local2 = 1;
while (_local2 <= numFolders) {
delete this["tune" + _local2].onPress;
_local2++;
}
}
stop();
numFolders = 3;
musicArray = new Array();
musicArray[0] = new Object();
musicArray[0].fileName = Language.ballad + ".mp3";
musicArray[0].frameName = "ballad";
musicArray[1] = new Object();
musicArray[1].fileName = Language.pop + ".mp3";
musicArray[1].frameName = "pop";
musicArray[2] = new Object();
musicArray[2].fileName = Language.soul + ".mp3";
musicArray[2].frameName = "soul";
musicArray[3] = new Object();
musicArray[3].fileName = Language.reggae + ".mp3";
musicArray[3].frameName = "reggae";
musicArray[4] = new Object();
musicArray[4].fileName = Language.electronica + ".mp3";
musicArray[4].frameName = "electronica";
musicArray[5] = new Object();
musicArray[5].fileName = Language.jazz + ".mp3";
musicArray[5].frameName = "jazz";
musicArray[6] = new Object();
musicArray[6].fileName = Language.classical + ".mp3";
musicArray[6].frameName = "classical";
musicArray[7] = new Object();
musicArray[7].fileName = Language.rock + ".mp3";
musicArray[7].frameName = "rock";
musicArray[8] = new Object();
musicArray[8].fileName = Language.country + ".mp3";
musicArray[8].frameName = "country";
musicArray[9] = new Object();
musicArray[9].fileName = Language.heavyMetal + ".mp3";
musicArray[9].frameName = "heavyMetal";
musicArray[10] = new Object();
musicArray[10].fileName = Language.rap + ".mp3";
musicArray[10].frameName = "rap";
var rules = ga[Math.floor(_parent.random() * ga.length)];
var premiseNum = rules.pop();
var v;
var r;
var i = 0;
while (i < rules.length) {
v = rules[i];
r = Math.floor(_parent.random() * rules.length);
rules[i] = rules[r];
rules[r] = v;
i++;
}
i = 1;
while (i <= numFolders) {
var chosen = rules[i - 1];
this["tune" + i].tuneTitle.text = musicArray[chosen].fileName;
this["tune" + i].gotoAndStop(musicArray[chosen].frameName);
this["tune" + i].startX = this["tune" + i]._x;
this["tune" + i].startY = this["tune" + i]._y;
this["tune" + i].tune = musicArray[chosen].frameName;
if (i > maxDisplayedMusic) {
this["tune" + i].gotoAndStop("off");
}
selectedVals.push(chosen);
this["tune" + i].onPress = thingPressed;
this["tune" + i].onMouseUp = thingDropped;
i++;
}
bg.gotoAndStop(Math.floor(_parent.random() * bg._totalframes) + 1);
_parent.premise_mc.setPremise(_parent, [premiseNum], "music");
Instance of Symbol 181 MovieClip "bg" in Symbol 221 MovieClip Frame 1
onClipEvent (load) {
gotoAndStop(Math.floor(Math.random(this._totalframes)));
}
Symbol 222 MovieClip Frame 1
onPress = function () {
};
useHandCursor = false;
Symbol 231 MovieClip [premise] Frame 1
#initclip 50
Object.registerClass("premise", Premise);
#endinitclip
Symbol 231 MovieClip [premise] Frame 8
stop();
Symbol 231 MovieClip [premise] Frame 15
_parent.play();
stop();
Instance of Symbol 169 MovieClip [HPPSG 40 #FFFFFF] "timesUp_lbl" in Symbol 338 MovieClip Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 340 MovieClip Frame 30
trace("times up!");
_parent._parent.gameDone("none");
stop();
Symbol 341 MovieClip Frame 1
stop();
Symbol 341 MovieClip Frame 101
_global.soundMan.playAndRemove("buzzer");
Symbol 370 MovieClip Frame 2
stop();
Symbol 370 MovieClip Frame 18
gotoAndPlay ("on");
Symbol 372 MovieClip Frame 1
stop();
Symbol 384 MovieClip Frame 1
stop();
Symbol 392 MovieClip Frame 1
stop();
Symbol 396 MovieClip Frame 1
stop();
Symbol 399 MovieClip Frame 1
stop();
Symbol 405 MovieClip Frame 1
stop();
Symbol 415 MovieClip Frame 1
stop();
Symbol 428 MovieClip Frame 1
stop();
Symbol 430 MovieClip Frame 1
stop();
Symbol 437 MovieClip Frame 1
stop();
Symbol 447 MovieClip Frame 1
stop();
Symbol 450 MovieClip Frame 1
stop();
Symbol 455 MovieClip Frame 1
stop();
Symbol 461 MovieClip Frame 1
stop();
Symbol 467 MovieClip Frame 1
stop();
Symbol 471 MovieClip Frame 1
stop();
Symbol 473 MovieClip [avatar] Frame 1
#initclip 51
Object.registerClass("avatar", Avatar);
#endinitclip
Symbol 474 MovieClip Frame 1
stop();
Symbol 474 MovieClip Frame 11
_parent._parent.applyAvatar();
Symbol 474 MovieClip Frame 27
_parent._parent.endGame();
stop();
Symbol 476 MovieClip Frame 1
stop();
Symbol 476 MovieClip Frame 8
stop();
_parent._parent.cueHead();
Symbol 535 MovieClip Frame 1
stop();
Symbol 539 MovieClip Frame 1
stop();
Symbol 547 MovieClip Frame 1
stop();
Symbol 551 MovieClip Frame 1
stop();
Symbol 552 MovieClip Frame 1
stop();
Symbol 554 MovieClip Frame 1
stop();
Symbol 565 MovieClip Frame 1
stop();
Symbol 568 MovieClip Frame 1
stop();
Symbol 575 MovieClip Frame 1
stop();
Symbol 588 MovieClip Frame 1
stop();
Symbol 589 MovieClip Frame 1
stop();
Symbol 592 MovieClip Frame 1
stop();
Symbol 594 MovieClip Frame 1
stop();
Symbol 596 MovieClip Frame 1
stop();
Symbol 597 MovieClip Frame 1
stop();
Symbol 598 MovieClip Frame 1
stop();
Symbol 598 MovieClip Frame 8
stop();
Symbol 598 MovieClip Frame 15
stop();
Symbol 598 MovieClip Frame 20
stop();
Symbol 611 MovieClip Frame 1
stop();
Symbol 613 MovieClip Frame 1
ga = [];
ga[ga.length] = [1, 18, 13, 1];
ga[ga.length] = [5, 26, 3, 1];
ga[ga.length] = [2, 13, 23, 2];
ga[ga.length] = [7, 10, 27, 2];
ga[ga.length] = [20, 9, 29, 2];
ga[ga.length] = [30, 8, 25, 2];
ga[ga.length] = [4, 1, 19, 3];
ga[ga.length] = [8, 28, 22, 3];
ga[ga.length] = [27, 21, 10, 3];
ga[ga.length] = [29, 6, 13, 3];
ga[ga.length] = [6, 4, 8, 4];
ga[ga.length] = [16, 14, 24, 4];
ga[ga.length] = [21, 30, 29, 4];
ga[ga.length] = [10, 26, 18, 5];
ga[ga.length] = [13, 14, 8, 5];
ga[ga.length] = [31, 28, 29, 5];
stop();
function overBody() {
if (!bodySelected) {
this.unset._xscale = (this.unset._yscale = 110);
}
}
function clickBody() {
if (!bodySelected) {
bodySelected = this._name.substr(-1, 1);
this.unset._xscale = (this.unset._yscale = 100);
_parent._parent.stopTimer();
this._parent.gotoAndPlay("body" + bodySelected);
_global.soundMan.playAndRemove("clicked");
}
}
function applyAvatar() {
trace(((">>" + this["body" + bodySelected]) + ", ") + this["body" + bodySelected].avatar);
_parent._parent.profile.setAvatarSettings(this["body" + bodySelected].avatar);
this["body" + bodySelected].avatar._visible = true;
trace(((">>>" + this["body" + bodySelected]) + ", ") + this["body" + bodySelected].avatar);
}
function cueHead() {
this["body" + bodySelected].headAnim.gotoAndPlay("selected");
_parent._parent.profile.setAvatarSettings(this["body" + bodySelected].headAnim.avatar);
}
function endGame() {
_parent.gameDone(String(this["body" + bodySelected]._currentframe));
}
function stopGame() {
var _local2 = 1;
while (_local2 <= 3) {
delete this["body" + _local2].onRollOver;
delete this["body" + _local2].onRelease;
_local2++;
}
}
function moveToTarget(target) {
this._x = ((this._x * 4) + target) / 5;
}
function bgOver() {
i = 1;
while (i <= 3) {
this._parent["body" + i].unset._xscale = (this._parent["body" + i].unset._yscale = 100);
i++;
}
}
bg.gotoAndStop(Math.floor(_parent.random() * bg._totalframes) + 1);
bg.useHandCursor = false;
bodyArray = new Array();
var rules = ga[Math.floor(_parent.random() * ga.length)];
var premiseNum = rules.pop();
var v;
var r;
i = 0;
while (i < rules.length) {
v = rules[i];
r = Math.floor(_parent.random() * rules.length);
rules[i] = rules[r];
rules[r] = v;
i++;
}
i = 1;
while (i <= 3) {
this["body" + i].bodySkin.gotoAndStop(_parent._parent.profile.skin);
this["body" + i].onRollOver = overBody;
this["body" + i].onRelease = clickBody;
this["body" + i].gotoAndStop(rules[i - 1]);
this["body" + i].avatar._visible = false;
i++;
}
bg.onRollOver = bgOver;
_parent.premise_mc.setPremise(_parent, [premiseNum], "person");
function resetAvatar() {
avatarSettings.eyes = 2;
avatarSettings.hair = 6;
avatarSettings.nose = 2;
avatarSettings.mouth = 2;
avatarSettings.faceDetail = avatarPath.faceDetail._totalframes;
avatarSettings.glasses = avatarPath.glasses._totalframes;
}
function updateAvatar(p) {
if (!p) {
p = avatarPath;
}
p.gotoAndStop(avatarSettings.gender);
p.hair.gotoAndStop(avatarSettings.hair);
p.skin.gotoAndStop(avatarSettings.skin);
p.faceDetail.gotoAndStop(avatarSettings.faceDetail);
p.glasses.gotoAndStop(avatarSettings.glasses);
p.mouth.gotoAndStop(avatarSettings.mouth);
p.nose.gotoAndStop(avatarSettings.nose);
p.eyes.gotoAndStop(avatarSettings.eyes);
if (avatarSettings.gender == "robot") {
p._parent.bodySkin.gotoAndStop("robot");
} else {
p._parent.bodySkin.gotoAndStop(avatarSettings.skin);
}
}
function updateAllAvatars() {
updateAvatar(bodySmall.avatar);
updateAvatar(avatarSmall);
updateAvatar();
}
avatarPath = avatarSmall;
if (!avatarSettings) {
avatarSettings = new Object();
avatarSettings.gender = "male";
avatarSettings.skin = 1;
}
resetAvatar();
updateAllAvatars();
stop();
Symbol 613 MovieClip Frame 16
this["body" + bodySelected].unset.gotoAndPlay("out");
stop();
Symbol 613 MovieClip Frame 31
this["body" + bodySelected].unset.gotoAndPlay("out");
stop();
Symbol 613 MovieClip Frame 46
this["body" + bodySelected].unset.gotoAndPlay("out");
stop();
Symbol 615 MovieClip Frame 1
stop();
Symbol 684 MovieClip Frame 1
setTheAvatar();
Symbol 684 MovieClip Frame 2
setTheAvatar();
Symbol 684 MovieClip Frame 3
setTheAvatar();
Symbol 684 MovieClip Frame 4
setTheAvatar();
Symbol 684 MovieClip Frame 5
setTheAvatar();
Symbol 684 MovieClip Frame 6
setTheAvatar();
Symbol 684 MovieClip Frame 7
setTheAvatar();
Symbol 684 MovieClip Frame 8
setTheAvatar();
Symbol 684 MovieClip Frame 9
setTheAvatar();
Symbol 684 MovieClip Frame 10
setTheAvatar();
Symbol 684 MovieClip Frame 11
setTheAvatar();
Symbol 684 MovieClip Frame 12
setTheAvatar();
Symbol 684 MovieClip Frame 13
setTheAvatar();
Symbol 684 MovieClip Frame 14
setTheAvatar();
Symbol 684 MovieClip Frame 15
setTheAvatar();
Symbol 684 MovieClip Frame 16
setTheAvatar();
Symbol 684 MovieClip Frame 17
setTheAvatar();
Symbol 684 MovieClip Frame 18
setTheAvatar();
Symbol 684 MovieClip Frame 19
setTheAvatar();
Symbol 684 MovieClip Frame 20
setTheAvatar();
Symbol 685 MovieClip Frame 1
stop();
Symbol 685 MovieClip Frame 6
stop();
Symbol 686 MovieClip Frame 1
ga = [];
ga[ga.length] = [16, 15, 7, 1];
ga[ga.length] = [19, 14, 13, 1];
ga[ga.length] = [19, 6, 11, 1];
ga[ga.length] = [20, 10, 2, 2];
ga[ga.length] = [18, 15, 8, 2];
ga[ga.length] = [16, 14, 3, 2];
ga[ga.length] = [4, 1, 19, 3];
ga[ga.length] = [8, 10, 20, 3];
ga[ga.length] = [13, 14, 16, 3];
ga[ga.length] = [5, 12, 3, 4];
ga[ga.length] = [18, 15, 9, 4];
ga[ga.length] = [18, 6, 11, 4];
ga[ga.length] = [17, 10, 9, 5];
ga[ga.length] = [16, 12, 7, 5];
ga[ga.length] = [17, 20, 13, 5];
function fileSelected() {
gotoAndPlay(this._name + "Selected");
selectedImage = String(this.image._currentframe);
_global.soundMan.playAndRemove("clicked");
engine.stopTimer();
}
function endGame() {
_parent.gameDone(selectedImage);
}
function stopGame() {
var _local2 = 1;
while (_local2 <= numFiles) {
delete this["file" + _local2].onRelease;
_local2++;
}
}
stop();
numFiles = 3;
i = 0;
var rules = ga[Math.floor(_parent.random() * ga.length)];
var premiseNum = rules.pop();
var v;
var r;
i = 0;
while (i < rules.length) {
v = rules[i];
r = Math.floor(_parent.random() * rules.length);
rules[i] = rules[r];
rules[r] = v;
i++;
}
i = 0;
while (i < numFiles) {
this["file" + (i + 1)].image.gotoAndStop(rules[i]);
this["file" + (i + 1)].onRelease = fileSelected;
this["file" + (i + 1)].image.filename_txt.text = Language["filename" + rules[i]];
_parent._parent.profile.setAvatarSettings(this["file" + (i + 1)].image.avatar);
i++;
}
_parent.premise_mc.setPremise(_parent, [premiseNum], "file");
bg.gotoAndStop(Math.floor(_parent.random() * bg._totalframes) + 1);
Symbol 686 MovieClip Frame 19
stop();
endGame();
Symbol 686 MovieClip Frame 34
stop();
endGame();
Symbol 686 MovieClip Frame 50
stop();
endGame();
Symbol 688 MovieClip [waitingForPlayers] Frame 1
#initclip 52
Object.registerClass("waitingForPlayers", WaitingForPlayers);
#endinitclip
Symbol 691 MovieClip [results.count] Frame 1
#initclip 53
Object.registerClass("results.count", ResultsCount);
#endinitclip
Symbol 693 MovieClip Frame 1
stop();
Symbol 693 MovieClip Frame 2
stop();
Symbol 693 MovieClip Frame 3
stop();
Symbol 693 MovieClip Frame 4
stop();
Symbol 693 MovieClip Frame 5
stop();
Symbol 693 MovieClip Frame 6
stop();
Symbol 693 MovieClip Frame 7
stop();
Symbol 693 MovieClip Frame 8
stop();
Symbol 693 MovieClip Frame 9
stop();
Symbol 693 MovieClip Frame 10
stop();
Symbol 693 MovieClip Frame 11
stop();
Symbol 740 MovieClip Frame 1
stop();
Symbol 740 MovieClip Frame 3
stop();
Symbol 740 MovieClip Frame 8
stop();
Instance of Symbol 684 MovieClip "choice" in Symbol 740 MovieClip Frame 8
onClipEvent (load) {
avatar._visible = false;
}
Symbol 740 MovieClip Frame 13
stop();
Symbol 740 MovieClip Frame 19
stop();
Symbol 743 MovieClip [Helv65Med 12 #000000] Frame 1
#initclip 54
Object.registerClass("Helv65Med 12 #000000", Label);
#endinitclip
Symbol 745 MovieClip [HPPSG 24 #FFFFFF] Frame 1
#initclip 55
Object.registerClass("HPPSG 24 #FFFFFF", Label);
#endinitclip
Symbol 747 MovieClip [HPPSG 48 #FFFFFF] Frame 1
#initclip 56
Object.registerClass("HPPSG 48 #FFFFFF", Label);
#endinitclip
Symbol 749 MovieClip [HPPSG 36 #FFFFFF] Frame 1
#initclip 57
Object.registerClass("HPPSG 36 #FFFFFF", Label);
#endinitclip
Symbol 750 MovieClip Frame 1
gotoAndStop(_parent._parent.setResult);
Instance of Symbol 745 MovieClip [HPPSG 24 #FFFFFF] "endOfSet_lbl" in Symbol 750 MovieClip Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 750 MovieClip Frame 2
stop();
GameSounds.queueSound(GameSounds.SET_MEET);
Instance of Symbol 747 MovieClip [HPPSG 48 #FFFFFF] "meet_lbl" in Symbol 750 MovieClip Frame 2
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 745 MovieClip [HPPSG 24 #FFFFFF] "congratulationsCopy_lbl" in Symbol 750 MovieClip Frame 2
onClipEvent (load) {
autoSize = "center";
align = "center";
}
Instance of Symbol 749 MovieClip [HPPSG 36 #FFFFFF] "congratulations_lbl" in Symbol 750 MovieClip Frame 2
onClipEvent (load) {
autoSize = "center";
}
Symbol 750 MovieClip Frame 11
stop();
GameSounds.queueSound(GameSounds.SET_DELETE);
Instance of Symbol 747 MovieClip [HPPSG 48 #FFFFFF] "deleted_lbl" in Symbol 750 MovieClip Frame 11
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 745 MovieClip [HPPSG 24 #FFFFFF] "ohnoCopy_lbl" in Symbol 750 MovieClip Frame 11
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 749 MovieClip [HPPSG 36 #FFFFFF] "ohno_lbl" in Symbol 750 MovieClip Frame 11
onClipEvent (load) {
autoSize = "center";
}
Symbol 750 MovieClip Frame 18
stop();
GameSounds.queueSound(GameSounds.SET_NEUTRAL);
Instance of Symbol 747 MovieClip [HPPSG 48 #FFFFFF] "neutral_lbl" in Symbol 750 MovieClip Frame 18
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 745 MovieClip [HPPSG 24 #FFFFFF] "yourRankIs_lbl" in Symbol 750 MovieClip Frame 18
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 745 MovieClip [HPPSG 24 #FFFFFF] "neutralCopy_lbl" in Symbol 750 MovieClip Frame 18
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 1
#initclip 58
Object.registerClass("allgames", Games);
#endinitclip
_parent.updateWaitingForUsersCount();
Instance of Symbol 162 MovieClip [HPPSG 13 #FFFFFF] "players_required_lbl" in Symbol 752 MovieClip [allgames] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 164 MovieClip [HPPSG 26 #FFFFFF] "waitingForPlayers_lbl" in Symbol 752 MovieClip [allgames] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 9
function triggerRandSound() {
if (doTriggerRandomSound) {
GameSounds.queueSound(GameSounds.WAITING_FOR_PLAYERS + waitingSounds[waitIndex]);
waitIndex = (waitIndex + 1) % waitingSounds.length;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
}
}
onReachedState();
var minWait = 8000;
var maxWait = 10000;
waitingSounds = [1, 2, 3, 4, 5, 6, 7];
var waitIndex = 0;
var doTriggerRandomSound = true;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
Symbol 752 MovieClip [allgames] Frame 10
delete doTriggerRandomSound;
Symbol 752 MovieClip [allgames] Frame 17
onChangeState();
Symbol 752 MovieClip [allgames] Frame 18
hint_txt.htmlText = Language["hint" + Rand.random(0, 9, 0)];
Instance of Symbol 164 MovieClip [HPPSG 26 #FFFFFF] "startOfRound_lbl" in Symbol 752 MovieClip [allgames] Frame 18
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 169 MovieClip [HPPSG 40 #FFFFFF] "getReady_lbl" in Symbol 752 MovieClip [allgames] Frame 18
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 30
onReachedState();
setTimeout(this, "goToState", Games.SET_START_SCREEN_WAIT, engine.curGameName);
GameSounds.queueSound(GameSounds.START_SET);
Symbol 752 MovieClip [allgames] Frame 40
onChangeState();
Symbol 752 MovieClip [allgames] Frame 41
stop();
Symbol 752 MovieClip [allgames] Frame 42
engine.startGameTimer();
Symbol 752 MovieClip [allgames] Frame 48
onReachedState();
Symbol 752 MovieClip [allgames] Frame 53
onChangeState();
Symbol 752 MovieClip [allgames] Frame 54
stop();
Symbol 752 MovieClip [allgames] Frame 55
engine.startGameTimer();
Symbol 752 MovieClip [allgames] Frame 59
onReachedState();
Symbol 752 MovieClip [allgames] Frame 64
onChangeState();
Symbol 752 MovieClip [allgames] Frame 65
stop();
Symbol 752 MovieClip [allgames] Frame 66
engine.startGameTimer();
Symbol 752 MovieClip [allgames] Frame 72
onReachedState();
Symbol 752 MovieClip [allgames] Frame 78
onChangeState();
Symbol 752 MovieClip [allgames] Frame 79
waitingForPlayers.update(_parent.getRoom().getUserList());
Instance of Symbol 164 MovieClip [HPPSG 26 #FFFFFF] "waitingForPlayersToFinish_lbl" in Symbol 752 MovieClip [allgames] Frame 79
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 87
function triggerRandSound() {
if (doTriggerRandomSound) {
GameSounds.queueSound(GameSounds.WAITING_FOR_PLAYERS + waitingSounds[waitIndex]);
waitIndex = (waitIndex + 1) % waitingSounds.length;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
}
}
onReachedState();
var minWait = 8000;
var maxWait = 10000;
waitingSounds = [1, 2, 3, 4, 5, 8];
var waitIndex = 0;
var doTriggerRandomSound = true;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
Symbol 752 MovieClip [allgames] Frame 88
doTriggerRandomSound = false;
Symbol 752 MovieClip [allgames] Frame 95
onChangeState();
Symbol 752 MovieClip [allgames] Frame 96
_parent.onShowResults();
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "rolloverAvatars_lbl" in Symbol 752 MovieClip [allgames] Frame 96
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 99
_global.soundMan.playAndRemove(_parent.crowdId);
trace("crowd id:" + _parent.crowdId);
Symbol 752 MovieClip [allgames] Frame 104
onReachedState();
_parent.onStartDisplayResults();
GameSounds.queueSound(_parent.voiceId);
Symbol 752 MovieClip [allgames] Frame 112
onChangeState();
Symbol 752 MovieClip [allgames] Frame 113
GameSounds.queueSound(GameSounds.SET_END);
GameSounds.queueSound(GameSounds.SILENCE);
Instance of Symbol 750 MovieClip "resultDisplay_lbl" in Symbol 752 MovieClip [allgames] Frame 113
onClipEvent (load) {
gotoAndStop(_parent._parent.setResult);
trace(_parent._parent.setResult);
}
Symbol 752 MovieClip [allgames] Frame 138
onReachedState();
_parent.scores.updateMyScores();
Symbol 752 MovieClip [allgames] Frame 144
onChangeState();
Symbol 752 MovieClip [allgames] Frame 145
_parent.setUserWaitingMessage();
Instance of Symbol 164 MovieClip [HPPSG 26 #FFFFFF] "roundInProgress_lbl" in Symbol 752 MovieClip [allgames] Frame 145
onClipEvent (load) {
autoSize = "center";
}
Symbol 752 MovieClip [allgames] Frame 152
function triggerRandSound() {
if (doTriggerRandomSound) {
GameSounds.queueSound(GameSounds.WAITING_FOR_PLAYERS + waitingSounds[waitIndex]);
waitIndex = (waitIndex + 1) % waitingSounds.length;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
}
}
onReachedState();
var minWait = 8000;
var maxWait = 10000;
waitingSounds = [1, 2, 3, 4, 5, 8];
var waitIndex = 0;
var doTriggerRandomSound = true;
setTimeout(triggerRandSound, Rand.random(minWait, maxWait, 0));
Symbol 752 MovieClip [allgames] Frame 153
doTriggerRandomSound = false;
Symbol 752 MovieClip [allgames] Frame 161
onChangeState();
Symbol 752 MovieClip [allgames] Frame 163
onReachedState();
Symbol 752 MovieClip [allgames] Frame 164
onChangeState();
Symbol 758 MovieClip [HPPSG 14 #FFFFFF] Frame 1
#initclip 59
Object.registerClass("HPPSG 14 #FFFFFF", Label);
#endinitclip
Symbol 761 MovieClip [inviteAFriend] Frame 1
#initclip 60
Object.registerClass("inviteAFriend", cust.GUI.UIBtn);
#endinitclip
Symbol 766 MovieClip [leaveThisRoomBtn] Frame 1
#initclip 61
Object.registerClass("leaveThisRoomBtn", cust.GUI.UIBtn);
#endinitclip
Symbol 770 MovieClip Frame 1
stop();
Symbol 770 MovieClip Frame 5
stop();
Symbol 796 MovieClip Frame 1
stop();
Symbol 797 MovieClip [emoteBubble] Frame 1
#initclip 62
Object.registerClass("emoteBubble", Emotes);
#endinitclip
Symbol 797 MovieClip [emoteBubble] Frame 2
stop();
Symbol 797 MovieClip [emoteBubble] Frame 4
_global.soundMan.playAndRemove("emoticon");
Symbol 797 MovieClip [emoteBubble] Frame 47
endEmote();
Symbol 806 MovieClip [inGameSidePanel.playerInfo] Frame 1
#initclip 63
Object.registerClass("inGameSidePanel.playerInfo", PlayerPos);
#endinitclip
stop();
Symbol 809 MovieClip Frame 1
stop();
Symbol 809 MovieClip Frame 22
engine.onStartSet();
Symbol 813 MovieClip [Helv65Med 13 #000000] Frame 1
#initclip 64
Object.registerClass("Helv65Med 13 #000000", Label);
#endinitclip
Symbol 819 MovieClip Frame 1
engine.setMyScore();
Symbol 819 MovieClip Frame 10
stop();
Symbol 819 MovieClip Frame 27
gotoAndPlay ("in");
Symbol 820 MovieClip [inGameSidePanel] Frame 1
#initclip 65
Object.registerClass("inGameSidePanel", Scores);
#endinitclip
Instance of Symbol 770 MovieClip in Symbol 820 MovieClip [inGameSidePanel] Frame 1
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (new Sound().getVolume() == 0) {
gotoAndStop ("on");
new Sound().setVolume(100);
} else {
gotoAndStop ("off");
new Sound().setVolume(0);
}
};
}
Symbol 823 MovieClip [iconBtn] Frame 1
#initclip 66
Object.registerClass("iconBtn", IconBtn);
#endinitclip
stop();
Symbol 824 MovieClip [emoticons] Frame 1
#initclip 67
Object.registerClass("emoticons", EmoticonsList);
#endinitclip
Symbol 833 MovieClip [HPPSG 12 #FFFFFF] Frame 1
#initclip 68
Object.registerClass("HPPSG 12 #FFFFFF", Label);
#endinitclip
Symbol 836 MovieClip [randomiseBtn] Frame 1
#initclip 69
Object.registerClass("randomiseBtn", cust.GUI.UIBtn);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "randomise_lbl" in Symbol 836 MovieClip [randomiseBtn] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 843 MovieClip [playBtn] Frame 1
#initclip 70
Object.registerClass("playBtn", cust.GUI.UIBtn);
#endinitclip
Instance of Symbol 169 MovieClip [HPPSG 40 #FFFFFF] "quickstart_lbl" in Symbol 843 MovieClip [playBtn] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 847 MovieClip [btn] Frame 1
#initclip 71
Object.registerClass("btn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 851 MovieClip [radioBtn] Frame 1
#initclip 72
Object.registerClass("radioBtn", cust.GUI.RadioBtn);
#endinitclip
Symbol 868 MovieClip [joinRoomBtn] Frame 1
#initclip 73
Object.registerClass("joinRoomBtn", cust.GUI.UIBtn);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "join_lbl" in Symbol 868 MovieClip [joinRoomBtn] Frame 1
onClipEvent (load) {
autoSize("center");
}
Symbol 869 MovieClip [login] Frame 1
#initclip 74
Object.registerClass("login", Login);
#endinitclip
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "hair_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "eyes_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "skin_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "nose_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "mouth_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "faceDetail_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 743 MovieClip [Helv65Med 12 #000000] "glasses_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "left";
}
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "or_lbl" in Symbol 869 MovieClip [login] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 870 MovieClip [login_anim] Frame 1
#initclip 75
Object.registerClass("login_anim", LoginAnim);
#endinitclip
Symbol 870 MovieClip [login_anim] Frame 2
onShowing();
Symbol 870 MovieClip [login_anim] Frame 9
stop();
ProfileSounds.queueSound(ProfileSounds.PROFILE_INTRO);
onShow();
Symbol 870 MovieClip [login_anim] Frame 10
onHiding();
Symbol 870 MovieClip [login_anim] Frame 15
stop();
onHide();
Symbol 875 MovieClip [genBtn wide] Frame 1
#initclip 76
Object.registerClass("genBtn wide", cust.GUI.UIBtn);
#endinitclip
Symbol 877 MovieClip [chooseRoom] Frame 1
#initclip 77
Object.registerClass("chooseRoom", ChooseRoom);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "chooseRoom_lbl" in Symbol 877 MovieClip [chooseRoom] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "playMainGame_lbl" in Symbol 877 MovieClip [chooseRoom] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 878 MovieClip [chooseRoomAnim] Frame 1
#initclip 78
Object.registerClass("chooseRoomAnim", ChooseRoomAnim);
#endinitclip
Symbol 878 MovieClip [chooseRoomAnim] Frame 2
onShowing();
Symbol 878 MovieClip [chooseRoomAnim] Frame 8
stop();
onShow();
Symbol 878 MovieClip [chooseRoomAnim] Frame 9
onHiding();
Symbol 878 MovieClip [chooseRoomAnim] Frame 16
stop();
onHide();
Symbol 880 MovieClip [Helv65Med 15 #23345F] Frame 1
#initclip 79
Object.registerClass("Helv65Med 15 #23345F", Label);
#endinitclip
Symbol 884 MovieClip [skipBtn] Frame 1
#initclip 80
Object.registerClass("skipBtn", cust.GUI.UIBtn);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "skip_lbl" in Symbol 884 MovieClip [skipBtn] Frame 1
onClipEvent (load) {
autoSize("center");
}
Symbol 885 MovieClip [nextBtn] Frame 1
#initclip 81
Object.registerClass("nextBtn", cust.GUI.UIBtn);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "play_lbl" in Symbol 885 MovieClip [nextBtn] Frame 1
onClipEvent (load) {
autoSize("center");
}
Symbol 886 MovieClip Frame 1
stop();
ProfileSounds.queueSound(ProfileSounds.INTRODUCTION, function () {
play();
});
skip_btn.releaseHandler = function () {
if (ProfileSounds.isSoundPlaying()) {
ProfileSounds.interrupt(ProfileSounds.SKIP_IT);
}
_parent.play();
};
Symbol 886 MovieClip Frame 5
next_btn.releaseHandler = function () {
_parent.play();
};
Instance of Symbol 885 MovieClip [nextBtn] "next_btn" in Symbol 886 MovieClip Frame 5
on (release) {
gotoAndPlay ("three");
}
Symbol 886 MovieClip Frame 8
stop();
Symbol 887 MovieClip Frame 2
onShowing();
Symbol 887 MovieClip Frame 9
stop();
Symbol 887 MovieClip Frame 10
onHiding();
Symbol 887 MovieClip Frame 15
stop();
_parent.play();
Symbol 895 MovieClip [throbber] Frame 1
#initclip 82
Object.registerClass("throbber", Throbber);
#endinitclip
Symbol 895 MovieClip [throbber] Frame 2
stop();
Symbol 895 MovieClip [throbber] Frame 11
stop();
Symbol 895 MovieClip [throbber] Frame 15
stop();
Symbol 898 MovieClip [genBtn] Frame 1
#initclip 83
Object.registerClass("genBtn", cust.GUI.UIBtn);
#endinitclip
Symbol 902 MovieClip [textArea] Frame 1
#initclip 84
Object.registerClass("textArea", cust.GUI.TextArea);
#endinitclip
Symbol 903 MovieClip [alert] Frame 1
#initclip 85
Object.registerClass("alert", Alert);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "ok_lbl" in Symbol 903 MovieClip [alert] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 906 MovieClip [confirm] Frame 1
#initclip 86
Object.registerClass("confirm", Confirm);
#endinitclip
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "cancel_lbl" in Symbol 906 MovieClip [confirm] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Instance of Symbol 833 MovieClip [HPPSG 12 #FFFFFF] "ok_lbl" in Symbol 906 MovieClip [confirm] Frame 1
onClipEvent (load) {
autoSize = "center";
}
Symbol 910 Button
on (release) {
getURL ("http://www.meetordelete.com", "_blank");
_root.kvClick(376);
}
Symbol 911 MovieClip [engine] Frame 1
#initclip 87
Object.registerClass("engine", Engine);
#endinitclip
stop();
init();
_global.music_snd.fadeTo(25, 2);
Symbol 911 MovieClip [engine] Frame 2
stop();
initSFS();
showLogin();
Instance of Symbol 133 MovieClip [enterCompBtn] in Symbol 911 MovieClip [engine] Frame 13
onClipEvent (load) {
releaseHandler = function () {
getURL ("http://www.meetordelete.com", "_blank");
_root.kvClick(378);
};
}
Symbol 911 MovieClip [engine] Frame 15
stop();
games.play();
Symbol 911 MovieClip [engine] Frame 26
endConnection();
gotoAndStop ("login");