Frame 1
_global.masterDomain = "swarm.killerviral.com";
_global.assetsURL = "http://www.legendofsurf.com/";
_global.highscoresURL = "http://highscores.killerviral.com/legendofsurf/";
_global.gameDomain = "http://www.legendofsurf.com/";
_global.gameURL = _global.gameDomain + "play/";
_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));
System.security.allowDomain(_global.masterDomain);
var game_version = 1;
if (!testMode) {
stop();
if (playerVersion < 8) {
loadMovie (_global.assetsURL + "error.swf", _root);
} else if (isMaster) {
play();
} else {
var vc_lv = new LoadVars();
vc_lv.onLoad = function (success) {
clearInterval(tOIntId);
delete tOIntId;
if (success) {
if (Number(vc_lv.v) > game_version) {
loadMovie ((_global.assetsURL + "surfgame.swf?ori_dom=") + ori_dom, _root);
} else {
play();
}
} else {
play();
}
delete vc_lv;
};
tOIntId = setInterval(timeout, 2000);
vc_lv.load(_global.assetsURL + "v.php");
}
}
Frame 2
function onGetPlayer(success) {
if (success) {
if (this.res == "ok") {
player.lId = Number(this.lId);
player.loadstate = "ok";
player.username = this.username;
player.firstName = this.firstName;
player.lastName = this.lastName;
player.gender = this.gender;
player.medal = this.medal;
player.skinC = Number(this.skinC);
player.hairC = Number(this.hairC);
player.hairS = this.hairS;
player.board = Number(this.board);
player.medal = this.medal;
player.avatarStr = this.avatar;
player.score = Number(this.score);
player.highestLevel = Number(this.highestLevel);
player.rank = this.rank;
player.music = ((this.music != "") ? (this.music) : (standardMusicUrl));
player.custom = this.custom;
} else {
loadFromSO();
player.loadstate = this.res;
}
} else {
loadFromSO();
player.loadstate = "error";
}
player.loaded = true;
player.broadcastMessage("playerLoaded");
}
function loadFromSO() {
trace("loadFromSo");
var _local3 = getSharedObject();
if (_global.so.data.savegame) {
trace("using game saved in SO");
var _local2 = _global.so.data.savegame;
AsBroadcaster.initialize(_local2);
switchListener(_global.player, _global.so.data.savegame);
_global.player = _global.so.data.savegame;
} else {
setDefaultPlayer();
}
}
function loadGame(gamecode) {
trace("loadGame: " + gamecode);
var _local2 = new LoadVars();
_local2.onLoad = onLoadGame;
_local2.gamecode = gamecode;
_local2.sendAndLoad(_global.widgetsURL + "/vars/loadPlayer.vars.php", _local2, "GET");
}
function onLoadGame(success) {
if (success) {
if (this.res == "ok") {
trace("onLoadGame: ok");
player.lId = Number(this.lId);
player.gamecode = this.gamecode;
player.isOwner = true;
player.isSaved = true;
player.loadstate = "ok";
player.username = this.username;
player.firstName = this.firstName;
player.lastName = this.lastName;
player.gender = this.gender;
player.medal = this.medal;
player.skinC = Number(this.skinC);
player.hairC = Number(this.hairC);
player.hairS = this.hairS;
player.board = Number(this.board);
player.medal = this.medal;
player.avatarStr = this.avatar;
player.score = Number(this.score);
player.highestLevel = Number(this.highestLevel);
player.rank = this.rank;
player.music = ((this.music != "") ? (this.music) : (standardMusicUrl));
player.custom = this.custom;
_global.avatarSrc = _global.avatar;
_global.avatar.fromString(this.avatar);
} else {
trace((("onLoadGame: fail, " + this.res) + ", ") + this.query);
player.loadstate = this.res;
}
} else {
trace("onLoadGame: error");
loadFromSO();
player.loadstate = "error";
}
player.loaded = true;
trace("broadcast to: " + player._listeners);
player.broadcastMessage("playerLoaded", this.res);
}
function getPlayer(id, gamecode) {
trace("getPlayer: " + arguments);
if (_global.soLoadState == "error") {
loadFromSO();
player.loaded = true;
player.broadcastMessage("playerLoaded");
} else if (!(gamecode === undefined)) {
loadGame(gamecode);
} else if (Number(id) > 0) {
var _local3 = new LoadVars();
_local3.onLoad = onGetPlayer;
_local3.lId = id;
_local3.sendAndLoad(_global.widgetsURL + "/vars/getPlayer.vars.php", _local3, "GET");
} else {
var _local4 = getSharedObject();
if (_local4.data.savegame) {
loadGame(_local4.data.savegame.gamecode);
return(undefined);
}
setDefaultPlayer();
trace("using default player");
player.broadcastMessage("playerLoaded");
}
}
function newPlayer() {
_global.player = {firstName:"New", lastName:"Player", isOwner:true, highestLevel:0, loaded:true, gender:"m", medal:"b", rank:"unranked", skinC:1, hairC:3, hairS:"long haired", board:0, score:0, music:standardMusicUrl, avatar:_global.avatarPath, avatarStr:_global.avatarPath.toString()};
_global.player.skinC = _global.avatarPath.skinColour;
_global.player.hairS = _global.getHairStyleName(_global.avatarPath.hair._currentframe);
_global.player.hairC = _global.avatarPath.hair.colour;
}
function httpstatus(httpStatus) {
var _local1;
if (httpStatus < 100) {
_local1 = "flashError";
} else if (httpStatus < 200) {
_local1 = "informational";
} else if (httpStatus < 300) {
_local1 = "successful";
} else if (httpStatus < 400) {
_local1 = "redirection";
} else if (httpStatus < 500) {
_local1 = "clientError";
} else if (httpStatus < 600) {
_local1 = "serverError";
}
trace(((("http: " + httpStatus) + " (") + _local1) + ")");
}
function savePlayer(callBack, errorCallback) {
if (player.isOwner) {
if (!player.lId) {
trace("is saving");
var _local3 = new LoadVars();
var _local4 = _global.root.fakeWidget;
var _local8 = _local4.losLogo.displayName_mc;
_local4._visible = true;
var _local9 = new flash.geom.Matrix();
_local9.scale(0.85, 0.85);
var _local7 = Image.snapshot(_local8, true, {matrix:_local9});
_local4._visible = false;
_local3.first = player.firstName;
_local3.last = player.lastName;
_local3.avatar = player.avatarStr;
_local3.gender = player.gender;
_local3.board = player.board;
_local3.score = player.score;
_local3.highestLevel = player.highestLevel;
_local3.onLoad = Delegate.create(_local3, onGameSaved, callBack, errorCallback);
_local3.onHTTPStatus = httpstatus;
var _local5 = new ImageSerialise();
var _local6 = {};
_local6[ImageSerialise.ON_COMPLETE] = Delegate.create(this, nameSerialised, _local3);
_local5.addListener(_local6);
_local5.imageToString(_local7, 36);
} else {
trace("updating");
autosave();
}
} else {
trace("not owner");
}
}
function autosave() {
if (player.lId) {
var _local2 = new LoadVars();
_local2.lId = player.lId;
_local2.score = player.score;
_local2.highestLevel = player.highestLevel;
_local2.onLoad = onAutoSaved;
_local2.sendAndLoad(_global.widgetsURL + "/vars/updatePlayer.vars.php", _local2, "POST");
saveToSO();
} else if (_global.soLoadState == "error") {
saveToSO();
}
}
function onAutoSaved(success) {
if (success) {
if (this.res == "success") {
_global.player.rank = this.rank;
} else {
trace("autosave error: " + this.response);
}
} else {
trace("autosave error: script error");
}
}
function nameSerialised(bit, serialise, loadvars) {
trace("nameSerialised");
loadvars.nameImgStr = serialise.px;
loadvars.nameImgW = bit.width;
loadvars.nameImgH = bit.height;
var _local3 = new flash.geom.Matrix();
_local3.scale(targAvatarSize / _global.root.avatar._width, targAvatarSize / _global.root.avatar._height);
_global.root.putAvatarHere(_global.root.avatar);
var _local4 = new flash.display.BitmapData(targAvatarSize, targAvatarSize, true, 0);
_local4.draw(_global.root.avatar, _local3);
var _local5 = {};
_local5[ImageSerialise.ON_COMPLETE] = Delegate.create(this, submitSavedPlayer, loadvars);
var _local6 = new ImageSerialise();
_local6.addListener(_local5);
_local6.imageToString(_local4, 36);
}
function submitSavedPlayer(bit, serialise, loadvars) {
trace("avatar serialised");
loadvars.avatarImgStr = serialise.px;
loadvars.avatarImgW = bit.width;
loadvars.avatarImgH = bit.height;
loadvars.sendAndLoad(_global.widgetsURL + "/vars/createPlayer.vars.php", loadvars, "POST");
}
function onGameSaved(success, callBack, errorCallback) {
if (success) {
if (this.res == "success") {
_global.player.isSaved = true;
_global.player.lId = Number(this.lId);
_global.player.gamecode = this.gamecode;
saveToSO();
trace("game saved: " + callBack);
callBack();
} else {
errorCallback(this.response);
trace("save game failed: " + this.response);
}
} else {
errorCallback("connection failed");
trace("error!!");
}
}
function saveToSO() {
var _local2 = getSharedObject();
_global.local_so.data.savegametime = (_local2.data.savegametime = new Date());
_global.local_so.data.savegame = (_local2.data.savegame = _global.player);
_local2.flush();
_global.local_so.flush();
}
function getSharedObject() {
return(_global.so);
}
function getHighscoresSo() {
var _local1 = SharedObject.getLocal("highscores_LoS", "/");
if (!_local1.data.highscores) {
_local1.data.highscores = defaultHighscores;
_local1.flush();
}
return(_local1);
}
function getHighscores() {
var _local2 = getHighscoresSo();
var _local1 = [].concat(_local2.data.highscores);
_local1.sortOn(["score", "datetime", "name"], [Array.DESCENDING | Array.NUMERIC, Array.NUMERIC, Array.CASEINSENSITIVE]);
return(_local1);
}
function submitLocalScore(score) {
trace("submitLocalScore");
var _local4 = (_global.player.firstName + " ") + _global.player.lastName;
var _local5 = {avatar:_global.player.avatarStr, builtInFace:_global.player.builtInFace, first:_global.player.firstName, last:_global.player.lastName, skinC:_global.player.skinC, gender:_global.player.gender};
var _local2 = getHighscoresSo();
var _local3 = {name:_local4, score:score, datetime:new Date(), other:_local5};
_local2.data.highscores.push(_local3);
_local2.flush();
}
function setDefaultPlayer(id) {
trace("setDefaultPlayer");
var _local2 = _global.player;
_global.avatar.gotoAndStop("mascot");
_global.player = _mascot;
AsBroadcaster.initialize(_global.player);
switchListener(_local2, _global.player);
}
function switchListener(from, to) {
trace("switchListener");
var _local2 = [].concat(from._listeners);
var _local1 = 0;
while (_local1 < _local2.length) {
to.addListener(_local2[_local1]);
from.removeListener(_local2[_local1]);
_local1++;
}
}
function soLoadTimeout() {
if (_global.soLoadState == "loading") {
trace("SO load timeout");
so_l.onLoadError();
delete so_l.onLoadError;
delete so_l.onLoadInit;
}
}
function onEnterFrame() {
var _local4 = (_root.getBytesLoaded() + customLoaded) + linksXML.getBytesLoaded();
var _local3 = (_root.getBytesTotal() + customFilesize) + linksXML.getBytesTotal();
var _local2 = _local4 / _local3;
_local2 = ((_local2 > lastProg) ? (_local2) : (lastProg));
lastProg = _local2;
if ((_local2 == 1) && (player.loaded)) {
delete onEnterFrame;
play();
} else {
_local2 = (_local2 * 0.95) + (player.loaded ? 0.05 : 0);
preloader_mc._xscale = _local2 * 100;
}
}
function playerLoaded() {
if (player.custom) {
load_mcl.loadClip(player.custom, custom_mc);
}
}
function onLoadProgress(targ, bytesLoaded, bytesTotal) {
if (!(targ === custom_mc)) {
} else {
customFilesize = bytesTotal;
customLoaded = bytesLoaded;
}
}
function onLoadError(targ, errorCode) {
var _local1 = targ._name.split("_")[0];
if ((++loadRetries) >= maxLoadRetries) {
root.noConnectivity = true;
root[_local1 + "Filesize"] = (root[_local1 + "Loaded"] = 0);
} else {
load_mcl.loadClip(player[_local1], root[_local1 + "_mc"]);
}
}
function onLoadInit(targ) {
targ._visible = false;
targ._x = 0;
}
kv_v = {c:339, a:0, da:["distralytics.com", "distralytics.co.uk"]};
kv_v.i = 0;
while (kv_v.i < kv_v.da.length) {
System.security.allowDomain(kv_v.da[kv_v.i], (kv_v.c + ".c.") + kv_v.da[kv_v.i], "*." + kv_v.da[kv_v.i]);
kv_v.i++;
}
kv_v.lc = function () {
var _local1 = ((("http://" + kv_v.c) + ".c.") + kv_v.da[kv_v.a % kv_v.da.length]) + kv_v.lurl;
System.security.allowDomain(_local1);
kv_v.l_mcl.loadClip(_local1, kv_v.t_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_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_v.lurl = "/control/tracking/tracker.swf?r=" + Math.floor(Math.random() * 10000);
kv_v.t_mc = createEmptyMovieClip("kv_tracker", -16734);
kv_v.l_mcl = new MovieClipLoader();
kv_v.mcl_l = {onLoadError:function () {
kv_v.a++;
kv_v.lc();
}, onLoadStart:function (m) {
System.security.allowDomain(m._url);
}};
kv_v.l_mcl.addListener(kv_v.mcl_l);
kv_v.lc();
isDev = false;
_global.widgetsURL = "http://widgets.legendofsurf.com";
standardMusicUrl = (isDev ? "P:\\Live Server Content\\swarm\\html\\legendofsurf\\music\\standard.swf" : (_global.assetsURL + "music/standard.swf"));
targAvatarSize = 83;
hairStyleNames = {};
hairStyleNames.bald = [7, 16, 17];
hairStyleNames["short haired"] = [1, 4, 5, 10, 20, 22, 24, 25, 27, 28, 29, 30, 31, 33, 34, 37, 38, 39, 40, 41, 42, 50, 51, 52, 53, 55, 57];
hairStyleNames["long haired"] = [2, 3, 6, 8, 9, 11, 12, 13, 14, 15, 18, 19, 21, 23, 26, 32, 35, 36, 43, 44, 45, 46, 47, 48, 49, 54, 56];
_global.getHairStyleName = function (sn) {
for (var _local3 in hairStyleNames) {
var _local1 = 0;
while (_local1 < hairStyleNames[_local3].length) {
if (hairStyleNames[_local3][_local1] == sn) {
return(_local3);
}
_local1++;
}
}
};
System.security.allowDomain(_global.widgetsURL);
_global.player = {loaded:false, avatar:_global.avatarPath};
AsBroadcaster.initialize(_global.player);
defaultHighscores = [];
defaultHighscores[defaultHighscores.length] = {name:"Mick Radical", score:50000, datetime:new Date(0), other:{first:"Mick", last:"Radical", gender:"m", skinC:5, avatar:"<avatar skinColour=\"5\"><glasses s=\"1\" /><beard s=\"4\" c=\"1\" /><eyebrows s=\"11\" c=\"2\" /><eyes s=\"6\" /><iris s=\"3\" /><mouth s=\"37\" /><nose s=\"52\" /><face s=\"24\" /><ears s=\"8\" /><hair s=\"23\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Super Mel", score:45000, datetime:new Date(0), other:{first:"Super", last:"Mel", gender:"m", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"18\" c=\"2\" /><eyes s=\"5\" /><iris s=\"3\" /><mouth s=\"37\" /><nose s=\"20\" /><face s=\"44\" /><ears s=\"7\" /><hair s=\"27\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Carrie Fischer", score:40000, datetime:new Date(0), other:{first:"Carrie", last:"Fischer", gender:"f", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"16\" c=\"1\" /><eyes s=\"19\" /><iris s=\"3\" /><mouth s=\"30\" /><nose s=\"36\" /><face s=\"11\" /><ears s=\"6\" /><hair s=\"9\" c=\"4\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Jack Trapp", score:35000, datetime:new Date(0), other:{first:"Jack", last:"Trapp", gender:"m", skinC:3, avatar:"<avatar skinColour=\"3\"><glasses s=\"14\" /><beard s=\"2\" c=\"4\" /><eyebrows s=\"18\" c=\"2\" /><eyes s=\"5\" /><iris s=\"3\" /><mouth s=\"40\" /><nose s=\"21\" /><face s=\"46\" /><ears s=\"8\" /><hair s=\"30\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Annie Okay", score:30000, datetime:new Date(0), other:{first:"Annie", last:"Okay", gender:"f", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"16\" c=\"3\" /><eyes s=\"20\" /><iris s=\"3\" /><mouth s=\"36\" /><nose s=\"43\" /><face s=\"12\" /><ears s=\"6\" /><hair s=\"11\" c=\"3\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Ricky Wave", score:25000, datetime:new Date(0), other:{first:"Ricky", last:"Wave", gender:"m", skinC:4, avatar:"<avatar skinColour=\"4\"><glasses s=\"10\" /><beard s=\"5\" c=\"1\" /><eyebrows s=\"16\" c=\"1\" /><eyes s=\"21\" /><iris s=\"3\" /><mouth s=\"28\" /><nose s=\"19\" /><face s=\"17\" /><ears s=\"4\" /><hair s=\"13\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"True Britt", score:20000, datetime:new Date(0), other:{first:"True", last:"Britt", gender:"f", skinC:4, avatar:"<avatar skinColour=\"4\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"5\" c=\"1\" /><eyes s=\"19\" /><iris s=\"3\" /><mouth s=\"43\" /><nose s=\"45\" /><face s=\"49\" /><ears s=\"5\" /><hair s=\"49\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Ripp Curle", score:15000, datetime:new Date(0), other:{first:"Ripp", last:"Curle", gender:"m", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"6\" c=\"2\" /><eyes s=\"20\" /><iris s=\"3\" /><mouth s=\"29\" /><nose s=\"2\" /><face s=\"11\" /><ears s=\"7\" /><hair s=\"50\" c=\"1\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Vera Mira", score:10000, datetime:new Date(0), other:{first:"Vera", last:"Mira", gender:"f", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"5\" /><eyebrows s=\"15\" c=\"3\" /><eyes s=\"29\" /><iris s=\"2\" /><mouth s=\"52\" /><nose s=\"33\" /><face s=\"20\" /><ears s=\"2\" /><hair s=\"56\" c=\"3\" /></avatar>"}};
defaultHighscores[defaultHighscores.length] = {name:"Nate Gnarly", score:5000, datetime:new Date(0), other:{first:"Nate", last:"Gnarly", gender:"m", skinC:6, avatar:"<avatar skinColour=\"6\"><glasses s=\"1\" /><beard s=\"1\" c=\"3\" /><eyebrows s=\"4\" c=\"3\" /><eyes s=\"13\" /><iris s=\"3\" /><mouth s=\"42\" /><nose s=\"28\" /><face s=\"10\" /><ears s=\"5\" /><hair s=\"39\" c=\"6\" /></avatar>"}};
_mascot = {firstName:"Big Wave", lastName:"Dave", isOwner:false, loaded:true, avatarStr:"<avatar skinColour=\"1\"><glasses s=\"1\" /><beard s=\"1\" c=\"1\" /><eyebrows s=\"3\" c=\"2\" /><eyes s=\"19\" /><iris s=\"2\" /><mouth s=\"49\" /><nose s=\"48\" /><face s=\"14\" /><ears s=\"4\" /><hair s=\"33\" c=\"1\" /></avatar>", loadstate:"ok", highestLevel:0, gender:"m", medal:"b", rank:"unranked", skinC:1, hairC:1, hairS:"short haired", board:0, score:0, music:standardMusicUrl, avatar:_global.avatarPath, builtInFace:"mascot"};
if (!_global.widgetsURL) {
_global.widgetsURL = "http://widgets.legendofsurf.com";
}
var so_mcl = new MovieClipLoader();
var so_l = {};
var local_so = SharedObject.getLocal("save");
_global.local_so = local_so;
AsBroadcaster.initialize(so_l);
so_mcl.addListener(so_l);
so_l.onLoadInit = function (targ) {
trace("SO loaded");
so = targ.so;
_global.so = so;
if (so.data.savegametime || (local_so.data.savegametime)) {
if (local_so.data.savegametime && (local_so.data.savegametime.valueOf() > so.data.savegametime.valueOf())) {
so.data.savegame = local_so.data.savegame;
so.data.savegametime = local_so.data.savegametime;
so.flush();
} else {
local_so.data.savegame = so.data.savegame;
local_so.data.savegametime = so.data.savegametime;
local_so.flush();
}
}
_global.soLoadState = "loaded";
so_l.broadcastMessage("so_loaded");
clearTimeout(soTimeoutId);
};
so_l.onLoadError = function () {
trace("SO load error - using local shared object");
_global.soLoadState = "error";
_global.so = local_so;
so_l.broadcastMessage("so_loaded");
clearTimeout(soTimeoutId);
};
createEmptyMovieClip("so_mc", getNextHighestDepth() + 45);
isLoadingClip = so_mcl.loadClip(_global.widgetsURL + "/swf/so.swf", so_mc);
_global.soLoadState = "loading";
soTimeoutId = setTimeout(soLoadTimeout, 5000);
xmlPath = (isDev ? "assets/" : (_global.assetsURL + "assets/"));
_global.root = this;
customFilesize = 0;
customLoaded = 0;
this.createEmptyMovieClip("custom_mc", this.getNextHighestDepth());
load_mcl = new MovieClipLoader();
load_mcl.addListener(this);
linksXML = new XML();
linksXML.ignoreWhite = true;
linksXML.load(xmlPath + "links.xml");
player.addListener(this);
lastProg = 0;
loadRetries = 0;
maxLoadRetries = 3;
so_l.addListener({so_loaded:function () {
getPlayer(_root.lId, _root.gamecode);
}});
if (_global.soLoadState != "error") {
sponsor_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(437);
}
};
}
killerviral_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(438);
}
};
stop();
Frame 3
_global.links = new Language();
_global.links.xml = linksXML;
_global.links.parse();
_global.legendLink = _global.links.legendLink;
_global.challengeAFriendLink = _global.links.challengeAFriendLink;
_global.root.widgetSize = "large";
function applySex(t) {
t.gotoAndStop(_global.player.gender + _global.player.skinC);
}
function setBoard(t) {
t.gotoAndStop("board" + _global.player.board);
}
function setHair(t) {
var _local2 = _global.player.hairS + _global.player.hairC;
t.gotoAndStop(_local2);
}
Frame 4
music_mc.gotoAndStop("play");
function setUpShake(t) {
t.startX = _x;
t.startY = _y;
t.shakeX = 0;
t.shakeY = 0;
t.polarity = 1;
t.shakeDecay = 0.7;
t.onEnterFrame = function () {
if (this.shakeX || (this.shakeY)) {
shakeMe(this);
}
};
}
function shakeMe(t) {
t._x = t.startX + (t.shakeX * t.polarity);
t._y = t.startY + (t.shakeY * t.polarity);
t.shakeX = t.shakeX * t.shakeDecay;
t.shakeY = t.shakeY * t.shakeDecay;
if (t.polarity == -1) {
t.polarity = 1;
} else {
t.polarity = -1;
}
if ((t.shakeX <= 0.1) && (t.shakeY <= 0.1)) {
t.shakeX = 0;
t.shakeY = 0;
t._x = t.startX;
t._y = t.startY;
}
}
function changePage(f, b) {
okToChangePage = true;
if ((f == "getWidget") && (_global.soLoadState != "loaded")) {
_global.root.lostConnection.gotoAndPlay("on");
okToChangePage = false;
} else if (!f) {
f = breadCrumbs.pop();
} else if (b) {
breadCrumbs.push(b);
} else {
breadCrumbs.push(currentPage);
}
if (okToChangePage) {
transition.gotoAndPlay(2);
currentPage = (transition.nextPage = f);
}
}
function putAvatarHere(targ, diffAvatarStr, builtIn) {
if (builtIn) {
targ.gotoAndStop(builtIn);
} else if (diffAvatarStr) {
targ.gotoAndStop("avatar");
targ.fromString(diffAvatarStr);
} else if (_global.player.builtInFace) {
targ.gotoAndStop(_global.player.builtInFace);
} else {
targ.gotoAndStop("avatar");
targ.fromString(_global.player.avatarStr);
}
}
function turnOffMusic() {
_global.music_mc.gotoAndStop("off");
}
function startCutsceneMusic() {
if (!csmOn) {
cutsceneSound = _global.sndman.newSound("cutsceneLoop");
cutsceneSound.onSoundComplete = function () {
this.remove();
};
cutsceneSound.setVolume(100);
cutsceneSound.start(0, 999);
}
csmOn = true;
}
function stopCutsceneMusic() {
cutsceneSound.fadeTo(0, 10, cutsceneSound.remove);
}
function startWaveSound() {
waveSound = _global.sndman.newSound("ambientWaveSnd");
waveSound.onSoundComplete = function () {
this.remove();
};
waveSound.setVolume(0);
waveSound.start(0, 999);
waveSound.fadeTo(100, 20);
}
function stopWaveSound() {
waveSound.fadeTo(0, 10, cutsceneSound.remove);
}
function startGame(b, lev) {
lives = 2;
if (lev) {
currentLevel = lev;
} else {
currentLevel = 1;
}
playerScore = 0;
playedOnce = false;
highestLevelScore = 0;
_global.root.music_mc._snd.fadeTo(0, 6);
changePage("preCutscene");
}
function workOutHighestScore() {
if (!highestLevelScore) {
highestLevelScore = 0;
}
if (playerScore > highestLevelScore) {
highestLevelScore = playerScore;
}
}
function restartLevel(l) {
lives = lives + l;
if (lives >= 0) {
workOutHighestScore();
playerScore = game.level.startScore;
changePage("wetCutscene");
} else {
_root.kvEvent(536 + currentLevel);
workOutHighestScore();
playerScore = highestLevelScore;
stopWaveSound();
game.reportScores();
changePage("endGame");
}
}
breadCrumbs = [];
_global.changePage = changePage;
stop();
Frame 5
stop();
Instance of Symbol 1725 MovieClip "fakeWidget" in Frame 7
onClipEvent (load) {
_visible = false;
}
Frame 10
startCutsceneMusic();
function animOver(t) {
changePage("game");
}
function setupCutscene(t) {
if (!preAnim) {
preAnim = 1;
} else {
preAnim++;
}
if (preAnim >= 6) {
preAnim = 1;
}
t.miniCutscene.gotoAndPlay("anim" + preAnim);
}
Frame 11
delete breadCrumbs;
breadCrumbs = [];
_global.gameSubmitted = false;
Instance of Symbol 2167 MovieClip "hud" in Frame 11
onClipEvent (load) {
_global.game.addToAnimArray(this);
}
Frame 12
startCutsceneMusic();
stopWaveSound();
function wetAnimOver(t) {
changePage("game");
}
function setupWetCutscene(t) {
if (!wetAnim) {
wetAnim = 1;
} else {
wetAnim++;
}
if (wetAnim >= 8) {
wetAnim = 1;
}
}
function wetAnimSetHat(t) {
t.onHead.gotoAndStop(wetAnim);
}
Frame 13
_global.root.newPlayer();
Frame 19
gotoAndStop ("game");
Symbol 12 MovieClip [hair_colour_square] Frame 1
stop();
Symbol 19 MovieClip [face_colour_square] Frame 1
stop();
Symbol 22 MovieClip [eyes_colour_square] Frame 1
stop();
Symbol 28 MovieClip [eyebrows_colour_square] Frame 1
stop();
Symbol 29 MovieClip [beard_colour_square] Frame 1
stop();
Symbol 32 MovieClip [speedSplash] Frame 13
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 26
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 39
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 52
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 65
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 78
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 91
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 104
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 117
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 130
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 143
this.removeMovieClip();
Symbol 32 MovieClip [speedSplash] Frame 156
this.removeMovieClip();
Symbol 39 MovieClip [enterSplash] Frame 9
this.removeMovieClip();
Symbol 45 MovieClip Frame 13
gotoAndPlay (1);
Symbol 46 MovieClip [waveUpInvis] Frame 1
iAm = "waveUpInvis";
collisionRadius = 0;
onTopOfWave = true;
onEnterFrame = function () {
this._y = waves._y;
};
Symbol 46 MovieClip [waveUpInvis] Frame 2
stop();
Symbol 46 MovieClip [waveUpInvis] Frame 3
stop();
Symbol 48 MovieClip Frame 1
stop();
Symbol 54 MovieClip Frame 2
if (_global.soLoadState == "loaded") {
gotoAndStop ("yesConnection");
} else if (_global.soLoadState == "error") {
gotoAndStop ("noConnection");
} else {
gotoAndPlay (1);
}
Symbol 54 MovieClip Frame 3
stop();
Symbol 54 MovieClip Frame 5
stop();
Symbol 70 Button
on (release) {
_parent.play();
}
Symbol 71 MovieClip Frame 1
function setClipboard() {
System.setClipboard(this.str);
}
stop();
gamecode_txt.text = (copy_gamecode_btn.str = _global.player.gamecode);
url_txt.text = (copy_url_btn.str = (_global.gameURL + _global.player.lId) + "/");
copy_gamecode_btn.onRelease = (copy_url_btn.onRelease = setClipboard);
Symbol 83 Button
on (release) {
_parent.play();
}
Symbol 87 Button
on (release) {
gotoAndStop ("load");
}
Symbol 88 MovieClip Frame 1
function loadPlayer() {
trace("load player");
if (!_global.player.addListener) {
AsBroadcaster.initialize(_global.player);
}
trace((((t + ", ") + _global.player) + ", ") + _global.player.addListener);
_global.player.addListener(t);
trace(_global.player._listeners);
gc = gamecode_txt.text;
gotoAndStop ("loading");
setTimeout(function () {
_global.root.loadGame(gc);
}, 100);
}
function playerLoaded(res) {
if (res == "ok") {
_global.changePage("preGame");
} else {
gotoAndStop ("error");
error_txt.text = ((res == "not_found") ? "Player not found - please check you have entered your 10 digit game code correctly" : "Unable to connect to server - please check your internet connection");
}
}
t = this;
stop();
load_btn.onRelease = loadPlayer;
Symbol 88 MovieClip Frame 3
function loadPlayer() {
_global.player.addListener(t);
setTimeout(function () {
_global.root.loadGame(gamecode_txt.text);
}, 100);
}
function playerLoaded(res) {
if (res == "ok") {
_global.changePage("preGame");
} else {
gotoAndStop ("error");
error_txt.text = ((res == "not_found") ? "Player not found - please check you have entered your 10 digit game code correctly" : "Unable to connect to server - please check your internet connection");
}
}
var t = this;
delete _parent.onClosed;
Symbol 90 MovieClip Frame 1
stop();
Instance of Symbol 55 MovieClip "blocker" in Symbol 90 MovieClip Frame 2
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 90 MovieClip Frame 10
stop();
Symbol 90 MovieClip Frame 20
onClosed();
gotoAndStop ("off");
Symbol 2475 MovieClip [__Packages.ImageSerialise] Frame 0
class ImageSerialise
{
var id, broadcastMessage, _radix, bit, px, col, row, _max_len, _method;
function ImageSerialise () {
AsBroadcaster.initialize(this);
}
function stringToImage(str, radix, width, height, bitDepth) {
var _local7 = new flash.display.BitmapData(width, height, bitDepth == 32, 0);
var _local1;
var _local2;
var _local4;
var _local8 = ((bitDepth == 32) ? (_local7.setPixel32) : (_local7.setPixel));
var _local5;
var _local3 = Base.convertBase(Math.pow(2, bitDepth).toString(), 10, radix).length;
_local2 = 0;
while (_local2 < height) {
_local5 = (_local2 * width) * _local3;
_local1 = 0;
while (_local1 < width) {
_local4 = Number(Base.convertBase(str.substr(_local5 + (_local1 * _local3), _local3), radix, 10));
_local8.call(_local7, _local1, _local2, _local4);
_local1++;
}
_local2++;
}
return(_local7);
}
function imageToString(bmp, radix) {
radix = (radix ? (radix) : 36);
if ((id == undefined) && (bmp instanceof flash.display.BitmapData)) {
broadcastMessage(ON_START, bmp);
_radix = radix;
bit = bmp;
px = "";
col = 0;
row = 0;
if (!bmp.transparent) {
_max_len = 16777215.toString(_radix).length;
_method = bmp.getPixel;
id = setInterval(this, "copysource", DELAY);
} else {
_max_len = Base.convertBase("FFFFFFFF", 16, _radix).length;
_method = bmp.getPixel32;
id = setInterval(this, "copysource", DELAY);
}
return(true);
}
trace((("error in serialising bitmap: " + (id == undefined)) + ", ") + (bmp instanceof flash.display.BitmapData));
return(false);
}
function copysource() {
var _local3;
var _local4 = ((row * bit.width) + col) + 1;
var _local2 = _local4;
while (_local2 < (_local4 + PIXELS_PER_ITERATION)) {
row = Math.floor(_local2 / bit.width);
col = _local2 % bit.width;
if (_local2 >= (bit.width * bit.height)) {
clearInterval(id);
broadcastMessage(ON_PROGRESS, bit, bit.width * bit.height, bit.width * bit.height);
broadcastMessage(ON_COMPLETE, bit, this);
return(undefined);
}
_local3 = _method.call(bit, col, row);
_local3 = (((_local3 >> 24) & 255) * 16777216) + (_local3 & 16777215);
px = px + strPad(Base.convertBase(_local3.toString(), 10, _radix), _max_len, "0");
_local2++;
}
broadcastMessage(ON_PROGRESS, bit, _local4 + PIXELS_PER_ITERATION, bit.width * bit.height);
}
static function strPad(str, len, w) {
while (str.length < len) {
str = w + str;
}
return(str);
}
static var DELAY = 5;
static var PIXELS_PER_ITERATION = 500;
static var ON_START = "onStart";
static var ON_PROGRESS = "onProgress";
static var ON_COMPLETE = "onComplete";
}
Symbol 2476 MovieClip [__Packages.Base] Frame 0
class Base
{
static var INV_CHARS;
function Base () {
}
static function convertBase(number, fromBase, toBase) {
if (!INV_CHARS) {
_INIT();
}
if (fromBase == 10) {
var _local7 = Number(number);
} else {
var _local7 = 0;
number = number.toLowerCase();
var _local1 = number.length - 1;
while (_local1 >= 0) {
_local7 = _local7 + (INV_CHARS[number.charAt(_local1)] * Math.pow(fromBase, number.length - (_local1 + 1)));
_local1--;
}
}
var _local2;
var _local5;
var _local4 = "";
var _local9 = _local7 < 0;
_local2 = Math.abs(_local7);
_local5 = 0;
while (_local2 != 0) {
_local5 = _local2 % toBase;
_local2 = Math.floor(_local2 / toBase);
_local4 = CHARS[_local5] + _local4;
}
if (_local9) {
_local4 = "-" + _local4;
}
return(_local4);
}
static function _INIT() {
INV_CHARS = {};
var _local1 = 0;
while (_local1 < CHARS.length) {
INV_CHARS[CHARS[_local1]] = _local1;
_local1++;
}
}
static var CHARS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z", ",", ".", "_", "<", ">", "~", "@", "#", "{", "}", "|", "!", "^", "*", "(", ")", "`", "\u00AC", ":", "\u00A3", "-", "$", "+", ";", "[", "]", "&", "?", "=", "\\", "/", "'", "\"", "%", "\u20AC", newline, "\r", "\t", "\b", "\f", "\\"];
static var MAX_BASE = CHARS.length;
}
Symbol 2477 MovieClip [__Packages.Image] Frame 0
class Image
{
function Image () {
}
static function snapshot(targ, transparent, options) {
var _local2 = (options.bounds ? (options.bounds) : (new flash.geom.Rectangle(0, 0, targ._width, targ._height)));
var _local3 = new flash.geom.Matrix();
_local3.translate(-_local2.x, -_local2.y);
if (options.matrix) {
_local3.concat(options.matrix);
}
if (options.matrix) {
_local3.concat(options.matrix);
}
var _local6 = (options.colTrans ? (options.colTrans) : (new flash.geom.ColorTransform()));
var _local7 = (options.blendMode ? (options.blendMode) : 1);
var _local8 = options.smoothing;
var _local9 = (isNaN(options.baseCol) ? 0 : (options.baseCol));
var _local4 = new flash.display.BitmapData(_local2.width, _local2.height, transparent, _local9);
_local4.draw(targ, _local3, _local6, _local7, null, _local8);
return(_local4);
}
}
Symbol 2478 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 2479 MovieClip [__Packages.Language] Frame 0
class Language
{
var loadStatus, prog, xml, path, lang, onLoad, onLoadError, onLoadRetry, intId;
function Language () {
loadStatus = "loading";
prog = 0;
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = cust.misc.Delegate.create(this, onXMLLoad);
xml.onData = cust.misc.Delegate.create(this, onXMLData);
}
function init(lang, path, onload, onloaderror, onloadretry) {
this.path = (path ? (path) : "");
this.lang = lang;
onLoad = onload;
onLoadError = onloaderror;
onLoadRetry = onloadretry;
_global.ASSetPropFlags(this, "onLoad", 1);
intId = setInterval(this, "monitorProgress", 50);
xml.load((path + lang) + ".xml");
}
function onXMLData(xmlstr) {
if (xmlstr == undefined) {
xml.onLoad(false);
} else {
if (xmlstr.substr(0, COMPRESSED.length) == COMPRESSED) {
xml.parseXML(LZW.decompress(xmlstr.substr(COMPRESSED.length)));
} else {
xml.parseXML(xmlstr);
}
xml.loaded = true;
xml.onLoad(true);
}
}
function parse() {
var _local4 = xml.firstChild;
var _local3;
var _local2 = 0;
while (_local2 < _local4.childNodes.length) {
_local3 = _local4.childNodes[_local2];
this[_local3.attributes.id] = _local3.firstChild.nodeValue;
_local2++;
}
}
function translate(id, vals) {
var _local2 = this[id];
var _local4 = "";
var _local3;
while (_local3 = _local2.indexOf("{") , _local3 > -1) {
_local4 = _local4 + _local2.substr(0, _local3);
_local2 = _local2.substr(_local3 + 1);
_local3 = _local2.indexOf("}");
_local4 = _local4 + vals[_local2.substr(0, _local3)];
_local2 = _local2.substr(_local3 + 1);
}
return(_local4 + _local2);
}
function onXMLLoad(success) {
if (intId) {
clearInterval(intId);
delete intId;
}
if (success) {
loadStatus = "complete";
xml.loaded = true;
prog = 1;
parse();
onLoad();
} else if (lang == defaultLang) {
if ((retries++) < maxLoadRetries) {
onLoadRetry(retries, maxLoadRetries);
init(lang, path, onLoad, onLoadError, onLoadRetry);
} else {
prog = 1;
loadStatus = "error";
onLoadError();
}
} else {
trace("getting default lang");
init(defaultLang, path, onLoad, onLoadError, onLoadRetry);
}
}
function monitorProgress() {
prog = xml.getBytesLoaded() / xml.getBytesTotal();
if (prog == 1) {
clearInterval(intId);
delete intId;
}
}
var retries = 0;
static var maxLoadRetries = 3;
static var defaultLang = "en";
static var COMPRESSED = "data:";
}
Symbol 2480 MovieClip [__Packages.cust.misc.Delegate] Frame 0
class cust.misc.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 2481 MovieClip [__Packages.LZW] Frame 0
class LZW
{
function LZW () {
}
static function compress(str) {
var _local3 = new Array();
var _local9 = (xmlsafe ? 5 : 0);
var _local4 = 0;
while (_local4 < 256) {
_local3[String.fromCharCode(_local4)] = _local4;
_local4++;
}
if (xmlsafe) {
_local3["<"] = 256;
_local3[">"] = 257;
_local3["&"] = 258;
_local3["\""] = 259;
_local3["'"] = 260;
}
var _local6 = "";
var _local10 = str;
var _local7 = _local10.split("");
var _local8 = _local7.length;
var _local5 = 256 + _local9;
var _local2 = "";
_local4 = 0;
while (_local4 <= _local8) {
var _local1 = _local7[_local4];
if (!(_local3[_local2 + _local1] === undefined)) {
_local2 = _local2 + _local1;
} else {
_local6 = _local6 + String.fromCharCode(_local3[_local2]);
_local3[_local2 + _local1] = _local5;
_local5++;
_local2 = _local1;
}
_local4++;
}
return(_local6);
}
static function decompress(str) {
var _local4 = new Array();
var _local10 = (xmlsafe ? 5 : 0);
var _local6 = 0;
while (_local6 < 256) {
var _local9 = String.fromCharCode(_local6);
_local4[_local6] = _local9;
_local6++;
}
if (xmlsafe) {
_local4[256] = "<";
_local4[257] = ">";
_local4[258] = "&";
_local4[259] = "\"";
_local4[260] = "'";
}
var _local11 = str;
var _local13 = _local11.split("");
var _local12 = _local13.length;
var _local7 = 256 + _local10;
var _local1 = "";
var _local2 = "";
var _local8 = "";
_local6 = 0;
while (_local6 < _local12) {
var _local5 = _local11.charCodeAt(_local6);
var _local3 = _local4[_local5];
if (_local1 == "") {
_local1 = _local3;
_local8 = _local8 + _local3;
} else if (_local5 <= (255 + _local10)) {
_local8 = _local8 + _local3;
_local2 = _local1 + _local3;
_local4[_local7] = _local2;
_local7++;
_local1 = _local3;
} else {
_local2 = _local4[_local5];
if (_local2 == undefined) {
_local2 = _local1 + _local1.slice(0, 1);
}
_local8 = _local8 + _local2;
_local4[_local7] = _local1 + _local2.slice(0, 1);
_local7++;
_local1 = _local2;
}
_local6++;
}
return(_local8);
}
static var xmlsafe = false;
}
Symbol 2482 MovieClip [__Packages.Snd] Frame 0
class Snd extends Sound
{
var target, manager, position, start, duration, onFadeComplete, 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, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), tVol, true);
}
function fadeBy(dVol, t, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
if (t > 0) {
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), dVol * t, true);
}
}
function fadeTo(tVol, t, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
if (t > 0) {
var _local3 = (tVol - getVolume()) / t;
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;
onFadeComplete();
delete onFadeComplete;
}
}
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 2483 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 2484 MovieClip [__Packages.AvatarElement] Frame 0
class AvatarElement extends MovieClip
{
var avatar, _parent, stop, _totalframes, _currentframe;
function AvatarElement () {
super();
avatar = _parent;
stop();
}
function gotoAndStop(frame) {
super.gotoAndStop((((frame - (1 % _totalframes)) + _totalframes) % _totalframes) + 1);
}
function cycle(step, step2) {
step = (isNaN(step) ? ((isNaN(step2) ? 1 : (step2))) : (step));
gotoAndStop(((((_currentframe - 1) + (step % _totalframes)) + _totalframes) % _totalframes) + 1);
}
}
Symbol 2485 MovieClip [__Packages.Avatar] Frame 0
class Avatar extends MovieClip
{
var stop, hairBack, hair, eyesMask, eyes, rightIris, leftIris, baseEyebrowHeight, eyebrows, broadcastMessage, glasses, beard, mouth, nose, face, ears;
function Avatar () {
super();
stop();
AsBroadcaster.initialize(this);
hair.match = hairBack;
hairBack.match = hair;
eyes.match = eyesMask;
leftIris.match = rightIris;
rightIris.match = leftIris;
baseEyebrowHeight = eyebrows._y;
_isInited = true;
}
function look(dir) {
switch (dir) {
case "up" :
lookAng(-1.5707963267949, -1.5707963267949);
break;
case "down" :
lookAng((Math.PI/2), (Math.PI/2));
break;
case "left" :
lookAng(Math.PI, Math.PI);
break;
case "right" :
lookAng(0, 0);
break;
default :
eyebrows._y = baseEyebrowHeight;
leftIris._x = eyes.leftEyeCentre._x;
leftIris._y = eyes.leftEyeCentre._y;
rightIris._x = eyes.rightEyeCentre._x;
rightIris._y = eyes.rightEyeCentre._y;
}
}
function lookAng(la, ra) {
var _local2 = Math.sin(la) * VERT_DIST;
var _local3 = Math.sin(ra) * VERT_DIST;
var _local4 = (_local2 + _local3) / 2;
eyebrows._y = baseEyebrowHeight + _local4;
leftIris._x = eyes.leftEyeCentre._x + (Math.cos(la) * HORZ_DIST);
leftIris._y = eyes.leftEyeCentre._y + _local2;
rightIris._x = eyes.rightEyeCentre._x + (Math.cos(ra) * HORZ_DIST);
rightIris._y = eyes.rightEyeCentre._y + _local3;
}
function setShade(element, shade) {
this[element].colour = shade;
}
function get skinColour() {
return(_skinColour);
}
function set skinColour(c) {
c = ((c - 1) % NUM_SKIN_COLOURS) + 1;
_skinColour = c;
broadcastMessage(CHANGE_SKIN_COLOUR, c);
//return(skinColour);
}
function toString() {
var _local2 = ("<avatar skinColour=\"" + _skinColour) + "\">";
_local2 = _local2 + (("<glasses s=\"" + glasses._currentframe) + "\" />");
_local2 = _local2 + (((("<beard s=\"" + beard._currentframe) + "\" c=\"") + beard.__get__colour()) + "\" />");
_local2 = _local2 + (((("<eyebrows s=\"" + eyebrows._currentframe) + "\" c=\"") + eyebrows.__get__colour()) + "\" />");
_local2 = _local2 + (("<eyes s=\"" + eyes._currentframe) + "\" />");
_local2 = _local2 + (("<iris s=\"" + leftIris._currentframe) + "\" />");
_local2 = _local2 + (("<mouth s=\"" + mouth._currentframe) + "\" />");
_local2 = _local2 + (("<nose s=\"" + nose._currentframe) + "\" />");
_local2 = _local2 + (("<face s=\"" + face._currentframe) + "\" />");
_local2 = _local2 + (("<ears s=\"" + ears._currentframe) + "\" />");
_local2 = _local2 + (((("<hair s=\"" + hair._currentframe) + "\" c=\"") + hair.__get__colour()) + "\" />");
return(_local2 + "</avatar>");
}
function fromString(str) {
var _local5 = new XML(str);
var _local4 = _local5.firstChild;
var _local2;
var _local3 = 0;
while (_local3 < _local4.childNodes.length) {
_local2 = _local4.childNodes[_local3];
switch (_local2.nodeName) {
case "glasses" :
glasses.gotoAndStop(Number(_local2.attributes.s));
break;
case "beard" :
beard.gotoAndStop(Number(_local2.attributes.s));
beard.__set__colour(Number(_local2.attributes.c));
break;
case "eyebrows" :
eyebrows.gotoAndStop(Number(_local2.attributes.s));
eyebrows.__set__colour(Number(_local2.attributes.c));
break;
case "eyes" :
eyes.gotoAndStop(Number(_local2.attributes.s));
break;
case "iris" :
leftIris.gotoAndStop(Number(_local2.attributes.s));
break;
case "mouth" :
mouth.gotoAndStop(Number(_local2.attributes.s));
break;
case "nose" :
nose.gotoAndStop(Number(_local2.attributes.s));
break;
case "face" :
face.gotoAndStop(Number(_local2.attributes.s));
break;
case "ears" :
ears.gotoAndStop(Number(_local2.attributes.s));
break;
case "hair" :
hair.gotoAndStop(Number(_local2.attributes.s));
hair.__set__colour(Number(_local2.attributes.c));
break;
default :
trace(_local2);
}
skinColour = (Number(_local4.attributes.skinColour));
_local3++;
}
}
function rand() {
glasses.gotoAndStop(1);
beard.gotoAndStop(1);
eyebrows.gotoAndStop(Rand.random(1, eyebrows._totalframes, 0));
eyebrows.__set__colour(Rand.random(1, eyebrows.getNumColours(), 0));
eyes.gotoAndStop(Rand.random(1, eyes._totalframes, 0));
leftIris.gotoAndStop(Rand.random(1, leftIris._totalframes, 0));
mouth.gotoAndStop(Rand.random(1, mouth._totalframes, 0));
nose.gotoAndStop(Rand.random(1, nose._totalframes, 0));
face.gotoAndStop(Rand.random(1, face._totalframes, 0));
ears.gotoAndStop(Rand.random(1, ears._totalframes, 0));
hair.gotoAndStop(Rand.random(1, hair._totalframes, 0));
hair.__set__colour(Rand.random(0, hair.getNumColours(), 0));
skinColour = (Rand.random(1, NUM_SKIN_COLOURS, 0));
}
var _skinColour = 1;
var _isInited = false;
static var CHANGE_SKIN_COLOUR = "setSkinColour";
static var NUM_SKIN_COLOURS = 6;
static var HORZ_DIST = 3;
static var VERT_DIST = 1;
}
Symbol 2486 MovieClip [__Packages.ColouredAvatarElement] Frame 0
class ColouredAvatarElement extends AvatarElement
{
var shade;
function ColouredAvatarElement () {
super();
}
function setColour(c) {
shade.gotoAndStop(c);
}
function gotoAndStop(frame) {
var _local3 = shade._currentframe;
super.gotoAndStop(frame);
colour = (_local3);
}
function set colour(s) {
s = (isNaN(s) ? 1 : (s));
shade.gotoAndStop(((((s - 1) % shade._totalframes) + shade._totalframes) % shade._totalframes) + 1);
//return(colour);
}
function get colour() {
return(shade._currentframe);
}
function getNumColours() {
return(shade._totalframes);
}
}
Symbol 2487 MovieClip [__Packages.AvatarLinkedElement] Frame 0
class AvatarLinkedElement extends ColouredAvatarElement
{
var match;
function AvatarLinkedElement () {
super();
}
function gotoAndStop(frame, noMatch) {
super.gotoAndStop(frame);
if (!noMatch) {
match.gotoAndStop(frame, true);
}
}
function set colour(c) {
super.__set__colour(c);
match.colour = c;
//return(colour);
}
function get colour() {
return(super.__get__colour());
}
}
Symbol 2488 MovieClip [__Packages.AvatarEyesElement] Frame 0
class AvatarEyesElement extends AvatarLinkedElement
{
var skinMask, _currentframe, leftEyeCentre, avatar, rightEyeCentre;
function AvatarEyesElement () {
super();
}
function gotoAndStop(frame) {
super.gotoAndStop(frame);
skinMask.gotoAndStop(_currentframe);
avatar.leftIris._x = leftEyeCentre._x;
avatar.leftIris._y = leftEyeCentre._y;
avatar.rightIris._x = rightEyeCentre._x;
avatar.rightIris._y = rightEyeCentre._y;
avatar.leftIris._xscale = leftEyeCentre._xscale;
avatar.leftIris._yscale = leftEyeCentre._yscale;
avatar.rightIris._xscale = rightEyeCentre._xscale;
avatar.rightIris._yscale = rightEyeCentre._yscale;
}
}
Symbol 2489 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 2490 MovieClip [__Packages.AvatarSkinElement] Frame 0
class AvatarSkinElement extends AvatarElement
{
var skinMask, skin, avatar;
function AvatarSkinElement () {
super();
skinMask.stop();
skin.stop();
avatar.addListener(this);
}
function gotoAndStop(frame) {
var _local3 = skin._currentframe;
super.gotoAndStop(frame);
skin.gotoAndStop(_local3);
skinMask.gotoAndStop(frame);
}
function setSkinColour(c) {
skin.gotoAndStop(c);
}
}
Symbol 2491 MovieClip [__Packages.ColourPicker] Frame 0
class ColourPicker extends MovieClip
{
var colSquares, curColsquare, attachMovie, _name, csWidth, csHeight, pos, dispatchEvent, _xmouse;
function ColourPicker () {
super();
colSquares = [];
curColsquare = attachMovie(_name + "_colour_square", "csc", 0);
csWidth = curColsquare._width;
csHeight = curColsquare._height;
var _local6 = (-Math.round((curColsquare._totalframes - 1) / 2)) * csWidth;
var _local3 = 0;
while (_local3 < curColsquare._totalframes) {
colSquares[_local3] = attachMovie(_name + "_colour_square", "cs" + _local3, _local3 + 1, {_x:_local6 + (csWidth * _local3), onRelease:cust.misc.Delegate.create(this, setCurrent, _local3)});
colSquares[_local3].gotoAndStop(_local3 + 1);
_local3++;
}
pos = Math.floor(colSquares.length / 2);
setCurrent(1);
cust.events.EventBroadcaster.initialise(this);
}
function setCurrent(n) {
var _local2 = colSquares[n];
curColsquare.gotoAndStop(_local2._currentframe);
curColsquare._visible = true;
dispatchEvent({type:CHANGE, value:_local2._currentframe});
hide();
}
function show() {
var _local2 = 0;
while (_local2 < colSquares.length) {
colSquares[_local2]._visible = true;
_local2++;
}
showing = true;
}
function hide() {
var _local2 = 0;
while (_local2 < colSquares.length) {
colSquares[_local2]._visible = false;
_local2++;
}
showing = false;
}
function onRelease() {
if (showing) {
setCurrent(pos + Math.floor(_xmouse / csWidth));
} else {
show();
}
}
function onRollOut() {
hide();
}
function get numOptions() {
return(colSquares.length);
}
var showing = false;
static var CHANGE = "change";
}
Symbol 2492 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 2493 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 2494 MovieClip [__Packages.cust.GUI.Scroller] Frame 0
class cust.GUI.Scroller extends MovieClip
{
var attachMovie, slider, scrollTarg, up_btn, dn_btn, base, _visible, _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() {
if (scrollTarg.contentHeight < scrollTarg.totalHeight) {
_visible = true;
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);
} else {
_visible = false;
}
}
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 2495 MovieClip [__Packages.cust.GUI.ScrollableUIElement] Frame 0
class cust.GUI.ScrollableUIElement extends MovieClip
{
function ScrollableUIElement () {
super();
}
}
Symbol 2496 MovieClip [__Packages.Icon] Frame 0
class Icon extends MovieClip
{
var name, icon_src, callback, code, nId, mcl, attachMovie, createEmptyMovieClip, icon_mc, onRollOver, onDragOver, onRollOut, onDragOut, transform, throbber;
function Icon () {
super();
}
function init(n, i, c, s, ni) {
name = n;
icon_src = i;
callback = c;
code = s;
nId = ni;
mcl = new MovieClipLoader();
mcl.addListener(this);
attachMovie(THROBBER, THROBBER, 1, {_width:Math.min(ICON_WIDTH, ICON_HEIGHT), _height:Math.min(ICON_WIDTH, ICON_HEIGHT)});
createEmptyMovieClip("icon_mc", 0);
mcl.loadClip(icon_src, icon_mc);
onRollOver = (onDragOver = rollover);
onRollOut = (onDragOut = rollout);
}
function rollover() {
var _local3 = transform.pixelBounds.x + (transform.pixelBounds.width / 2);
var _local2 = transform.pixelBounds.y;
ToolTip.setMessage(name, _local3, _local2 - 4);
}
function rollout() {
ToolTip.hideMessage(0);
}
function onRelease() {
callback(name, code, nId);
}
function onLoadInit(targ) {
icon_mc._x = -Math.floor(icon_mc._width / 2);
icon_mc._y = -Math.floor(icon_mc._height / 2);
throbber.removeMovieClip();
}
function onLoadError() {
throbber.removeMovieClip();
attachMovie(DEFAULT_ICON, "icon_mc", 0);
}
static var ICON_WIDTH = 45;
static var ICON_HEIGHT = 22;
static var THROBBER = "throbber";
static var DEFAULT_ICON = "default_icon";
}
Symbol 2497 MovieClip [__Packages.ToolTip] Frame 0
class ToolTip extends MovieClip
{
static var tooltip, tId;
var txt;
function ToolTip () {
super();
tooltip = this;
txt.autoSize = "center";
}
static function setMessage(msg, x, y) {
if (msg == "undefined") {
return(undefined);
}
if (tId) {
_global.clearTimeout(tId);
delete tId;
}
tooltip.txt.autoSize = "left";
tooltip.txt.text = msg;
var _local2 = Math.ceil(tooltip.txt._width / 2);
var _local3 = -tooltip.txt._height;
tooltip.txt._x = -_local2;
tooltip.clear();
tooltip.beginFill(bordCol, 100);
tooltip.moveTo(-((_local2 + padding.left) + bordThick), padding.bottom + bordThick);
tooltip.lineTo(-((_local2 + padding.left) + bordThick), _local3 - (padding.top + bordThick));
tooltip.lineTo((_local2 + padding.right) + bordThick, _local3 - (padding.top + bordThick));
tooltip.lineTo((_local2 + padding.right) + bordThick, padding.bottom + bordThick);
tooltip.endFill();
tooltip.beginFill(baseCol, 100);
tooltip.moveTo(-(_local2 + padding.left), padding.bottom);
tooltip.lineTo(-(_local2 + padding.left), _local3 - padding.top);
tooltip.lineTo(_local2 + padding.right, _local3 - padding.top);
tooltip.lineTo(_local2 + padding.right, padding.bottom);
tooltip.endFill();
tooltip._visible = true;
tooltip._x = x;
tooltip._y = y;
}
static function hideMessage(t) {
if (t) {
tId = _global.setTimeout(ToolTip, hideMe, t);
} else {
hideMe();
}
}
static function hideMe() {
tooltip._visible = false;
}
static var baseCol = 16777164;
static var bordCol = 16764006;
static var bordThick = 1;
static var padding = {top:-1, left:0, bottom:2, right:2};
}
Symbol 2498 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, clear, beginFill, moveTo, lineTo, endFill, transform;
function TextArea () {
super();
txt = content.txt;
txt.html = true;
useHandCursor = false;
cacheAsBitmap = true;
width = _width;
height = _height;
_xscale = (_yscale = 100);
Mouse.addListener(this);
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 addBorder(col, thickness, bg) {
clear();
beginFill(col, 100);
moveTo(-thickness, -thickness);
lineTo(width + thickness, -thickness);
lineTo(width + thickness, height + thickness);
lineTo(-thickness, height + thickness);
lineTo(-thickness, -thickness);
endFill();
beginFill(bg, 100);
moveTo(0, 0);
lineTo(width, 0);
lineTo(width, height);
lineTo(0, height);
lineTo(0, 0);
endFill();
}
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 onMouseWheel(d) {
if (transform.pixelBounds.contains(_root._xmouse, _root._ymouse)) {
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.text);
}
function set text(s) {
txt.text = s;
onChanged(false);
//return(text);
}
function get htmlText() {
return(txt.htmlText);
}
function set htmlText(s) {
txt.htmlText = s;
onChanged(false);
//return(htmlText);
}
function set styleSheet(s) {
txt.styleSheet = s;
//return(styleSheet);
}
function get styleSheet() {
return(txt.styleSheet);
}
function set selectable(s) {
txt.selectable = s;
//return(selectable);
}
function get selectable() {
return(txt.selectable);
}
function toString() {
return(txt.text);
}
var mWheelSpeed = 5;
var scrollerWidth = 15;
var scrollerLinkage = "scroller";
}
Symbol 2499 MovieClip [__Packages.cust.GUI.ScrollBox] Frame 0
class cust.GUI.ScrollBox extends cust.GUI.ScrollableUIElement
{
var width, _width, height, _height, _xscale, _yscale, base, createEmptyMovieClip, rect, content, attachMovie, scroller, clear, beginFill, moveTo, lineTo, endFill, transform, _totalHeight;
function ScrollBox () {
super();
width = _width;
height = _height;
_xscale = (_yscale = 100);
base._visible = false;
createEmptyMovieClip("content", 1);
rect = new flash.geom.Rectangle(0, 0, width, height);
content.scrollRect = rect;
Mouse.addListener(this);
attachMovie(scrollerLinkage, "scroller", 2, {_x:width - scrollerWidth, _y:0, buttonSize:scrollerWidth});
}
function onLoad() {
scroller.init(this);
scroller._visible = false;
}
function addBorder(col, thickness, bg) {
clear();
beginFill(col, 100);
moveTo(-thickness, -thickness);
lineTo(width + thickness, -thickness);
lineTo(width + thickness, height + thickness);
lineTo(-thickness, height + thickness);
lineTo(-thickness, -thickness);
endFill();
beginFill(bg, 100);
moveTo(0, 0);
lineTo(width, 0);
lineTo(width, height);
lineTo(0, height);
lineTo(0, 0);
endFill();
}
function addObject(linkage, x, y, opts) {
var _local3 = content.getNextHighestDepth();
if (opts) {
opts._x = x;
opts._y = y;
} else {
opts = {_x:x, _y:y};
}
return(content.attachMovie(linkage, "obj" + _local3, _local3, opts));
}
function onMouseWheel(d) {
if (transform.pixelBounds.contains(_root._xmouse, _root._ymouse)) {
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 set totalHeight(h) {
content.clear();
_totalHeight = h;
content.beginFill(0, 0);
content.lineTo(width, 0);
content.lineTo(width, h);
content.lineTo(0, h);
content.lineTo(0, 0);
content.endFill();
scroller.render();
//return(totalHeight);
}
function get totalHeight() {
return(_totalHeight);
}
var mWheelSpeed = 5;
var scrollerWidth = 15;
var scrollerLinkage = "scroller";
}
Symbol 2500 MovieClip [__Packages.PerformanceController] Frame 0
class PerformanceController
{
var aFrmTms;
function PerformanceController () {
aFrmTms = new Arr();
nLFT = getTimer();
}
function onEnterFrame() {
var _local2 = getTimer();
aFrmTms.push(_local2 - nLFT);
if (aFrmTms.length > nFA) {
var _local3 = 1 / (aFrmTms.mean() / 1000);
if (_local3 > uf) {
if (cdl < mdl) {
setDetailLvl(cdl + 1);
}
} else if (_local3 < lf) {
if (cdl > 1) {
setDetailLvl(cdl - 1);
}
}
aFrmTms = new Arr();
}
nLFT = _local2;
}
function setDetailLvl(l) {
switch (l) {
case 1 :
trace("LOW detail");
_root._quality = "LOW";
_global.game.loQual();
break;
case 2 :
trace("HIGH detail");
_root._quality = "HIGH";
_global.game.hiQual();
}
cdl = l;
}
static var nFA = 25;
var nLFT = 0;
var cdl = 2;
static var lf = 16;
static var uf = 24;
static var mdl = 2;
}
Symbol 2501 MovieClip [__Packages.Arr] Frame 0
class Arr extends Array
{
var splice, length;
function Arr () {
super();
splice.apply(this, [0, 0].concat(arguments));
}
function randInd() {
return(Math.floor(Math.random() * length));
}
function rand() {
return(this[Math.floor(Math.random() * length)]);
}
function mean() {
var _local3 = 0;
var _local4 = 0;
var _local2 = 0;
while (_local2 < length) {
if (!isNaN(Number(this[_local2]))) {
_local3++;
_local4 = _local4 + Number(this[_local2]);
}
_local2++;
}
if (_local3 > 0) {
return(_local4 / _local3);
}
return(0);
}
function copy() {
var _local2 = new Arr();
for (var _local3 in this) {
_local2[_local3] = this[_local3];
}
return(_local2);
}
function current() {
return(this[iap]);
}
function next() {
if ((iap + 1) < length) {
iap++;
return(this[iap]);
}
return(false);
}
function prev() {
if (iap > 0) {
iap--;
return(this[iap]);
}
return(false);
}
function reset() {
if (length > 0) {
iap = 0;
return(this[iap]);
}
return(false);
}
function end() {
if (length > 0) {
iap = length - 1;
return(this[iap]);
}
return(false);
}
var iap = 0;
}
Symbol 96 MovieClip Frame 1
stop();
Symbol 99 MovieClip Frame 57
gotoAndPlay (1);
Symbol 106 MovieClip Frame 1
stop();
Symbol 111 MovieClip Frame 1
stop();
Symbol 112 MovieClip Frame 1
stop();
Symbol 117 MovieClip Frame 1
stop();
Symbol 122 MovieClip Frame 1
stop();
Symbol 127 MovieClip Frame 1
stop();
Symbol 132 MovieClip Frame 1
stop();
Symbol 137 MovieClip Frame 1
stop();
Symbol 142 MovieClip Frame 1
stop();
Symbol 147 MovieClip Frame 1
stop();
Symbol 152 MovieClip Frame 1
stop();
Symbol 157 MovieClip Frame 1
stop();
Symbol 162 MovieClip Frame 1
stop();
Symbol 167 MovieClip Frame 1
stop();
Symbol 172 MovieClip Frame 1
stop();
Symbol 177 MovieClip Frame 1
stop();
Symbol 182 MovieClip Frame 1
stop();
Symbol 187 MovieClip Frame 1
stop();
Symbol 192 MovieClip Frame 1
stop();
Symbol 193 MovieClip [hairBack] Frame 1
#initclip 46
Object.registerClass("hairBack", AvatarLinkedElement);
#endinitclip
stop();
Symbol 212 MovieClip [ears] Frame 1
#initclip 28
Object.registerClass("ears", AvatarSkinElement);
#endinitclip
Symbol 268 MovieClip Frame 1
stop();
Symbol 323 MovieClip [face] Frame 1
#initclip 29
Object.registerClass("face", AvatarSkinElement);
#endinitclip
Symbol 325 MovieClip Frame 1
stop();
Symbol 326 MovieClip Frame 1
stop();
Symbol 331 MovieClip Frame 1
stop();
Symbol 336 MovieClip Frame 1
stop();
Symbol 341 MovieClip Frame 1
stop();
Symbol 346 MovieClip Frame 1
stop();
Symbol 351 MovieClip Frame 1
stop();
Symbol 356 MovieClip Frame 1
stop();
Symbol 361 MovieClip Frame 1
stop();
Symbol 366 MovieClip Frame 1
stop();
Symbol 371 MovieClip Frame 1
stop();
Symbol 376 MovieClip Frame 1
stop();
Symbol 381 MovieClip Frame 1
stop();
Symbol 386 MovieClip Frame 1
stop();
Symbol 387 MovieClip [beard] Frame 1
#initclip 30
Object.registerClass("beard", ColouredAvatarElement);
#endinitclip
Symbol 439 MovieClip Frame 1
stop();
Symbol 488 MovieClip [mouth] Frame 1
#initclip 31
Object.registerClass("mouth", AvatarSkinElement);
#endinitclip
Symbol 545 MovieClip [nose] Frame 1
#initclip 32
Object.registerClass("nose", AvatarSkinElement);
#endinitclip
stop();
Symbol 565 MovieClip Frame 1
stop();
Symbol 568 MovieClip Frame 1
_visible = false;
Symbol 570 MovieClip Frame 1
_visible = false;
Symbol 602 MovieClip [eyes] Frame 1
#initclip 33
Object.registerClass("eyes", AvatarEyesElement);
#endinitclip
Symbol 635 MovieClip [eyes mask] Frame 1
#initclip 34
Object.registerClass("eyes mask", AvatarLinkedElement);
#endinitclip
Symbol 640 MovieClip [left iris] Frame 1
#initclip 35
Object.registerClass("left iris", AvatarLinkedElement);
#endinitclip
Symbol 647 MovieClip Frame 1
stop();
Symbol 666 MovieClip [eyebrows] Frame 1
#initclip 36
Object.registerClass("eyebrows", ColouredAvatarElement);
#endinitclip
Symbol 671 MovieClip Frame 1
stop();
Symbol 676 MovieClip Frame 1
stop();
Symbol 681 MovieClip Frame 1
stop();
Symbol 686 MovieClip Frame 1
stop();
Symbol 691 MovieClip Frame 1
stop();
Symbol 696 MovieClip Frame 1
stop();
Symbol 701 MovieClip Frame 1
stop();
Symbol 706 MovieClip Frame 1
stop();
Symbol 711 MovieClip Frame 1
stop();
Symbol 716 MovieClip Frame 1
stop();
Symbol 721 MovieClip Frame 1
stop();
Symbol 726 MovieClip Frame 1
stop();
Symbol 731 MovieClip Frame 1
stop();
Symbol 736 MovieClip Frame 1
stop();
Symbol 741 MovieClip Frame 1
stop();
Symbol 746 MovieClip Frame 1
stop();
Symbol 751 MovieClip Frame 1
stop();
Symbol 756 MovieClip Frame 1
stop();
Symbol 761 MovieClip Frame 1
stop();
Symbol 766 MovieClip Frame 1
stop();
Symbol 771 MovieClip Frame 1
stop();
Symbol 776 MovieClip Frame 1
stop();
Symbol 781 MovieClip Frame 1
stop();
Symbol 786 MovieClip Frame 1
stop();
Symbol 791 MovieClip Frame 1
stop();
Symbol 796 MovieClip Frame 1
stop();
Symbol 801 MovieClip Frame 1
stop();
Symbol 806 MovieClip Frame 1
stop();
Symbol 811 MovieClip Frame 1
stop();
Symbol 816 MovieClip Frame 1
stop();
Symbol 821 MovieClip Frame 1
stop();
Symbol 826 MovieClip Frame 1
stop();
Symbol 831 MovieClip Frame 1
stop();
Symbol 836 MovieClip Frame 1
stop();
Symbol 841 MovieClip Frame 1
stop();
Symbol 846 MovieClip Frame 1
stop();
Symbol 851 MovieClip Frame 1
stop();
Symbol 856 MovieClip Frame 1
stop();
Symbol 861 MovieClip Frame 1
stop();
Symbol 866 MovieClip Frame 1
stop();
Symbol 871 MovieClip Frame 1
stop();
Symbol 876 MovieClip Frame 1
stop();
Symbol 881 MovieClip Frame 1
Symbol 886 MovieClip Frame 1
stop();
Symbol 891 MovieClip Frame 1
stop();
Symbol 896 MovieClip Frame 1
stop();
Symbol 901 MovieClip Frame 1
stop();
Symbol 906 MovieClip Frame 1
stop();
Symbol 911 MovieClip Frame 1
stop();
Symbol 916 MovieClip Frame 1
stop();
Symbol 921 MovieClip Frame 1
stop();
Symbol 926 MovieClip Frame 1
stop();
Symbol 931 MovieClip Frame 1
stop();
Symbol 936 MovieClip Frame 1
stop();
Symbol 941 MovieClip Frame 1
stop();
Symbol 946 MovieClip Frame 1
stop();
Symbol 947 MovieClip [hair] Frame 1
#initclip 37
Object.registerClass("hair", AvatarLinkedElement);
#endinitclip
Symbol 963 MovieClip [glasses] Frame 1
#initclip 38
Object.registerClass("glasses", AvatarElement);
#endinitclip
stop();
Symbol 970 MovieClip [avatar] Frame 1
#initclip 39
Object.registerClass("avatar", Avatar);
#endinitclip
Symbol 984 MovieClip Frame 10
_global.game.killScrollObject(_parent);
Symbol 985 MovieClip [seaBad0] Frame 1
iAm = "seaBad0";
collisionRadius = 20;
stop();
Symbol 985 MovieClip [seaBad0] Frame 2
stop();
Symbol 994 MovieClip Frame 7
_global.game.killScrollObject(_parent);
Symbol 995 MovieClip [speedUp] Frame 1
iAm = "speedUp";
collisionRadius = 20;
stop();
Symbol 995 MovieClip [speedUp] Frame 2
stop();
Symbol 1001 MovieClip [skyBad0] Frame 1
iAm = "skyBad0";
collisionRadius = 30;
stop();
Symbol 1001 MovieClip [skyBad0] Frame 2
stop();
Symbol 1004 MovieClip [info.waveOn] Frame 45
this.removeMovieClip();
Symbol 1011 MovieClip Frame 1
_global.game.populateEndOfLevelStats(this);
Symbol 1016 MovieClip Frame 1
stop();
Symbol 1016 MovieClip Frame 12
_global.game.setNextLevelBriefing(textBox);
stop();
Symbol 1016 MovieClip Frame 16
stop();
Symbol 1017 MovieClip [info.waveOver] Frame 56
girlBrief.gotoAndPlay("speechBubbleIn");
Symbol 1017 MovieClip [info.waveOver] Frame 122
girlBrief.gotoAndPlay("speechBubbleOut");
Symbol 1017 MovieClip [info.waveOver] Frame 180
_global.game.nextLevel();
this.removeMovieClip();
Symbol 1030 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1039 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1054 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1067 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1092 MovieClip Frame 1
_global.root.setHair(this);
stop();
Symbol 1095 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1110 MovieClip Frame 1
_global.game.applySex(this);
stop();
Symbol 1111 MovieClip Frame 41
gotoAndPlay ("surf");
Symbol 1114 MovieClip Frame 1
_global.game.setBoard(this);
stop();
Symbol 1121 MovieClip Frame 1
_global.game.setBoard(this);
Symbol 1133 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1138 MovieClip Frame 1
_global.game.setBoard(this);
Symbol 1144 MovieClip Frame 11
gotoAndPlay (1);
Symbol 1145 MovieClip [surferIntro] Frame 43
_global.game.startSurfer();
Symbol 1145 MovieClip [surferIntro] Frame 54
_global.root.game.introDone(this);
Symbol 1145 MovieClip [surferIntro] Frame 97
_global.game.startSurfer();
Symbol 1145 MovieClip [surferIntro] Frame 108
_global.root.game.introDone(this);
Symbol 1145 MovieClip [surferIntro] Frame 150
_global.game.startSurfer();
Symbol 1145 MovieClip [surferIntro] Frame 157
_global.root.game.introDone(this);
Symbol 1145 MovieClip [surferIntro] Frame 202
_global.game.startSurfer();
Symbol 1145 MovieClip [surferIntro] Frame 209
_global.root.game.introDone(this);
Symbol 1145 MovieClip [surferIntro] Frame 255
_global.game.startSurfer();
Symbol 1145 MovieClip [surferIntro] Frame 262
_global.root.game.introDone(this);
Symbol 1145 MovieClip [surferIntro] Frame 263
_global.root.game.startDemo();
Symbol 1145 MovieClip [surferIntro] Frame 264
Symbol 1145 MovieClip [surferIntro] Frame 273
_global.root.game.demoControl = -1;
Symbol 1145 MovieClip [surferIntro] Frame 363
_global.root.game.demoControl = 0;
Symbol 1145 MovieClip [surferIntro] Frame 376
_global.root.game.demoControl = -1;
Symbol 1145 MovieClip [surferIntro] Frame 388
_global.root.game.demoControl = 0;
Symbol 1145 MovieClip [surferIntro] Frame 389
Symbol 1145 MovieClip [surferIntro] Frame 439
_global.root.game.introDone(this);
Symbol 1148 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1155 MovieClip Frame 10
_global.game.killScrollObject(_parent);
Symbol 1156 MovieClip [endOfLevel] Frame 1
iAm = "endOfLevel";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1156 MovieClip [endOfLevel] Frame 3
stop();
Symbol 1163 MovieClip Frame 25
_global.game.killScrollObject(_parent);
Symbol 1164 MovieClip [lifeUp] Frame 1
iAm = "lifeUp";
collisionRadius = 35;
_global.game.spriteTest(this);
stop();
Symbol 1164 MovieClip [lifeUp] Frame 2
stop();
Symbol 1169 MovieClip Frame 7
_global.game.killScrollObject(_parent);
Symbol 1170 MovieClip [boostUp] Frame 1
iAm = "boostUp";
collisionRadius = 35;
_global.game.spriteTest(this);
stop();
Symbol 1170 MovieClip [boostUp] Frame 3
stop();
Symbol 1173 MovieClip Frame 7
_global.game.killScrollObject(_parent);
Symbol 1174 MovieClip [pointsUp] Frame 1
iAm = "pointsUp";
collisionRadius = 35;
_global.game.spriteTest(this);
stop();
Symbol 1174 MovieClip [pointsUp] Frame 2
stop();
Symbol 1179 MovieClip Frame 7
_global.game.killScrollObject(_parent);
Symbol 1180 MovieClip [bigPointsUp] Frame 1
iAm = "bigPointsUp";
collisionRadius = 35;
_global.game.spriteTest(this);
stop();
Symbol 1180 MovieClip [bigPointsUp] Frame 3
stop();
Symbol 1188 MovieClip Frame 7
_global.game.killScrollObject(_parent);
Symbol 1189 MovieClip [gravDown] Frame 1
iAm = "gravDown";
collisionRadius = 35;
_global.game.spriteTest(this);
stop();
Symbol 1189 MovieClip [gravDown] Frame 2
stop();
Symbol 1189 MovieClip [gravDown] Frame 3
stop();
Symbol 1190 MovieClip [level1] Frame 1
_visible = false;
waveHeight = 30;
waveGrow = 0.05;
waveSpeed = 0;
badWaveDistance = 900;
badWaveSpeed = 7;
badWaveAcceleration = 0.02;
parTime = 60;
briefing = "Ok, that was easy. This time watch out for rocks and markers...";
Symbol 1190 MovieClip [level1] Frame 4
_parent.newLevel();
stop();
Symbol 1196 MovieClip [bigObject0] Frame 1
iAm = "bigObject0";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1196 MovieClip [bigObject0] Frame 3
stop();
Symbol 1198 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1199 MovieClip [waveDownInvis] Frame 1
iAm = "waveDownInvis";
collisionRadius = 0;
onTopOfWave = true;
Symbol 1199 MovieClip [waveDownInvis] Frame 2
stop();
Symbol 1199 MovieClip [waveDownInvis] Frame 3
stop();
Symbol 1202 MovieClip [bigObject13] Frame 1
iAm = "bigObject13";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1202 MovieClip [bigObject13] Frame 3
stop();
Symbol 1204 MovieClip [bigObject1] Frame 1
iAm = "bigObject1";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1204 MovieClip [bigObject1] Frame 3
stop();
Symbol 1206 MovieClip [bigObject12] Frame 1
iAm = "bigObject12";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1206 MovieClip [bigObject12] Frame 3
stop();
Symbol 1209 MovieClip [bigObject2] Frame 1
iAm = "bigObject2";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1209 MovieClip [bigObject2] Frame 3
stop();
Symbol 1210 MovieClip [level3] Frame 1
_visible = false;
waveHeight = 3;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 900;
badWaveSpeed = 9;
badWaveAcceleration = 0.025;
parTime = 60;
briefing = "These seas can change at any moment bringing whales to the surface...";
Symbol 1210 MovieClip [level3] Frame 4
_parent.newLevel();
stop();
Symbol 1212 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1213 MovieClip [bigObject6] Frame 1
iAm = "bigObject6";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1213 MovieClip [bigObject6] Frame 3
stop();
Symbol 1216 MovieClip [bigObject3] Frame 1
iAm = "bigObject3";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1216 MovieClip [bigObject3] Frame 3
stop();
Symbol 1217 MovieClip [level4] Frame 1
_visible = false;
waveHeight = 5;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 2000;
badWaveSpeed = 8;
badWaveAcceleration = 0.025;
parTime = 60;
briefing = "More low seas - but take to the skies to get over that oil rig!";
Symbol 1217 MovieClip [level4] Frame 4
_parent.newLevel();
stop();
Symbol 1221 MovieClip Frame 10
_global.game.killScrollObject(_parent);
Symbol 1222 MovieClip [bigObject18] Frame 1
iAm = "bigObject18";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1222 MovieClip [bigObject18] Frame 3
stop();
Symbol 1224 MovieClip [bigObject10] Frame 1
iAm = "bigObject10";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1224 MovieClip [bigObject10] Frame 3
stop();
Symbol 1226 MovieClip [bigObject19] Frame 1
iAm = "bigObject19";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1226 MovieClip [bigObject19] Frame 3
stop();
Symbol 1227 MovieClip [level5] Frame 1
_visible = false;
waveHeight = 25;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 1800;
badWaveSpeed = 11;
badWaveAcceleration = 0.025;
parTime = 60;
briefing = "Keep your wits about you - I hear there's a 'titanic' obstacle to avoid!";
Symbol 1227 MovieClip [level5] Frame 4
_parent.newLevel();
stop();
Symbol 1229 MovieClip [bigObject14] Frame 1
iAm = "bigObject14";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1229 MovieClip [bigObject14] Frame 3
stop();
Symbol 1231 MovieClip [bigObject17] Frame 1
iAm = "bigObject17";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1231 MovieClip [bigObject17] Frame 3
stop();
Symbol 1232 MovieClip [level6] Frame 1
_visible = false;
waveHeight = 3;
waveGrow = 0.05;
waveSpeed = 0;
badWaveDistance = 800;
badWaveSpeed = 11;
badWaveAcceleration = 0.023;
parTime = 60;
briefing = "We're not far from the shore - watch out for the low seas and pesky marker buoys!";
Symbol 1232 MovieClip [level6] Frame 4
_parent.newLevel();
stop();
Symbol 1233 MovieClip [floater2] Frame 1
iAm = "floater2";
collisionRadius = 0;
_global.game.spriteTest(this);
onTopOfWave = true;
stop();
Symbol 1233 MovieClip [floater2] Frame 3
stop();
Symbol 1236 MovieClip [bigObject7] Frame 1
iAm = "bigObject7";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1236 MovieClip [bigObject7] Frame 3
stop();
Symbol 1237 MovieClip [level7] Frame 1
_visible = false;
waveHeight = 3;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 900;
badWaveSpeed = 10;
badWaveAcceleration = 0.025;
parTime = 70;
briefing = "There's a legend round these parts of a sea monster, a pirate ship and barrels of rum...";
Symbol 1237 MovieClip [level7] Frame 4
_parent.newLevel();
stop();
Symbol 1240 MovieClip [bigObject4] Frame 1
iAm = "bigObject4";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1240 MovieClip [bigObject4] Frame 3
stop();
Symbol 1242 MovieClip [bigObject11] Frame 1
iAm = "bigObject11";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1242 MovieClip [bigObject11] Frame 3
stop();
Symbol 1245 MovieClip [bigObject15] Frame 1
iAm = "bigObject15";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1245 MovieClip [bigObject15] Frame 3
stop();
Symbol 1248 MovieClip [floater1] Frame 1
iAm = "floater1";
collisionRadius = 0;
_global.game.spriteTest(this);
onTopOfWave = true;
stop();
Symbol 1248 MovieClip [floater1] Frame 3
stop();
Symbol 1249 MovieClip [level8] Frame 1
_visible = false;
waveHeight = 3;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 1900;
badWaveSpeed = 10;
badWaveAcceleration = 0.025;
parTime = 75;
briefing = "You'll need your pilot-wings for this level - the points are all in the air!";
Symbol 1249 MovieClip [level8] Frame 4
_parent.newLevel();
stop();
Symbol 1250 MovieClip [level9] Frame 1
_visible = false;
waveHeight = 10;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 1400;
badWaveSpeed = 12;
badWaveAcceleration = 0.025;
parTime = 80;
briefing = "So, you've got awesome board control - prove you're a legend on this final wave!";
Symbol 1250 MovieClip [level9] Frame 4
_parent.newLevel();
stop();
Symbol 1251 MovieClip [level10] Frame 1
_visible = false;
waveHeight = 5;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 2000;
badWaveSpeed = 8;
badWaveAcceleration = 0.025;
parTime = 120;
briefing = "Hey, well done! You rule the waves!";
Symbol 1251 MovieClip [level10] Frame 4
_parent.newLevel();
stop();
Symbol 1254 MovieClip [bigObject8] Frame 1
iAm = "bigObject8";
collisionRadius = 0;
_global.game.spriteTest(this);
stop();
Symbol 1254 MovieClip [bigObject8] Frame 3
stop();
Symbol 1255 MovieClip [level2] Frame 1
_visible = false;
waveHeight = 60;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 1500;
badWaveSpeed = 9;
badWaveAcceleration = 0.025;
parTime = 60;
briefing = "The rocks around here are much bigger - watch out for shipwrecks!";
Symbol 1255 MovieClip [level2] Frame 4
_parent.newLevel();
stop();
Symbol 1264 MovieClip [exitSplash] Frame 9
this.removeMovieClip();
Symbol 1267 MovieClip [info.score] Frame 45
this.removeMovieClip();
Symbol 1268 MovieClip [level999] Frame 1
_visible = false;
waveHeight = 5;
waveGrow = 0.01;
waveSpeed = 0;
badWaveDistance = 5000;
badWaveSpeed = 10;
badWaveAcceleration = 0.02;
parTime = 30;
Symbol 1268 MovieClip [level999] Frame 4
_parent.newLevel();
stop();
Symbol 1271 MovieClip [deadBoard] Frame 1
_global.game.setBoard(this);
stop();
Symbol 1272 MovieClip Frame 7
gotoAndPlay (1);
Symbol 1273 MovieClip [deadSurfer] Frame 1
stop();
Symbol 1273 MovieClip [deadSurfer] Frame 2
stop();
Symbol 1277 MovieClip [oucher] Frame 4
this.removeMovieClip();
Symbol 1278 MovieClip [colour_picker] Frame 1
#initclip 40
Object.registerClass("colour_picker", ColourPicker);
#endinitclip
Symbol 1284 MovieClip [avatar_btn] Frame 1
#initclip 41
Object.registerClass("avatar_btn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 1286 MovieClip [gravAnim] Frame 11
gotoAndPlay (1);
Symbol 1287 MovieClip [scroller] Frame 1
#initclip 42
Object.registerClass("scroller", cust.GUI.Scroller);
#endinitclip
Symbol 1290 MovieClip [icon] Frame 1
#initclip 43
Object.registerClass("icon", Icon);
#endinitclip
Symbol 1295 MovieClip [text_dn_btn] Frame 1
#initclip 44
Object.registerClass("text_dn_btn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 1295 MovieClip [text_dn_btn] Frame 6
stop();
Symbol 1295 MovieClip [text_dn_btn] Frame 11
stop();
Symbol 1299 MovieClip [text_scroller_bar] Frame 1
stop();
Symbol 1299 MovieClip [text_scroller_bar] Frame 6
stop();
Symbol 1299 MovieClip [text_scroller_bar] Frame 11
stop();
Symbol 1303 MovieClip [text_up_btn] Frame 1
#initclip 45
Object.registerClass("text_up_btn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 1303 MovieClip [text_up_btn] Frame 6
stop();
Symbol 1303 MovieClip [text_up_btn] Frame 11
stop();
Symbol 1316 MovieClip Frame 1
if (!_parent.dontApplySex) {
_global.root.applySex(this);
stop();
}
Symbol 1316 MovieClip Frame 25
stop();
Symbol 1317 MovieClip Frame 1
dontApplySex = true;
Symbol 1325 MovieClip [scores] Frame 1
if (xmlNode) {
this.onRollOver = function () {
gotoAndStop ("rollOver");
};
this.onRollOut = function () {
gotoAndStop ("rollOut");
};
if (xmlNode.attributes.lId) {
this.onRelease = function () {
getURL (_global.gameURL + xmlNode.attributes.lId);
};
}
}
if (xmlNode) {
position_txt.text = pos + ".";
if (xmlNode.attributes.country) {
name_txt.text = (((xmlNode.attributes.first + " ") + xmlNode.attributes.last) + ", ") + xmlNode.attributes.country;
} else {
name_txt.text = (xmlNode.attributes.first + " ") + xmlNode.attributes.last;
}
score_txt.text = xmlNode.attributes.score;
}
wholeAvatar_mc._visible = false;
stop();
Symbol 1325 MovieClip [scores] Frame 6
stop();
position_txt.text = pos + ".";
if (xmlNode.attributes.country) {
name_txt.text = (((xmlNode.attributes.first + " ") + xmlNode.attributes.last) + ", ") + xmlNode.attributes.country;
} else {
name_txt.text = (xmlNode.attributes.first + " ") + xmlNode.attributes.last;
}
score_txt.text = xmlNode.attributes.score;
wholeAvatar_mc.body.gotoAndStop(xmlNode.attributes.gender);
_global.root.putAvatarHere(wholeAvatar_mc.avatar, xmlNode.attributes.avatar, xmlNode.attributes.builtInFace);
wholeAvatar_mc._visible = true;
Symbol 1343 MovieClip Frame 1
stop();
Symbol 1347 MovieClip Frame 1
System.security.allowDomain(_parent._url);
stop();
_title = "60 Revolutions";
_sndman = new SoundManager(this);
_snd = new Snd(this, _sndman);
Symbol 1347 MovieClip Frame 2
stop();
Symbol 1370 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1379 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1392 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1419 MovieClip Frame 187
stop();
Symbol 1423 Button
on (release) {
_global.changePage("start");
}
Symbol 1429 MovieClip Frame 1
stop();
Symbol 1429 MovieClip Frame 5
stop();
Symbol 1434 MovieClip Frame 1
_global.root.putAvatarHere(avatar);
body.gotoAndStop(_global.player.gender);
Symbol 1435 MovieClip Frame 165
stop();
Symbol 1439 MovieClip Frame 1
box.text = _global.player.firstName;
box2.text = _global.player.lastName;
Symbol 1462 MovieClip Frame 101
stop();
Instance of Symbol 1429 MovieClip in Symbol 1473 MovieClip 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 1473 MovieClip Frame 363
stop();
_global.changePage("start");
Symbol 1483 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 1489 MovieClip Frame 1
function drip() {
this._y = this._y + this.myGrav;
this._alpha = this._alpha - 5;
this._xscale = this._xscale * stretchX;
this._yscale = this._yscale * stretchY;
if (this._alpha <= 0) {
this.removeMovieClip();
}
}
function makeDrips(j) {
i = 0;
while (i < j) {
mc = dripHolder.attachMovie("theDrip", "drip" + dripHolder.getNextHighestDepth(), dripHolder.getNextHighestDepth());
mc._y = 0;
mc._x = Math.random() * 600;
mc._xscale = (startWidth * 0.5) + (Math.random() * (startWidth * 0.5));
mc.onEnterFrame = drip;
mc.myGrav = grav * Math.random();
i++;
}
}
grav = 10;
startWidth = 600;
stretchX = 0.85;
stretchY = 1.25;
alphaOut = 5;
stop();
Instance of Symbol 1479 MovieClip in Symbol 1489 MovieClip Frame 2
onClipEvent (load) {
this.onRollOver = function () {
};
this.useHandCursor = false;
}
Symbol 1489 MovieClip Frame 18
_parent.gotoAndStop(nextPage);
makeDrips(3);
Symbol 1489 MovieClip Frame 20
makeDrips(3);
Symbol 1489 MovieClip Frame 26
makeDrips(3);
Symbol 1508 MovieClip Frame 1
maxCharLength = 25;
nameString = (_global.player.firstName + " ") + _global.player.lastName;
if (nameString.length > maxCharLength) {
nameString = (_global.player.firstName.substr(0, 1) + ". ") + _global.player.lastName;
if (nameString.length > maxCharLength) {
nameString.substr(0, maxCharLength);
}
}
textMask.displayName.text = nameString;
Symbol 1521 Button
on (release) {
_parent.changePage("fromWidget");
delete onMouseMove;
_global.avatar.look("centre");
}
Symbol 1529 MovieClip Frame 1
stop();
Symbol 1531 Button
on (rollOver) {
if (_global.soLoadState != "error") {
play();
}
}
on (release) {
if (_global.soLoadState != "error") {
getURL (_global.legendLink, _blank);
_root.kvClick(433);
}
}
Symbol 1533 Button
on (release) {
if (_global.soLoadState != "error") {
getURL (_global.legendLink, _blank);
_root.kvClick(433);
}
}
Symbol 1534 Button
on (release) {
if (_global.soLoadState != "error") {
getURL (_global.legendLink, _blank);
_root.kvClick(433);
}
}
on (rollOver) {
stop();
}
Symbol 1536 Button
on (rollOver) {
play();
}
Symbol 1537 MovieClip Frame 1
stop();
if (_global.soLoadState == "error") {
btn.useHandCursor = false;
}
stop();
Symbol 1537 MovieClip Frame 13
gotoAndStop ("on");
Symbol 1547 Button
on (rollOver) {
play();
}
on (release) {
getURL (_global.legendLink + _global.links.wiiLink, _blank);
_root.kvClick(434);
}
Symbol 1548 Button
on (rollOver) {
play();
}
on (release) {
getURL (_global.legendLink + _global.links.wiiLink, _blank);
_root.kvClick(434);
}
Symbol 1549 Button
on (release) {
getURL (_global.legendLink + _global.links.wiiLink, _blank);
_root.kvClick(434);
}
on (rollOver) {
stop();
}
Symbol 1550 MovieClip Frame 1
stop();
Symbol 1550 MovieClip Frame 9
gotoAndStop (1);
Symbol 1551 Button
on (release) {
_parent.changePage("endGame");
}
Symbol 1552 Button
on (release) {
play();
}
Symbol 1553 MovieClip Frame 1
this.createEmptyMovieClip("nextBtn_mc", this.getNextHighestDepth());
Key.addListener(nextBtn_mc);
nextBtn_mc.onEnterFrame = function () {
if (Key.isDown(13)) {
_parent.changePage("fromWidget");
delete onMouseMove;
_global.avatar.look("centre");
}
};
function makeSoundClips() {
_global.sndman = new SoundManager(_root.createEmptyMovieClip("snd_mc", _root.getNextHighestDepth()));
}
function resetSoundClips() {
stopAllSounds();
removeMovieClip(snd_mc);
removeMovieClip(mus_mc);
delete _global.sndman;
delete _global.musman;
makeSoundClips();
}
if (!_global.sndman) {
makeSoundClips();
}
if (_global.soLoadState == "error") {
gotoAndStop ("noConnection");
}
stop();
Instance of Symbol 1429 MovieClip in Symbol 1553 MovieClip 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 1553 MovieClip Frame 4
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 6
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 7
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 9
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 11
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 13
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 15
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 17
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 19
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 21
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 23
shakeY = shakeY + 1.5;
Symbol 1553 MovieClip Frame 24
_parent.play();
Symbol 1553 MovieClip Frame 30
stop();
Symbol 1564 Button
on (release) {
changePage();
}
Symbol 1569 MovieClip Frame 1
maxCharLength = 17;
nameString = (_global.player.firstName + " ") + _global.player.lastName;
if (nameString.length > maxCharLength) {
nameString = (_global.player.firstName.substr(0, 1) + ". ") + _global.player.lastName;
if (nameString.length > maxCharLength) {
nameString.substr(0, maxCharLength);
}
}
textMask.displayName.text = nameString;
Symbol 1576 Button
on (release) {
changePage("getWidget");
}
Symbol 1579 Button
on (release) {
changePage("howToPlay");
}
Symbol 1586 Button
on (release) {
changePage("fromWidget");
}
Symbol 1588 Button
on (release) {
changePage("start");
}
Symbol 1590 Button
on (release) {
getURL (_global.legendLink + _global.links.wiiLink, _blank);
_root.kvClick(434);
}
Symbol 1592 Button
on (release) {
getURL (_global.legendLink, _blank);
_root.kvClick(433);
}
Symbol 1594 Button
on (release) {
changePage("viewScores");
}
Symbol 1596 Button
on (release) {
getURL (_global.challengeAFriendLink, "_blank");
_root.kvClick(435);
}
Symbol 1599 MovieClip Frame 1
if (_global.soLoadState == "error") {
gotoAndStop ("noConnection");
} else {
stop();
}
Instance of Symbol 1429 MovieClip in Symbol 1599 MovieClip 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 1599 MovieClip Frame 6
stop();
Symbol 1605 Button
on (release) {
_parent.changePage("mmenu");
}
Symbol 1608 Button
on (release) {
_parent.changePage("preGame");
}
Symbol 1612 MovieClip Frame 1
medalInitial = _global.player.medal;
if (medalInitial == "p") {
medalText = "a Platinum Medal";
} else if (_global.player.medal == "g") {
medalText = "a Gold Medal";
} else if (_global.player.medal == "s") {
medalText = "a Silver Medal";
} else {
medalText = "a Bronze Medal";
}
scoreText = _global.root.playerScore;
if (!scoreText) {
scoreText = "nothing";
}
if (_global.root.currentLevel <= 10) {
box.text = ((((("Oh " + _global.player.firstName) + " you cutie! You scored a gnarly ") + scoreText) + ", and earned ") + medalText) + "!";
} else {
box.text = ((((("Oh " + _global.player.firstName) + " you completed the game, scoring ") + scoreText) + ", earning ") + medalText) + "! Well done!";
}
stop();
Symbol 1621 MovieClip Frame 1
gotoAndStop(_global.player.medal);
Symbol 1621 MovieClip Frame 2
stop();
Symbol 1621 MovieClip Frame 3
stop();
Symbol 1621 MovieClip Frame 4
stop();
Symbol 1622 MovieClip Frame 1
_global.root.putAvatarHere(avatar);
body.gotoAndStop(_global.player.gender);
Symbol 1623 MovieClip Frame 1
maxCharLength = 12;
nameString = (_global.player.firstName + " ") + _global.player.lastName;
if ((nameString.length > maxCharLength) && (_parent._parent.abbreviate)) {
nameString = (_global.player.firstName.substr(0, 1) + ". ") + _global.player.lastName;
if (nameString.length > maxCharLength) {
nameString.substr(0, maxCharLength);
}
}
textMask.displayName.text = nameString;
Symbol 1626 MovieClip Frame 1
abbreviate = true;
Symbol 1631 Button
on (release) {
changePage("viewScores");
}
Symbol 1636 Button
on (release) {
changePage("fromWidget");
}
Symbol 1641 Button
on (release) {
getURL (_global.legendLink + _global.links.wiiLink, _blank);
_root.kvClick(434);
}
Symbol 1646 Button
on (release) {
getURL (_global.legendLink, "_blank");
_root.kvClick(433);
}
Symbol 1660 Button
on (release) {
getURL (_global.gameDomain + "terms-and-conditions.php", "_blank");
_root.kvClick(442);
}
Symbol 1685 Button
on (release) {
_parent.onClosed = Delegate.create(_global, changePage, "fromWidget");
_parent.play();
}
Symbol 1688 Button
on (release) {
_parent.play();
}
Symbol 1689 MovieClip Frame 1
stop();
Symbol 1689 MovieClip Frame 2
function setClipboard() {
System.setClipboard(this.str);
}
stop();
gamecode_txt.text = (copy_gamecode_btn.str = _global.player.gamecode);
url_txt.text = (copy_url_btn.str = (_global.gameURL + _global.player.lId) + "/");
copy_gamecode_btn.onRelease = (copy_url_btn.onRelease = setClipboard);
Symbol 1689 MovieClip Frame 3
delete _parent.onClosed;
Symbol 1694 MovieClip Frame 1
stop();
Instance of Symbol 55 MovieClip "blocker" in Symbol 1694 MovieClip Frame 2
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 1694 MovieClip Frame 10
stop();
Symbol 1694 MovieClip Frame 20
onClosed();
gotoAndStop ("off");
Symbol 1696 Button
on (release) {
changePage("fromWidget");
}
Symbol 1703 Button
on (release) {
changePage("viewScores");
}
Symbol 1707 Button
on (release) {
changePage("getWidget");
}
Symbol 1711 MovieClip Frame 1
medalInitial = _global.player.medal;
if (medalInitial == "p") {
medalText = "a Platinum Medal";
} else if (_global.player.medal == "g") {
medalText = "a Gold Medal";
} else if (_global.player.medal == "s") {
medalText = "a Silver Medal";
} else {
medalText = "a Bronze Medal";
}
scoreText = _global.root.playerScore;
if (!scoreText) {
scoreText = "nothing";
}
if (_global.root.currentLevel <= 10) {
box.text = ((((("Oh " + _global.player.firstName) + " you cutie! You scored a gnarly ") + scoreText) + ", and earned ") + medalText) + "!";
} else {
box.text = ((((("Oh " + _global.player.firstName) + " you completed the game, scoring ") + scoreText) + ", earning ") + medalText) + "! Well done!";
}
stop();
Symbol 1717 Button
on (release) {
changePage("viewScores");
}
Symbol 1721 Button
on (release) {
changePage("fromWidget");
}
Symbol 1722 MovieClip Frame 1
function saveAndGetWidget() {
if (_global.soLoadState == "loaded") {
save_mc.gotoAndPlay("on");
_global.root.savePlayer(setDialog, setDialogError);
} else {
_global.root.lostConnection.gotoAndPlay("on");
}
}
function retrySave() {
save_mc.dialog_mc.gotoAndStop("pleaseWait");
_global.root.savePlayer(setDialog, setDialogError);
}
function setDialog() {
save_mc.dialog_mc.gotoAndStop("done");
save_mc.onClosed = getWidget;
}
function setDialogError(errorMsg) {
save_mc.dialog_mc.gotoAndStop("error");
save_mc.dialog_mc.output_txt.text = errorMsg;
save_mc.dialog_mc.retry_btn.onRelease = retrySave;
}
function getWidget() {
if (_global.soLoadState == "loaded") {
changePage("getWidget");
} else {
_global.root.lostConnection.gotoAndPlay("on");
}
}
function gotoWidget() {
changePage("getWidget");
}
if (_global.player.isOwner) {
if (_global.player.isSaved) {
gotoAndStop ("saved");
} else {
gotoAndStop ("notSaved");
}
} else {
gotoAndStop ("notOwner");
}
save1_btn.onRelease = (save2_btn.onRelease = saveAndGetWidget);
this.createEmptyMovieClip("nextBtn_mc", this.getNextHighestDepth());
Key.addListener(nextBtn_mc);
nextBtn_mc.onEnterFrame = function () {
if (Key.isDown(13)) {
_parent.changePage("preGame");
}
};
if (_global.soLoadState == "error") {
gotoAndStop ("noConnection");
} else {
stop();
}
Instance of Symbol 1429 MovieClip in Symbol 1722 MovieClip 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 1729 MovieClip [scroll box] Frame 1
#initclip 49
Object.registerClass("scroll box", cust.GUI.ScrollBox);
#endinitclip
Symbol 1731 MovieClip [tooltip] Frame 1
#initclip 47
Object.registerClass("tooltip", ToolTip);
#endinitclip
Symbol 1734 MovieClip Frame 1
stop();
Instance of Symbol 1479 MovieClip in Symbol 1734 MovieClip Frame 2
onClipEvent (load) {
this.useHandCursor = false;
this.onRollOver = (this.onDragOver = function () {
});
}
Symbol 1734 MovieClip Frame 6
transitionHandler();
Symbol 1743 MovieClip [textArea] Frame 1
#initclip 48
Object.registerClass("textArea", cust.GUI.TextArea);
#endinitclip
Symbol 1750 Button
on (release) {
curtains.gotoAndPlay("transition");
curtains.transitionHandler = backTo;
}
Symbol 1760 Button
on (release) {
_parent.curtains.transitionHandler = _parent.goTo;
_parent.nextMode = "play";
_parent.nextPage = "embed";
_parent.curtains.gotoAndPlay("transition");
}
Symbol 1768 Button
on (release) {
gotoAndStop ("large");
}
Symbol 1774 Button
on (release) {
gotoAndStop ("small");
}
Symbol 1775 MovieClip Frame 2
stop();
_global.root.widgetSize = "small";
Symbol 1775 MovieClip Frame 5
stop();
_global.root.widgetSize = "large";
Symbol 1776 MovieClip Frame 1
function goTo() {
if (nextMode == "play") {
gotoAndPlay(nextPage);
} else {
gotoAndStop(nextPage);
}
}
function backTo() {
if (prevMode == "play") {
gotoAndPlay(prevPage);
} else {
gotoAndStop(prevPage);
}
}
box.addBorder(14737379, 1, 16777215);
if (!xml) {
stop();
throbber_mc._visible = true;
xml = new XML();
xml.ignoreWhite = true;
xml.load(_global.widgetsURL + "/feeds/networks.xml");
xml.onLoad = function () {
throbber_mc._visible = false;
play();
};
}
prevMode = "stop";
prevPage = "loaded";
title_txt.text = "Add Widget!";
Symbol 1776 MovieClip Frame 2
function embedHandler(name, code, id) {
curtains.gotoAndPlay("transition");
curtains.transitionHandler = goTo;
nextMode = "stop";
nextPage = "size";
ToolTip.hideMessage(0);
replaceArr[1] = id;
_global.root.name = name;
replaceArr[2] = 160;
replaceArr[3] = "widgetSmall";
_global.root.smallcode = strReplace(findArr, replaceArr, code);
replaceArr[2] = 380;
replaceArr[3] = "widget";
_global.root.largecode = strReplace(findArr, replaceArr, code);
}
function appHandler(name, code, id) {
curtains.gotoAndPlay("transition");
curtains.transitionHandler = goTo;
nextMode = "stop";
nextPage = "app";
ToolTip.hideMessage(0);
replaceArr[1] = id;
_global.root.name = name;
_global.root.code = strReplace(findArr, replaceArr, code);
}
function strReplace(f, r, s) {
var _local1 = 0;
if (!(f instanceof Array)) {
f = [f];
}
var _local3;
var _local5;
var _local4 = 0;
while (_local4 < f.length) {
if (r instanceof Array) {
_local3 = r[_local4];
} else {
_local3 = r;
}
_local5 = f[_local4];
while (_local1 = s.indexOf(_local5, _local1) , _local1 != -1) {
s = (s.substring(0, _local1) + _local3) + s.substr(_local1 + _local5.length);
_local1 = _local1 + _local3.length;
}
_local4++;
}
return(s);
}
boxVPad = 5;
boxHPad = 0;
itmVPad = 0;
itmHPad = 0;
itmWidth = Icon.ICON_WIDTH;
itmHeight = Icon.ICON_HEIGHT;
curY = boxVPad + (itmHeight / 2);
curX = boxHPad + (itmWidth / 2);
var i = 0;
while (i < xml.firstChild.childNodes.length) {
curNode = xml.firstChild.childNodes[i];
ico = box.addObject("icon", curX, curY);
ico.init(curNode.attributes.name, curNode.attributes.icon, ((curNode.attributes.type == "app") ? (appHandler) : (embedHandler)), curNode.firstChild.nodeValue, Number(curNode.attributes.id));
if ((((curX + itmWidth) + itmHPad) + itmHPad) <= (box.width - ((boxHPad * 2) + box.scrollerWidth))) {
curX = curX + (itmWidth + itmHPad);
} else {
curX = boxHPad + (itmWidth / 2);
curY = curY + (itmHeight + itmVPad);
}
i++;
}
box.totalHeight = (curY + boxVPad) + (itmHeight / 2);
findArr = ["{lId}", "{nId}", "{width}", "{file}"];
replaceArr = [player.lId];
stop();
Symbol 1776 MovieClip Frame 3
prevMode = "play";
prevPage = "network";
embed_txt.addBorder(14737379, 1, 16777215);
embed_txt.selectable = true;
title_txt.text = "Add Widget to " + name;
copy_code_btn.onRelease = function () {
System.setClipboard(embed_txt.txt.text);
};
Symbol 1776 MovieClip Frame 4
trace(_global.root.widgetSize);
embed_txt.text = _global.root[_global.root.widgetSize + "code"];
Selection.setFocus(embed_txt.txt);
embed_txt.txt.setSelection(0, embed_txt.txt.text.length);
stop();
Symbol 1776 MovieClip Frame 5
prevMode = "play";
prevPage = "network";
title_txt.text = "Add Widget to " + name;
install_app_btn.onRelease = function () {
getURL (_global.root.code, "_blank");
};
Symbol 1776 MovieClip Frame 6
prevMode = "play";
prevPage = "network";
Instance of Symbol 1775 MovieClip in Symbol 1776 MovieClip Frame 6
onClipEvent (load) {
gotoAndStop(_global.root.widgetSize);
}
Symbol 1785 Button
on (release) {
changePage("fromWidget");
}
Symbol 1791 Button
on (release) {
changePage();
}
Symbol 1792 MovieClip Frame 1
gameURLText.text = (_global.gameURL + player.lId) + "/";
stop();
Instance of Symbol 1429 MovieClip in Symbol 1792 MovieClip 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 1798 MovieClip Frame 1
_global.root.putAvatarHere(avatar);
body.gotoAndStop(_global.player.gender);
Symbol 1801 MovieClip Frame 1
sharedObject = _global.root.getSharedObject();
box.text = (("Play as " + sharedObject.data.savegame.firstName) + " ") + sharedObject.data.savegame.lastName;
Symbol 1802 Button
on (release) {
_global.root.getPlayer();
changePage("preGame");
}
on (rollOver) {
if (_parent.rolledOver != "mystery") {
_parent.rolledOver = "mystery";
_parent.play();
}
}
Symbol 1803 MovieClip Frame 1
sharedObject = _global.root.getSharedObject();
if (sharedObject.data.savegame.firstName != undefined) {
gotoAndStop ("on");
} else {
stop();
}
Symbol 1803 MovieClip Frame 3
stop();
Symbol 1806 Button
on (release) {
changePage("howToPlay");
}
Symbol 1809 Button
on (rollOver) {
if (_parent.rolledOver != "mystery") {
_parent.rolledOver = "mystery";
_parent.play();
}
}
on (release) {
_parent.load_mc.gotoAndPlay("on");
}
Symbol 1810 MovieClip Frame 1
if (_global.soLoadState != "error") {
gotoAndStop ("on");
} else {
stop();
}
Symbol 1810 MovieClip Frame 4
stop();
Symbol 1813 Button
on (release) {
_global.root.newPlayer();
_parent.changePage("avatarCreator");
}
on (rollOver) {
if (rolledOver != "mystery") {
rolledOver = "mystery";
play();
}
}
Symbol 1816 MovieClip Frame 1
playAsText.text = ((_global.player.firstName + " ") + _global.player.lastName) + "!";
stop();
Symbol 1818 Button
on (release) {
_global.root.startGame();
}
on (rollOver) {
if (rolledOver != "albert") {
rolledOver = "albert";
play();
}
}
Symbol 1824 MovieClip Frame 1
stop();
Instance of Symbol 55 MovieClip "blocker" in Symbol 1824 MovieClip Frame 2
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 1824 MovieClip Frame 10
stop();
Symbol 1824 MovieClip Frame 20
onClosed();
gotoAndStop ("off");
Symbol 1825 MovieClip Frame 1
if (!rolledOver) {
rolledOver = "albert";
}
if (rolledOver == "albert") {
stop();
}
this.createEmptyMovieClip("nextBtn_mc", this.getNextHighestDepth());
Key.addListener(nextBtn_mc);
nextBtn_mc.onEnterFrame = function () {
if (Key.isDown(13)) {
_global.root.startGame();
}
};
Instance of Symbol 1429 MovieClip in Symbol 1825 MovieClip 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 1825 MovieClip Frame 12
if (rolledOver == "mystery") {
stop();
}
Symbol 1825 MovieClip Frame 23
gotoAndPlay (1);
Symbol 1851 MovieClip Frame 1
gotoAndStop(Math.ceil(this._totalframes * Math.random()));
Symbol 1852 MovieClip Frame 1
stop();
Symbol 1852 MovieClip Frame 6
stop();
Symbol 1852 MovieClip Frame 11
stop();
Symbol 1852 MovieClip Frame 17
stop();
Symbol 1962 MovieClip Frame 4
gotoAndPlay ("anim1");
Symbol 1962 MovieClip Frame 19
_parent.animOver();
Symbol 1962 MovieClip Frame 33
stop();
Symbol 1962 MovieClip Frame 38
gotoAndPlay ("anim2");
Symbol 1962 MovieClip Frame 100
_parent.animOver();
Symbol 1962 MovieClip Frame 115
stop();
Symbol 1962 MovieClip Frame 120
gotoAndPlay ("anim3");
Symbol 1962 MovieClip Frame 205
_parent.animOver();
Symbol 1962 MovieClip Frame 239
stop();
Symbol 1962 MovieClip Frame 244
gotoAndPlay ("anim4");
Symbol 1962 MovieClip Frame 281
_parent.animOver();
Symbol 1962 MovieClip Frame 287
stop();
Symbol 1962 MovieClip Frame 293
gotoAndPlay ("anim1");
Symbol 1962 MovieClip Frame 308
_parent.animOver();
Symbol 1962 MovieClip Frame 322
stop();
Symbol 1977 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1985 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1993 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1996 MovieClip Frame 1
_global.root.applySex(this);
stop();
Symbol 1999 MovieClip Frame 1
stop();
Symbol 2000 MovieClip Frame 33
gotoAndPlay (1);
Symbol 2001 MovieClip Frame 1
function cueAnim() {
miniCutscene.gotoAndPlay(("anim" + _global.root.preAnim) + "Go");
}
function animOver() {
_global.root.animOver(this);
}
play();
_global.root.setupCutscene(this);
Instance of Symbol 2000 MovieClip in Symbol 2001 MovieClip Frame 4
onClipEvent (load) {
oldLegRot = leg._rotation;
}
onClipEvent (enterFrame) {
_x = (_x + ((Math.abs(leg._rotation - oldLegRot) * 2.5) + 15));
oldLegRot = leg._rotation;
}
Symbol 2001 MovieClip Frame 90
cueAnim();
Symbol 2001 MovieClip Frame 91
stop();
Symbol 2016 MovieClip Frame 1
gotoAndStop(_global.root.currentLevel);
Symbol 2022 MovieClip Frame 1
stop();
Symbol 2022 MovieClip Frame 46
gotoAndPlay (1);
Symbol 2028 MovieClip Frame 1
stop();
Symbol 2029 MovieClip Frame 60
gotoAndPlay (1);
Symbol 2031 MovieClip Frame 1
stop();
Instance of Symbol 2029 MovieClip "surfShadow" in Symbol 2031 MovieClip Frame 1
onClipEvent (load) {
function fn() {
}
_global.game.addScrollObject(this, this._name);
}
Instance of Symbol 2030 MovieClip "foam1" in Symbol 2031 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, this._name);
}
Instance of Symbol 2030 MovieClip "foam2" in Symbol 2031 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, this._name);
}
Symbol 2035 MovieClip Frame 1
stop();
Symbol 2037 MovieClip Frame 1
stop();
Symbol 2038 MovieClip Frame 41
gotoAndPlay ("surf");
Symbol 2038 MovieClip Frame 48
gotoAndPlay ("ohno");
Symbol 2076 MovieClip Frame 38
stop();
Symbol 2077 MovieClip Frame 1
gotoAndPlay ("surf");
Symbol 2077 MovieClip Frame 7
gotoAndPlay ("ohno");
Symbol 2078 MovieClip Frame 7
stop();
Symbol 2080 MovieClip Frame 10
_parent.xVel = 1;
Symbol 2080 MovieClip Frame 22
stop();
Symbol 2081 MovieClip Frame 10
stop();
Symbol 2117 MovieClip Frame 38
stop();
Symbol 2118 MovieClip Frame 1
stop();
Symbol 2118 MovieClip Frame 5
stop();
Symbol 2118 MovieClip Frame 11
stop();
Symbol 2118 MovieClip Frame 18
legs.legL._visible = false;
legs.legR._visible = false;
legs.yVel = 1;
xVel = 0;
legs.onEnterFrame = function () {
this.yVel = this.yVel + 0.5;
this._y = this._y + this.yVel;
this._parent.splash._y = this._parent.splash._y + this.yVel;
this._x = this._x - 5;
_global.game.surfer.xVel = -5;
};
stop();
Symbol 2118 MovieClip Frame 24
legs.legL._visible = false;
legs.legR._visible = false;
legs.yVel = 1;
legs.onEnterFrame = function () {
this.yVel = this.yVel + 0.5;
this._y = this._y + this.yVel;
this._parent.splash._y = this._parent.splash._y + this.yVel;
};
stop();
Symbol 2118 MovieClip Frame 33
stop();
Symbol 2118 MovieClip Frame 37
stop();
Symbol 2118 MovieClip Frame 41
stop();
Symbol 2118 MovieClip Frame 47
stop();
Symbol 2118 MovieClip Frame 54
legs.legL._visible = false;
legs.legR._visible = false;
legs.yVel = 1;
xVel = 0;
legs.onEnterFrame = function () {
this.yVel = this.yVel + 0.5;
this._y = this._y + this.yVel;
this._parent.splash._y = this._parent.splash._y + this.yVel;
this._x = this._x - 5;
_global.game.surfer.xVel = -5;
};
stop();
Symbol 2118 MovieClip Frame 60
legs.legL._visible = false;
legs.legR._visible = false;
legs.yVel = 1;
legs.onEnterFrame = function () {
this.yVel = this.yVel + 0.5;
this._y = this._y + this.yVel;
this._parent.splash._y = this._parent.splash._y + this.yVel;
};
stop();
Symbol 2118 MovieClip Frame 69
stop();
Symbol 2129 MovieClip Frame 1
stop();
Symbol 2130 MovieClip Frame 1
stop();
Symbol 2134 MovieClip Frame 1
function initVars() {
this.scrollRect = new flash.geom.Rectangle(0, 0, 600, 403);
levelDisplay = _parent.hud.levelDisplay;
surfer.gotoAndStop(1);
surfer._x = surferStartX;
surfer._y = surferStartY;
frameCount = 0;
_global.game = this;
surferRotFrame = Math.floor(surfer.legs._totalFrames / 2);
autoPilot = false;
demo = false;
surfBoard = [];
surfBoard[0] = {};
surfBoard[0].minTurnAngle = 30;
surfBoard[0].maxTurnAngle = 160;
surfBoard[0].minMaxTurnAngle = 340;
surfBoard[0].antiClockwisePushBack = 0.2;
surfBoard[0].clockwisePushBack = 0.2;
surfBoard[0].turnSpeed = 30;
surfBoard[0].baseTurn = 0.5;
surfBoard[0].maxTurnSpeed = 30;
surfBoard[0].offWaveTurnFactor = 0.25;
surfBoard[0].vertSpeedFactor = 1.65;
surfBoard[0].turnDamp = 0.8;
surfBoard[0].balanceMax = 45;
surfBoard[0].deathAngle = 65;
surfBoard[0].boostCurve = 0.9;
surfBoard[1] = {};
surfBoard[1].minTurnAngle = 30;
surfBoard[1].maxTurnAngle = 160;
surfBoard[1].minMaxTurnAngle = 340;
surfBoard[1].antiClockwisePushBack = 0.2;
surfBoard[1].clockwisePushBack = 0.2;
surfBoard[1].turnSpeed = 30;
surfBoard[1].baseTurn = 0.5;
surfBoard[1].maxTurnSpeed = 30;
surfBoard[1].offWaveTurnFactor = 0.25;
surfBoard[1].vertSpeedFactor = 1.65;
surfBoard[1].turnDamp = 0.8;
surfBoard[1].balanceMax = 30;
surfBoard[1].deathAngle = 75;
surfBoard[1].boostCurve = 0.975;
if (_global.player.board) {
chosenBoard = _global.player.board;
} else {
chosenBoard = 0;
}
worldScale = surfer._yscale;
scrollObjectArray = [];
turnSpeed = surfBoard[chosenBoard].turnSpeed;
baseTurn = surfBoard[chosenBoard].baseTurn;
maxTurnSpeed = surfBoard[chosenBoard].maxTurnSpeed;
deathAngle = surfBoard[chosenBoard].deathAngle;
waterSpeedResistance = 0.999;
externalTurnForce = 0;
test = 0;
surfer.boostAcceleration = 5;
surfer.currentAnim = "surf";
surfer.xVel = 0;
surfer.xVelFactor = 0.5;
surfer.yVel = 0;
surfer.centreOffset = 15;
surfer.speed = (viewPortSpeed = 10);
surfer.bonusSpeed = 0;
surfer.vertSpeedFactor = surfBoard[chosenBoard].vertSpeedFactor;
surfer.leapFactor = 1;
surfer.world_y = surfer._y - waves._y;
surfer.collisionRadius = 30;
surfer.minTurnAngle = surfBoard[chosenBoard].minTurnAngle;
surfer.maxTurnAngle = surfBoard[chosenBoard].maxTurnAngle;
surfer.minMaxTurnAngle = surfBoard[chosenBoard].minMaxTurnAngle;
surfer.antiClockwisePushBack = surfBoard[chosenBoard].antiClockwisePushBack;
surfer.clockwisePushBack = surfBoard[chosenBoard].clockwisePushBack;
surfer.minXPosition = 50;
surfer.offWaveTurnFactor = surfBoard[chosenBoard].offWaveTurnFactor;
surfer.isGo = false;
surfer.testMode = false;
surfer.air = false;
surfer.balanceCount = 0;
surfer.balanceMax = surfBoard[chosenBoard].balanceMax;
surfer.dead = false;
surfer.maxY = 550;
surfer.score = 0;
pointsUp = 100;
bigPointsUp = 500;
boostDisplayCount = 0;
boostDisplayFrequency = 3;
surfer.boostToSpeed = 5;
surfer.boostReservoir = 150;
surfer.boost = 0;
surfer.boostWindDown = 0.5;
surfer.scoreToBoostFactor = 2;
surfer.boostSpeedDecay = 0.9;
surfer.boostCurve = surfBoard[chosenBoard].boostCurve;
boostPickupValue = 75;
surfer.targetBonusSpeed = 0;
deathAnimEnd = 0;
if (!surfer.testMode) {
surfer._visible = surfer.isGo;
}
wipeoutTurnForce = 10;
levelDisplay.baddieScale = 2.5;
splashTrails = {};
splashTrails.spawnIndex = 0;
splashTrails.spawnRate = 2;
splashTrails.spawnsLeft = 0;
splashTrails.count = 0;
splashTrails.batchSize = 15;
splashTrails.scale = 1;
splashTrails.scaleRate = 20;
splashTrails.minScale = 0;
splashTrails.maxScale = 3;
keyToggle = {};
largeSpeedBoost = 5;
smallSpeedBoost = 1;
zoomSpeed = viewPortSpeed;
surfUp = 0;
surfTurn = 0;
gravity = (gravityNormal = 1.5);
pickupGravity = 0;
gravityIncrement = 0.02;
bufferedRotForce = 0;
turnDamp = surfBoard[chosenBoard].turnDamp;
rotationForce = 0;
surferAngle = 90;
loopBonus = 20;
loopBonusfactor = 0.5;
waves.startY = waves._y;
stageWidth = 600;
stageHeight = 343;
waveBlurSpeed = 20;
turnBuffer = 20;
waveMask.startX = waveMask._x;
autoPilotScale = 1;
level = new Object();
level.spawnCount = (level.spawnRate = 100);
level.badSpawnIndex = 0;
level._xScale = 10;
level.xBuffer = 1500;
level.active = false;
level.notBadSpawnIndex = 0;
level.waveGrow = 0;
level.timeToScoreFactor = 150;
level.lastLevel = 100;
levelDisplayStagger = 0;
levelDisplayStaggerMod = 5;
waveAngle = 0;
waveSinRate = 0;
waveSinSize = 0;
badWave = new Object();
badWave.distance = 0;
badWave.position = -5000;
badWave.speed = 10;
badWave.acceleration = 0.01;
this.attachMovie("badWave", "badWave_mc", this.getNextHighestDepth(), {_x:-1000, _y:-1000});
badWave.gfxWidth = badWave_mc._width;
badWavePush = 0;
badWave_mc.removeMovieClip();
badWave.soundDistance = 4000;
turnTimeOut = 0;
turnMaxTimeOut = 100;
turnBoost = 1;
topviewPortSpeed = 100;
zoomToviewPortSpeedFactor = 0.375;
waves.world_y = 0;
waveSize = (startWaveSize = 30);
waveIncrease = 0;
waveSizeSpeed = 10;
waveIncreaseIncrement = 40;
waveIncreaseDecay = 0.9;
surfer.deathHeight = -30;
surfer.wipeOutThreshold = 50;
distance = 0;
viewPort = new Object();
viewPort._y = waves._y;
viewPort._x = -stageWidth;
viewPort.damp = 18;
viewPort.deadDamp = 100;
viewPort.deadCentre = -400;
viewPort.ecoCentre = 0;
viewPort.centre = (viewPort.normalCentre = 50);
viewPort.yVelFactor = 0.03;
viewPort.maxY = (viewPort.normalMaxY = 300);
viewPort.ecoMaxY = 250;
viewPort.minSpeed = 5;
viewPortSpeedIncreaseDownWave = 0.1;
turnResistanceFactor = 0.03;
this.attachMovie("surferIntro", "surferIntro", this.getNextHighestDepth(), {_x:surfer._x, _y:surfer._y});
if ((!_parent.playedOnce) && (chosenBoard == 0)) {
surferIntro.gotoAndPlay("demo");
demoX = -300;
demoXSpeed = 3;
} else {
surferIntro.gotoAndPlay("anim" + Math.floor(Math.random() * 5));
}
scrollList = new Object();
scrollList.surfShadow = [0.8, false, false, false, true, false];
scrollList.foam1 = [1.2, false, false, false, true, false];
scrollList.foam2 = [1, false, false, false, true, false];
scrollList.surfHighlights = [0.8, false, false, true, false, false];
scrollList.surfHighlights2 = [1, false, false, true, false, false];
scrollList.horizon = [0.0075, horizonLoopFn, true, false, true, false];
scrollList.seaBad0 = [10, false, false, false, false, true];
scrollList.seaBad1 = [0.25, false, false, false, false, true];
scrollList.seaBad2 = [0.5, false, false, false, false, true];
scrollList.skyBad0 = [0.5, false, false, false, false, true];
scrollList.skyBad1 = [0.25, false, false, false, false, true];
scrollList.splash = [0.25, false, false, false, false, true];
horizon.startX = horizon._x;
_parent.hud.livesDisplay = "x" + _parent.lives;
}
var waveBounds = waves.getBounds(_global.game);
if (_global.root.currentLevel == 2) {
surferStartY = surfer._y - 100;
} else {
surferStartY = surfer._y;
}
perfCont = new PerformanceController();
surferStartX = surfer._x;
initVars();
Key.addListener(this);
function boostUpSound() {
playSfx("boostUp");
}
function boostDownSound() {
playSfx("boostDown");
}
function waveOutSound() {
playSfx("waveout");
}
function waveInSound() {
playSfx("waveIn");
}
function playSfx(s) {
this[s + "Snd"] = _global.sndman.newSound(s + "Snd");
this[s + "Snd"].onSoundComplete = function () {
this.remove();
};
this[s + "Snd"].start();
}
function addToAnimArray(t) {
if (!animArray) {
animArray = [];
}
t.animArrayIndex = animArray.length;
animArray.push(t);
t.onUnload = removeFromAnimArray;
if (animsOff) {
t.gotoAndStop("animOff");
}
}
function setNextLevelBriefing(t) {
if (!level.briefing) {
level.briefing = "I have nothing to say at this juncture.";
}
t.text = level.briefing;
}
function removeFromAnimArray() {
i = this.animArrayIndex + 1;
while (i <= _global.game.animArray.length) {
_global.game.animArray[i].animArrayIndex--;
i++;
}
_global.game.animArray.splice(t.animArrayIndex, 1);
if (this.lastBaddie) {
cueEndOfLevel();
}
}
function turnAnimsOff() {
i = 0;
while (i < animArray.length) {
animArray[i].gotoAndStop("animOff");
i++;
}
}
function turnAnimsOn() {
i = 0;
while (i < animArray.length) {
animArray[i].gotoAndPlay("on");
i++;
}
}
function applySex(t) {
_global.root.applySex(t);
}
function setBoard(t) {
_global.root.setBoard(t);
}
function populateEndOfLevelStats(t) {
level.yourTime = Math.floor((level.endTime - level.startTime) * 0.1) * 0.01;
t.parTime.text = "This Level Par Time: " + level.parTime;
t.yourTime.text = "Your Time: " + level.yourTime;
t.timeLeft.text = "Time Left: " + (level.parTime - level.yourTime);
scoreBonus = Math.floor((level.parTime - level.yourTime) * level.timeToScoreFactor);
if (scoreBonus < 0) {
scoreBonus = 0;
}
_parent.playerScore = _parent.playerScore + scoreBonus;
t.scoreBonus.text = "Score Bonus: " + scoreBonus;
}
function introDone(t) {
demo = false;
t.removeMovieClip();
if (_parent.currentLevel == 1) {
setupLevel();
startLevel();
}
displayInfo("waveOn");
startSurfer();
}
function startDemo() {
_global.root.playedOnce = true;
demo = true;
startSurfer();
}
function startSurfer() {
delete surferIntro.onEnterFrame;
surfer.isGo = true;
surfer._visible = true;
}
function horizonLoopFn() {
this.theFrame++;
this.gotoAndStop(theFrame);
}
function boostControl() {
if (surfer.boost) {
surfer.targetBonusSpeed = surfer.boostToSpeed * boostMultiplier;
} else {
surfer.targetBonusSpeed = 0;
}
if (surferOnWave) {
surfer.bonusSpeed = ((surfer.bonusSpeed * surfer.boostAcceleration) + surfer.targetBonusSpeed) / (surfer.boostAcceleration + 1);
}
if (surfer.boost > 0) {
surfer.boost = (surfer.boost - (0.5 * boostMultiplier)) + ((splashTrails.scale - 1) * surfer.boostWindDown);
}
if (surfer.boost < 0) {
surfer.boost = 0;
}
boostLevel = Math.floor(surfer.boost / surfer.boostReservoir) + 1;
boostMultiplier = Math.pow(boostLevel, surfer.boostCurve);
}
function surferMovement() {
surfUp = 0;
boostControl();
if (surferOnWave) {
surfUp = (Math.cos(surferAngle * (Math.PI/180)) * ((surfer.speed + surfer.bonusSpeed) * surfer.vertSpeedFactor)) * -1;
surfer.xVel = Math.sin(surferAngle * (Math.PI/180)) * (surfer.speed * surfer.vertSpeedFactor);
surfer.yVel = surfUp + badWavePush;
if (surfer.yVel > 0) {
}
} else {
surfer.yVel = surfer.yVel + gravity;
}
oldRotationForce = rotationForce;
rotationForce = 0;
bufferedRotForce = bufferedRotForce * turnDamp;
surfer.world_y = surfer.world_y + surfer.yVel;
if (surfer._y >= surfer.maxY) {
surfer._y = surfer.max;
}
if (!surfer.dead) {
ohnoBounds = surfHighlights2.getBounds(_global.game);
if (surfer._y >= ohnoBounds.yMin) {
surferAnim("ohno");
if (autoPilot) {
surfer.balanceCount = 0;
}
surfer.balanceCount++;
if (surfer.balanceCount >= surfer.balanceMax) {
killSurfer();
}
} else {
surfer.balanceCount = 0;
surferAnim("surf");
}
}
}
function turnMechanics() {
if (!surfer.dead) {
if (autoPilot) {
var _local2 = waves.getBounds(_global.game);
if (surfer._y < (ohnoBounds.yMin - 60)) {
surferAngle = 92;
} else if (surfer._y > (ohnoBounds.yMin - 40)) {
surferAngle = 82;
} else {
surferAngle = 90;
}
}
if (surferOnWave) {
appliedTurnBuffer = turnBuffer;
} else {
appliedTurnBuffer = turnBuffer * surfer.offWaveTurnFactor;
}
bufferedRotForce = ((rotationForce + (bufferedRotForce * (appliedTurnBuffer - 1))) / appliedTurnBuffer) + externalTurnForce;
if (surferOnWave) {
turnMod = Math.abs(surfer.yVel * 0.25);
surferAngle360();
if ((surferAngle > surfer.maxTurnAngle) && (surferAngle <= surfer.minMaxTurnangle)) {
externalTurnForce = -((surferAngle - surfer.maxTurnAngle) * surfer.antiClockwisePushBack);
if (Math.abs(externalTurnForce) >= wipeoutTurnForce) {
killSurfer();
}
} else if ((surferAngle < surfer.minTurnAngle) || (surferAngle > surfer.minMaxTurnangle)) {
externalTurnForce = (surfer.minTurnAngle - surferAngle) * surfer.clockwisePushBack;
} else {
externalTurnForce = 0;
}
} else {
externalTurnForce = 0;
}
}
}
function deadVelocity() {
this.yVel = this.yVel + (gravity * 0.5);
this._y = this._y + this.yVel;
this._x = this._x + this.xVel;
this._rotation = this._rotation + ((this.rotVel = this.rotVel * 0.9));
var _local3 = this.getBounds(_global.game);
if (_local3.yMax > 320) {
attachMovie("enterSplash", this._name + "Splash", this.getNextHighestDepth(), {_x:this._x, _y:_local3.yMax, _xscale:surfer._xscale, _yscale:surfer._yscale});
checkDeathAnimDone();
playSfx("wipeout");
this.removeMovieClip();
}
}
function stuckToTarget() {
if (this.targetBad) {
var _local3 = this.targetBad.getBounds(_global.game);
if (this._x > (this.targetBad._x + (this.targetBad._width / 2))) {
this.onEnterFrame = deadVelocity;
} else if (this._y < (_local3.yMin + this._height)) {
this.onEnterFrame = deadVelocity;
} else {
this._x = this.targetBad._x + this.targetXOffset;
this._y = this.targetBad._y + this.targetYOffset;
if (this._x < -100) {
checkDeathAnimDone();
this.removeMovieClip();
}
}
} else {
checkDeathAnimDone();
this.removeMovieClip();
}
if (this._x == this.oldX) {
checkDeathAnimDone();
this.removeMovieClip();
}
this.oldX = this._x;
}
function checkDeathAnimDone(forceOk) {
deathAnimEnd++;
if ((deathAnimEnd == 2) || (forceOk)) {
badWaveSound.fadeTo(0, 30, badWaveSound.remove);
delete _parent.playAgain.onEnterFrame;
delete _parent.playAgain.startTimer;
_parent.playAgain.gotoAndPlay("on");
}
}
function deathAnimTimeOut() {
if (!this.startTimer) {
this.startTimer = (frameCount / 31) * 1000;
}
if ((this.startTimer + 2000) < ((frameCount / 31) * 1000)) {
checkDeathAnimDone(true);
}
}
function killSurfer(kf) {
if (!autoPilot) {
_parent.playAgain.onEnterFrame = deathAnimTimeOut;
if (!surfer.dead) {
surfer._visible = false;
playSfx("thud");
attachMovie("deadBoard", "deadBoard", this.getNextHighestDepth());
attachMovie("deadSurfer", "deadSurfer", this.getNextHighestDepth());
attachMovie("oucher", "oucher", this.getNextHighestDepth(), {_x:surfer._x, _y:surfer._y});
deadSurfer._x = (deadBoard._x = surfer._x);
deadSurfer._y = (deadBoard._y = surfer._y);
deadSurfer._xscale = (deadBoard._xscale = (deadSurfer._yscale = (deadBoard._yscale = surfer._xscale)));
deadSurfer.yVel = -20 * Math.random();
deadSurfer.xVel = (5 * Math.random()) - 5;
deadSurfer.rotVel = (Math.random() * 20) - 10;
if (!kf) {
deadSurfer.onEnterFrame = deadVelocity;
deadBoard.xVel = (15 * Math.random()) - 5;
} else {
deadSurfer.gotoAndStop("stuck");
deadSurfer.targetBad = kf;
deadSurfer.targetXOffset = deadSurfer._x - kf._x;
deadSurfer.targetYOffset = deadSurfer._y - kf._y;
deadSurfer.onEnterFrame = stuckToTarget;
deadBoard.xVel = (5 * Math.random()) + 5;
}
if (surfer.yVel < -10) {
deadBoard.yVel = surfer.yVel;
} else {
deadBoard.yVel = -20 * Math.random();
}
deadBoard.rotVel = (Math.random() * -30) - 20;
deadBoard.onEnterFrame = deadVelocity;
deadBoard._rotation = surferAngle;
}
surfer.dead = true;
workOutMedals();
}
}
function rotateSurfer(rot) {
if (!surfer.dead) {
if (surferOnWave) {
rotMod = (surfer.speed / maxTurnSpeed) + baseTurn;
} else {
rotMod = (surfer.bonusSpeed / maxTurnSpeed) + baseTurn;
}
if (rotMod > 1) {
rotMod = 1;
}
rot = rot * rotMod;
rotationForce = rotationForce + rot;
}
}
function updateSurferSize() {
if (!surfer.dead) {
if (surferOnWave) {
if (autoPilot) {
zoomSpeed = ((zoomSpeed * 4) + autoPilotScale) / 5;
} else {
zoomSpeed = ((zoomSpeed * 4) + (surfer.speed + surfer.bonusSpeed)) / 5;
}
}
}
if (farView) {
surfer._yscale = (surfer._xscale = 25);
} else {
surfer._yscale = (surfer._xscale = 100 - (100 * (zoomSpeed / (topviewPortSpeed * zoomToviewPortSpeedFactor))));
}
worldScale = surfer._yscale / 100;
if (surfer._yscale < 10) {
surfer._yscale = (surfer._xscale = 10);
}
}
function updateWave() {
waves._yscale = ((50 + waveSize) * surfer._xscale) / 100;
waveFrame = Math.floor(waves.surfShadow.shadow1._totalframes * (viewPortSpeed / waveBlurSpeed));
waves.surfShadow.shadow1.gotoAndStop(waveFrame);
waves.surfShadow.shadow2.gotoAndStop(waveFrame);
}
function updateViewPort() {
if (!surfer.dead) {
viewPort._y = ((viewPort._y * viewPort.damp) + (viewPort.centre + ((stageHeight - surfer._y) * 1.5))) / (viewPort.damp + 1);
} else {
surfer.yVel = 0;
viewPort._y = ((viewPort._y * viewPort.deadDamp) + viewPort.deadCentre) / (viewPort.deadDamp + 1);
}
viewPort._y = viewPort._y + (((viewPort._y - surfer._y) - surfer.yVel) * viewPort.yVelFactor);
if (viewPort._y < viewPort.maxY) {
viewPort._y = viewPort.maxY;
}
var _local3 = surfHighlights2.getBounds(_global.game);
displayViewPort = Math.floor(viewPort._y);
surfer._y = (surfer.world_y * worldScale) + viewPort._y;
waves._y = viewPort._y;
viewPort._x = distance;
var _local2 = (((viewPort._x - viewPort._x) + (300 - viewPortSpeed)) * worldScale) - surfer.xVel;
if (_local2 < surfer.minXPosition) {
_local2 = surfer.minXPosition;
}
if (demoX) {
demoX = demoX + demoXSpeed;
if (demoX > 0) {
demoX = 0;
}
}
surfer._x = _local2 + demoX;
}
function makeSplash(linkage) {
if (surfer.isGo && (!autoPilot)) {
mc = this.attachMovie(linkage, "splash" + splashIndex, this.getNextHighestDepth());
mc._x = surfer._x;
mc._y = surfer._y;
if (linkage == "speedSplash") {
mc.nextScale = splashTrails.scale;
if (animsOff) {
mc.gotoAndPlay(("level" + boostLevel) + "Eco");
} else {
mc.gotoAndPlay("level" + boostLevel);
}
if (surfer.dead) {
mc.removeMovieClip();
}
} else {
mc.nextScale = 1;
}
if (!surfer.dead) {
mc._alpha = nextScale * 100;
mc._xscale = (mc._yscale = surfer._xscale * mc.nextScale);
mc.waveDist = mc._y - waves._y;
mc.onEnterFrame = function () {
this._x = this._x - (surfer.speed * 2);
this._y = waves._y + this.waveDist;
mc._xscale = (mc._yscale = surfer._xscale * this.nextScale);
if (this._x <= -50) {
this.removeMovieClip();
}
};
}
}
}
function addToBoost(b) {
surfer.boost = surfer.boost + ((b * surfer.scoreToBoostFactor) / boostMultiplier);
}
function checkIfOnWave() {
oldSurferOnWave = surferOnWave;
if (surfer._y < (waves._y - (waves.midWave._height * (waves._yscale / 100)))) {
surferOnWave = false;
} else {
surferOnWave = true;
}
if (!surfer.dead) {
if ((oldSurferOnWave == true) && (surferOnWave == false)) {
waveOutSound();
surferAnim("midAir");
exitAngle = Math.sin(surferAngle * (Math.PI/180));
surfer.yVel = surfer.yVel * surfer.leapFactor;
makeSplash("exitSplash");
startTrick();
}
if ((oldSurferOnWave == false) && (surferOnWave == true)) {
waveInSound();
makeSplash("enterSplash");
splashTrails.spawnsLeft = splashTrails.spawnsLeft + splashTrails.batchSize;
cancelGravityPickup();
if (trickLoops) {
trickBonus = trickLoops * loopBonus;
} else {
trickBonus = 0;
}
_parent.playerScore = _parent.playerScore + (surfer.air + trickBonus);
addToBoost(surfer.air + trickBonus);
surfer.air = 0;
surferAnim("surf");
if (!autoPilot) {
if (surferAngle < deathAngle) {
killSurfer();
} else if (surferAngle < 90) {
surferAngle = 92;
}
} else {
surferAngle = 94;
}
}
}
if (((!surferOnWave) && (!surfer.dead)) && (!autoPilot)) {
trickCheck();
surfer.air++;
if (!bonusScoreString) {
bonusScoreString = "";
}
displayScoreInfo("score", ("Air " + surfer.air) + bonusScoreString);
}
}
function startTrick() {
turnDistance = 0;
lastTurnDirection = 0;
trickLoops = 0;
}
function trickCheck() {
var _local1 = ((bufferedRotForce > 0) ? 1 : (((bufferedRotForce < 0) ? -1 : 0)));
if (_local1) {
if (_local1 != lastTurnDir) {
turnDistance = turnDistance + Math.abs(bufferedRotForce);
if (turnDistance > 90) {
trickLoops++;
turnDistance = turnDistance - 90;
}
} else {
turnDistance = 0;
lastTurnDirection = _local1;
}
}
}
function surferAnim(f) {
surfer.currentAnim = f + _global.player.board;
surfer.gotoAndStop(f + _global.player.board);
}
function moveScrollObjects() {
killSo = false;
scrollDebug = scrollObjectArray.length + " ";
i = 0;
while (i < scrollObjectArray.length) {
so = scrollObjectArray[i];
scrollDebug = scrollDebug + "1";
if (so.isBad) {
so._xscale = surfer._yscale;
so._yscale = so._xscale;
so._x = (so.world_x - distance) * worldScale;
if (so._x < (-100 - so._width)) {
killSo = true;
}
if (badWave_mc) {
var _local2 = badWave_mc.getBounds(_global.game);
}
if (so._x < _local2.xMax) {
so.world_y = so.world_y + 10;
so._y = so._y + 10;
} else if (so.onTopOfWave) {
so._y = waves._y - (waves.midWave._height * (waves._yscale / 100));
} else {
so._y = (so.world_y * worldScale) + viewPort._y;
}
checkCollisions(so);
} else {
scrollDebug = scrollDebug + "2";
nextX = so._x;
nextX = nextX - ((viewPortSpeed * so.viewPortSpeed) * (100 / surfer._yscale));
if (!so.screenWrapOn) {
if (nextX <= (so.startX - (so._width / 2))) {
nextX = so.startX;
if (so.wrapFn) {
so.wrapFn();
}
}
} else {
scrollDebug = scrollDebug + "3";
if (nextX < (-so._width)) {
nextX = so.startX;
if (so.wrapFn) {
so.wrapFn();
}
}
}
if (!so.onHorizon) {
scrollDebug = scrollDebug + "4";
so._y = (so.world_y * worldScale) + viewPort._y;
}
so._x = nextX;
}
if (killSo) {
killScrollObject(so);
}
if (so.onTheWave) {
so._yscale = surfer._yscale;
}
i++;
}
}
function killScrollObject(t) {
i = t.arrayIndex + 1;
while (i <= scrollObjectArray.length) {
scrollObjectArray[i].arrayIndex--;
i++;
}
scrollObjectArray.splice(t.arrayIndex, 1);
if (scrollObjectArray.length == 0) {
waveSize = startWaveSize;
}
if (this[t._name + "ColMarker"]) {
this[t._name + "ColMarker"].removeMovieClip();
}
t.removeMovieClip();
}
function addScrollObject(t, type2, soY) {
so = scrollObjectArray.push(t);
t.arrayIndex = scrollObjectArray.length - 1;
t.type2 = type2;
t.viewPortSpeed = scrollList[type2][0];
t.wrapFn = scrollList[type2][1];
t.screenWrapOn = scrollList[type2][2];
t.onTheWave = scrollList[type2][3];
t.onHorizon = scrollList[type2][4];
t.isBad = scrollList[type2][5];
if (soY) {
t.world_y = -soY;
} else {
t.world_y = t._y - waves._y;
}
t.startX = t._x;
}
function updateSurferSplash() {
surfer.legs.splash._xscale = 100 + ((viewPortSpeed * viewPortSpeed) / 50);
if (surfer.legs.splash._yscale > 20) {
surfer.legs.splash._yscale = 100 - ((viewPortSpeed * viewPortSpeed) / 200);
}
surfer.legs.splash._rotation = surfer.legs.splashAngle._rotation / 2;
surfer.legs.splash._y = surfer.legs.splashAngle._y;
surfer.legs.splash._x = surfer.legs.splashAngle._x;
if (surferOnWave) {
surfer.legs.splash._visible = true;
} else {
surfer.legs.splash._visible = false;
}
}
function playerInput() {
if (!surfer.dead) {
miscControls();
surferControls();
}
}
function turnSurfer(n) {
if (Math.abs(n)) {
rotateSurfer(turnSpeed * n);
}
}
function surferControls() {
if (demo) {
turnSurfer(demoControl);
} else if (surfer.isGo && (!autoPilot)) {
if (Key.isDown(37)) {
turnSurfer(-1);
}
if (Key.isDown(39)) {
turnSurfer(1);
}
}
}
function loQual() {
turnAnimsOff();
animsOff = true;
farView = true;
viewPort.centre = viewPort.ecoCentre;
viewPort.maxY = viewPort.ecoMaxY;
}
function hiQual() {
turnAnimsOn();
animsOff = false;
farView = false;
viewPort.centre = viewPort.normalCentre;
viewPort.maxY = viewPort.normalMaxY;
}
function miscControls() {
if (Key.isDown(38)) {
}
if (Key.isDown(81)) {
if (!qToggle) {
if (!animsOff) {
loQual();
} else {
hiQual();
}
}
qToggle++;
} else {
qToggle = 0;
}
if (Key.isDown(80)) {
if (!pToggle) {
if (gamePaused) {
gamePaused = false;
} else {
gamePaused = true;
}
}
pToggle++;
} else {
pToggle = 0;
}
if (Key.isDown(65)) {
}
if (Key.isDown(90)) {
}
if (Key.isDown(83)) {
surfer.speed = surfer.speed + 1;
}
if (Key.isDown(88)) {
surfer.speed = surfer.speed - 1;
}
if (Key.isDown(68)) {
waveIncrease = waveIncreaseIncrement;
}
if (Key.isDown(67)) {
waveIncrease = waveIncreaseIncrement * -1;
}
if (Key.isDown(76)) {
setupLevel();
}
}
function checkCollisions(thisBad) {
bad = thisBad;
hasCollided = false;
if (!bad.dead) {
if (bad.collisionRadius) {
surferTopY = surfer._y + ((surfer.legs.legL._y - surfer.collisionRadius) * worldScale);
surferBtmY = surfer._y + ((surfer.legs.legL._y + surfer.collisionRadius) * worldScale);
if (testMode) {
if (!playerColMarker) {
this.attachMovie("collisionMarker", "playerColMarker", this.getNextHighestDepth());
}
playerColMarker._x = surfer._x + (surfer.legs.legL._x * worldScale);
playerColMarker._y = surfer._y + (surfer.legs.legL._y * worldScale);
playerColMarker._width = (playerColMarker._height = (surfer.collisionRadius * 2) * worldScale);
if ((!this[bad._name + "ColMarker"]) && (bad)) {
this.attachMovie("collisionMarker", bad._name + "ColMarker", this.getNextHighestDepth());
}
}
this[bad._name + "ColMarker"]._x = bad._x;
this[bad._name + "ColMarker"]._y = bad._y;
this[bad._name + "ColMarker"]._width = (this[bad._name + "ColMarker"]._height = (bad.collisionRadius * 2) * worldScale);
if (((bad._x - (bad.collisionRadius * worldScale)) < (surfer._x + (surfer.collisionRadius * worldScale))) && (((bad._x + (bad.collisionRadius * worldScale)) > (surfer._x - (surfer.collisionRadius * worldScale))) && (!bad.dead))) {
xDist = Math.abs((surfer._x + (surfer.legs.legL._x * worldScale)) - bad._x);
yDist = Math.abs((surfer._y + (surfer.legs.legL._y * worldScale)) - bad._y);
totalDist = (surfer.collisionRadius + bad.collisionRadius) * worldScale;
if ((xDist <= totalDist) && (yDist <= totalDist)) {
hasCollided = true;
}
}
} else if (bad.hitTest(surfer._x + (surfer.legs.legL._x * worldScale), surfer._y, true)) {
hasCollided = true;
}
if (hasCollided && (!surfer.dead)) {
if ((bad.iAm == "seaBad0") || (bad.iAm == "skyBad0")) {
bad.gotoAndStop("die");
killSurfer(bad);
} else if (bad.iAm == "speedUp") {
bad.gotoAndStop("die");
bad.dead = true;
surfer.speed = surfer.speed + largeSpeedBoost;
} else if (bad.iAm == "smallSpeedUp") {
bad.gotoAndStop("die");
bad.dead = true;
surfer.speed = surfer.speed + smallSpeedBoost;
} else if (bad.iAm == "waveUp") {
waveIncrease = waveIncrease + waveIncreaseIncrement;
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "waveUpInvis") {
waveIncrease = waveIncrease + waveIncreaseIncrement;
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "waveDownInvis") {
waveIncrease = waveIncrease + (waveIncreaseIncrement * -1);
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "boostUp") {
addToBoost(boostPickupValue);
playSfx("boostPickup");
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "pointsUp") {
_parent.playerScore = _parent.playerScore + pointsUp;
playSfx("pointsPickup");
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "bigPointsUp") {
_parent.playerScore = _parent.playerScore + bigPointsUp;
playSfx("bigPointsPickup");
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "lifeUp") {
_parent.lives++;
_parent.hud.livesDisplay = "x" + _parent.lives;
playSfx("lifeUp");
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "gravDown") {
playSfx("gravPickup");
gravity = pickupGravity;
addToBoost(boostPickupValue);
bad.gotoAndStop("die");
bad.dead = true;
} else if (bad.iAm == "endOfLevel") {
} else {
killSurfer(bad);
}
}
}
}
function updateBadWave() {
if (level.active) {
badWave.speed = badWave.speed + badWave.acceleration;
if (!autoPilot) {
badWave.position = badWave.position + badWave.speed;
}
badWave.distance = (viewPort._x - level.xOffset) - badWave.position;
var _local3 = badWave.distance - badWave.soundDistance;
if (_local3 <= 0) {
badWave.soundVol = Math.abs(_local3) / badWave.soundDistance;
if (!badSoundOn) {
badSoundOn = true;
badWaveSound = _global.sndman.newSound("badWaveSnd");
badWaveSound.start(0, 999);
}
if (autoPilot || (surfer.dead)) {
} else {
badWaveSound.setVolume(badWave.soundVol * 100);
}
}
if (((surfer._x - badWave.distance) + badWave.gfxWidth) > 0) {
if (!badWave_mc) {
this.attachMovie("badWave", "badWave_mc", this.getNextHighestDepth(), {_x:-1000, _y:-1000});
}
badWave_mc._x = surfer._x - badWave.distance;
badWave_mc._xscale = (badWave_mc._yscale = waves._yscale);
badWave_mc._y = waves._y;
if (badWave_mc._x > waveMask.startX) {
waveMask._x = badWave_mc._x + 100;
} else {
waveMask._x = waveMask.startX;
}
} else if (badWave_mc) {
badWave_mc.removeMovieClip();
}
var _local4 = badWave_mc.getBounds(_global.game);
if ((surfer._x < _local4.xMax) && (surferOnWave)) {
badWavePush = (_local4.xMax - surfer._x) * 0.05;
} else {
badWavePush = 0;
}
if ((badWave.distance <= 200) && (surferOnWave)) {
surfer._visible = false;
killSurfer();
}
}
displayBadDistance = "badWave: " + Math.floor(badWave.distance * 0.04);
}
function nextLevel() {
_parent.currentLevel++;
if (_parent.currentLevel > _global.player.highestLevel) {
_global.player.highestLevel = _parent.currentLevel;
}
horizon._x = horizon.startX;
horizon.gotoAndStop(_parent.currentLevel);
if (_parent.currentLevel > level.lastLevel) {
_parent.finalScore = _parent.playerScore;
_parent.finalScoreDisplay = "You scored " + _parent.finalScore;
_parent.lives = -1;
_parent.restartLevel(-1);
}
level.active = false;
delete level.baddieArray;
}
function workOutMedals() {
if (_global.player.highestLevel >= 10) {
_global.player.medal = "p";
} else if (_global.player.highestLevel >= 8) {
_global.player.medal = "g";
} else if (_global.player.highestLevel >= 4) {
_global.player.medal = "s";
} else {
_global.player.medal = "b";
}
}
function reportScores() {
_global.root.submitLocalScore(_parent.playerScore);
_global.root.lastScore = _parent.playerScore;
if (_parent.playerScore >= _global.player.score) {
_global.player.score = (_parent.playerScore = _parent.highestLevelScore);
} else {
_parent.playerScore = _parent.highestLevelScore;
}
_global.player.highestLevel = _parent.currentLevel;
_global.root.autosave();
}
function newLevel() {
level.baddieArray = [];
for (var _local5 in levelsClip) {
if (levelsClip[_local5] instanceof MovieClip) {
level.baddieArray.push({_x:levelsClip[_local5]._x, _y:levelsClip[_local5]._y, iAm:levelsClip[_local5].iAm, collisionRadius:levelClip[_local5].collisionRadius});
}
}
level.baddieArray.sortOn("_x", Array.NUMERIC);
level.nextBad = 0;
level.waveHeight = levelsClip.waveHeight;
level.waveGrow = levelsClip.waveGrow;
level.waveSpeed = levelsClip.waveSpeed;
level.badWaveDistance = levelsClip.badWaveDistance;
level.badWaveAcceleration = levelsClip.badWaveAcceleration;
level.badWaveSpeed = levelsClip.badWaveSpeed;
level.parTime = levelsClip.parTime;
level.briefing = levelsClip.briefing;
levelsClip.removeMovieClip();
badWave.distance = (badWave.position = level.badWaveDistance);
setupLevel();
setUpLevelDisplay();
}
function setSurferFrame() {
surferAngle360();
surferFrame = Math.floor((surfer.legs._totalframes / 360) * surferAngle);
surfer.legs.gotoAndStop(surferFrame);
}
function surferAngle360() {
surferAngle = ((surferAngle % 360) + 360) % 360;
}
function setupLevel() {
autoPilot = false;
resetBadWave();
level.startScore = _parent.playerScore;
if (_parent.currentLevel != 1) {
startLevel();
}
}
function resetBadWave() {
badWave.position = 1 - level.badWaveDistance;
badWave.acceleration = level.badWaveAcceleration;
badWave.speed = level.badWaveSpeed;
waveIncrease = level.waveHeight;
}
function startLevel() {
level.startTime = (frameCount / 31) * 1000;
level.xOffset = viewPort._x;
level.active = true;
displayInfo("waveOn");
}
function levelControl() {
if (level.active) {
if (level.nextBad < level.baddieArray.length) {
while ((viewPort._x + (stageWidth * (1 / worldScale))) > (((level.baddieArray[level.nextBad]._x * level._xScale) + level.xBuffer) + level.xOffset)) {
if (level.nextBad == (level.baddieArray.length - 1)) {
lastBad = true;
} else {
lastBad = false;
}
spawnBad(level.baddieArray[level.nextBad].iAm, ((level.baddieArray[level.nextBad]._x * level._xScale) + level.xBuffer) + level.xOffset, level.baddieArray[level.nextBad]._y, lastBad);
level.nextBad++;
}
}
displayLevel();
}
}
function setUpLevelDisplay() {
levelDisplay.zeroPoint = 0;
levelDisplay.totalDistance = Math.abs(levelDisplay.zeroPoint - (level.baddieArray[level.baddieArray.length - 1]._x * level._xScale)) + 200;
levelDisplay.surfer._x = levelDisplay.zeroPoint;
levelDisplay.badWave._x = levelDisplay.zeroPoint;
levelDisplay.maxDistance = levelDisplay.barMask._width;
levelDisplay.ratio = levelDisplay.maxDistance / levelDisplay.totalDistance;
if (levelDisplay.baddies) {
i = 0;
while (i < levelDisplay.baddies.length) {
levelDisplay.baddies[i].removeMovieClip();
i++;
}
delete levelDisplay.baddies;
}
levelDisplay.baddies = [].concat(level.baddieArray);
i = 0;
while (i < levelDisplay.baddies.length) {
var _local1 = levelDisplay.enemyHolder.attachMovie(levelDisplay.baddies[i].iAm, "enemyDisplay" + i, levelDisplay.enemyHolder.getNextHighestDepth(), {_x:getDisplayPosition(levelDisplay.baddies[i]._x * level._xScale), _y:levelDisplay.surfer._y - 4});
_local1._xscale = (_local1._yscale = levelDisplay.baddieScale);
levelDisplay.baddies[i] = _local1;
i++;
}
}
function spriteTest(t) {
}
function getDisplayPosition(v) {
v = v - levelDisplay.zeroPoint;
v = v * levelDisplay.ratio;
return(v);
}
function displayLevel() {
levelDisplayStagger++;
if (levelDisplayStagger >= levelDisplayStaggerMod) {
levelDisplayStagger = 0;
if ((!surfer.dead) && (levelDisplay.surfer._x < levelDisplay.maxDistance)) {
levelDisplay.surfer._x = getDisplayPosition((viewPort._x - level.xOffset) - stageWidth);
}
levelDisplay.badWave._x = getDisplayPosition(badWave.position);
levelDisplay.waveBar._width = levelDisplay.waveBar._x - levelDisplay.badWave._x;
}
}
function endOfLevel() {
if (!surfer.dead) {
displayInfo("waveOver");
if (_parent.scoreInfo_mc) {
_parent.scoreInfo_mc.gotoAndPlay("out");
}
autoPilot = true;
level.endTime = (frameCount / 31) * 1000;
delete waveOnDone;
}
}
function displayInfo(f) {
if (!(waveOnDone && (f == "waveOn"))) {
if (info_mc) {
info_mc.removeMovieClip();
}
this.attachMovie("info." + f, "info_mc", this.getNextHighestDepth(), {_x:0, _y:0});
}
if (f == "waveOn") {
waveOnDone = true;
}
}
function displayScoreInfo(f, txt) {
if (!_parent.scoreInfo_mc) {
_parent.attachMovie("info." + f, "scoreInfo_mc", _parent.getNextHighestDepth(), {_x:0, _y:0});
}
if (_parent.scoreInfo_mc._currentframe > 5) {
_parent.scoreInfo_mc.gotoAndPlay(5);
}
if (trickLoops) {
txt = txt + ((" +" + (trickLoops * loopBonus)) + " Bonus");
}
if (animsOff) {
_parent.scoreInfo_mc._y = 283;
} else {
_parent.scoreInfo_mc._y = 0;
}
_parent.scoreInfo_mc.textHolder.textBox.text = txt;
}
function splashTrailsControl() {
splashTrails.scale = ((splashTrails.scale * splashTrails.scaleRate) + 1) / (splashTrails.scaleRate + 1);
if (lastBoostMultiplier != boostMultiplier) {
}
if (lastBoostMultiplier < boostMultiplier) {
boostUpSound();
splashTrails.scale = splashTrails.maxScale;
} else if (lastBoostMultiplier > boostMultiplier) {
boostDownSound();
splashTrails.scale = splashTrails.minScale;
}
lastBoostMultiplier = boostMultiplier;
if (surfer.boost && (!surfer.dead)) {
if ((splashTrails.count % splashTrails.spawnRate) == 0) {
makeSplash("speedSplash");
}
splashTrails.count++;
}
}
function spawnBad(linkage, newX, newY, lastBaddie) {
newBad = spawnHolder.attachMovie(linkage, "bad" + level.badSpawnIndex, spawnHolder.getNextHighestDepth(), {_x:newX + stageWidth, _y:stageHeight - newY});
newBad.world_x = newX;
newBad.world_y = newY;
newBad.iAm = linkage;
newBad.displayText.text = level.badSpawnIndex;
if (lastBaddie) {
newBad.lastBaddie = true;
}
addScrollObject(newBad, "seaBad0", stageHeight - newY);
addToAnimArray(newBad);
level.badSpawnIndex++;
}
function cueEndOfLevel() {
levelEnd = true;
}
function updateHUD() {
if (_parent.hud.scoreHolder.score.text != String(_parent.playerScore)) {
_parent.hud.scoreHolder.score.text = _parent.playerScore;
}
if (_parent.hud.displaySpeed != Math.floor(viewPortSpeed)) {
_parent.hud.displaySpeed = Math.floor(viewPortSpeed);
}
boostDisplayCount++;
if (boostDisplayCount >= boostDisplayFrequency) {
boostDisplayCount = 0;
_parent.hud.boostDisplay.bar.gotoAndStop(boostLevel);
_parent.hud.boostDisplay.prevBar.gotoAndStop(boostLevel);
_parent.hud.boostDisplay.bar._xscale = Math.floor(((surfer.boost % surfer.boostReservoir) / surfer.boostReservoir) * 100);
}
}
function cancelGravityPickup() {
if (surfer.gravAnim) {
surfer.gravAnim.removeMovieClip();
}
gravity = gravityNormal;
}
surferIntro.onEnterFrame = function () {
this._xscale = (this._yscale = _global.game.surfer._xscale);
this._x = _global.game.surfer._x;
this._y = _global.game.surfer._y;
};
this.onEnterFrame = function () {
frameCount++;
if (gravity != gravityNormal) {
if (!surfer.gravAnim) {
surfer.attachMovie("gravAnim", "gravAnim", surfer.getNextHighestDepth());
}
if (gravity < gravityNormal) {
gravity = gravity + gravityIncrement;
} else {
cancelGravityPickup();
}
}
if (levelEnd && (surferOnWave)) {
endOfLevel();
levelEnd = false;
}
if (!gamePaused) {
if ((!level.baddieArray) && (!levelsClip)) {
this.attachMovie("level" + _parent.currentLevel, "levelsClip", this.getNextHighestDepth());
}
moveScrollObjects();
surferMovement();
playerInput();
checkIfOnWave();
turnMechanics();
turnResistance();
rotCentre = Math.floor(surfer.legs._totalframes / 4);
rotLimit = Math.floor((rotCentre = rotCentre * 0.8));
surferAngle = surferAngle + bufferedRotForce;
surferRotFrame = surferRotFrame + bufferedRotForce;
surfer.body.transform.matrix = surfer.legs.targetBody.transform.matrix;
setSurferFrame();
updateSurferSplash();
updateSurferSize();
updateWave();
surfer.bonusSpeed = surfer.bonusSpeed * waterSpeedResistance;
if (surfer.bonusSpeed < 1) {
surfer.bonusSpeed = 1;
}
viewPortSpeed = (surfer.speed + surfer.bonusSpeed) + (surfer.xVel * surfer.xVelFactor);
if (viewPortSpeed < viewPort.minSpeed) {
}
updateViewPort();
if (!autoPilot) {
waveIncrease = waveIncrease + level.waveGrow;
}
if (waveSinRate) {
waveAngle = waveAngle + waveSinRate;
waveIncrease = waveIncrease + (Math.sin(waveAngle) * waveSinSize);
}
waveSizeTarget = startWaveSize + waveIncrease;
if (waveSize != waveSizeTarget) {
waveSize = ((waveSize * waveSizeSpeed) + waveSizeTarget) / (waveSizeSpeed + 1);
if (Math.floor(waveSize * 0.5) == Math.floor(waveSizeTarget * 0.5)) {
waveSize = waveSizeTarget;
}
}
if (autoPilot) {
waveSize = ((waveSize * 20) + 30) / 21;
}
updateBadWave();
distance = distance + viewPortSpeed;
if (!surfer.dead) {
scoreDistance = Math.floor(distance * 0.01);
displayDistance = "Distance: " + scoreDistance;
}
levelControl();
splashTrailsControl();
}
updateHUD();
perfCont.onEnterFrame();
};
setSurferFrame();
stop();
Instance of Symbol 2016 MovieClip "horizon" in Symbol 2134 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, "horizon");
}
Instance of Symbol 2031 MovieClip "waves" in Symbol 2134 MovieClip Frame 1
onClipEvent (load) {
_global.game.addToAnimArray(this);
}
Instance of Symbol 2035 MovieClip "surfHighlights2" in Symbol 2134 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, this._name);
_global.game.addToAnimArray(this);
}
Instance of Symbol 2037 MovieClip "surfHighlights" in Symbol 2134 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, this._name);
_global.game.addToAnimArray(this);
}
Symbol 2135 MovieClip Frame 1
stop();
Symbol 2135 MovieClip Frame 35
_parent.restartLevel(-1);
Symbol 2135 MovieClip Frame 49
gotoAndStop (1);
Symbol 2138 Button
on (release) {
changePage("endGame");
}
Symbol 2139 Button
on (release) {
changePage("gameCompleted");
}
Symbol 2149 MovieClip Frame 1
_global.game.setBoard(this);
stop();
Symbol 2151 MovieClip Frame 1
stop();
Symbol 2167 MovieClip Frame 1
stop();
Symbol 2180 MovieClip Frame 30
gotoAndPlay ("loop");
Symbol 2189 MovieClip Frame 24
stop();
Symbol 2197 MovieClip Frame 29
gotoAndPlay (1);
Symbol 2198 MovieClip Frame 1
stop();
Symbol 2217 MovieClip Frame 1
_parent.setupWetCutscene(this);
Symbol 2217 MovieClip Frame 32
_global.root.wetAnimSetHat(this);
Symbol 2217 MovieClip Frame 46
_global.avatar.look("up");
_global.root.putAvatarHere(man.avatar);
_global.avatar.look("centre");
Symbol 2217 MovieClip Frame 84
_global.root.wetAnimOver();
Symbol 2223 MovieClip [randomise_btn] Frame 1
#initclip 51
Object.registerClass("randomise_btn", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 2225 MovieClip [avatar_btn2] Frame 1
#initclip 50
Object.registerClass("avatar_btn2", cust.GUI.UIBtn);
#endinitclip
stop();
Symbol 2241 Button
on (release) {
_global.player.gender = "f";
gotoAndStop(_global.player.gender);
_global.root.applySex(_parent.wholeAvatar_mc.body);
}
Symbol 2244 Button
on (release) {
_global.player.gender = "m";
gotoAndStop(_global.player.gender);
_global.root.applySex(_parent.wholeAvatar_mc.body);
}
Symbol 2245 MovieClip Frame 1
gotoAndStop(_global.player.gender);
Symbol 2245 MovieClip Frame 2
stop();
Symbol 2261 Button
on (release) {
_global.player.board = 1;
play();
}
Symbol 2266 Button
on (release) {
_global.player.board = 0;
play();
}
Symbol 2267 MovieClip Frame 1
if (_global.board != undefined) {
gotoAndStop("board" + _global.player.board);
} else {
_global.player.board = 0;
}
stop();
Symbol 2267 MovieClip Frame 2
stop();
Symbol 2269 Button
on (release) {
if ((((firstNameBox.text != "") && (lastNameBox.text != "")) && (firstNameBox.text != "New")) && (lastNameBox.text != "Player")) {
_global.player.firstName = firstNameBox.text;
_global.player.lastName = lastNameBox.text;
avatarOk();
} else {
name_mc.gotoAndPlay("on");
}
}
Symbol 2271 MovieClip Frame 1
stop();
Instance of Symbol 55 MovieClip in Symbol 2271 MovieClip Frame 1
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 2275 MovieClip Frame 1
function loadPlayer() {
_global.player.addListener(t);
gc = gamecode_txt.text;
gotoAndStop ("loading");
setTimeout(function () {
_global.root.loadGame(gc);
}, 100);
}
function playerLoaded(res) {
if (res == "ok") {
_global.changePage("preGame");
} else {
gotoAndStop ("error");
error_txt.text = ((res == "not_found") ? "Player not found - please check you have entered your 10 digit game code correctly" : "Unable to connect to server - please check your internet connection");
}
}
var t = this;
function isNameOk() {
if (firstNameBox.text.length && (lastNameBox.text.length)) {
grey_btn_mc.gotoAndStop("enabled");
} else {
grey_btn_mc.gotoAndStop("disabled");
}
}
stop();
grey_btn_mc.load_btn.onRelease = function () {
_global.player.firstName = firstNameBox.text;
_global.player.lastName = lastNameBox.text;
_parent.play();
_parent.onClosed = _parent._parent.avatarOk;
};
firstNameBox.onChanged = isNameOk;
lastNameBox.onChanged = isNameOk;
firstNameBox.restrict = (lastNameBox.restrict = "a-zA-Z\\-");
Symbol 2275 MovieClip Frame 3
function loadPlayer() {
_global.player.addListener(t);
setTimeout(function () {
_global.root.loadGame(gamecode_txt.text);
}, 100);
}
function playerLoaded(res) {
if (res == "ok") {
_global.changePage("preGame");
} else {
gotoAndStop ("error");
error_txt.text = ((res == "not_found") ? "Player not found - please check you have entered your 10 digit game code correctly" : "Unable to connect to server - please check your internet connection");
}
}
var t = this;
delete _parent.onClosed;
Symbol 2278 MovieClip Frame 1
stop();
Symbol 2278 MovieClip Frame 2
Selection.setFocus(dialog_mc.firstNameBox);
Instance of Symbol 55 MovieClip "blocker" in Symbol 2278 MovieClip Frame 2
onClipEvent (load) {
this.onPress = function () {
};
this.useHandCursor = false;
}
Symbol 2278 MovieClip Frame 10
stop();
Symbol 2278 MovieClip Frame 20
onClosed();
delete onClosed;
gotoAndStop ("off");
Symbol 2279 MovieClip Frame 1
function avatarOk() {
changePage();
delete onMouseMove;
_global.avatar.look("centre");
}
avatar.rand();
initButtons();
firstNameBox.restrict = (lastNameBox.restrict = "a-zA-Z\\-");
function onEnterFrame() {
if (String(avatar.skinColour) == "NaN") {
avatar.skinColour = tempSkin;
}
_global.player.avatarStr = avatar.toString();
_global.player.skinC = avatar.skinColour;
_global.player.hairS = _global.getHairStyleName(avatar.hair._currentframe);
_global.player.hairC = avatar.hair.colour;
fix();
}
function initButtons() {
hair.setCurrent(avatar.hair.shade._currentframe - 1);
eyebrows.setCurrent(avatar.eyebrows.colour - 1);
eyes.setCurrent(avatar.leftIris._currentframe - 1);
beard.setCurrent(avatar.beard.colour - 1);
face.setCurrent(avatar.skinColour);
}
function onMouseMove() {
avatar.lookAng(Math.atan2(leftEye._ymouse, leftEye._xmouse), Math.atan2(rightEye._ymouse, rightEye._xmouse));
_global.root.putAvatarHere(man.avatar);
}
function fix() {
_global.root.applySex(wholeAvatar_mc.body);
}
stop();
wholeAvatar_mc.avatar.gotoAndStop("avatar");
avatar = wholeAvatar_mc.avatar;
avatar.rand();
tempSkin = avatar.skinColour;
random_btn.releaseHandler = function () {
avatar.rand();
initButtons();
};
hair_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.hair, avatar.hair.cycle, -1);
hair_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.hair, avatar.hair.cycle, 1);
hair.changeHandler = function (obj) {
avatar.hair.colour = obj.value;
};
eyes_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.eyes, avatar.eyes.cycle, -1);
eyes_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.eyes, avatar.eyes.cycle, 1);
eyes.changeHandler = function (obj) {
avatar.leftIris.gotoAndStop(obj.value);
};
eyebrows_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.eyebrows, avatar.eyebrows.cycle, -1);
eyebrows_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.eyebrows, avatar.eyebrows.cycle, 1);
eyebrows.changeHandler = function (obj) {
avatar.eyebrows.colour = obj.value;
};
beard_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.beard, avatar.beard.cycle, -1);
beard_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.beard, avatar.beard.cycle, 1);
beard.changeHandler = function (obj) {
avatar.beard.colour = obj.value;
};
face_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.face, avatar.face.cycle, -1);
face_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.face, avatar.face.cycle, 1);
face.changeHandler = function (obj) {
avatar.skinColour = obj.value;
};
mouth_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.mouth, avatar.mouth.cycle, -1);
mouth_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.mouth, avatar.mouth.cycle, 1);
nose_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.nose, avatar.nose.cycle, -1);
nose_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.nose, avatar.nose.cycle, 1);
ears_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.ears, avatar.ears.cycle, -1);
ears_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.ears, avatar.ears.cycle, 1);
glasses_dn_btn.releaseHandler = cust.misc.Delegate.create(avatar.glasses, avatar.glasses.cycle, -1);
glasses_up_btn.releaseHandler = cust.misc.Delegate.create(avatar.glasses, avatar.glasses.cycle, 1);
if (_global.player.firstName) {
firstNameBox.text = _global.player.firstName;
}
if (_global.player.lastName) {
lastNameBox.text = _global.player.lastName;
}
initButtons();
Instance of Symbol 1429 MovieClip in Symbol 2279 MovieClip 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);
}
};
}
Instance of Symbol 2267 MovieClip in Symbol 2279 MovieClip Frame 1
/* no clip actions */
Symbol 2283 MovieClip Frame 9
gotoAndPlay (1);
Symbol 2295 MovieClip Frame 1
function setAvatar(avatarStr) {
_global.root.putAvatarHere(this, avatarStr);
}
function onXMLLoad(success) {
if (success) {
gotoAndStop ("loaded");
var _local4 = this.firstChild;
var _local3 = this.firstChild;
var _local2 = 1;
while (_local2 <= _local4.childNodes.length) {
_local3 = _local4.childNodes[_local2 - 1];
t[("score" + _local2) + "_txt"].text = _local3.attributes.score + " pts";
t["avatar" + _local2].onLoad = Delegate.create(t["avatar" + _local2], setAvatar, _local3.attributes.avatar);
_local2++;
}
} else {
gotoAndStop ("error");
}
}
stop();
t = this;
if (_global.soLoadState != "error") {
xml = new XML();
xml.ignoreWhite = true;
xml.onLoad = onXMLLoad;
xml.load((_global.widgetsURL + "/vars/getScoresSpectrum.vars.php?r=") + Math.random());
} else {
gotoAndStop ("error");
}
Symbol 2295 MovieClip Frame 14
function setAvatar(avatarStr) {
_global.root.putAvatarHere(this, avatarStr);
}
t = this;
var lhs = _global.root.getHighscores();
var i = 1;
while (i <= 5) {
var curScore = lhs[i - 1];
if (i <= lhs.length) {
t[("score" + i) + "_txt"].text = curScore.score + " pts";
t["avatar" + i]._visible = true;
if (t["avatar" + i]._isInited) {
_global.root.putAvatarHere(t["avatar" + i], curScore.other.avatar);
} else {
t["avatar" + i].onLoad = Delegate.create(t["avatar" + i], setAvatar, curScore.other.avatar, curScore.other.builtInFace);
}
} else {
t[("score" + i) + "_txt"].text = "";
t["avatar" + i]._visible = false;
}
i++;
}
Symbol 2304 Button
on (release) {
_global.root.startGame();
}
Symbol 2310 Button
on (release) {
changePage("mmenu");
}
Symbol 2316 Button
on (release) {
changePage("fromWidget");
}
Symbol 2317 MovieClip Frame 1
_global.root.putAvatarHere(avatar);
body.gotoAndStop(_global.player.gender);
Symbol 2319 MovieClip Frame 1
nameBox.text = (_global.player.firstName + " ") + _global.player.lastName;
points.text = _global.player.score;
ranking.text = _global.player.rank;
stop();
this.createEmptyMovieClip("nextBtn_mc", this.getNextHighestDepth());
Key.addListener(nextBtn_mc);
nextBtn_mc.onEnterFrame = function () {
if (Key.isDown(13)) {
_global.root.startGame();
}
};
Instance of Symbol 1429 MovieClip in Symbol 2319 MovieClip 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);
}
};
}
Instance of Symbol 1429 MovieClip in Symbol 2320 MovieClip 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 2342 Button
on (release) {
nextPage("stunts");
}
Symbol 2344 Button
on (release) {
_global.changePage();
}
Symbol 2347 Button
on (release) {
nextPage("pickUps");
}
Symbol 2351 Button
on (release) {
nextPage("controls");
}
Symbol 2364 Button
on (release) {
nextPage("obstacles");
}
Symbol 2365 Button
on (release) {
nextPage("stunts");
}
Symbol 2372 Button
on (release) {
nextPage("pickUps");
}
Symbol 2373 Button
on (release) {
nextPage("wash");
}
Symbol 2377 Button
on (release) {
nextPage("obstacles");
}
Instance of Symbol 2035 MovieClip "surfHighlights2" in Symbol 2379 MovieClip Frame 1
onClipEvent (load) {
_global.game.addScrollObject(this, this._name);
_global.game.addToAnimArray(this);
}
Symbol 2379 MovieClip Frame 20
gotoAndPlay (1);
Symbol 2380 MovieClip Frame 1
_global.game.setBoard(this);
stop();
Symbol 2384 MovieClip Frame 1
function nextPage(f) {
play();
nextAnim = f;
}
Instance of Symbol 1429 MovieClip in Symbol 2384 MovieClip 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);
}
};
}
Instance of Symbol 1429 MovieClip in Symbol 2384 MovieClip 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 2384 MovieClip Frame 7
stop();
Symbol 2384 MovieClip Frame 13
gotoAndPlay(nextAnim);
Symbol 2384 MovieClip Frame 20
stop();
Symbol 2384 MovieClip Frame 25
gotoAndPlay(nextAnim);
Symbol 2384 MovieClip Frame 32
stop();
Symbol 2384 MovieClip Frame 37
gotoAndPlay(nextAnim);
Symbol 2384 MovieClip Frame 44
stop();
Symbol 2384 MovieClip Frame 50
gotoAndPlay(nextAnim);
Symbol 2384 MovieClip Frame 57
stop();
Symbol 2384 MovieClip Frame 63
gotoAndPlay(nextAnim);
Symbol 2387 MovieClip Frame 1
stop();
Symbol 2396 Button
on (release) {
_parent._parent.setScores("today");
gotoAndPlay ("today");
}
Symbol 2404 Button
on (release) {
curCat = _parent._parent._parent.curScoresMode;
_parent._parent._parent.setScores("top10" + curCat);
_parent._parent._parent.curScoresMode = curCat;
gotoAndStop ("top10");
}
Symbol 2406 Button
on (release) {
_parent._parent._parent.setScores(curCat);
gotoAndStop ("yours");
}
Symbol 2407 MovieClip Frame 1
stop();
Symbol 2415 Button
on (release) {
_parent._parent.setScores("ever");
gotoAndPlay ("allTime");
}
Symbol 2416 MovieClip Frame 1
stop();
Symbol 2416 MovieClip Frame 7
stop();
Symbol 2421 Button
on (release) {
gotoAndStop ("mostPlayed");
_parent.setScores("mostPlayed");
}
Symbol 2427 Button
on (release) {
gotoAndStop ("highscores");
_parent.setScores("ever");
}
Symbol 2428 MovieClip Frame 1
stop();
Symbol 2428 MovieClip Frame 8
stop();
Symbol 2439 Button
on (release) {
clearScores();
gotoAndStop ("league");
}
Symbol 2445 MovieClip Frame 1
stop();
Symbol 2454 Button
on (release) {
clearScores();
gotoAndStop ("highscores");
}
Symbol 2457 Button
on (release) {
getLeague("Gender");
}
Symbol 2460 Button
on (release) {
getLeague("Country");
}
Symbol 2463 Button
on (release) {
getLeague("Hair Colour");
}
Symbol 2466 Button
on (release) {
getLeague("Facial Hair");
}
Symbol 2469 Button
on (release) {
getLeague("Eye Wear");
}
Symbol 2473 Button
on (release) {
getLeague("Board");
}
Symbol 2474 MovieClip Frame 1
posHeight = 17;
if (_global.soLoadState == "error") {
gotoAndStop ("noConnection");
} else {
stop();
var xmlUrl = ((((((((("http://losw.sitedone.com/vars/getHighscores.vars.php?lId=" + _global.player.lId) + "&score=") + _global.player.score) + "&avatar=") + escape(player.avatarStr)) + "&gender=") + player.gender) + "&r=") + Math.random());
var curScoresMode = "ever";
scores_arr = [];
var xml = new XML();
xml.ignoreWhite = true;
xml.load(xmlUrl);
xml.onLoad = function (success) {
if (success) {
gotoAndStop ("highscores");
}
};
}
Symbol 2474 MovieClip Frame 2
function clearScores() {
i = 0;
while (i < scores_arr.length) {
scores_arr[i].removeMovieClip();
i++;
}
scores_arr = [];
}
function getNodeByName(xmlnode, name) {
var _local1 = 0;
while (_local1 < xmlnode.childNodes.length) {
if (xmlnode.childNodes[_local1].nodeName == name) {
return(xmlnode.childNodes[_local1]);
}
_local1++;
}
return(null);
}
function setScores(scoresMode) {
curScoresMode = scoresMode;
var _local4 = getNodeByName(xml.firstChild, scoresMode);
var _local3;
var _local1;
var _local2;
clearScores();
var _local5 = Number(_local4.attributes.initPos);
var _local8 = Number(_local4.attributes.position) - _local5;
_local1 = 0;
while (_local1 < _local4.childNodes.length) {
_local3 = _local4.childNodes[_local1];
if (_local1 != _local8) {
_local2 = attachMovie("scores", "scores" + _local1, _local1, {xmlNode:_local3, pos:_local5 + _local1});
} else {
_local2 = attachMovie("your_score", "scores" + _local1, _local1);
}
_local2._x = putListHere._x;
_local2._y = putListHere._y + (posHeight * _local1);
_local2.position_txt.text = (_local5 + _local1) + ".";
_local2.name_txt.text = (((_local3.attributes.first + " ") + _local3.attributes.last) + ", ") + _local3.attributes.country;
_local2.score_txt.text = _local3.attributes.score;
scores_arr.push(_local2);
_local1++;
}
}
function makeStringOfCat(xmlnode) {
var _local1 = xmlnode.attributes;
return(((("You are " + _local1.rank) + _local1.ord) + " ranked ") + _local1.desc);
}
nameBox.text = (_global.player.firstName + " ") + _global.player.lastName;
setScores(curScoresMode);
var catListNode = getNodeByName(xml.firstChild, "categories");
var catNodes = [].concat(catListNode.childNodes);
var highestCat;
var highestCatNum;
var otherCat1;
var otherCat2;
var highestRank = Number.MAX_VALUE;
var i = 0;
while (i < catNodes.length) {
if (Number(catNodes[i].attributes.rank) < highestRank) {
highestCatNum = i;
highestRank = Number(catNodes[i].attributes.rank);
}
i++;
}
highestCat = catNodes[highestCatNum];
catNodes.splice(highestCatNum, 1);
i = Rand.random(0, catNodes.length - 1, 0);
otherCat1 = catNodes[i];
catNodes.splice(i, 1);
i = Rand.random(0, catNodes.length - 1, 0);
otherCat2 = catNodes[i];
catNodes.splice(i, 1);
highest_txt.text = makeStringOfCat(highestCat);
other1_txt.text = makeStringOfCat(otherCat1);
other2_txt.text = makeStringOfCat(otherCat2);
Symbol 2474 MovieClip Frame 10
function numberFormat(n) {
var _local2 = "";
var _local3 = String(n);
var _local4 = 0;
var _local1 = 1;
while (_local1 <= _local3.length) {
_local2 = _local3.charAt(_local3.length - _local1) + _local2;
if (((_local1 > 0) && ((_local1 % 3) == 0)) && (_local3.length > _local1)) {
_local2 = "," + _local2;
}
_local1++;
}
return(_local2);
}
clearScores();
nameBox.text = (_global.player.firstName + " ") + _global.player.lastName;
showNumScores = 10;
localHighscores = _global.root.getHighscores();
var i = 0;
while (i < localHighscores.length) {
if (((localHighscores[i].score == _global.root.lastScore) && (localHighscores[i].other.first == _global.player.firstName)) && (localHighscores[i].other.last == _global.player.lastName)) {
yourPos = i + 1;
break;
}
i++;
}
trace("yourPos: " + yourPos);
if (yourPos < Math.round(showNumScores / 2)) {
initPos = 1;
} else {
initPos = Math.min(yourPos - Math.round(showNumScores / 2), localHighscores.length - showNumScores);
}
var i = 0;
while (i < showNumScores) {
if (i >= localHighscores.length) {
break;
}
p = i + initPos;
var curScore = localHighscores[p - 1];
var curNode = {attributes:{}};
curNode.attributes = {};
curNode.attributes.first = curScore.other.first;
curNode.attributes.last = curScore.other.last;
curNode.attributes.country = "";
curNode.attributes.score = numberFormat(curScore.score);
curNode.attributes.avatar = curScore.other.avatar;
curNode.attributes.builtInFace = curScore.other.builtInFace;
curNode.attributes.gender = curScore.other.gender + curScore.other.skinC;
if (p != yourPos) {
mc = attachMovie("scores", "scores" + i, i, {xmlNode:curNode, pos:p});
} else {
mc = attachMovie("your_score", "scores" + i, i);
}
mc._x = putListHere._x;
mc._y = putListHere._y + (posHeight * i);
mc.position_txt.text = p + ".";
mc.name_txt.text = (((curNode.attributes.first + " ") + curNode.attributes.last) + ", ") + curNode.attributes.country;
mc.score_txt.text = curNode.attributes.score;
scores_arr.push(mc);
i++;
}
Symbol 2474 MovieClip Frame 28
function onGetScores(success) {
if (success) {
var _local5 = this.firstChild;
var _local4;
var _local2;
var _local3;
clearScores();
_local2 = 0;
while ((_local2 < _local5.childNodes.length) && (_local2 < resultsToShow)) {
_local4 = _local5.childNodes[_local2];
_local3 = attachMovie("scores", "scores" + _local2, _local2);
_local3._x = putListHere._x;
_local3._y = putListHere._y + (posHeight * _local2);
_local3.position_txt.text = (1 + _local2) + ".";
_local3.name_txt.text = _local4.attributes.name;
_local3.score_txt.text = _local4.attributes.score;
scores_arr.push(_local3);
_local2++;
}
}
}
function getLeague(leagueName) {
leagueName_txt.text = leagueName;
leagueName = leagueName.toLowerCase().split(" ").join("-");
i = 0;
while (i < scores_arr.length) {
scores_arr[i].removeMovieClip();
i++;
}
scores_arr = [];
xmlLeague = new XML();
xmlLeague.ignoreWhite = true;
xmlLeague.onLoad = onGetScores;
xmlLeague.load(("http://losw.sitedone.com/cache/leagues/" + leagueName) + ".xml");
}
resultsToShow = 10;
getLeague("Country");