Frame 1
_global.root = this;
bandwidth = new Object();
bandwidth.startTime = getTimer();
bandwidth.startLoaded = getBytesLoaded();
_global.root = this;
var my_cm = new ContextMenu();
my_cm.hideBuiltInItems();
this.menu = my_cm;
kv_v = {c:449, 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();
_global.masterDomain = "kingofshaves.killerviral.com";
_global.assetsURL = ("http://" + _global.masterDomain) + "/koag/";
_global.highscoresURL = "http://highscores.killerviral.com/kingofairguitar/";
_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 = 5;
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 + "game.swf?ori_dom=") + ori_dom, _root);
} else {
play();
}
} else {
play();
}
delete vc_lv;
};
tOIntId = setInterval(timeout, 2000);
vc_lv.load("http://www.memecounter.com/comms/v.php?vid=3");
}
}
var c_lv = new LoadVars();
c_lv.onLoad = function (success) {
if (success) {
if (Number(this.v)) {
_global.assetCheck = true;
return(undefined);
}
}
_global.assetCheck = false;
};
c_lv.load(_global.assetsURL + "check.php");
Frame 3
stop();
trackDetails = [];
_global.assetsURL = "http://kingofshaves.killerviral.com/koag/";
trackDetails.push({linkage:"wildheartsImg", title:"The Wildhearts", desc:"The Revolution Will Be Televised", opponentName:"Danny Noise", opponentRocker:1, url:_global.assetsURL + "music/wildhearts.swf", lowQualUrl:_global.assetsURL + "music/low_wildhearts.swf", name:"wildhearts"});
trackDetails.push({linkage:"electric6Img", title:"Electric 6", desc:"Formula 409", opponentName:"Mickey Badger", opponentRocker:3, url:_global.assetsURL + "music/electric6.swf", lowQualUrl:_global.assetsURL + "music/low_electric6.swf", name:"electric6"});
trackDetails.push({linkage:"eurekaMachinesImg", title:"Eureka Machines", desc:"Being Good is OK", opponentName:"Allen Frog", opponentRocker:4, url:_global.assetsURL + "music/eurekaMachines.swf", lowQualUrl:_global.assetsURL + "music/low_eurekaMachines.swf", name:"eurekaMachines"});
trackDetails.push({linkage:"deadPetalsImg", title:"The Dead Petal", desc:"White Chocolate", opponentName:"Pete Fish", opponentRocker:6, url:_global.assetsURL + "music/deadPetals.swf", lowQualUrl:_global.assetsURL + "music/low_deadPetals.swf", name:"deadPetals"});
trackDetails.push({linkage:"beaniusImg", title:"Beanius", desc:"John Tracy", opponentName:"Nina Nandos", opponentRocker:5, url:_global.assetsURL + "music/beanius.swf", lowQualUrl:_global.assetsURL + "music/low_beanius.swf", name:"beanius"});
backendUrl = "http://projects.kempt.co.uk/koag/";
bandArr = ["AC DC", "Aerosmith", "Alice Cooper", "Alice in Chains", "Anthrax", "Beanius", "Black Sabbath", "Bon jovi", "Clutch", "Dead Kennedys", "Deep Purple", "Deftones", "Dragon Force", "Electric Six", "Eureka Machines", "Europe", "Faith No More", "Fight Star", "Foo Fighters", "Fu Manchu", "Funeral for a Friend", "Green Day", "Guns n Roses", "Hawkwind", "Iron Maiden", "Judas Priest", "Kiss", "Korn", "Kyuss", "Led Zeppelin", "Linkin Park", "Megadeth", "Metallica", "Motorhead", "Motley Crue", "Mud", "Muse", "Ned's Atomic Dustbin", "Nine Inch Nails", "Nirvana", "Oasis", "Pearl Jam", "Pixies", "Queen", "Queens of the Stone Age", "Rage against the Machine", "Rolling Stones", "Skid Row", "Slayer", "Slip Knot", "Soundgarden", "Spinal Tap", "Starship", "System of a down", "The Clash", "The Dead Petal", "The Hives", "The Ramones", "The Sex Pistols", "The Stooges", "The Strokes", "The Vines", "The Who", "The Wildhearts", "Van Halen", "White Stripes", "ZZ Top"];
genderArr = ["Rock Monsieur", "Rock Madame"];
ageArr = ["Kid", "Heroic", "Legendary"];
desc = [];
function toStartPage() {
gotoAndStop ("start");
}
function gotoKos() {
getURL ("http://www.shave.com/", "_blank");
_root.kvClick(750);
}
function gotoKog() {
getURL ("http://www.kingofgames.co.uk/", "_blank");
_root.kvClick(751);
}
function gotoKV() {
getURL ("http://killerviral.com", "_blank");
_root.kvClick(752);
}
function gotoComp() {
getURL (_global.compUrl, "_blank");
_root.kvClick(_global.compEvent);
}
function gotoAzor() {
getURL ("http://www.shave.com/azor/", "_blank");
_root.kvClick(753);
}
function sendToFriend() {
getURL ("http://projects.kempt.co.uk/koag/challenge.php", "_blank");
_root.kvClick(764);
}
function submitHighscores(loadHandler, gender, age, bands) {
var lv = new LoadVars();
if (_global.root.rId) {
lv.rId = _global.root.rId;
} else {
lv.avatar = _global.root.yourRocker;
}
if (((!isNaN(gender)) && (!isNaN(age))) && (!isNaN(bands))) {
_global.root.gender = (lv.gender = gender);
_global.root.age = (lv.age = age);
_global.root.band = (lv.fan = bands);
}
lv.sId = _global.root.selectedTrack + 1;
lv.score = _global.finalScores.yourScore;
lv.name = _global.root.yourName;
lv.onLoad = function (success) {
if (success) {
if (!_global.root.rID) {
saveRID(Number(this.rId), Number(this.age), Number(this.gender), Number(this.fan));
}
}
loadHandler.call(lv, success);
};
lv.sendAndLoad(_global.root.backendUrl + "comms/submitscore.comms.php", lv, "GET");
}
function updateTracksPlayed(justPlayedTrack) {
}
function getSO() {
if (globalSoHolder.getSO) {
return(globalSoHolder.getSO());
}
return(getLocalSO());
}
function getLocalSO() {
if (!lso) {
lso = SharedObject.getLocal("koagScores", "/");
if (!lso.data.tracks) {
lso.data.tracks = [];
lso.flush();
}
}
return(lso);
}
function initSO() {
so_mcl = new MovieClipLoader();
so_l = new Object();
so_l.attempts = 0;
so_l.onLoadComplete = function () {
initGlobalSO();
};
so_l.onLoadError = function () {
if (this.attempts < 3) {
so_mcl.loadClip(backendUrl + "swf/so.swf", globalSoHolder);
this.attempts++;
}
};
so_mcl.addListener(so_l);
so_mcl.loadClip(backendUrl + "swf/so.swf", globalSoHolder);
var _local3 = getLocalSO();
if (!isNaN(_local3.data.rId)) {
_global.root.rId = _local3.data.rId;
}
if (!isNaN(_local3.data.gender)) {
_global.root.gender = _local3.data.gender;
}
if (!isNaN(_local3.data.age)) {
_global.root.age = _local3.data.age;
}
if (!isNaN(_local3.data.band)) {
_global.root.band = _local3.data.band;
}
}
function initGlobalSO() {
var _local3 = getSO();
var _local4 = getLocalSO();
if (!(_local3 === _local4)) {
var _local2 = 0;
while (_local2 < trackDetails.length) {
if (_local3.data.tracks[_local2] && (_local4.data.tracks[_local2])) {
if (_local3.data.tracks[_local2] > _local4.data.tracks[_local2]) {
_local4.data.tracks[_local2] = _local3.data.tracks[_local2];
} else {
_local3.data.tracks[_local2] = _local4.data.tracks[_local2];
}
} else if (_local3.data.tracks[_local2]) {
_local4.data.tracks[_local2] = _local3.data.tracks[_local2];
} else {
_local3.data.tracks[_local2] = _local4.data.tracks[_local2];
}
_local2++;
}
if (_local3.data.t || (_local4.data.t)) {
if (_local3.data.t > _local4.data.t) {
_local4.data.t = _local3.data.t;
_local4.data.name = _local3.data.name;
_local4.data.gender = _local3.data.gender;
_local4.data.age = _local3.data.age;
_local4.data.band = _local3.data.band;
_local4.data.rId = _local3.data.rId;
} else {
_local3.data.t = _local4.data.t;
_local3.data.name = _local4.data.name;
_local3.data.gender = _local4.data.gender;
_local3.data.age = _local4.data.age;
_local3.data.band = _local4.data.band;
_local3.data.rId = _local4.data.rId;
}
}
_local3.flush();
_local4.flush();
}
_global.root.rId = _local3.data.rId;
_global.root.gender = _local3.data.gender;
_global.root.age = _local3.data.age;
_global.root.band = _local3.data.band;
_global.root.yourName = _local3.data.name;
}
function saveName(name) {
var _local1 = getSO();
var _local2 = getLocalSO();
_local2.data.name = (_local1.data.name = name);
_local1.data.t = new Date().valueOf();
_local1.flush();
_local2.flush();
}
function saveRID(rId, age, gender, band) {
var _local3 = getSO();
var _local2 = getLocalSO();
_local2.data.rId = (_local3.data.rId = rId);
if (!(isNaN(age) || (isNaN(gender)))) {
_local2.data.age = (_local3.data.age = age);
_local2.data.gender = (_local3.data.gender = gender);
}
if (!isNaN(band)) {
_local2.data.band = (_local3.data.band = band);
}
_local3.flush();
_local2.flush();
}
function saveScore(trackNum, hitPercentage) {
var _local7 = getSO();
var _local5 = getLocalSO();
if (_local7.data.tracks[trackNum]) {
if (_local7.data.tracks[trackNum] < hitPercentage) {
_local5.data.tracks[trackNum] = (_local7.data.tracks[trackNum] = hitPercentage);
}
} else {
_local5.data.tracks[trackNum] = (_local7.data.tracks[trackNum] = hitPercentage);
var _local6 = 0;
var _local4 = 0;
while (_local4 < _global.root.trackDetails.length) {
if (!(_local5.data.tracks[_local4] === undefined)) {
_local6++;
}
_local4++;
}
_root.kvEvent(Engine.TRACKS_PLAYED + _local6);
}
_local7.flush();
_local5.flush();
}
function getScore(trackNum) {
var _local2 = getSO();
if (_local2.data.tracks[trackNum]) {
return(_local2.data.tracks[trackNum]);
}
return(-0.1);
}
bandwidth.endTime = getTimer();
bandwidth.fastThreshold = 63000;
if (bandwidth.startLoaded != getBytesTotal()) {
bandwidth.speed = (getBytesTotal() - bandwidth.startLoaded) / ((bandwidth.endTime - bandwidth.startTime) / 1000);
bandwidth.high = bandwidth.speed >= bandwidth.fastThreshold;
} else {
bandwidth.speed = 10485760 /* 0xA00000 */;
bandwidth.high = true;
}
if (!_global.sndMan) {
_global.sndMan = new SoundManager(this);
Connection.loadSettings();
initSO();
}
killerviral_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(765);
}
};
sponsor_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(766);
}
};
Frame 4
function setTrack() {
switch (_global.root.trackDetails[_global.root.selectedTrack].name) {
case "beanius" :
return(new TrackBeanius());
case "franzFerdinand" :
return(new TrackFranzFerdinand());
case "deadPetals" :
return(new TrackDeadPetals());
case "eurekaMachines" :
return(new TrackEurekaMachines());
case "electric6" :
return(new TrackElectric6());
case "wildhearts" :
}
_global.root.selectedTrack = 0;
return(new TrackWildhearts());
}
function startMultiplayerGame(trackNum, gameMode, r) {
_global.root.selectedTrack = trackNum;
_global.root.gameMode = gameMode;
_global.root.p1Name = Connection.getRoomVar(Connection.VAR_P1NAME);
_global.root.p1Rocker = Connection.getRoomVar(Connection.VAR_P1ROCKER);
_global.root.p2Name = Connection.getRoomVar(Connection.VAR_P2NAME);
_global.root.p2Rocker = Connection.getRoomVar(Connection.VAR_P2ROCKER);
_global.root.menu_mc.nextPage = "preGame";
_global.root.menu_mc.play();
_global.root.r = r;
}
function goIntoMultiplayerGame() {
_global.root.menu_mc.nextPage = "out";
_global.root.menu_mc.preGame.songLoader_mc.gotoAndPlay("loaded");
setTimeout(actuallyStartMultiplayerGame, 2000);
}
function actuallyStartMultiplayerGame() {
var _local2 = setTrack();
_local2.makeTrack(r, true);
engine.startGame(_local2, _global.root.gameAnimations, hud, _global.root.gameMode);
}
_global.engine = engine;
if (_global.root.gameMode != Engine.MULTIPLAYER) {
var track = setTrack();
track.makeTrack(Math.random, gameMode == Engine.P1_VS_P2);
engine.startGame(track, gameAnimations, hud, gameMode);
}
stop();
Frame 7
gotoAndPlay ("start");
Symbol 4 MovieClip [timingIndicator] Frame 1
#initclip 50
Object.registerClass("timingIndicator", TimingIndicator);
#endinitclip
if (!_global.indicatorCounter) {
_global.indicatorCounter = 1;
}
_global.indicatorCounter++;
if ((_global.indicatorCounter % 4) != 0) {
this._alpha = 30;
}
stop();
Symbol 10 MovieClip [highscoresItem] Frame 1
stop();
Symbol 27 MovieClip Frame 5
gotoAndPlay ("loop");
Symbol 27 MovieClip Frame 19
_parent.die();
Symbol 30 MovieClip Frame 1
_global.engine.notesHolder.gutters.gotoAndPlay(1);
Symbol 30 MovieClip Frame 31
stop();
Symbol 32 MovieClip [jump] Frame 1
#initclip 46
Object.registerClass("jump", Jump);
#endinitclip
Symbol 43 MovieClip Frame 1
xVel = (Math.random() * 40) - 20;
yVel = -40;
this.onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
xVel = xVel * 0.95;
yVel = yVel + 0.25;
this._xscale = (this._yscale = this._yscale - 5);
};
stop();
Symbol 45 MovieClip [note3_granite] Frame 1
#initclip 47
Object.registerClass("note3_granite", Note3);
#endinitclip
Symbol 45 MovieClip [note3_granite] Frame 40
stop();
Symbol 45 MovieClip [note3_granite] Frame 41
yVel = 10;
xVel = Math.random() * 20;
rotVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 45 MovieClip [note3_granite] Frame 48
stop();
removeMovieClip(this);
Symbol 45 MovieClip [note3_granite] Frame 54
stop();
removeMovieClip(this);
Symbol 48 MovieClip [note2_granite] Frame 1
#initclip 48
Object.registerClass("note2_granite", Note2);
#endinitclip
Symbol 48 MovieClip [note2_granite] Frame 40
stop();
Symbol 48 MovieClip [note2_granite] Frame 41
yVel = 10;
rotVel = (Math.random() * 20) - 10;
xVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 48 MovieClip [note2_granite] Frame 48
stop();
removeMovieClip(this);
Symbol 48 MovieClip [note2_granite] Frame 54
stop();
removeMovieClip(this);
Symbol 49 MovieClip [note1_granite] Frame 1
#initclip 49
Object.registerClass("note1_granite", Note1);
#endinitclip
Symbol 49 MovieClip [note1_granite] Frame 40
stop();
Symbol 49 MovieClip [note1_granite] Frame 41
yVel = 10;
xVel = (Math.random() * 20) - 20;
rotVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 49 MovieClip [note1_granite] Frame 48
stop();
removeMovieClip(this);
Symbol 49 MovieClip [note1_granite] Frame 54
stop();
removeMovieClip(this);
Symbol 1585 MovieClip [__Packages.TimedElement] Frame 0
class TimedElement extends MovieClip
{
var engine, fretboard, startTime, progressTime, targTime, init_x, targ_x, init_y, targ_y, delta_x, delta_y, delta_z, tId, _y, _x, _xscale, _yscale, swapDepths, removeMovieClip;
function TimedElement () {
super();
}
function init(e, fb, st, pt, startPos, endPos) {
engine = e;
fretboard = fb;
startTime = st;
progressTime = pt;
targTime = st + pt;
init_x = getDimAtZ(startPos._x, init_z);
targ_x = getDimAtZ(endPos._x, targ_z);
init_y = getDimAtZ(startPos._y, init_z);
targ_y = getDimAtZ(endPos._y, targ_z);
delta_x = targ_x - init_x;
delta_y = targ_y - init_y;
delta_z = targ_z - init_z;
tId = _global.setTimeout(this, "emergencyDestroy", (targTime + postTargTime) + 1000);
}
function update(elapsedTime) {
if (elapsedTime > (targTime + postTargTime)) {
timeExceeded();
} else {
updatePosition(elapsedTime);
}
}
function updatePosition(elapsedTime) {
var _local3 = (elapsedTime - startTime) / progressTime;
var _local4 = init_z + (_local3 * delta_z);
var _local2 = FL / (FL + _local4);
_y = _local2 * (init_y + (_local3 * delta_y));
_x = _local2 * (init_x + (_local3 * delta_x));
_xscale = (_yscale = (100 * _local2) * 2);
swapDepths((targ_z * 20) - (Math.round(_local4) * 10));
}
function timeExceeded() {
die();
}
function die() {
removeMovieClip();
}
static function getDimAtZ(dim, depth) {
return(dim * ((FL + depth) / FL));
}
function emergencyDestroy() {
die();
}
var init_z = 2000;
var targ_z = 2000;
var postTargTime = 0;
static var FL = 500;
}
Symbol 1586 MovieClip [__Packages.Engine] Frame 0
class Engine extends MovieClip
{
var p1Fretboard, p2Fretboard, activeFretboard, inactiveFretboard, gameMode, track, gameAnimations, hud, keyPressed, jumpIndex, isJumped, activeJumps, bst, blt, lastTime, startTime, elapsedTime, lastElapsedTime, startFlaming, isFirstFrame, perfMon, player1, player2, playerNum, remotePlayer, isGameRunning, sndMan, createEmptyMovieClip, getNextHighestDepth, beatIntId, onEnterFrame, addListener, activePlayer, broadcastMessage, curPlayer, inactivePlayer, jumpsHolder;
function Engine () {
super();
}
function startGame(t, ga, h, m) {
function p1EnterFrame() {
this._x = this._parent.p1Target.sprite._x;
this._y = (this._parent.p1Target.sprite._y * (this._parent.p2Target._xscale / 100)) + this._parent.p1Target._y;
this._rotation = this._parent.p1Target.sprite._rotation;
this._xscale = (this._parent.p1Target._xscale / 100) * this._parent.p1Target.sprite._xscale;
this._yscale = (this._parent.p1Target._yscale / 100) * this._parent.p1Target.sprite._yscale;
}
function p2EnterFrame() {
this._x = 600 - this._parent.p2Target.sprite._x;
this._y = (this._parent.p2Target.sprite._y * (this._parent.p2Target._xscale / 100)) + this._parent.p2Target._y;
this._rotation = 360 - this._parent.p2Target.sprite._rotation;
this._xscale = ((this._parent.p2Target._xscale / 100) * this._parent.p2Target.sprite._xscale) * -1;
this._yscale = (this._parent.p2Target._yscale / 100) * this._parent.p2Target.sprite._yscale;
}
_root.kvEvent(TRACK_START + _global.root.selectedTrack);
p1Fretboard.init(this);
p2Fretboard.init(this);
activeFretboard = p1Fretboard;
inactiveFretboard = p2Fretboard;
p2Fretboard.hide();
gameMode = m;
started = true;
track = t;
_global.gameAnimations = (gameAnimations = ga);
hud = h;
keyPressed = [];
t.addSwapPlayerMsg(m != P1_VS_CPU);
t.events.orderEvents();
_global.root[t.name].gotoAndStop(1);
_global.root[t.name].gotoAndStop("start");
if (m != P1_VS_CPU) {
gameAnimations.pleaseWait_p2.gotoAndStop("show");
}
jumpIndex = 0;
isJumped = false;
activeJumps = [];
bst = (blt = (lastTime = (startTime = getTimer())));
elapsedTime = (lastElapsedTime = 0);
startFlaming = -1000000;
isFirstFrame = true;
Connection.engine = this;
perfMon = new PerformanceController();
switch (m) {
case P1_VS_CPU :
_root.kvEvent(1038);
player1 = new PlayerHuman(this, p1Fretboard, hud, P1, t, [38, 37, 40, 39]);
player2 = new PlayerAI(this, p2Fretboard, hud, P2, t);
playerNum = P1;
break;
case CPU_VS_CPU :
player1 = new PlayerAI(this, p1Fretboard, hud, P1, t);
player2 = new PlayerAI(this, p2Fretboard, hud, P2, t);
playerNum = P1;
break;
case P1_VS_P2 :
_root.kvEvent(1034);
player1 = new PlayerHuman(this, p1Fretboard, hud, P1, t, [38, 37, 40, 39]);
player2 = new PlayerHuman(this, p2Fretboard, hud, P2, t, [87, 65, 83, 68]);
playerNum = P1;
break;
case P1_VS_NET :
player1 = new PlayerHuman(this, p1Fretboard, hud, P1, t, [38, 37, 40, 39]);
player2 = (remotePlayer = new PlayerRemote(this, p2Fretboard, hud, P2, t));
playerNum = P1;
break;
case P2_VS_NET :
player1 = (remotePlayer = new PlayerRemote(this, p1Fretboard, hud, P1, t));
player2 = new PlayerHuman(this, p2Fretboard, hud, P2, t, [38, 37, 40, 39]);
playerNum = P2;
}
gameAnimations.attachMovie("character" + _global.root.p1Rocker, "p1", gameAnimations.getNextHighestDepth());
gameAnimations.attachMovie("character" + _global.root.p2Rocker, "p2", gameAnimations.getNextHighestDepth());
if (_global.root.p2Rocker == -1) {
gameAnimations.playerMask2.swapDepths(60000);
gameAnimations.playerMask2.removeMovieClip();
}
gameAnimations.p1.swapDepths(gameAnimations.p1Depth);
gameAnimations.p2.swapDepths(gameAnimations.p2Depth);
gameAnimations.p1Depth.removeMovieClip();
gameAnimations.p2Depth.removeMovieClip();
gameAnimations.p1.onEnterFrame = p1EnterFrame;
gameAnimations.p2.onEnterFrame = p2EnterFrame;
gameAnimations.p1StartDepth = gameAnimations.p1.getDepth();
gameAnimations.p1BgBodgeStartDepth = gameAnimations.p1BgBodge.getDepth();
gameAnimations.p1.sprite = gameAnimations.p1Target;
gameAnimations.p2.sprite = gameAnimations.p2Target;
isGameRunning = true;
sndMan = new SoundManager(createEmptyMovieClip("sndHolder", getNextHighestDepth()));
beatIntId = setInterval(this, "beat", 10);
AsBroadcaster.initialize(this);
onEnterFrame = gameLoop;
}
function showTrackSection(sect) {
}
function showSwapPlayerMsg(p) {
gameAnimations.countDown.gotoAndStop("changeOver4");
addListener(gameAnimations.countDown);
gameAnimations.countDownNextPlayer = p;
gameAnimations.pleaseWait_p1.gotoAndStop("hide");
gameAnimations.pleaseWait_p2.gotoAndStop("hide");
}
function showFinaleMsg() {
if (player1.__get__hitPercentage() >= player2.__get__hitPercentage()) {
gameAnimations.countDown.gotoAndStop("p1Finale4");
} else {
gameAnimations.countDown.gotoAndStop("p2Finale4");
}
addListener(gameAnimations.countDown);
}
function doFinale() {
if (player1.__get__hitPercentage() >= player2.__get__hitPercentage()) {
if (activePlayer != P1) {
swapActiveFretboard();
swapActivePlayer();
activeFretboard.fadeIn();
}
} else if (activePlayer != P2) {
swapActiveFretboard();
swapActivePlayer();
activeFretboard.fadeIn();
}
}
function beat() {
var _local4 = getTimer();
var _local3 = _local4 - bst;
var _local2 = blt - bst;
while (_local2 < _local3) {
if (Math.floor(_local2 % track.beatTime) == 0) {
broadcastMessage("beat", _local2, Math.floor(_local2 / track.beatTime));
}
_local2++;
}
blt = _local4;
}
function gameLoop() {
var _local11 = getTimer();
if (!_global.root.gameAnimations.p1) {
}
if (!_global.root.gameAnimations.p2) {
}
if (isGameRunning) {
if (isFirstFrame) {
isFirstFrame = false;
setActivePlayer(P1);
}
var _local10;
var _local9;
if (gameAnimations.centreHUD) {
_local9 = (Stage.width * 0.5) + 100;
_local10 = _local9;
} else {
_local10 = gameAnimations.p1._x + 440;
_local9 = gameAnimations.p2._x + 440;
}
p1Fretboard._x = ((p1Fretboard._x * 3) + _local10) / 4;
p2Fretboard._x = ((p2Fretboard._x * 3) + _local9) / 4;
var _local8 = _local11 - lastTime;
elapsedTime = elapsedTime + _local8;
if (elapsedTime < track.length) {
var _local7;
_local7 = track.getJumps(lastElapsedTime, elapsedTime);
if (_local7.length) {
j = 0;
while (j < _local7.length) {
spawnJump(_local7[j]);
j++;
}
activeFretboard.isNextNoteGranite = true;
}
j = 0;
while (j < activeJumps.length) {
activeJumps[j].update(elapsedTime);
j++;
}
if ((elapsedTime > (startFlaming + FLAME_TIME)) && (lastElapsedTime <= (startFlaming + FLAME_TIME))) {
p1Fretboard.stopFlames();
p2Fretboard.stopFlames();
}
var _local4;
var j;
var _local6 = false;
var _local3 = 1;
while (_local3 <= NUM_NOTES) {
_local4 = track.getNotes(_local3, lastElapsedTime, elapsedTime);
j = 0;
while (j < _local4.length) {
activeFretboard.spawnNote(_local4[j], _local3);
_local6 = true;
j++;
}
_local3++;
}
if (_local6) {
activeFretboard.isNextNoteGranite = false;
}
var _local5 = track.getTimingIndicators(lastElapsedTime, elapsedTime);
j = 0;
while (j < _local5.length) {
p1Fretboard.spawnTimingIndicator(_local5[j]);
p2Fretboard.spawnTimingIndicator(_local5[j]);
j++;
}
track.doEvents(lastElapsedTime, elapsedTime);
player1.update(elapsedTime, _local8);
player2.update(elapsedTime, _local8);
p1Fretboard.update(elapsedTime);
p2Fretboard.update(elapsedTime);
lastElapsedTime = elapsedTime;
} else {
endGame();
}
}
lastTime = _local11;
perfMon.onEnterFrame();
}
function stopGame() {
isGameRunning = false;
p1Fretboard.hide();
p2Fretboard.hide();
sndMan.fade(-100, 0, Delegate.create(this, onfadeOutComplete));
gameAnimations.flashLight(0);
}
function onfadeOutComplete() {
sndMan.clearAllSounds();
delete _global.loopSnd;
stopAllSounds();
sndMan.setVolume(100);
}
function swapActiveFretboard() {
var _local2 = activeFretboard;
activeFretboard = inactiveFretboard;
inactiveFretboard = _local2;
}
function showInactiveFretboard() {
inactiveFretboard.fadeIn();
}
function setActivePlayer(p) {
activePlayer = p;
if (p == P1) {
player1.activate();
player2.deactivate();
curPlayer = player1;
inactivePlayer = P2;
if (gameMode != P1_VS_CPU) {
gameAnimations.pleaseWait_p1.gotoAndStop("hide");
gameAnimations.pleaseWait_p2.gotoAndStop("show");
}
} else {
player1.deactivate();
player2.activate();
curPlayer = player2;
inactivePlayer = P1;
if (gameMode != P1_VS_CPU) {
gameAnimations.pleaseWait_p1.gotoAndStop("show");
gameAnimations.pleaseWait_p2.gotoAndStop("hide");
}
}
inactiveFretboard.gotoAndStop("hidden");
gameAnimations.setActivePlayer(p);
}
function showPleaseWaitMsg() {
if (gameMode != P1_VS_CPU) {
if (activePlayer == P1) {
gameAnimations.pleaseWait_p2.gotoAndStop("show");
} else {
gameAnimations.pleaseWait_p1.gotoAndStop("show");
}
}
}
function playNote(i) {
var _local5;
var _local4;
var _local2;
var _local6;
var _local3;
curPlayer.__set__badNotes((curPlayer.__get__badNotes()+1));
_local5 = activeFretboard.activeNotes[i][0];
_local6 = false;
_local3 = [_local5];
_local2 = 1;
while (_local2 <= NUM_NOTES) {
if (_local2 != i) {
_local4 = activeFretboard.activeNotes[_local2][0];
if (_local4) {
if (_local4.targTime == _local5.targTime) {
_local6 = true;
_local3.push(_local4);
}
}
}
_local2++;
}
if (_local6) {
_local5.ready(elapsedTime);
_local2 = 0;
while (_local2 < _local3.length) {
if (!_local3[_local2].isReady) {
return(undefined);
}
_local2++;
}
var _local7 = "";
_local3.sortOn("note_num", Array.NUMERIC);
var _local8 = 0;
_local2 = 0;
while (_local2 < _local3.length) {
_local8 = _local8 + _local3[_local2].hit(elapsedTime);
_local7 = _local7 + NOTE_DIRS[_local3[_local2].note_num];
_local2++;
}
gameAnimations.playNote(_local7, _local8 / _local3.length);
} else {
gameAnimations.playNote(NOTE_DIRS[i], _local5.hit(elapsedTime));
}
}
function doJump() {
var _local2 = activeJumps[0];
if (_local2) {
_local2.hit(elapsedTime);
}
}
function swapActivePlayer() {
setActivePlayer(inactivePlayer);
}
function hit(p) {
curPlayer.__set__goodNotes((curPlayer.__get__goodNotes()+1));
_global.gameAnimations.lastNoteHit = true;
if (p == 1) {
curPlayer.score = curPlayer.score + ((NOTE_SCORE + NOTE_PRECISION_BONUS) + NOTE_PERFECT_BONUS);
} else {
curPlayer.score = curPlayer.score + Math.floor(NOTE_SCORE + (p * NOTE_PRECISION_BONUS));
}
}
function spawnJump(targTime) {
var _local2 = jumpsHolder.attachMovie(JUMP, JUMP + jumpIndex, jumpIndex);
_local2.init(this, targTime, track.beatTime * 4);
jumpIndex++;
activeJumps.push(_local2);
return(_local2);
}
function startFlames() {
if (isJumped) {
isJumped = false;
p1Fretboard.lightFlames();
p2Fretboard.lightFlames();
if (remotePlayer) {
if (inactivePlayer === remotePlayer.ident) {
Connection.startFlames();
}
}
}
}
function hasJumped(j, precision) {
isJumped = true;
gameAnimations.playJump();
}
function miss() {
curPlayer.score = curPlayer.score + NOTE_MISS_SCORE;
curPlayer.__set__badNotes((curPlayer.__get__badNotes()+1));
_global.gameAnimations.lastNoteHit = false;
curPlayer.endStreak();
}
function notPlayed(note) {
curPlayer.__set__badNotes((curPlayer.__get__badNotes()+1));
curPlayer.score = curPlayer.score + NOTE_NOT_PLAYED_SCORE;
_global.gameAnimations.lastNoteHit = false;
}
function gameEndedEarly() {
tidyUpAfterGame();
Connection.isFinished(true);
}
function endGame() {
_global.finalScores = {yourScore:((playerNum == P1) ? (player1.__get__score()) : (player2.__get__score())), p1_score:player1.__get__score(), p1_streak:player1.longestStreak, p1_percent:player1.__get__hitPercentage(), p2_score:player2.__get__score(), p2_streak:player2.longestStreak, p2_percent:player2.__get__hitPercentage()};
tidyUpAfterGame();
if (remotePlayer) {
Connection.endGame();
} else {
toResults();
}
}
function tidyUpAfterGame() {
delete onEnterFrame;
player1.die();
player2.die();
}
function toResults() {
if (gameMode == P1_VS_CPU) {
_root.kvEvent(1279);
_global.root.saveScore(_global.root.selectedTrack, player1.__get__hitPercentage());
}
_root.kvEvent(TRACK_FINISHED + _global.root.selectedTrack);
_global.root.gotoAndStop("start");
_global.root.menu_mc.gotoAndPlay("postGame");
}
var started = false;
static var NUM_NOTES = 3;
static var NOTE_X = [0, 100, 200, 300];
static var NOTE_DIRS = ["", "left", "down", "right"];
static var NOTE_PERFECT_TIME = 100;
static var NOTE_PRECISION_TIME = 150;
static var JUMP = "jump";
static var FLAME_TIME = 10000;
static var NOTE_SCORE = 100;
static var NOTE_PRECISION_BONUS = 50;
static var NOTE_PERFECT_BONUS = 50;
static var NOTE_MISS_SCORE = -10;
static var NOTE_NOT_PLAYED_SCORE = -20;
static var P1 = "p1";
static var P2 = "p2";
static var P1_VS_CPU = "p1_vs_cpu";
static var CPU_VS_CPU = "cpu_vs_cpu";
static var P1_VS_P2 = "p1_vs_p2";
static var P1_VS_NET = "p1_vs_net";
static var P2_VS_NET = "p2_vs_net";
static var MULTIPLAYER = "multiplayer";
static var PROGRESS_TIME = 1100;
static var TRACK_START = 1019;
static var TRACK_FINISHED = 1024;
static var TRACKS_PLAYED = 1028;
}
Symbol 1587 MovieClip [__Packages.Track] Frame 0
class Track
{
var notes, events, jumps, beatTime, length, songParts;
function Track () {
notes = [];
events = new TimedEvents();
jumps = [];
}
function makeTrack(r) {
}
function calculateMaxScore() {
var _local5 = (notes[1].length + notes[2].length) + notes[3].length;
var _local2;
var _local4;
var _local3 = 0;
while (_local3 < jumps.length) {
_local2 = jumps[_local3];
_local4 = _local2 + Engine.FLAME_TIME;
_local5 = _local5 + getNotes(1, _local2, _local4, true).length;
_local5 = _local5 + getNotes(2, _local2, _local4, true).length;
_local5 = _local5 + getNotes(3, _local2, _local4, true).length;
_local3++;
}
return(_local5 * ((Engine.NOTE_SCORE + Engine.NOTE_PRECISION_BONUS) + Engine.NOTE_PERFECT_BONUS));
}
function addSwapPlayerMsg(multiplayer) {
var _local6 = false;
var _local5;
var _local3;
var _local4 = 0;
while (_local4 < events.length) {
if (events[_local4].event == "swapActivePlayer") {
if (multiplayer) {
_local5 = 1;
while (_local5 <= Engine.NUM_NOTES) {
_local3 = 0;
while (_local3 < notes[_local5].length) {
if (notes[_local5][_local3] >= (events[_local4].time - (beatTime * 4))) {
if (notes[_local5][_local3] < events[_local4].time) {
notes[_local5].splice(_local3, 1);
_local3--;
} else {
break;
}
}
_local3++;
}
_local5++;
}
}
events.push(new TimedEvent(events[_local4].time - (beatTime * 4), events[_local4].target.gameAnimations, "bothWalkToMiddle"));
events.push(new TimedEvent(events[_local4].time - (beatTime * 4), events[_local4].target, "showInactiveFretboard"));
events.push(new TimedEvent(events[_local4].time - Engine.PROGRESS_TIME, events[_local4].target, "swapActiveFretboard"));
events.push(new TimedEvent((events[_local4].time - (beatTime * 4)) + 15, events[_local4].target, "showSwapPlayerMsg", (_local6 ? (Engine.P1) : (Engine.P2))));
events.push(new TimedEvent(events[_local4].time + (beatTime * 4), events[_local4].target, "showPleaseWaitMsg"));
events.push(new TimedEvent(events[_local4].time + 1, events[_local4].target.gameAnimations, "bothWalkBack"));
_local6 = !_local6;
} else if (events[_local4].event == "doFinale") {
if (multiplayer) {
_local5 = 1;
while (_local5 <= Engine.NUM_NOTES) {
_local3 = 0;
while (_local3 < notes[_local5].length) {
if (notes[_local5][_local3] >= (events[_local4].time - (beatTime * 4))) {
if (notes[_local5][_local3] < events[_local4].time) {
notes[_local5].splice(_local3, 1);
_local3--;
} else {
break;
}
}
_local3++;
}
_local5++;
}
}
events.push(new TimedEvent(events[_local4].time - (beatTime * 4), events[_local4].target.gameAnimations, "bothWalkToMiddle"));
events.push(new TimedEvent(events[_local4].time + 1, events[_local4].target.gameAnimations, "bothWalkBack"));
events.push(new TimedEvent((events[_local4].time - (beatTime * 4)) + 15, events[_local4].target, "showFinaleMsg", (_local6 ? (Engine.P1) : (Engine.P2))));
}
_local4++;
}
events.orderEvents();
_local4 = 0;
var _local7;
while ((_local4 + AVOID_CHANGEOVER) < length) {
_local4 = _local4 + Rand.random(5000, 10000);
_local7 = events.getEvents(_local4 - AVOID_CHANGEOVER, _local4 + AVOID_CHANGEOVER);
if (_local7.getEventsByType("swapActivePlayer", "doFinale").length == 0) {
events.push(new TimedEvent(_local4, _global.root.gameAnimations, "doBoredAnim"));
}
}
events.orderEvents();
}
function getSongPart(s) {
var _local2 = 0;
while (_local2 < songParts.length) {
if (songParts[_local2].name == s) {
return(songParts[_local2]);
}
_local2++;
}
}
function getSongPartTime(s) {
var _local2 = 0;
while (_local2 < songParts.length) {
if (songParts[_local2].name == s) {
return(songParts[_local2].time);
}
_local2++;
}
}
function doEvents(startTime, endTime) {
events.callEvents(startTime, endTime);
}
function getTimingIndicators(startTime, endTime) {
var _local5 = [];
var _local4 = Math.floor(startTime / (beatTime / 2));
if (_local4 > lbm) {
var _local3 = Math.floor(endTime / (beatTime / 2));
var _local2 = _local4;
while (_local2 <= _local3) {
_local5.push(_local2 * (beatTime / 2));
_local2++;
}
lbm = _local3;
}
return(_local5);
}
function getJumps(startTime, endTime) {
var _local3 = [];
var _local2 = 0;
while (_local2 < jumps.length) {
if (jumps[_local2] >= startTime) {
if (jumps[_local2] < endTime) {
_local3.push(jumps[_local2]);
}
}
_local2++;
}
return(_local3);
}
function getNotes(noteNum, startTime, endTime, leaveNotes) {
var _local4 = [];
var _local3 = notes[noteNum];
_local3.lastNote = (_local3.lastNote ? (_local3.lastNote) : 0);
var _local2 = _local3.lastNote;
while (_local2 < _local3.length) {
if (_local3[_local2] >= startTime) {
if (_local3[_local2] < endTime) {
_local4.push(_local3[_local2]);
if (!leaveNotes) {
_local3.lastNote = _local2;
}
} else {
break;
}
}
_local2++;
}
return(_local4);
}
var lbm = -1;
static var AVOID_CHANGEOVER = 3000;
}
Symbol 1588 MovieClip [__Packages.TimedEvents] Frame 0
class TimedEvents extends Array
{
var length, sortOn;
function TimedEvents () {
super();
}
function getEvents(startTime, endTime) {
var _local5 = new TimedEvents();
var _local2 = nextEvent;
while (_local2 < length) {
if (this[_local2].checkEvent(startTime, endTime, true) != TimedEvent.AFTER) {
if (this[_local2].checkEvent(startTime, endTime, true) != TimedEvent.BEFORE) {
_local5.push(this[_local2]);
}
} else {
break;
}
_local2++;
}
return(_local5);
}
function callEvents(startTime, endTime) {
var _local2 = nextEvent;
while (_local2 < length) {
if (this[_local2].checkEvent(startTime, endTime) == TimedEvent.AFTER) {
return(undefined);
}
nextEvent++;
_local2++;
}
}
function orderEvents() {
sortOn("time", Array.NUMERIC);
}
function getEventsByType() {
var _local5 = [];
if (arguments.length > 0) {
var _local3;
var _local4 = 0;
while (_local4 < length) {
_local3 = 0;
while (_local3 < arguments.length) {
if (this[_local4].event == arguments[_local3]) {
_local5.push(this[_local4]);
break;
}
_local3++;
}
_local4++;
}
}
return(_local5);
}
var nextEvent = 0;
}
Symbol 1589 MovieClip [__Packages.TimedEvent] Frame 0
class TimedEvent
{
var time, target, event, args;
function TimedEvent (t, targ, e) {
time = t;
target = targ;
event = e;
args = arguments.slice(3);
}
function callEvent() {
target[event].apply(target, args);
}
function checkEvent(startTime, endTime, dontDoEvent) {
if (time >= startTime) {
if (time < endTime) {
if (!dontDoEvent) {
callEvent();
}
return(DURING);
}
return(AFTER);
}
return(BEFORE);
}
function toString() {
return(((((((("[object TimedEvent (" + time) + ", ") + event) + ", target:") + target) + ", args:[") + args) + "])]");
}
static var DURING = 0;
static var BEFORE = 1;
static var AFTER = 2;
}
Symbol 1590 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 function setSeed(n) {
seed = n;
i = 0;
}
static function seededRandom() {
return((((seed * Math.PI) * i) * Math.pow(10, (i++) % 10)) % 1);
}
static var v = Math.random;
static var seed = 0.5;
static var i = 0;
}
Symbol 1591 MovieClip [__Packages.Fretboard] Frame 0
class Fretboard extends MovieClip
{
var engine, activeNotes, miscElements, noteIndex, elementIndex, isNextNoteGranite, fadeState, gotoAndStop, gotoAndPlay, notesHolder, timingIndHolder;
function Fretboard () {
super();
}
function init(e) {
engine = e;
activeNotes = [];
miscElements = [];
noteIndex = 0;
elementIndex = 0;
var _local2 = 1;
while (_local2 <= Engine.NUM_NOTES) {
activeNotes[_local2] = [];
_local2++;
}
isNextNoteGranite = false;
}
function update(elapsedTime) {
var _local3 = 0;
var _local2 = 0;
var _local4;
_local3 = 1;
while (_local3 <= Engine.NUM_NOTES) {
_local4 = activeNotes[_local3];
_local2 = 0;
while (_local2 < _local4.length) {
_local4[_local2].update(elapsedTime);
_local2++;
}
_local3++;
}
_local3 = 0;
while (_local3 < miscElements.length) {
miscElements[_local3].update(elapsedTime);
_local3++;
}
}
function hide() {
fadeState = "out";
gotoAndStop(HIDDEN);
}
function fadeIn() {
fadeState = "in";
gotoAndPlay(SHOW);
}
function fadeOut() {
if (fadeState != "out") {
fadeState = "out";
gotoAndPlay(HIDE);
}
}
function spawnNote(targTime, noteNum) {
var _local2 = notesHolder.attachMovie(NOTE_NAMES[noteNum] + (isNextNoteGranite ? (GRANITE) : ""), NOTE + noteIndex, noteIndex + 300000);
_local2.init(engine, this, targTime, Engine.PROGRESS_TIME, notesHolder["sp" + noteNum], notesHolder["ep" + noteNum]);
_local2.isGranite = isNextNoteGranite;
if (engine.elapsedTime < (engine.startFlaming + Engine.FLAME_TIME)) {
_local2.startBurning();
} else {
_local2.cacheAsBitmap = true;
}
noteIndex++;
activeNotes[noteNum].push(_local2);
return(_local2);
}
function spawnTimingIndicator(targTime) {
var _local2 = timingIndHolder.attachMovie(TIMING_INDICATOR, TIMING_INDICATOR + elementIndex, elementIndex);
_local2.init(engine, this, targTime, Engine.PROGRESS_TIME, notesHolder.tis, notesHolder.tie);
elementIndex++;
miscElements.push(_local2);
return(_local2);
}
function lightFlames() {
var _local2;
engine.startFlaming = engine.elapsedTime;
var _local3 = 1;
while (_local3 <= Engine.NUM_NOTES) {
_local2 = 0;
while (_local2 < activeNotes[_local3].length) {
activeNotes[_local3][_local2].startBurning();
_local2++;
}
_local3++;
}
}
function stopFlames() {
var _local2;
var _local3 = 1;
while (_local3 <= Engine.NUM_NOTES) {
_local2 = 0;
while (_local2 < activeNotes[_local3].length) {
activeNotes[_local3][_local2].stopBurning();
_local2++;
}
_local3++;
}
}
static var TIMING_INDICATOR = "timingIndicator";
static var NOTE = "note";
static var NOTE_NAMES = ["", "note1", "note2", "note3"];
static var GRANITE = "_granite";
static var HIDDEN = "hidden";
static var HIDE = "hide";
static var SHOW = "show";
}
Symbol 1592 MovieClip [__Packages.Note] Frame 0
class Note extends TimedElement
{
var engine, gotoAndPlay, progressTime, startTime, delta_z, init_z, _y, delta_y, init_y, _x, delta_x, init_x, _xscale, _yscale, targTime, readyTime, cacheAsBitmap, burn, note_num, fretboard, tId, getDepth, _parent, swapDepths, removeMovieClip;
function Note () {
super();
}
function timeExceeded() {
engine.notPlayed(this);
gotoAndPlay("miss");
die();
}
function updatePosition(elapsedTime) {
var _local3 = (elapsedTime - startTime) / progressTime;
var _local4 = init_z + (_local3 * delta_z);
var _local2 = TimedElement.FL / (TimedElement.FL + _local4);
_y = _local2 * (init_y + (_local3 * delta_y));
_x = _local2 * (init_x + (_local3 * delta_x));
_xscale = (_yscale = (100 * _local2) * 2);
}
function ready(elapsedTime) {
if (elapsedTime > (targTime - Engine.NOTE_PRECISION_TIME)) {
if (!isReady) {
isReady = true;
readyTime = elapsedTime;
}
}
}
function hit(elapsedTime) {
cacheAsBitmap = false;
if (elapsedTime > (targTime - Engine.NOTE_PRECISION_TIME)) {
gotoAndPlay("hit");
var _local3;
var _local2 = Math.abs(elapsedTime - targTime);
if (_local2 < Engine.NOTE_PERFECT_TIME) {
engine.gameAnimations.perfectTiming();
_local3 = 1;
} else {
_local2 = _local2 - Engine.NOTE_PERFECT_TIME;
_local3 = _local2 / (Engine.NOTE_PRECISION_TIME - Engine.NOTE_PERFECT_TIME);
}
if (isGranite) {
engine.startFlames();
}
engine.hit(_local3 * (isFlaming ? 2 : 1));
die();
return(_local3);
}
engine.miss();
return(0);
}
function onPress() {
}
function startBurning() {
burn.gotoAndPlay("start");
isFlaming = true;
}
function stopBurning() {
burn.gotoAndPlay("stop");
isFlaming = false;
}
function die() {
var _local3 = fretboard.activeNotes[note_num].shift();
_global.clearTimeout(tId);
}
function destroy() {
if (getDepth() < 0) {
var _local2 = 45000;
while (_parent.getInstanceAtDepth(_local2)) {
_local2++;
}
swapDepths(_local2);
}
removeMovieClip();
}
function emergencyDestroy() {
destroy();
}
var isReady = false;
var isFlaming = false;
var isGranite = false;
var postTargTime = Engine.NOTE_PRECISION_TIME;
static var DEPTH_BOOST = 100000;
}
Symbol 1593 MovieClip [__Packages.TimingIndicator] Frame 0
class TimingIndicator extends TimedElement
{
var progressTime, startTime, _x, init_x, _y, init_y, gotoAndStop, _totalframes, fretboard;
function TimingIndicator () {
super();
}
function updatePosition(elapsedTime) {
var _local2 = (elapsedTime - startTime) / progressTime;
_x = init_x;
_y = init_y;
gotoAndStop(Math.ceil(_totalframes * _local2));
}
function die() {
var _local3 = fretboard.miscElements.shift();
super.die();
}
}
Symbol 1594 MovieClip [__Packages.PerformanceController] Frame 0
class PerformanceController
{
var aFrmTms;
function PerformanceController () {
aFrmTms = new Arr();
nLFT = getTimer();
}
function onEnterFrame() {
var _local4 = getTimer();
aFrmTms.push(_local4 - nLFT);
if (aFrmTms.length > nFA) {
var _local3 = 1000 / aFrmTms.mean();
_global.root.performanceDisplay.text = ((("fps=" + _local3) + newline) + "detailLevel=") + cdl;
if (_local3 > uf) {
if (cdl < mdl) {
setDetailLvl(cdl + 1);
}
} else if (_local3 < lf) {
if (cdl > 1) {
setDetailLvl(cdl - 1);
}
}
aFrmTms = new Arr();
}
nLFT = _local4;
}
function setDetailLvl(l) {
_global.root.fpsState.text = l;
switch (l) {
case 1 :
_root._quality = "LOW";
_global.root.gameAnimations.doLightsOff();
break;
case 2 :
_root._quality = "LOW";
_global.root.gameAnimations.doLightsOn();
_global.root.gameAnimations.doAmbientLightOff();
break;
case 3 :
_root._quality = "LOW";
break;
case 4 :
_root._quality = "MEDIUM";
_global.root.gameAnimations.noCrowd();
_global.root.gameAnimations.doAmbientLightOn();
break;
case 5 :
_root._quality = "MEDIUM";
_global.root.gameAnimations.doLightsLess();
_global.root.gameAnimations.resumeCrowd();
break;
case 6 :
_global.root.gameAnimations.doLightsMore();
_root._quality = "MEDIUM";
break;
case 7 :
_root._quality = "HIGH";
}
cdl = l;
}
static var nFA = 10;
var nLFT = 0;
var cdl = 7;
static var lf = 27;
static var uf = 31;
static var mdl = 7;
}
Symbol 1595 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 1596 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();
delete target;
}
function toString() {
return(("(target=" + target) + ")");
}
static var FADE_RATE = 100;
static var MIN_SND_PAN_DIST = 500;
}
Symbol 1597 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 1598 MovieClip [__Packages.Player] Frame 0
class Player
{
var engine, fretboard, hud, track, streak, longestStreak, ident, _isActive, _score, _hitPercentage;
function Player (e, fb, h, idt, t) {
engine = e;
fretboard = fb;
hud = h;
track = t;
streak = 0;
longestStreak = 0;
ident = idt;
score = (0);
_goodNotes = 1;
_badNotes = 1;
_isActive = false;
updatePercentage(_goodNotes / _badNotes);
}
function playNote(noteNum) {
engine.playNote(noteNum);
streak++;
if (streak > longestStreak) {
longestStreak = streak;
}
}
function endStreak() {
streak = 0;
}
function update(elapsedTime, frameTime) {
}
function activate() {
hud[ident + "Pick"].gotoAndPlay(ON);
_isActive = true;
}
function deactivate() {
hud[ident + "Pick"].gotoAndStop(OFF);
_isActive = false;
}
function updateScore() {
hud[("score_" + ident) + "_mc"].mask.txt.text = Format.number(_score);
}
function get score() {
return(_score);
}
function set score(n) {
_score = n;
updateScore();
//return(score);
}
function get badNotes() {
return(_badNotes);
}
function set badNotes(n) {
_badNotes = n;
updatePercentage(_goodNotes / _badNotes);
//return(badNotes);
}
function get goodNotes() {
return(_goodNotes);
}
function set goodNotes(n) {
_goodNotes = n;
updatePercentage(_goodNotes / _badNotes);
//return(goodNotes);
}
function get hitPercentage() {
return(_hitPercentage);
}
function updatePercentage(hp) {
_hitPercentage = hp;
hud[("percent_" + ident) + "_mc"].mask.txt.text = String(Math.ceil(hitPercentage * 100) + "%");
}
function die() {
}
var _badNotes = 0;
var _goodNotes = 0;
static var ON = "on";
static var OFF = "off";
}
Symbol 1599 MovieClip [__Packages.Format] Frame 0
class Format
{
function Format () {
}
static function zerofill(n, z) {
var _local2 = String(n);
var _local1 = _local2.length;
while (_local1 < z) {
_local2 = "0" + _local2;
_local1++;
}
return(_local2);
}
static function time(t, minp, maxp) {
var _local1 = Math.round((t % 1000) / 10);
var _local2 = Math.round(Math.floor(t / 1000) % 60);
var _local4 = Math.floor(t / 60000);
var _local5 = (((_local4 + ":") + ((_local2 < 10) ? ("0" + _local2) : (_local2))) + ":") + ((_local1 < 10) ? ("0" + _local1) : (_local1));
return(_local5);
}
static function number(n, d, c, l) {
n = (isNaN(n) ? 0 : (n));
d = (isNaN(d) ? undefined : (d));
c = ((c == undefined) ? "," : (c));
var _local1 = String(n).split(".");
if (!(d === undefined)) {
if (_local1[1]) {
var _local3 = String(Math.round(Number("." + _local1[1]) * Math.pow(10, d)) * Math.pow(10, -d));
_local3 = ((_local3.indexOf(".") < 0) ? (_local3) : (_local3.split(".")[1]));
} else {
var _local3 = "";
}
var _local2 = 0;
while (_local3.length < d) {
var _local3 = _local3 + "0";
_local2++;
}
_local1[1] = _local3;
}
var _local6 = false;
if (_local1[0].charAt(0) == "-") {
_local6 = true;
_local1[0] = _local1[0].substr(1);
}
var _local2 = 3;
while (_local1[0].length > _local2) {
_local1[0] = (_local1[0].substring(0, _local1[0].length - _local2) + c) + _local1[0].substring(_local1[0].length - _local2);
_local2 = _local2 + 4;
}
if (!isNaN(l)) {
_local1[0] = zerofill(_local1[0], l);
}
if (_local6) {
_local1[0] = "-" + _local1[0];
}
if ((_local1.length > 1) && (d > 0)) {
return((_local1[0] + ".") + _local1[1]);
}
return(_local1[0]);
}
static function ordinal(n) {
if (((n % 100) >= 11) && ((n % 100) <= 13)) {
return("th");
}
if ((n % 10) == 1) {
return("st");
}
if ((n % 10) == 2) {
return("nd");
}
if ((n % 10) == 3) {
return("rd");
}
return("th");
}
static function truncate(s, l, r) {
l = (isNaN(l) ? 20 : (l));
r = ((r == undefined) ? "..." : (r));
if (s.length > l) {
s = s.substr(0, l - r.length);
s = s + r;
}
return(s);
}
}
Symbol 1600 MovieClip [__Packages.PlayerAI] Frame 0
class PlayerAI extends Player
{
var notes, jumps, _isActive, fretboard, playNote, engine;
function PlayerAI (e, fb, h, idt, t) {
super(e, fb, h, idt, t);
notes = {};
jumps = {};
}
function update(elapsedTime, frameTime) {
if (_isActive) {
var _local2;
var _local10;
var _local14;
var _local8;
var _local6;
var _local9;
var _local7;
var _local4;
updateJumps(elapsedTime, frameTime);
var _local3 = 1;
while (_local3 <= Engine.NUM_NOTES) {
_local4 = 0;
while (_local4 <= fretboard.activeNotes[_local3].length) {
_local2 = fretboard.activeNotes[_local3][_local4];
if (_local2) {
if (!notes[_local2._name]) {
_local10 = _local2.targTime + _local2.postTargTime;
_local14 = _local2.targTime - _local2.postTargTime;
_local8 = _local2.postTargTime * 2;
_local6 = _local8 * (1 / skill);
_local9 = _local2.targTime - (_local6 / 2);
_local7 = _local9 + (Math.random() * _local6);
if (_local7 > _local10) {
notes[_local2._name] = {noteNum:_local3, playTime:-1};
} else {
notes[_local2._name] = {noteNum:_local3, playTime:_local7};
}
}
}
_local4++;
}
_local3++;
}
var _local5;
for (var _local16 in notes) {
_local5 = notes[_local16];
if (!_local5.played) {
if ((_local5.playTime >= elapsedTime) && (_local5.playTime < (elapsedTime + frameTime))) {
playNote(_local5.noteNum);
_local5.played = true;
}
}
}
}
}
function updateJumps(elapsedTime, frameTime) {
var _local3;
var _local5;
var _local6;
var _local9;
var _local8;
var _local10;
var _local7;
var _local16;
var _local2 = 0;
while (_local2 < engine.activeJumps.length) {
_local3 = engine.activeJumps[_local2];
if (!jumps[_local3._name]) {
_local5 = _local3.targTime - 250;
_local6 = _local3.startTime + 100;
_local9 = _local5 - _local6;
_local8 = _local9 * (1 / skill);
_local10 = ((_local6 + _local5) / 2) - (_local8 / 2);
_local7 = _local10 + (Math.random() * _local8);
if ((_local7 > _local5) || (_local7 < _local6)) {
jumps[_local3._name] = {noteNum:_local2, playTime:-1};
} else {
jumps[_local3._name] = {noteNum:_local2, playTime:_local7};
}
}
_local2++;
}
var _local4;
for (var _local15 in jumps) {
_local4 = jumps[_local15];
if (!_local4.jumped) {
if ((_local4.playTime >= elapsedTime) && (_local4.playTime < (elapsedTime + frameTime))) {
engine.doJump();
_local4.jumped = true;
}
}
}
}
var skill = 10;
}
Symbol 1601 MovieClip [__Packages.PlayerRemote] Frame 0
class PlayerRemote extends PlayerAI
{
var skill, _score, updateScore, updatePercentage, _isActive, engine, __get__score, _badNotes, __get__badNotes, _goodNotes, __get__goodNotes;
function PlayerRemote (e, fb, h, idt, t) {
super(e, fb, h, idt, t);
}
function setSkill(s, hp) {
skill = hp + SKILL_BOOST;
_score = s;
updateScore();
updatePercentage(hp);
}
function doJump() {
if (_isActive) {
engine.doJump();
}
}
function updateJumps(elapsedTime, frameTime) {
}
function set score(n) {
//return(__get__score());
}
function set badNotes(n) {
_badNotes = n;
//return(__get__badNotes());
}
function set goodNotes(n) {
_goodNotes = n;
//return(__get__goodNotes());
}
static var SKILL_BOOST = 0.1;
}
Symbol 1602 MovieClip [__Packages.Connection] Frame 0
class Connection
{
static var mode, conn, chalCode, timeoutId, engine, addr, port, loggedInHandler, unableToLogInHandler, zone, intId;
function Connection () {
}
static function doQuickplay() {
if (STATUS == CONNECTED) {
mode = QUICKPLAY;
conn.getRoomList();
}
}
static function onQuickplayRoomsUpdate(rooms) {
delete mode;
var _local2;
var _local3 = 0;
while (_local3 < rooms.length) {
_local2 = rooms[_local3];
if (_local2.getName() != LIMBO) {
if (_local2.getVariable(VAR_STATE) == VAL_WAIT_FOR_USER) {
if (_local2.getUserCount() == 1) {
if (_local2.getVariable(VAR_CODE) == undefined) {
_root.kvEvent(1035);
joinGameRoom(_local2);
return(undefined);
}
}
}
}
_local3++;
}
createGameRoom();
}
static function onChallengeRoomsUpdate(rooms) {
delete mode;
var _local2;
var _local3 = 0;
while (_local3 < rooms.length) {
_local2 = rooms[_local3];
if (_local2.getName() != LIMBO) {
if (_local2.getVariable(VAR_STATE) == VAL_WAIT_FOR_USER) {
if (_local2.getUserCount() == 1) {
if (_local2.getVariable(VAR_CODE) == chalCode) {
_root.kvEvent(1037);
joinGameRoom(_local2);
return(undefined);
}
}
}
}
_local3++;
}
challengeNotFound();
}
static function challengeNotFound() {
_global.root.popup.msgs.goToPage(Popup.ERROR);
_global.root.popup.msgs.error_msg = "Unable to find challenge! You have either entered an incorrect challenge code, or your challenger has cancelled the challenge.";
}
static function doChallenge(songNum) {
var _local2 = Rand.string(4, "abcdefghijklmnopqrstuvwxyz0123456789");
createGameRoom(_local2, songNum);
_root.kvEvent(1036);
return(_local2);
}
static function respondToChallenge(code) {
if (STATUS == CONNECTED) {
chalCode = code;
mode = RESPOND_TO_CHALLENGE;
conn.getRoomList();
}
}
static function joinGameRoom(room) {
mode = JOIN_ROOM;
conn.joinRoom(room.getId());
}
static function createGameRoom(code, songNum) {
if (isNaN(songNum)) {
songNum = Rand.random(0, 5, 0);
}
var _local2 = [{name:VAR_STATE, val:VAL_WAIT_FOR_USER}, {name:VAR_SEED, val:Math.random()}, {name:VAR_SONG, val:songNum}, {name:VAR_P1ROCKER, val:_global.root.p1Rocker}, {name:VAR_P1NAME, val:_global.root.p1Name}];
if (code) {
_local2.push({name:VAR_CODE, val:code});
}
var _local4 = {name:conn.myUserName, maxUsers:2, isGame:true, exitCurrentRoom:true, vars:_local2};
conn.createRoom(_local4);
mode = Engine.P1;
}
static function goIntoGame(p) {
var _local2 = getRoom().getVariable(VAR_SONG);
_local2 = (isNaN(_local2) ? 0 : (((_local2 > 6) ? 0 : (((_local2 < 0) ? 0 : (_local2))))));
_global.root.startMultiplayerGame(_local2, ((p == Engine.P1) ? (Engine.P1_VS_NET) : (Engine.P2_VS_NET)), Rand.seededRandom);
inGame = true;
}
static function getRoomVar(n) {
return(getRoom().getVariable(n));
}
static function songLoaded(p) {
if (p == Engine.P1) {
conn.setRoomVariables([{name:"p1Loaded", val:true}]);
} else {
conn.setRoomVariables([{name:"p2Loaded", val:true}]);
}
}
static function isGameReady() {
var _local1 = getRoom();
return((_local1.getVariable("p1Loaded") == true) && (_local1.getVariable("p2Loaded")));
}
static function endGame() {
mode = WAIT_FOR_END;
setUserVariable(VAR_FINISHED, 1);
timeoutId = _global.setTimeout(Delegate.create(Connection, isFinished), timeoutTime);
checkIfFinished();
}
static function checkIfFinished() {
if (getYou().getVariable(VAR_FINISHED) == 1) {
if (getOpponent().getVariable(VAR_FINISHED) == 1) {
isFinished();
}
}
}
static function isFinished(early) {
_global.clearTimeout(timeoutId);
disconnectFromServer();
if (!early) {
engine.toResults();
}
}
static function disconnectFromServer(stayInGame) {
if (mode != DISCONNECTED) {
mode = DISCONNECTED;
conn.disconnect();
if (!stayInGame) {
inGame = false;
}
stopKeepAlive();
}
}
static function updatePerformance(score, hp) {
if (inGame) {
conn.sendPublicMessage((((POLL + MESS_SEP) + score) + SEP) + hp);
}
}
static function doJump() {
if (inGame) {
conn.sendPublicMessage(JUMP + MESS_SEP);
}
}
static function startFlames() {
if (inGame) {
conn.sendPublicMessage(FLAMES + MESS_SEP);
}
}
static function getOpponent() {
var _local4 = conn.getActiveRoom();
var _local2 = _local4.getUserList();
var _local1;
for (var _local3 in _local2) {
_local1 = _local2[_local3];
if (_local1.getId() != conn.myUserId) {
return(_local1);
}
}
}
static function getYou() {
return(conn.getActiveRoom().getUser(conn.myUserId));
}
static function getRoom() {
return(conn.getActiveRoom());
}
static function setUserVariable(name, val) {
var _local1 = {};
_local1[name] = val;
conn.setUserVariables(_local1);
}
static function setUserVariables(obj) {
conn.setUserVariables(obj);
}
static function connectionLost(reason) {
_global.root.popup.showMessage(Popup.ERROR);
_global.root.popup.msgs.error_msg = "connection lost: " + reason;
disconnectFromServer(true);
engine.stopGame();
}
static function loadSettings() {
var _local4 = new XML();
_local4.ignoreWhite = true;
_local4.onLoad = function (success) {
if (success) {
var _local2 = this.firstChild;
Connection.addr = _local2.attributes.addr;
Connection.port = Number(_local2.attributes.port);
Connection.zone = _local2.attributes.zone;
Connection.isEnabled = true;
}
};
_local4.load(_global.assetsURL + "sfssettings.xml");
}
static function init(loginCallback, loginFailedCallback) {
if (STATUS != CONNECTED) {
conn = new it.gotoandplay.smartfoxserver.SmartFoxClient();
conn.debug = false;
conn.onConnection = Delegate.create(Connection, onConnection);
conn.onLogin = Delegate.create(Connection, onLogin);
conn.onRoomListUpdate = Delegate.create(Connection, onRoomListUpdate);
conn.onJoinRoom = Delegate.create(Connection, onJoinRoom);
conn.onJoinRoomError = Delegate.create(Connection, onJoinRoomError);
conn.onCreateRoomError = Delegate.create(Connection, onCreateRoomError);
conn.onUserEnterRoom = Delegate.create(Connection, onUserEnterRoom);
conn.onUserLeaveRoom = Delegate.create(Connection, onUserLeaveRoom);
conn.onPublicMessage = Delegate.create(Connection, onPublicMessage);
conn.onPrivateMessage = Delegate.create(Connection, onPrivateMessage);
conn.onUserVariablesUpdate = Delegate.create(Connection, onUserVariablesUpdate);
conn.onRoomVariablesUpdate = Delegate.create(Connection, onRoomVariablesUpdate);
conn.onConnectionLost = Delegate.create(Connection, onConnectionLost);
conn.connect(addr, port);
loggedInHandler = loginCallback;
unableToLogInHandler = loginFailedCallback;
}
}
static function onConnection(success) {
if (success) {
STATUS = CONNECTED;
conn.login(zone, Rand.string(20) + new Date().valueOf());
} else {
onConnectionFailed();
}
}
static function onConnectionFailed() {
unableToLogInHandler();
}
static function onLogin(response) {
if (response.success) {
if (!intId) {
intId = setInterval(Delegate.create(Connection, keepAlive), keepAliveInterval);
}
mode = ENTER_LIMBO;
conn.autoJoin();
} else {
onLoginError();
}
}
static function onLoginError() {
unableToLogInHandler();
}
static function keepAlive() {
conn.sendPublicMessage((KEEPALIVE + MESS_SEP) + Rand.string(1));
}
static function stopKeepAlive() {
clearInterval(intId);
delete intId;
}
static function onRoomListUpdate(rooms) {
switch (mode) {
case QUICKPLAY :
onQuickplayRoomsUpdate(rooms);
break;
case RESPOND_TO_CHALLENGE :
onChallengeRoomsUpdate(rooms);
}
}
static function onJoinRoom(room) {
if (room) {
Rand.setSeed(Number(room.getVariable(VAR_SEED)));
if (mode == JOIN_ROOM) {
mode = Engine.P2;
conn.setRoomVariables([{name:VAR_P2ROCKER, val:_global.root.yourRocker}, {name:VAR_P2NAME, val:_global.root.yourName}]);
}
} else {
delete mode;
loggedInHandler();
}
}
static function onJoinRoomError() {
if (mode == ENTER_LIMBO) {
unableToLogInHandler();
}
}
static function onCreateRoomError() {
connectionLost(CREATE_ROOM_ERROR);
}
static function onUserEnterRoom() {
if (!(mode === VAL_WAIT_FOR_USER)) {
}
}
static function onUserLeaveRoom() {
connectionLost(USER_DISCONNECTED);
}
static function onConnectionLost() {
STATUS = DISCONNECTED;
if (mode != DISCONNECTED) {
connectionLost(CONNECTION_LOST);
}
}
static function onPublicMessage(msg, sender, roomId) {
var _local5 = sender.getId();
if (_local5 != conn.myUserId) {
var _local1 = msg.split(MESS_SEP);
var _local4 = _local1[0];
var _local3 = _local1[1];
switch (_local4) {
case KEEPALIVE :
break;
case POLL :
var _local2 = _local3.split(SEP);
engine.remotePlayer.setSkill(Number(_local2[0]), Number(_local2[1]));
break;
case JUMP :
engine.remotePlayer.doJump();
break;
case FLAMES :
engine.p1Fretboard.lightFlames();
engine.p2Fretboard.lightFlames();
}
}
}
static function onPrivateMessage(msg, sender, roomId, userId) {
}
static function onUserVariablesUpdate(user, changedVars) {
if (mode == WAIT_FOR_END) {
if (changedVars[VAR_FINISHED]) {
checkIfFinished();
}
}
}
static function onRoomVariablesUpdate(room, changedVars) {
if (((changedVars.length == 2) && (changedVars[0] == VAR_P2ROCKER)) && (changedVars[1] == VAR_P2NAME)) {
goIntoGame(mode);
mode = WAIT_FOR_SONG_LOAD;
} else if (inGame && (mode == WAIT_FOR_SONG_LOAD)) {
if (isGameReady()) {
_global.root.goIntoMultiplayerGame();
delete mode;
}
}
}
static var isEnabled = false;
static var inGame = false;
static var DISCONNECTED = "disconnected";
static var CONNECTED = "connected";
static var QUICKPLAY = "quickplay";
static var JOIN_ROOM = "joinRoom";
static var ENTER_LIMBO = "enterLimbo";
static var RESPOND_TO_CHALLENGE = "respondToChallenge";
static var USER_DISCONNECTED = "userDisconnected";
static var CONNECTION_LOST = "connectionLost";
static var CREATE_ROOM_ERROR = "createRoomError";
static var WAIT_FOR_END = "waitForEnd";
static var WAIT_FOR_SONG_LOAD = "waitForSongLoad";
static var STATUS = DISCONNECTED;
static var LIMBO = "Purgatory";
static var keepAliveInterval = 1000;
static var timeoutTime = 2000;
static var SEP = ":";
static var MESS_SEP = "#";
static var POLL = "poll";
static var JUMP = "jump";
static var KEEPALIVE = "keepAlive";
static var FLAMES = "flames";
static var VAR_STATE = "state";
static var VAR_CODE = "code";
static var VAR_FINISHED = "finished";
static var VAR_SEED = "seed";
static var VAR_SONG = "song";
static var VAR_AVATAR = "avatar";
static var VAR_P1NAME = "p1Name";
static var VAR_P2NAME = "p2Name";
static var VAR_P1ROCKER = "p1Rocker";
static var VAR_P2ROCKER = "p2Rocker";
static var VAL_WAIT_FOR_USER = "waitForUser";
}
Symbol 1603 MovieClip [__Packages.it.gotoandplay.smartfoxserver.SmartFoxClient] Frame 0
class it.gotoandplay.smartfoxserver.SmartFoxClient extends XMLSocket
{
var objRef, os, isConnected, debug, arrayTags, messageHandlers, onConnect, onData, onXML, onClose, roomList, buddyList, buddyVars, activeRoomId, myUserId, myUserName, playerId, changingRoom, amIModerator, onBuddyList, t1, ipAddress, onConnection, onConnectionLost, portNumber, close;
function SmartFoxClient (objRef) {
super();
this.objRef = objRef;
os = it.gotoandplay.smartfoxserver.ObjectSerializer.getInstance();
isConnected = false;
debug = false;
initialize();
arrayTags = {uLs:true, rmList:true, vars:true, bList:true, vs:true};
messageHandlers = new Object();
onConnect = connectionEstablished;
onData = gotData;
onXML = xmlReceived;
onClose = connectionClosed;
setupMessageHandlers();
}
function initialize() {
roomList = {};
buddyList = [];
buddyVars = [];
activeRoomId = null;
myUserId = null;
myUserName = "";
playerId = null;
changingRoom = false;
amIModerator = false;
}
function getVersion() {
return((((majVersion + ".") + minVersion) + ".") + subVersion);
}
function connected() {
return(isConnected);
}
function setupMessageHandlers() {
addMessageHandler("sys", handleSysMessages);
addMessageHandler("xt", handleExtensionMessages);
}
function addMessageHandler(handlerId, handlerMethod) {
if (messageHandlers[handlerId] == undefined) {
messageHandlers[handlerId] = new Object();
messageHandlers[handlerId].handleMessage = handlerMethod;
}
}
function isModerator() {
return(amIModerator);
}
function handleSysMessages(xmlObj, scope) {
var _local10 = xmlObj.attributes.action;
var _local17 = xmlObj.attributes.r;
if (_local10 == "apiOK") {
scope.isConnected = true;
scope.onConnection(true);
} else if (_local10 == "apiKO") {
scope.onConnection(false);
} else if (_local10 == "logOK") {
scope.myUserId = xmlObj.login.attributes.id;
scope.myUserName = xmlObj.login.attributes.n;
scope.amIModerator = ((xmlObj.login.attributes.mod == "0") ? false : true);
scope.onLogin({success:true, name:scope.myUserName, error:""});
scope.getRoomList();
} else if (_local10 == "logKO") {
var _local54 = xmlObj.login.attributes.e;
scope.onLogin({success:false, name:"", error:_local54});
} else if (_local10 == "logout") {
scope.initialize();
scope.onLogout();
} else if (_local10 == "rmList") {
var _local9 = xmlObj.rmList.rmList;
scope.roomList = new Array();
for (var _local37 in _local9) {
var _local6 = _local9[_local37].attributes.id;
var _local2 = _local9[_local37].attributes;
var _local4 = _local2.id;
var _local19 = _local9[_local37].n.value;
var _local20 = Number(_local2.maxu);
var _local21 = Number(_local2.maxs);
var _local58 = (_local2.temp ? true : false);
var _local47 = (_local2.game ? true : false);
var _local27 = (_local2.priv ? true : false);
var _local28 = Number(_local2.ucnt);
var _local22 = Number(_local2.scnt);
var _local63 = (_local2.lmb ? true : false);
scope.roomList[_local6] = new it.gotoandplay.smartfoxserver.Room(_local4, _local19, _local20, _local21, _local58, _local47, _local27);
scope.roomList[_local6].userCount = _local28;
scope.roomList[_local6].specCount = _local22;
scope.roomList[_local6].setIsLimbo(_local63);
var _local3 = _local9[_local37].vars.vars;
var _local33 = 0;
while (_local33 < _local3.length) {
var _local25 = _local3[_local33].attributes.n;
var _local11 = _local3[_local33].attributes.t;
var _local24 = _local3[_local33].value;
var _local12;
if (_local11 == "b") {
_local12 = Boolean;
} else if (_local11 == "n") {
_local12 = Number;
} else if (_local11 == "s") {
_local12 = String;
} else if (_local11 == "x") {
_local12 = function (x) {
return(null);
};
}
scope.roomList[_local6].variables[_local25] = _local12(_local24);
_local33++;
}
}
scope.onRoomListUpdate(scope.roomList);
} else if (_local10 == "joinOK") {
var _local42 = xmlObj.uLs.attributes.r;
var _local7 = xmlObj.uLs.uLs;
var _local15 = xmlObj.vars.vars;
scope.activeRoomId = Number(_local42);
var _local43 = scope.roomList[_local42];
_local43.userList = new Object();
scope.playerId = xmlObj.pid.attributes.id;
_local43.setMyPlayerIndex(xmlObj.pid.attributes.id);
_local43.variables = new Object();
var _local33 = 0;
while (_local33 < _local15.length) {
var _local25 = _local15[_local33].attributes.n;
var _local11 = _local15[_local33].attributes.t;
var _local24 = _local15[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local43.variables[_local25] = _local12(_local24);
_local33++;
}
var _local64 = 0;
var _local51 = 0;
var _local37 = 0;
while (_local37 < _local7.length) {
var _local19 = _local7[_local37].n.value;
var _local4 = _local7[_local37].attributes.i;
var _local55 = _local7[_local37].attributes.m;
var _local67 = _local7[_local37].attributes.s;
var _local44 = _local7[_local37].attributes.p;
_local43.userList[_local4] = new it.gotoandplay.smartfoxserver.User(_local4, _local19);
_local43.userList[_local4].isMod = ((_local55 == "1") ? true : false);
_local43.userList[_local4].isSpec = ((_local67 == "1") ? true : false);
_local43.userList[_local4].pid = ((_local44 == undefined) ? -1 : _local44);
if (_local43.isGame() && (_local67 == "1")) {
_local51++;
} else {
_local64++;
}
var _local13 = _local7[_local37].vars.vars;
_local43.userList[_local4].variables = {};
var _local35 = _local43.userList[_local4].variables;
_local33 = 0;
while (_local33 < _local13.length) {
var _local25 = _local13[_local33].attributes.n;
var _local11 = _local13[_local33].attributes.t;
var _local24 = _local13[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local35[_local25] = _local12(_local24);
_local33++;
}
_local37++;
}
_local43.userCount = _local64;
_local43.specCount = _local51;
scope.changingRoom = false;
scope.onJoinRoom(scope.roomList[_local42]);
} else if (_local10 == "joinKO") {
scope.changingRoom = false;
var _local57 = xmlObj.error.attributes.msg;
scope.onJoinRoomError(_local57);
} else if (_local10 == "uER") {
var _local61 = xmlObj.u.attributes.i;
var _local56 = xmlObj.u.n.value;
var _local55 = xmlObj.u.attributes.m;
var _local67 = xmlObj.u.attributes.s;
var _local44 = xmlObj.u.attributes.p;
var _local43 = scope.roomList[_local17];
_local43.userList[_local61] = new it.gotoandplay.smartfoxserver.User(_local61, _local56);
_local43.userList[_local61].isMod = ((_local55 == "1") ? true : false);
_local43.userList[_local61].isSpec = ((_local67 == "1") ? true : false);
_local43.userList[_local61].pid = ((_local44 == undefined) ? -1 : _local44);
if (_local43.isGame() && (_local67 == "1")) {
_local43.specCount++;
} else {
_local43.userCount++;
}
var _local13 = xmlObj.u.vars.vars;
_local43.userList[_local61].variables = {};
var _local35 = _local43.userList[_local61].variables;
var _local33 = 0;
while (_local33 < _local13.length) {
var _local25 = _local13[_local33].attributes.n;
var _local11 = _local13[_local33].attributes.t;
var _local24 = _local13[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
} else if (_local11 == "x") {
var _local12 = function (x) {
return(null);
};
}
_local35[_local25] = _local12(_local24);
_local33++;
}
scope.onUserEnterRoom(_local17, _local43.userList[_local61]);
} else if (_local10 == "userGone") {
var _local61 = xmlObj.user.attributes.id;
var _local43 = scope.roomList[_local17];
var _local56 = _local43.userList[_local61].name;
var _local67 = _local43.userList[_local61].isSpec;
delete _local43.userList[_local61];
if (_local43.isGame() && _local67) {
_local43.specCount--;
} else {
_local43.userCount--;
}
scope.onUserLeaveRoom(_local17, _local61, _local56);
} else if (_local10 == "pubMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40.toString());
scope.onPublicMessage(_local40.toString(), scope.roomList[_local17].userList[_local61], _local17);
} else if (_local10 == "prvMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onPrivateMessage(_local40.toString(), scope.roomList[_local17].userList[_local61], _local61, _local17);
} else if (_local10 == "dmnMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onAdminMessage(_local40.toString(), scope.roomList[_local17].userList[_local61]);
} else if (_local10 == "modMsg") {
var _local61 = xmlObj.user.attributes.id;
var _local40 = xmlObj.txt.value;
_local40 = scope.os.decodeEntities(_local40);
scope.onModeratorMessage(_local40.toString(), scope.roomList[_local17].userList[_local61]);
} else if (_local10 == "dataObj") {
var _local65 = xmlObj.user.attributes.id;
var _local52 = xmlObj.dataObj.value;
var _local53 = scope.os.deserialize(_local52);
scope.onObjectReceived(_local53, scope.roomList[_local17].userList[_local65]);
} else if (_local10 == "uVarsUpdate") {
var _local61 = xmlObj.user.attributes.id;
var _local14 = xmlObj.vars.vars;
var _local29 = scope.roomList[_local17].userList[_local61];
if (_local29.variables == undefined) {
_local29.variables = {};
}
var _local30 = [];
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
_local30.push(_local25);
_local30[_local25] = true;
if (_local11 == "x") {
delete _local29.variables[_local25];
} else {
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local29.variables[_local25] = _local12(_local24);
}
_local33++;
}
scope.onUserVariablesUpdate(_local29, _local30);
} else if (_local10 == "rVarsUpdate") {
var _local14 = xmlObj.vars.vars;
var _local43 = scope.roomList[_local17];
var _local30 = [];
if (_local43.variables == undefined) {
_local43.variables = new Object();
}
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
_local30.push(_local25);
_local30[_local25] = true;
if (_local11 == "x") {
delete _local43.variables[_local25];
} else {
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local43.variables[_local25] = _local12(_local24);
}
_local33++;
}
scope.onRoomVariablesUpdate(_local43, _local30);
} else if (_local10 == "createRmKO") {
var _local54 = xmlObj.room.attributes.e;
scope.onCreateRoomError(_local54);
} else if (_local10 == "uCount") {
var _local64 = xmlObj.attributes.u;
var _local51 = xmlObj.attributes.s;
var _local38 = scope.roomList[_local17];
_local38.userCount = Number(_local64);
_local38.specCount = Number(_local51);
scope.onUserCountChange(_local38);
} else if (_local10 == "roomAdd") {
var _local34 = xmlObj.rm.attributes;
var _local45 = _local34.id;
var _local59 = xmlObj.rm.name.value;
var _local66 = Number(_local34.max);
var _local50 = Number(_local34.spec);
var _local58 = (_local34.temp ? true : false);
var _local47 = (_local34.game ? true : false);
var _local60 = (_local34.priv ? true : false);
var _local63 = (_local34.limbo ? true : false);
var _local32 = new it.gotoandplay.smartfoxserver.Room(_local45, _local59, _local66, _local50, _local58, _local47, _local60);
_local32.setIsLimbo(_local63);
scope.roomList[_local45] = _local32;
var _local14 = xmlObj.rm.vars.vars;
_local32.variables = new Object();
var _local33 = 0;
while (_local33 < _local14.length) {
var _local25 = _local14[_local33].attributes.n;
var _local11 = _local14[_local33].attributes.t;
var _local24 = _local14[_local33].value;
if (_local11 == "b") {
var _local12 = Boolean;
} else if (_local11 == "n") {
var _local12 = Number;
} else if (_local11 == "s") {
var _local12 = String;
}
_local32.variables[_local25] = _local12(_local24);
_local33++;
}
scope.onRoomAdded(_local32);
} else if (_local10 == "roomDel") {
var _local46 = xmlObj.rm.attributes.id;
var _local48 = scope.roomList[_local46];
delete scope.roomList[_local46];
scope.onRoomDeleted(_local48);
} else if (_local10 == "leaveRoom") {
var _local68 = xmlObj.rm.attributes.id;
scope.onRoomLeft(_local68);
} else if (_local10 == "roundTripRes") {
scope.t2 = getTimer();
scope.onRoundTripResponse(scope.t2 - scope.t1);
} else if (_local10 == "swSpec") {
var _local39 = Number(xmlObj.pid.attributes.id);
var _local41 = Number(xmlObj.pid.attributes.u);
if (_local39 > 0) {
scope.roomList[_local17].userCount++;
scope.roomList[_local17].specCount--;
}
if (!isNaN(_local41)) {
var _local43 = scope.roomList[_local17];
_local43.userList[_local41].pid = _local39;
_local43.userList[_local41].isSpec = false;
} else {
scope.playerId = _local39;
scope.onSpectatorSwitched(scope.playerId > 0, scope.playerId, scope.roomList[_local17]);
}
} else if (_local10 == "bList") {
var _local8 = xmlObj.bList.bList;
if (_local8 == undefined) {
scope.onBuddyListError(xmlObj.err.value);
return(undefined);
}
var _local37 = 0;
while (_local37 < _local8.length) {
var _local31 = {};
_local31.isOnline = ((_local8[_local37].attributes.s == "1") ? true : false);
_local31.name = _local8[_local37].n.value;
_local31.id = _local8[_local37].attributes.i;
_local31.variables = {};
var _local18 = _local8[_local37].vs.vs;
for (var _local33 in _local18) {
var _local26 = _local18[_local33].attributes.n;
var _local23 = _local18[_local33].value;
_local31.variables[_local26] = _local23;
}
scope.buddyList.push(_local31);
_local37++;
}
scope.onBuddyList(scope.buddyList);
} else if (_local10 == "bUpd") {
var _local36 = xmlObj.b;
if (_local36 == undefined) {
scope.onBuddyListError(xmlObj.err.value);
return(undefined);
}
var _local31 = {};
_local31.name = _local36.n.value;
_local31.id = _local36.attributes.i;
_local31.isOnline = ((_local36.attributes.s == "1") ? true : false);
_local31.variables = {};
var _local18 = _local36.vs.vs;
for (var _local37 in _local18) {
var _local26 = _local18[_local37].attributes.n;
var _local23 = _local18[_local37].value;
_local31.variables[_local26] = _local23;
}
var _local37 = 0;
while (_local37 < scope.buddyList.length) {
if (scope.buddyList[_local37].name == _local31.name) {
scope.buddyList[_local37] = _local31;
break;
}
_local37++;
}
scope.onBuddyListUpdate(_local31);
} else if (_local10 == "bAdd") {
var _local36 = xmlObj.b;
var _local31 = {};
_local31.name = _local36.n.value;
_local31.id = _local36.attributes.i;
_local31.isOnline = ((_local36.attributes.s == "1") ? true : false);
_local31.variables = {};
var _local18 = _local36.vs.vs;
for (var _local37 in _local18) {
var _local26 = _local18[_local37].attributes.n;
var _local23 = _local18[_local37].value;
_local31.variables[_local26] = _local23;
}
scope.buddyList.push(_local31);
scope.onBuddyList(scope.buddyList);
} else if (_local10 == "roomB") {
var _local62 = xmlObj.br.attributes.r;
var _local16 = _local62.toString().split(",");
for (var _local37 in _local16) {
_local16[_local37] = Number(_local16[_local37]);
}
scope.onBuddyRoom(_local16);
} else if (_local10 == "rndK") {
var _local49 = xmlObj.k.value;
scope.onRandomKey(_local49);
}
}
function handleExtensionMessages(dataObj, scope, type) {
if (type == "xml") {
var _local6 = dataObj.attributes.action;
var _local7 = dataObj.attributes.r;
if (_local6 == "xtRes") {
var _local4 = dataObj.value;
var _local5 = scope.os.deserialize(_local4);
scope.onExtensionResponse(_local5, type);
}
} else if (type == "str") {
scope.onExtensionResponse(dataObj, type);
} else if (type == "json") {
scope.onExtensionResponse(dataObj.o, type);
}
}
function sendXtMessage(xtName, cmdName, paramObj, type, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
if (type == undefined) {
type = "xml";
}
if (type == "xml") {
var _local11;
_local11 = {t:"xt"};
var _local10 = {name:xtName, cmd:cmdName, param:paramObj};
var _local12 = ("<![CDATA[" + os.serialize(_local10)) + "]]>";
send(_local11, "xtReq", roomId, _local12);
} else if (type == "str") {
var _local4;
_local4 = (((((((rawProtocolSeparator + "xt") + rawProtocolSeparator) + xtName) + rawProtocolSeparator) + cmdName) + rawProtocolSeparator) + roomId) + rawProtocolSeparator;
var _local2 = 0;
while (_local2 < paramObj.length) {
_local4 = _local4 + (paramObj[_local2].toString() + rawProtocolSeparator);
_local2++;
}
sendString(_local4);
} else if (type == "json") {
var _local5 = {};
_local5.x = xtName;
_local5.c = cmdName;
_local5.r = roomId;
_local5.p = paramObj;
var _local6 = {};
_local6.t = "xt";
_local6.b = _local5;
try {
var _local13 = it.gotoandplay.smartfoxserver.JSON.stringify(_local6);
sendJson(_local13);
} catch(ex) {
if (debug) {
}
}
}
}
function dumpObj(obj, depth) {
if (depth == undefined) {
depth = 0;
}
if (debug) {
if (depth == 0) {
}
for (var _local8 in obj) {
var _local4 = obj[_local8];
var _local5 = typeof(_local4);
if (_local5 != "object") {
var _local3 = "";
var _local2 = 0;
while (_local2 < depth) {
_local3 = _local3 + "\t";
_local2++;
}
_local3 = _local3 + (((((_local8 + " : ") + _local4) + " ( ") + _local5) + " )");
} else {
dumpObj(_local4, depth + 1);
}
}
}
}
function login(zone, nick, pass) {
var _local3 = {t:"sys"};
var _local2 = ((((("<login z='" + zone) + "'><nick><![CDATA[") + nick) + "]]></nick><pword><![CDATA[") + pass) + "]]></pword></login>";
send(_local3, "login", 0, _local2);
}
function logout() {
var _local2 = {t:"sys"};
send(_local2, "logout", -1, "");
}
function getRoomList() {
var _local2 = {t:"sys"};
send(_local2, "getRmList", (activeRoomId ? (activeRoomId) : -1), "");
}
function autoJoin() {
var _local2 = {t:"sys"};
send(_local2, "autoJoin", (activeRoomId ? (activeRoomId) : -1), "");
}
function joinRoom(newRoom, pword, isSpectator, dontLeave, oldRoom) {
var _local2 = null;
var _local7;
if (isSpectator) {
_local7 = 1;
} else {
_local7 = 0;
}
if (!changingRoom) {
if (typeof(newRoom) == "number") {
_local2 = newRoom;
} else {
for (var _local4 in roomList) {
if (roomList[_local4].name == newRoom) {
_local2 = roomList[_local4].id;
break;
}
}
}
if (_local2 != null) {
var _local9 = {t:"sys"};
var _local6 = (dontLeave ? "0" : "1");
var _local5;
if (oldRoom) {
_local5 = oldRoom;
} else {
_local5 = activeRoomId;
}
if (activeRoomId == null) {
_local6 = "0";
_local5 = -1;
}
var _local8 = ((((((((("<room id='" + _local2) + "' pwd='") + pword) + "' spec='") + _local7) + "' leave='") + _local6) + "' old='") + _local5) + "' />";
send(_local9, "joinRoom", (activeRoomId ? (activeRoomId) : -1), _local8);
changingRoom = true;
}
}
}
function sendPublicMessage(msg, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
var _local3 = ("<txt><![CDATA[" + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "pubMsg", roomId, _local3);
}
function sendPrivateMessage(msg, userId, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
var _local3 = ((("<txt rcp='" + userId) + "'><![CDATA[") + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "prvMsg", roomId, _local3);
}
function sendModeratorMessage(msg, type, id) {
var _local2 = {t:"sys"};
var _local3 = ((((("<txt t='" + type) + "' id='") + id) + "'><![CDATA[") + os.encodeEntities(msg)) + "]]></txt>";
send(_local2, "modMsg", activeRoomId, _local3);
}
function sendObject(obj, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = ("<![CDATA[" + os.serialize(obj)) + "]]>";
var _local3 = {t:"sys"};
send(_local3, "asObj", roomId, _local2);
}
function sendObjectToGroup(obj, userList, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local3 = "";
for (var _local4 in userList) {
if (!isNaN(userList[_local4])) {
_local3 = _local3 + (userList[_local4] + ",");
}
}
_local3 = _local3.substr(0, _local3.length - 1);
obj._$$_ = _local3;
var _local5 = ("<![CDATA[" + os.serialize(obj)) + "]]>";
var _local6 = {t:"sys"};
send(_local6, "asObjG", roomId, _local5);
}
function setUserVariables(varObj, roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local9 = {t:"sys"};
var _local6 = "<vars>";
var _local4 = roomList[roomId].userList[myUserId];
for (var _local7 in varObj) {
var _local2 = varObj[_local7];
var _local3 = null;
if (typeof(_local2) == "boolean") {
_local3 = "b";
_local2 = (_local2 ? 1 : 0);
} else if (typeof(_local2) == "number") {
_local3 = "n";
} else if (typeof(_local2) == "string") {
_local3 = "s";
} else if (typeof(_local2) == "null") {
_local3 = "x";
delete _local4.variables[_local7];
}
if (_local3 != null) {
_local4.variables[_local7] = _local2;
_local6 = _local6 + (((((("<var n='" + _local7) + "' t='") + _local3) + "'><![CDATA[") + _local2) + "]]></var>");
}
}
_local6 = _local6 + "</vars>";
send(_local9, "setUvars", roomId, _local6);
}
function setBuddyVariables(varObj) {
var _local6 = {t:"sys"};
var _local4 = "<vars>";
for (var _local5 in varObj) {
var _local2 = varObj[_local5];
if (buddyVars[_local5] != _local2) {
buddyVars[_local5] = _local2;
_local4 = _local4 + (((("<var n='" + _local5) + "'><![CDATA[") + _local2) + "]]></var>");
}
}
_local4 = _local4 + "</vars>";
send(_local6, "setBvars", -1, _local4);
}
function dumpRoomList() {
for (var _local5 in roomList) {
var _local2 = roomList[_local5];
for (var _local4 in _local2.variables) {
}
var _local3 = _local2.getUserList();
for (var _local4 in _local3) {
}
}
}
function createRoom(roomObj, rId) {
var _local9 = ((rId == undefined) ? (activeRoomId) : (rId));
var _local7 = {t:"sys"};
var _local10 = (roomObj.updatable ? 1 : 0);
var _local5 = (roomObj.isGame ? 1 : 0);
var _local6 = 1;
var _local8 = roomObj.maxSpectators;
if (_local5 && (roomObj.exitCurrentRoom != undefined)) {
_local6 = (roomObj.exitCurrentRoom ? 1 : 0);
}
var _local3 = ((((((("<room upd='" + _local10) + "' tmp='1' gam='") + _local5) + "' spec='") + _local8) + "' exit='") + _local6) + "'>";
_local3 = _local3 + (("<name><![CDATA[" + roomObj.name) + "]]></name>");
_local3 = _local3 + (("<pwd><![CDATA[" + roomObj.password) + "]]></pwd>");
_local3 = _local3 + (("<max>" + roomObj.maxUsers) + "</max>");
if (roomObj.uCount != undefined) {
_local3 = _local3 + (("<uCnt>" + (roomObj.uCount ? "1" : "0")) + "</uCnt>");
}
if (roomObj.extension != undefined) {
_local3 = _local3 + ("<xt n='" + roomObj.extension.name);
_local3 = _local3 + (("' s='" + roomObj.extension.script) + "' />");
}
if (roomObj.vars == undefined) {
_local3 = _local3 + "<vars></vars>";
} else {
_local3 = _local3 + "<vars>";
for (var _local4 in roomObj.vars) {
_local3 = _local3 + getXmlRoomVariable(roomObj.vars[_local4]);
}
_local3 = _local3 + "</vars>";
}
_local3 = _local3 + "</room>";
send(_local7, "createRoom", _local9, _local3);
}
function leaveRoom(roomId) {
var _local3 = {t:"sys"};
var _local2 = ("<rm id='" + roomId) + "' />";
send(_local3, "leaveRoom", roomId, _local2);
}
function getRoom(roomId) {
if (typeof(roomId) == "number") {
return(roomList[roomId]);
}
if (typeof(roomId) == "string") {
for (var _local4 in roomList) {
var _local2 = roomList[_local4];
if (_local2.getName() == roomId) {
return(_local2);
}
}
}
}
function getActiveRoom() {
return(roomList[activeRoomId]);
}
function setRoomVariables(varObj, roomId, setOwnership) {
if (roomId == undefined) {
roomId = activeRoomId;
}
if (setOwnership == undefined) {
setOwnership = true;
}
var _local5 = {t:"sys"};
var _local4;
if (setOwnership) {
_local4 = "<vars>";
} else {
_local4 = "<vars so='0'>";
}
var _local2 = 0;
while (_local2 < varObj.length) {
_local4 = _local4 + getXmlRoomVariable(varObj[_local2]);
_local2++;
}
_local4 = _local4 + "</vars>";
send(_local5, "setRvars", roomId, _local4);
}
function getXmlRoomVariable(rVar) {
var _local5 = rVar.name;
var _local1 = rVar.val;
var _local6 = (rVar.priv ? "1" : "0");
var _local4 = (rVar.persistent ? "1" : "0");
var _local2 = null;
if (typeof(_local1) == "boolean") {
_local2 = "b";
_local1 = (_local1 ? 1 : 0);
} else if (typeof(_local1) == "number") {
_local2 = "n";
} else if (typeof(_local1) == "string") {
_local2 = "s";
} else if (typeof(_local1) == "null") {
_local2 = "x";
}
if (_local2 != null) {
return(((((((((("<var n='" + _local5) + "' t='") + _local2) + "' pr='") + _local6) + "' pe='") + _local4) + "'><![CDATA[") + _local1) + "]]></var>");
}
return("");
}
function loadBuddyList() {
var _local2 = {t:"sys"};
send(_local2, "loadB", -1, "");
}
function addBuddy(buddyName) {
if ((buddyName != myUserName) && (!checkBuddy(buddyName))) {
var _local6 = roomList[activeRoomId].getUserList().getUser(buddyName);
var _local4 = {t:"sys"};
var _local3 = ("<n>" + buddyName) + "</n>";
send(_local4, "addB", -1, _local3);
}
}
function removeBuddy(buddyName) {
for (var _local3 in buddyList) {
if (buddyList[_local3].name == buddyName) {
delete buddyList[_local3];
break;
}
}
var _local5 = {t:"sys"};
var _local4 = ("<n>" + buddyName) + "</n>";
send(_local5, "remB", -1, _local4);
onBuddyList(buddyList);
}
function getBuddyRoom(buddy) {
if (buddy.id != -1) {
send({t:"sys", bid:buddy.id}, "roomB", -1, ("<b id='" + buddy.id) + "' />");
}
}
function checkBuddy(name) {
var _local2 = false;
for (var _local4 in buddyList) {
if (buddyList[_local4].name == name) {
_local2 = true;
break;
}
}
return(_local2);
}
function clearBuddyList() {
buddyList = [];
send({t:"sys"}, "clearB", -1, "");
onBuddyList(buddyList);
}
function roundTripBench() {
t1 = getTimer();
var _local2 = {t:"sys"};
send(_local2, "roundTrip", activeRoomId, "");
}
function switchSpectator(roomId) {
if (roomId == undefined) {
roomId = activeRoomId;
}
var _local2 = {t:"sys"};
send(_local2, "swSpec", roomId, "");
}
function getRandomKey() {
send({t:"sys"}, "rndK", -1, "");
}
function send(header, action, fromRoom, message) {
var _local3 = makeHeader(header);
_local3 = _local3 + ((((((("<body action='" + action) + "' r='") + fromRoom) + "'>") + message) + "</body>") + closeHeader());
if (debug) {
}
super.send(_local3);
}
function uploadFile(fileRef, id, nick, port) {
if (id == undefined) {
id = myUserId;
}
if (nick == undefined) {
nick = myUserName;
}
if (port == undefined) {
port = httpPort;
}
fileRef.upload((((((("http://" + ipAddress) + ":") + port) + "/default/Upload.py?id=") + id) + "&nick=") + nick);
if (debug) {
}
}
function getUploadPath() {
return(((("http://" + ipAddress) + ":") + httpPort) + "/default/uploads/");
}
function sendString(message) {
if (debug) {
}
super.send(message);
}
function sendJson(message) {
if (debug) {
}
super.send(message);
}
function gotData(message) {
if (message.charAt(0) == rawProtocolSeparator) {
strReceived(message);
} else if (message.charAt(0) == "<") {
onXML(new XML(message));
} else if (message.charAt(0) == "{") {
jsonReceived(message);
}
}
function connectionEstablished(ok) {
if (ok) {
var _local3 = {t:"sys"};
var _local2 = ((("<ver v='" + majVersion.toString()) + minVersion.toString()) + subVersion.toString()) + "' />";
send(_local3, "verChk", 0, _local2);
} else {
onConnection(false);
}
}
function connectionClosed() {
isConnected = false;
onConnectionLost();
}
function connect(serverIp, serverPort) {
if (!isConnected) {
ipAddress = serverIp;
portNumber = serverPort;
super.connect(serverIp, serverPort);
}
}
function disconnect() {
close();
isConnected = false;
onConnectionLost();
}
function xmlReceived(message) {
var _local2 = new Object();
message2Object(message.childNodes, _local2);
if (debug) {
}
var _local3 = _local2.msg.attributes.t;
messageHandlers[_local3].handleMessage(_local2.msg.body, this, "xml");
}
function strReceived(message) {
var _local2 = message.substr(1, message.length - 2).split(rawProtocolSeparator);
if (debug) {
}
var _local4 = _local2[0];
messageHandlers[_local4].handleMessage(_local2.splice(1, _local2.length - 1), this, "str");
}
function jsonReceived(message) {
var _local2 = it.gotoandplay.smartfoxserver.JSON.parse(message);
if (debug) {
}
var _local3 = _local2.t;
messageHandlers[_local3].handleMessage(_local2.b, this, "json");
}
function message2Object(xmlNodes, parentObj) {
var _local8 = 0;
var _local3 = null;
while (_local8 < xmlNodes.length) {
var _local4 = xmlNodes[_local8];
var _local5 = _local4.nodeName;
var _local6 = _local4.nodeValue;
if (parentObj instanceof Array) {
_local3 = {};
parentObj.push(_local3);
_local3 = parentObj[parentObj.length - 1];
} else {
parentObj[_local5] = new Object();
_local3 = parentObj[_local5];
}
for (var _local11 in _local4.attributes) {
if (typeof(_local3.attributes) == "undefined") {
_local3.attributes = {};
}
var _local2 = _local4.attributes[_local11];
if (!isNaN(Number(_local2))) {
_local2 = Number(_local2);
}
if (_local2.toLowerCase() == "true") {
_local2 = true;
} else if (_local2.toLowerCase() == "false") {
_local2 = false;
}
_local3.attributes[_local11] = _local2;
}
if (arrayTags[_local5]) {
_local3[_local5] = [];
_local3 = _local3[_local5];
}
if (_local4.hasChildNodes() && (_local4.firstChild.nodeValue == undefined)) {
var _local9 = _local4.childNodes;
message2Object(_local9, _local3);
} else {
_local6 = _local4.firstChild.nodeValue;
if ((!isNaN(_local6)) && (_local4.nodeName != "txt")) {
_local6 = Number(_local6);
}
_local3.value = _local6;
}
_local8++;
}
}
function makeHeader(headerObj) {
var _local2 = "<msg";
for (var _local3 in headerObj) {
_local2 = _local2 + ((((" " + _local3) + "='") + headerObj[_local3]) + "'");
}
_local2 = _local2 + ">";
return(_local2);
}
function closeHeader() {
return("</msg>");
}
static var MODMSG_TO_USER = "u";
static var MODMSG_TO_ROOM = "r";
static var MODMSG_TO_ZONE = "z";
static var PROTOCOL_XML = "xml";
static var PROTOCOL_STR = "str";
static var PROTOCOL_JSON = "json";
var httpPort = 8080;
var majVersion = 1;
var minVersion = 4;
var subVersion = 0;
var rawProtocolSeparator = "%";
}
Symbol 1604 MovieClip [__Packages.it.gotoandplay.smartfoxserver.ObjectSerializer] Frame 0
class it.gotoandplay.smartfoxserver.ObjectSerializer
{
static var __instance;
var tabs, xmlStr, debug, eof, ascTab, ascTabRev, hexTable;
function ObjectSerializer () {
init();
}
static function getInstance() {
if (__instance == null) {
__instance = new it.gotoandplay.smartfoxserver.ObjectSerializer();
}
return(__instance);
}
function init() {
tabs = "\t\t\t\t\t\t\t\t\t\t";
xmlStr = "";
debug = false;
eof = "";
ascTab = [];
ascTab[">"] = ">";
ascTab["<"] = "<";
ascTab["&"] = "&";
ascTab["'"] = "'";
ascTab["\""] = """;
ascTabRev = [];
ascTabRev[">"] = ">";
ascTabRev["<"] = "<";
ascTabRev["&"] = "&";
ascTabRev["'"] = "'";
ascTabRev["""] = "\"";
hexTable = new Array();
hexTable["0"] = 0;
hexTable["1"] = 1;
hexTable["2"] = 2;
hexTable["3"] = 3;
hexTable["4"] = 4;
hexTable["5"] = 5;
hexTable["6"] = 6;
hexTable["7"] = 7;
hexTable["8"] = 8;
hexTable["9"] = 9;
hexTable.A = 10;
hexTable.B = 11;
hexTable.C = 12;
hexTable.D = 13;
hexTable.E = 14;
hexTable.F = 15;
}
function serialize(obj) {
var _local2 = {};
_local2.xmlStr = "";
if (debug) {
eof = newline;
}
obj2xml(_local2, obj, 0, "");
return(_local2.xmlStr);
}
function obj2xml(envelope, obj, lev, objn) {
if (lev == 0) {
envelope.xmlStr = envelope.xmlStr + ("<dataObj>" + eof);
} else {
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev);
}
var _local8 = ((obj instanceof Array) ? "a" : "o");
envelope.xmlStr = envelope.xmlStr + ((((("<obj t='" + _local8) + "' o='") + objn) + "'>") + eof);
}
for (var _local7 in obj) {
var _local2 = typeof(obj[_local7]);
var _local3 = obj[_local7];
if ((((_local2 == "boolean") || (_local2 == "number")) || (_local2 == "string")) || (_local2 == "null")) {
if (_local2 == "boolean") {
_local3 = Number(_local3);
} else if (_local2 == "null") {
_local2 = "x";
_local3 = "";
} else if (_local2 == "string") {
_local3 = encodeEntities(_local3);
}
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev + 1);
}
envelope.xmlStr = envelope.xmlStr + ((((((("<var n='" + _local7) + "' t='") + _local2.substr(0, 1)) + "'>") + _local3) + "</var>") + eof);
} else if (_local2 == "object") {
obj2xml(envelope, _local3, lev + 1, _local7);
if (debug) {
envelope.xmlStr = envelope.xmlStr + tabs.substr(0, lev + 1);
}
envelope.xmlStr = envelope.xmlStr + ("</obj>" + eof);
}
}
if (lev == 0) {
envelope.xmlStr = envelope.xmlStr + ("</dataObj>" + eof);
}
}
function deserialize(xmlObj) {
var _local3 = new XML(xmlObj);
_local3.ignoreWhite = true;
var _local2 = new Object();
xml2obj(_local3, _local2);
return(_local2);
}
function xml2obj(xmlNode, currObj) {
var _local2 = 0;
var _local3 = xmlNode.firstChild;
while (_local3.childNodes[_local2]) {
if (_local3.childNodes[_local2].nodeName == "obj") {
var _local9 = _local3.childNodes[_local2].attributes.o;
var _local7 = _local3.childNodes[_local2].attributes.t;
if (_local7 == "a") {
currObj[_local9] = [];
} else if (_local7 == "o") {
currObj[_local9] = {};
}
xml2obj(new XML(_local3.childNodes[_local2]), currObj[_local9]);
} else {
var _local9 = _local3.childNodes[_local2].attributes.n;
var _local4 = _local3.childNodes[_local2].attributes.t;
var _local8 = _local3.childNodes[_local2].firstChild.nodeValue;
var _local5;
if (_local4 == "b") {
_local5 = function (b) {
return(Boolean(Number(b)));
};
} else if (_local4 == "n") {
_local5 = Number;
} else if (_local4 == "s") {
_local5 = String;
} else if (_local4 == "x") {
_local5 = function (x) {
return(null);
};
}
currObj[_local9] = _local5(_local8);
}
_local2++;
}
}
function encodeEntities(st) {
var _local5 = "";
var _local4 = 0;
while (_local4 < st.length) {
var _local3 = st.charAt(_local4);
var _local2 = st.charCodeAt(_local4);
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 13)) {
_local5 = _local5 + _local3;
} else if ((_local2 >= 32) && (_local2 <= 126)) {
if (ascTab[_local3] != undefined) {
_local5 = _local5 + ascTab[_local3];
} else {
_local5 = _local5 + _local3;
}
} else {
_local5 = _local5 + _local3;
}
_local4++;
}
return(_local5);
}
function decodeEntities(st) {
var _local7;
var _local5;
var _local4;
var _local3;
var _local8;
var _local2 = 0;
_local7 = "";
while (_local2 < st.length) {
_local5 = st.charAt(_local2);
if (_local5 == "&") {
_local4 = _local5;
do {
_local2++;
_local3 = st.charAt(_local2);
_local4 = _local4 + _local3;
} while (_local3 != ";");
_local8 = ascTabRev[_local4];
if (_local8 != undefined) {
_local7 = _local7 + _local8;
} else {
_local7 = _local7 + String.fromCharCode(getCharCode(_local4));
}
} else {
_local7 = _local7 + _local5;
}
_local2++;
}
return(_local7);
}
function getCharCode(ent) {
var _local1 = ent.substr(3, ent.length);
_local1 = _local1.substr(0, _local1.length - 1);
return(Number("0x" + _local1));
}
}
Symbol 1605 MovieClip [__Packages.it.gotoandplay.smartfoxserver.Room] Frame 0
class it.gotoandplay.smartfoxserver.Room
{
var id, name, maxUsers, maxSpectators, temp, game, priv, limbo, updatable, description, userCount, specCount, userList, variables, myPlayerIndex;
function Room (id, name, maxUsers, maxSpectators, isTemp, isGame, isPrivate) {
this.id = id;
this.name = name;
this.maxUsers = maxUsers;
this.maxSpectators = maxSpectators;
temp = isTemp;
game = isGame;
priv = isPrivate;
limbo = false;
updatable = false;
description = "";
userCount = 0;
specCount = 0;
userList = new Object();
variables = new Array();
}
function getUserList() {
return(userList);
}
function getUser(userId) {
if (typeof(userId) == "number") {
return(userList[userId]);
}
if (typeof(userId) == "string") {
for (var _local4 in userList) {
var _local2 = userList[_local4];
if (_local2.getName() == userId) {
return(_local2);
}
}
}
}
function getVariable(varName) {
return(variables[varName]);
}
function getVariables() {
return(variables);
}
function getName() {
return(name);
}
function getId() {
return(id);
}
function isTemp() {
return(temp);
}
function isGame() {
return(game);
}
function isPrivate() {
return(priv);
}
function getUserCount() {
return(userCount);
}
function getSpectatorCount() {
return(specCount);
}
function getMaxUsers() {
return(maxUsers);
}
function getMaxSpectators() {
return(maxSpectators);
}
function setMyPlayerIndex(id) {
myPlayerIndex = id;
}
function getMyPlayerIndex() {
return(myPlayerIndex);
}
function setIsLimbo(b) {
limbo = b;
}
function isLimbo() {
return(limbo);
}
}
Symbol 1606 MovieClip [__Packages.it.gotoandplay.smartfoxserver.User] Frame 0
class it.gotoandplay.smartfoxserver.User
{
var id, name, variables, isSpec, isMod, pid;
function User (id, name) {
this.id = id;
this.name = name;
variables = new Object();
isSpec = false;
}
function getId() {
return(id);
}
function getName() {
return(name);
}
function getVariable(varName) {
return(variables[varName]);
}
function getVariables() {
return(variables);
}
function setIsSpectator(b) {
isSpec = b;
}
function isSpectator() {
return(isSpec);
}
function setModerator(b) {
isMod = b;
}
function isModerator() {
return(isMod);
}
function getPlayerId() {
return(pid);
}
function setPlayerId(pid) {
this.pid = pid;
}
}
Symbol 1607 MovieClip [__Packages.it.gotoandplay.smartfoxserver.JSON] Frame 0
class it.gotoandplay.smartfoxserver.JSON
{
function JSON () {
}
static function stringify(arg) {
var _local3;
var _local2;
var _local6;
var _local1 = "";
var _local4;
switch (typeof(arg)) {
case "object" :
if (arg) {
if (arg instanceof Array) {
_local2 = 0;
while (_local2 < arg.length) {
_local4 = stringify(arg[_local2]);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + _local4;
_local2++;
}
return(("[" + _local1) + "]");
}
if (typeof(arg.toString) != "undefined") {
for (_local2 in arg) {
_local4 = arg[_local2];
if ((typeof(_local4) != "undefined") && (typeof(_local4) != "function")) {
_local4 = stringify(_local4);
if (_local1) {
_local1 = _local1 + ",";
}
_local1 = _local1 + ((stringify(_local2) + ":") + _local4);
}
}
return(("{" + _local1) + "}");
}
}
return("null");
case "number" :
return((isFinite(arg) ? (String(arg)) : "null"));
case "string" :
_local6 = arg.length;
_local1 = "\"";
_local2 = 0;
while (_local2 < _local6) {
_local3 = arg.charAt(_local2);
if (_local3 >= " ") {
if ((_local3 == "\\") || (_local3 == "\"")) {
_local1 = _local1 + "\\";
}
_local1 = _local1 + _local3;
} else {
switch (_local3) {
case "\b" :
_local1 = _local1 + "\\b";
break;
case "\f" :
_local1 = _local1 + "\\f";
break;
case newline :
_local1 = _local1 + "\\n";
break;
case "\r" :
_local1 = _local1 + "\\r";
break;
case "\t" :
_local1 = _local1 + "\\t";
break;
default :
_local3 = _local3.charCodeAt();
_local1 = _local1 + (("\\u00" + Math.floor(_local3 / 16).toString(16)) + (_local3 % 16).toString(16));
}
}
_local2 = _local2 + 1;
}
return(_local1 + "\"");
case "boolean" :
return(String(arg));
}
return("null");
}
static function parse(text) {
var at = 0;
var ch = " ";
var _value;
var _error = function (m) {
throw {name:"JSONError", message:m, at:at - 1, text:text};
};
var _next = function () {
ch = text.charAt(at);
at = at + 1;
return(ch);
};
var _white = function () {
while (ch) {
if (ch <= " ") {
_next();
} else if (ch == "/") {
switch (_next()) {
case "/" :
while ((_next() && (ch != newline)) && (ch != "\r")) {
}
break;
case "*" :
_next();
for(;;){
if (ch) {
if (ch == "*") {
if (_next() == "/") {
_next();
// unexpected jump
}
} else {
_next();
}
} else {
_error("Unterminated comment");
}
};
break;
default :
_error("Syntax error");
}
} else {
return;
}
}
};
var _string = function () {
var _local4;
var _local1 = "";
var _local3;
var _local2;
var _local5 = false;
if (ch == "\"") {
while (_next()) {
if (ch == "\"") {
_next();
return(_local1);
}
if (ch == "\\") {
switch (_next()) {
case "b" :
_local1 = _local1 + "\b";
break;
case "f" :
_local1 = _local1 + "\f";
break;
case "n" :
_local1 = _local1 + newline;
break;
case "r" :
_local1 = _local1 + "\r";
break;
case "t" :
_local1 = _local1 + "\t";
break;
case "u" :
_local2 = 0;
_local4 = 0;
while (_local4 < 4) {
_local3 = parseInt(_next(), 16);
if (!isFinite(_local3)) {
_local5 = true;
break;
}
_local2 = (_local2 * 16) + _local3;
_local4 = _local4 + 1;
}
if (_local5) {
_local5 = false;
break;
}
_local1 = _local1 + String.fromCharCode(_local2);
break;
default :
_local1 = _local1 + ch;
}
} else {
_local1 = _local1 + ch;
}
}
}
_error("Bad string");
};
var _array = function () {
var _local1 = [];
if (ch == "[") {
_next();
_white();
if (ch == "]") {
_next();
return(_local1);
}
while (ch) {
_local1.push(_value());
_white();
if (ch == "]") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad array");
};
var _object = function () {
var _local2;
var _local1 = {};
if (ch == "{") {
_next();
_white();
if (ch == "}") {
_next();
return(_local1);
}
while (ch) {
_local2 = _string();
_white();
if (ch != ":") {
break;
}
_next();
_local1[_local2] = _value();
_white();
if (ch == "}") {
_next();
return(_local1);
}
if (ch != ",") {
break;
}
_next();
_white();
}
}
_error("Bad object");
};
var _number = function () {
var _local1 = "";
var _local2;
if (ch == "-") {
_local1 = "-";
_next();
}
while ((ch >= "0") && (ch <= "9")) {
_local1 = _local1 + ch;
_next();
}
if (ch == ".") {
_local1 = _local1 + ".";
while ((_next() && (ch >= "0")) && (ch <= "9")) {
_local1 = _local1 + ch;
}
}
_local2 = 1 * _local1;
if (!isFinite(_local2)) {
_error("Bad number");
} else {
return(_local2);
}
};
var _word = function () {
switch (ch) {
case "t" :
if (((_next() == "r") && (_next() == "u")) && (_next() == "e")) {
_next();
return(true);
}
break;
case "f" :
if ((((_next() == "a") && (_next() == "l")) && (_next() == "s")) && (_next() == "e")) {
_next();
return(false);
}
break;
case "n" :
if (!(((_next() == "u") && (_next() == "l")) && (_next() == "l"))) {
break;
}
_next();
return(null);
}
_error("Syntax error");
};
_value = function () {
_white();
switch (ch) {
case "{" :
return(_object());
case "[" :
return(_array());
case "\"" :
return(_string());
case "-" :
return(_number());
}
return((((ch >= "0") && (ch <= "9")) ? (_number()) : (_word())));
};
return(_value());
}
}
Symbol 1608 MovieClip [__Packages.Popup] Frame 0
class Popup extends MovieClip
{
var nextPage, transition, gotoAndStop;
function Popup () {
super();
}
function goToPage(np) {
nextPage = np;
transition.gotoAndPlay(TRANSITION);
}
function changePage() {
gotoAndStop(nextPage);
}
static var TRANSITION = "transition";
static var MULTIPLAYER = "multiplayer";
static var THROBBER = "throbber";
static var ERROR = "ERROR";
static var ISSUE_CHALLENGE = "issueChallenge";
static var ACCEPT_CHALLENGE = "acceptChallenge";
}
Symbol 1609 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 1610 MovieClip [__Packages.Debug] Frame 0
class Debug
{
function Debug () {
}
static function each(obj) {
var _local2 = "";
for (var _local3 in obj) {
_local2 = _local2 + (((_local3 + ": ") + obj[_local3]) + newline);
}
return(_local2);
}
static function list(obj, recursive, lvl) {
var _local4 = "";
lvl = (isNaN(lvl) ? 0 : (lvl));
var _local3 = "";
recursive = (isNaN(recursive) ? 0 : (recursive));
var _local7 = 0;
while (_local7 < lvl) {
_local3 = _local3 + "\t";
_local7++;
}
if (obj instanceof Array) {
_local4 = _local4 + (("Array\n" + _local3) + "( ");
var _local8 = 0;
while (_local8 < obj.length) {
if ((recursive != lvl) && ((typeof(obj[_local8]) == "object") || (typeof(obj[_local8]) == "movieclip"))) {
_local4 = _local4 + ((("\n\t" + _local3) + arguments.callee(obj[_local8], recursive, lvl + 1)) + ",");
} else if (typeof(obj[_local8]) == "number") {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
} else {
_local4 = _local4 + ((("\n\t" + _local3) + obj[_local8]) + ",");
}
_local8++;
}
_local4 = ((_local4.substr(0, _local4.length - 1) + newline) + _local3) + ")";
} else {
_local4 = _local4 + (((((typeof(obj) != "movieclip") ? "Object" : (("MovieClip (" + obj._name) + ")")) + newline) + _local3) + "{ ");
for (var _local8 in obj) {
if ((recursive != lvl) && ((typeof(obj[_local8]) == "object") || (typeof(obj[_local8]) == "movieclip"))) {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + arguments.callee(obj[_local8], recursive, lvl + 1)) + ",");
} else if (typeof(obj[_local8]) == "number") {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
} else {
_local4 = _local4 + ((((("\n\t" + _local3) + _local8) + ": ") + obj[_local8]) + ",");
}
}
_local4 = ((_local4.substr(0, _local4.length - 1) + newline) + _local3) + "}";
}
return(_local4);
}
}
Symbol 1611 MovieClip [__Packages.PlayerHuman] Frame 0
class PlayerHuman extends Player
{
var keys, jumpKey, engine, _isActive, __get__score, __get__hitPercentage, playNote;
function PlayerHuman (e, fb, h, idt, t, ka) {
super(e, fb, h, idt, t);
keys = ka;
jumpKey = keys[0];
Key.addListener(this);
}
function deactivate() {
super.deactivate();
if (engine.player2 instanceof PlayerRemote) {
poll(engine.elapsedTime);
}
}
function update(elapsedTime, frameTime) {
if (_isActive) {
if (elapsedTime > (_lastPoll + POLL_INTERVAL)) {
poll(elapsedTime);
}
}
}
function poll(elapsedTime) {
_lastPoll = elapsedTime;
Connection.updatePerformance(__get__score(), __get__hitPercentage());
}
function onKeyDown() {
if (_isActive) {
var _local3 = Key.getCode();
if (_local3 == jumpKey) {
engine.doJump();
Connection.doJump();
} else {
var _local2 = 1;
while (_local2 < keys.length) {
if (_local3 == keys[_local2]) {
playNote(_local2);
}
_local2++;
}
}
}
}
function die() {
Key.removeListener(this);
}
var _lastPoll = -10000;
static var POLL_INTERVAL = 200;
}
Symbol 1612 MovieClip [__Packages.Jump] Frame 0
class Jump extends TimedElement
{
var engine, startTime, progressTime, targTime, jumped, gotoAndStop, _totalframes, inner;
function Jump () {
super();
}
function init(e, st, pt) {
engine = e;
startTime = st;
progressTime = pt;
targTime = st + pt;
jumped = false;
}
function updatePosition(elapsedTime) {
var _local2 = (elapsedTime - startTime) / progressTime;
gotoAndStop(Math.ceil(_totalframes * _local2));
}
function hit(elapsedTime) {
if (!jumped) {
jumped = true;
gotoAndStop("full");
inner.gotoAndPlay("hit");
updateAfterEvent();
engine.hasJumped(this);
}
}
function die() {
engine.activeJumps.shift();
super.die();
}
var postTargTime = 0;
}
Symbol 1613 MovieClip [__Packages.Note3] Frame 0
class Note3 extends Note
{
function Note3 () {
super();
}
var note_num = 3;
}
Symbol 1614 MovieClip [__Packages.Note2] Frame 0
class Note2 extends Note
{
function Note2 () {
super();
}
var note_num = 2;
}
Symbol 1615 MovieClip [__Packages.Note1] Frame 0
class Note1 extends Note
{
function Note1 () {
super();
}
var note_num = 1;
}
Symbol 1616 MovieClip [__Packages.cust.GUI.RadioGroup] Frame 0
class cust.GUI.RadioGroup extends Array
{
var name, _instanceIndex, push, length, _selectedIndex;
function RadioGroup (n) {
super();
name = n;
_instanceIndex = {};
cust.events.EventBroadcaster.initialise(this);
}
function addBtn(btn) {
if (_instanceIndex[btn._name] === undefined) {
push(btn);
_instanceIndex[btn._name] = length - 1;
} else {
this[_instanceIndex[btn._name]] = btn;
}
this[btn._name] = btn;
btn.addEventListener(cust.GUI.UIBtn.RELEASE, this);
}
function release(obj) {
var _local2 = 0;
while (_local2 < length) {
if (this[_local2] == obj.target) {
break;
}
_local2++;
}
if (_local2 == length) {
selectedIndex = (-1);
} else if (_local2 != _selectedIndex) {
selectedIndex = (_local2);
}
}
function get value() {
return(this[_selectedIndex].value);
}
function get selectedIndex() {
return(_selectedIndex);
}
function set selectedIndex(n) {
if (n != _selectedIndex) {
var _local2 = {target:this, type:CHANGE, oldVal:_selectedIndex, newVal:n};
this[_selectedIndex].select(false);
_selectedIndex = n;
this[_selectedIndex].select(true);
dispatchEvent(_local2);
}
//return(selectedIndex);
}
static function GET_RADIO_GROUP(n) {
if (RADIO_GROUPS[n]) {
return(RADIO_GROUPS[n]);
}
return((RADIO_GROUPS[n] = new cust.GUI.RadioGroup(n)));
}
static var RADIO_GROUPS = {};
static var CHANGE = "change";
}
Symbol 1617 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 1618 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 1619 MovieClip [__Packages.cust.GUI.RadioBtn] Frame 0
class cust.GUI.RadioBtn extends cust.GUI.UIBtn
{
var _name, value, group, selected_mc;
function RadioBtn () {
super();
var _local3 = _name.split(DIVIDER);
value = _local3[1];
group = cust.GUI.RadioGroup.GET_RADIO_GROUP(_local3[0]);
group.addBtn(this);
selected_mc._visible = false;
}
function select(b) {
selected_mc._visible = b;
}
function get selected() {
return(selected_mc._visible);
}
function set selected(b) {
if (selected_mc._visible != b) {
if (b) {
group.release({target:this});
} else {
group.release({target:null});
}
}
selected_mc._visible = b;
//return(selected);
}
static var DIVIDER = "_";
}
Symbol 1620 MovieClip [__Packages.RGB] Frame 0
class RGB
{
var ct;
function RGB (R, G, B) {
ct = new flash.geom.ColorTransform();
r = (isNaN(R) ? 0 : (((R > 255) ? 255 : (((R < 0) ? 0 : (R))))));
g = (isNaN(G) ? 0 : (((G > 255) ? 255 : (((G < 0) ? 0 : (G))))));
b = (isNaN(B) ? 0 : (((B > 255) ? 255 : (((B < 0) ? 0 : (B))))));
}
function toString(d) {
var _local3 = ((((r > 255) ? 255 : (r)) << 16) | (((g > 255) ? 255 : (g)) << 8)) | ((b > 255) ? 255 : (b));
d = (isNaN(d) ? 16 : (d));
return("0x" + _local3.toString(d));
}
function valueOf() {
return(((((r > 255) ? 255 : (r)) << 16) | (((g > 255) ? 255 : (g)) << 8)) | ((b > 255) ? 255 : (b)));
}
function tint(mc, s) {
s = (isNaN(s) ? 1 : (s));
ct.redMultiplier = 1 - s;
ct.greenMultiplier = 1 - s;
ct.blueMultiplier = 1 - s;
ct.alphaMultiplier = 1;
ct.redOffset = r * s;
ct.greenOffset = g * s;
ct.blueOffset = b * s;
ct.alphaOffset = 0;
mc.transform.colorTransform = ct;
}
function get _rgb() {
return(((((r > 255) ? 255 : (r)) << 16) | (((g > 255) ? 255 : (g)) << 8)) | ((b > 255) ? 255 : (b)));
}
function set _rgb(c) {
r = c >> 16;
g = (c >> 8) & 255;
b = c & 255;
//return(_rgb);
}
static function makeRGB(r, g, b) {
return(((((r > 255) ? 255 : (r)) << 16) | (((g > 255) ? 255 : (g)) << 8)) | ((b > 255) ? 255 : (b)));
}
static function fromRGB(c) {
return(new RGB(c >> 16, (c >> 8) & 255, c & 255));
}
static function interpolate(c1, c2, f) {
var _local1 = 1 - f;
return(new RGB((c1.r * _local1) + (c2.r * f), (c1.g * _local1) + (c2.g * f), (c1.b * _local1) + (c2.b * f)));
}
var r = 0;
var g = 0;
var b = 0;
}
Symbol 1621 MovieClip [__Packages.CarouselItem] Frame 0
class CarouselItem extends MovieClip
{
var reflection_ct, carousel, p, info, image, attachMovie, inner, transform;
function CarouselItem () {
super();
reflection_ct = new flash.geom.ColorTransform();
}
function init(c, pos, i) {
carousel = c;
p = pos;
info = i;
image = attachMovie(i.linkage, "image", 0);
inner.swapDepths(1);
if (i.url && (_global.assetCheck === false)) {
inner._visible = true;
} else {
inner._visible = false;
}
c.mcl.addListener(this);
}
function update(n) {
var _local2 = ((maxTint - minTint) * n) + minTint;
reflection_ct.redOffset = _local2 * reflectionBase.r;
reflection_ct.greenOffset = _local2 * reflectionBase.g;
reflection_ct.blueOffset = _local2 * reflectionBase.b;
reflection_ct.redMultiplier = 1 - _local2;
reflection_ct.greenMultiplier = 1 - _local2;
reflection_ct.blueMultiplier = 1 - _local2;
transform.colorTransform = reflection_ct;
}
var vAlign = "center";
var hAlign = "center";
static var MAX_ATTEMPTS = 3;
static var reflectionBase = new RGB(0);
static var maxTint = 1;
static var minTint = 0;
}
Symbol 1622 MovieClip [__Packages.Carousel] Frame 0
class Carousel extends MovieClip
{
var _visibleItems, mcl, lastTime, leftBtn, rightBtn, reflections, createEmptyMovieClip, holder, _carouselItems, nextItem, broadcastMessage, currItems, itemHolder;
function Carousel () {
super();
_visibleItems = {};
mcl = new MovieClipLoader();
mcl.checkPolicyFile = true;
lastTime = getTimer();
leftBtn.onPress = Delegate.create(this, btnPressed, -1);
rightBtn.onPress = Delegate.create(this, btnPressed, 1);
rightBtn.onDragOut = (leftBtn.onDragOut = (rightBtn.onRelease = (leftBtn.onRelease = Delegate.create(this, btnReleased))));
AsBroadcaster.initialize(this);
}
function init(itemsArr, w, h, d, s, f) {
for (s in _visibleItems) {
_visibleItems[s].carouselItem.removeMovieClip();
}
reflections.blendMode = "layer";
reflections._alpha = 25;
reflections.onPress = function () {
};
reflections.useHandCursor = false;
reflections._yscale = -100;
createEmptyMovieClip("holder", -2);
holder._visible = false;
_visibleItems = {};
_carouselItems = itemsArr;
_carouselWidth = w;
_carouselDepth = d;
_carouselHeight = h;
_itemSpacing = s;
_fov = f;
carouselPosition = (carouselLength + (-(_carouselWidth / 2)));
carouselPosition = carouselPosition + 1;
carouselPosition = carouselPosition - 1;
}
function btnPressed(d) {
dir = (lastDir = d);
}
function btnReleased() {
dir = 0;
}
function onEnterFrame() {
var _local5 = getTimer();
var _local3 = (_local5 - lastTime) / 1000;
if (dir) {
carouselPosition = carouselPosition + ((MOVEMENT_SPEED * _local3) * dir);
if (nextItem === undefined) {
broadcastMessage(STARTED);
}
if (dir > 0) {
nextItem = Math.floor(((carouselPosition + (_carouselWidth / 2)) / _itemSpacing) + 1) % _carouselItems.length;
} else {
nextItem = Math.floor((carouselPosition + (_carouselWidth / 2)) / _itemSpacing) % _carouselItems.length;
}
} else if (nextItem != undefined) {
var _local2 = nextItem * _itemSpacing;
var _local4;
if (_local2 >= _carouselPosition) {
_local4 = _local2 - (_carouselPosition + (_carouselWidth / 2));
} else {
_local4 = ((_carouselItems.length * _itemSpacing) - (_carouselPosition + (_carouselWidth / 2))) + _local2;
}
var _local6 = MOVEMENT_SPEED * _local3;
if ((_local4 * lastDir) > _local6) {
carouselPosition = carouselPosition + (_local6 * lastDir);
} else {
carouselPosition = (carouselLength + (_local2 - (_carouselWidth / 2)));
broadcastMessage(STOPPED, nextItem);
delete nextItem;
}
}
lastTime = _local5;
}
function rotateTo(n) {
nextItem = n;
dir = (lastDir = 1);
}
function render() {
var _local12 = Math.ceil(_carouselPosition / _itemSpacing) % _carouselItems.length;
var _local13 = Math.floor((_carouselPosition + _carouselWidth) / _itemSpacing) % _carouselItems.length;
var _local3 = {};
currItems = [];
var _local5 = _local12;
while (_local5 != ((_local13 + 1) % _carouselItems.length)) {
_local3[_local5] = _carouselItems[_local5];
currItems.push(_local5);
_local5 = (_local5 + 1) % _carouselItems.length;
}
for (var _local2 in _visibleItems) {
if (!_local3[_local2]) {
_visibleItems[_local2].carouselItem.removeMovieClip();
_visibleItems[_local2].carouselItemReflection.removeMovieClip();
delete _visibleItems[_local2];
}
}
for (var _local2 in _local3) {
if (!_visibleItems[_local2]) {
_local3[_local2].carouselItem = itemHolder.attachMovie(CAROSEL_ITEM_LINKAGE, "item" + _local2, (_carouselDepth + Number(_local2)) * 100);
_local3[_local2].carouselItemReflection = reflections.attachMovie(CAROSEL_ITEM_LINKAGE, "item" + _local2, (_carouselDepth + Number(_local2)) * 100);
_local3[_local2].carouselItem.init(this, Number(_local2), _carouselItems[_local2], _carouselItems[_local2].link);
_local3[_local2].carouselItemReflection.init(this, Number(_local2), _carouselItems[_local2]);
}
}
var _local7;
var _local4;
var _local6;
var _local10;
var _local9;
var _local11;
for (var _local2 in _local3) {
_local11 = Number(_local2) * _itemSpacing;
if (_local11 >= _carouselPosition) {
_local10 = _local11 - (_carouselPosition + (_carouselWidth / 2));
} else {
_local10 = ((_carouselItems.length * _itemSpacing) - (_carouselPosition + (_carouselWidth / 2))) + _local11;
}
_local7 = getItemDepth(_local10);
var _local8 = _local7 / _carouselDepth;
_local4 = _local3[_local2].carouselItem;
_local6 = _local3[_local2].carouselItemReflection;
_local4.swapDepths(Math.round(_local7 * 100));
_local6.swapDepths(Math.round(_local7 * 100));
_local9 = _fov / (_fov + (_carouselDepth - _local7));
_local6._x = (_local4._x = _local10 * _local9);
_local4._y = (_carouselHeight * _local8) * _local9;
_local6._y = -_local4._y;
_local6._xscale = (_local6._yscale = (_local4._xscale = (_local4._yscale = _local9 * 100)));
_local4.update(1 - _local8);
_local6.update(1 - _local8);
}
_visibleItems = _local3;
}
function getItemDepth(p) {
return(Math.cos(Math.PI * (p / _carouselWidth)) * _carouselDepth);
}
function get carouselPosition() {
return(_carouselPosition);
}
function set carouselPosition(n) {
_carouselPosition = ((_carouselItems.length * _itemSpacing) + n) % (_carouselItems.length * _itemSpacing);
render();
//return(carouselPosition);
}
function get carouselLength() {
return(_carouselItems.length * _itemSpacing);
}
function get carouselWidth() {
return(_carouselWidth);
}
function set carouselWidth(n) {
_carouselWidth = n;
render();
//return(carouselWidth);
}
function get carouselDepth() {
return(_carouselDepth);
}
function set carouselDepth(n) {
_carouselDepth = n;
render();
//return(carouselDepth);
}
function get carouselHeight() {
return(_carouselHeight);
}
function set carouselHeight(n) {
_carouselHeight = n;
render();
//return(carouselHeight);
}
function get itemSpacing() {
return(_itemSpacing);
}
function set itemSpacing(n) {
_itemSpacing = n;
render();
//return(itemSpacing);
}
function get fov() {
return(_fov);
}
function set fov(n) {
_fov = n;
render();
//return(fov);
}
var _carouselWidth = 500;
var _carouselDepth = 500;
var _carouselHeight = 50;
var _itemSpacing = 50;
var _fov = 500;
var _carouselPosition = 0;
var lastDir = 0;
var dir = 0;
var basePath = "";
static var MOVEMENT_SPEED = 300;
static var CAROSEL_ITEM_LINKAGE = "carouselItem";
static var STOPPED = "stopped";
static var STARTED = "started";
}
Symbol 1623 MovieClip [__Packages.PopupAnim] Frame 0
class PopupAnim extends MovieClip
{
var msgs, gotoAndPlay;
function PopupAnim () {
super();
}
function showMessage(m) {
msgs.gotoAndStop(m);
gotoAndPlay(SHOW);
}
function hideMessage() {
gotoAndPlay(HIDE);
}
static var SHOW = "show";
static var HIDE = "hide";
}
Symbol 1624 MovieClip [__Packages.TrackEurekaMachines] Frame 0
class TrackEurekaMachines extends Track
{
var name, bpm, beatTime, songParts, azorLength, length, notes, events, getSongPartTime, jumps;
function TrackEurekaMachines () {
super();
}
function randNote(rand) {
var _local1;
_local1 = Math.ceil(rand() * 3);
return(_local1);
}
function makeTrack(rand, isMultiplayer) {
name = "eurekaMachines";
var _local8 = _global.root.gameAnimations;
bpm = 145.2;
beatTime = (60 / bpm) * 1000;
songParts = [];
songParts.push({name:"intro", time:339, func:makeNothing});
songParts.push({name:"chorus1", time:2000, func:makeChorus});
songParts.push({name:"verse1", time:15203, func:makeBigChord});
songParts.push({name:"verse1Mid", time:15243 + (beatTime * 11), func:makeBigChord2});
songParts.push({name:"verseFast1", time:28325, func:makeRhythm});
songParts.push({name:"chorus2", time:41449, func:makeChorus});
songParts.push({name:"verse2", time:54789, func:makeVerseSolo});
songParts.push({name:"verse2Fast", time:68057, func:makeRhythm});
songParts.push({name:"chorus3", time:81281, func:makeChorus});
songParts.push({name:"bridge", time:94089, func:makeBridge});
songParts.push({name:"chorus4", time:133175, func:makeEndChorus, resetToStart:true});
songParts.push({name:"out", time:143515, func:makeNothing});
songParts.push({name:"end", time:146422, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local14 = songParts[songParts.length - 1].time;
var _local18 = 2000;
var _local10 = 2000 - Engine.PROGRESS_TIME;
var _local17 = -2000;
azorLength = _local14 + _local17;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + _local18;
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
_local8 = _global.root.gameAnimations;
var _local15 = _global.root.engine;
events.push(new TimedEvent(250, _local8, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, _local8, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, _local8, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("chorus1"), _local8, "startCrowd"));
events.push(new TimedEvent(getSongPartTime("chorus1"), _local8, "changeLightColour", "purple"));
events.push(new TimedEvent(getSongPartTime("chorus1") + (beatTime * 8), _local8, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("chorus1") + (beatTime * 12), _local8, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("chorus1") + (beatTime * 16), _local8, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("chorus1") + (beatTime * 20), _local8, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("verse1") + (beatTime * 4), _local15, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("verse1") + (beatTime * 11), _local8, "doPose", "break2"));
events.push(new TimedEvent(getSongPartTime("verse1") + (beatTime * 17), _local8, "doPose", "break4"));
jumps.push(getSongPartTime("verseFast1") - (beatTime * 4));
events.push(new TimedEvent(getSongPartTime("verseFast1") + (beatTime * 6), _local8, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("verseFast1") + (beatTime * 10), _local8, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("verseFast1") + (beatTime * 14), _local8, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("chorus2") - (beatTime * 2), _local8, "doCharacterAnim", "slideRightToLeft"));
events.push(new TimedEvent(getSongPartTime("verse2") - (beatTime * 12), _local8, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("verse2") + (beatTime * 1), _local15, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("chorus3") + (beatTime * 8), _local8, "setStrum", "fast"));
jumps.push(getSongPartTime("verse2Fast") - (beatTime * 4));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("bridge") + (beatTime * 2), _local15, "swapActivePlayer", ""));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("solo2") - (beatTime * 4), _local15, "swapActivePlayer", ""));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("chorus4") - (beatTime * 2), _local15, "doFinale", ""));
}
events.push(new TimedEvent(getSongPartTime("chorus4"), _local8, "doSceneAnim", "stonehengeIn"));
events.push(new TimedEvent(getSongPartTime("chorus4") + (beatTime * 16), _local8, "doSceneAnim", "stonehengeMagic"));
events.push(new TimedEvent(azorLength, _local8, "doAzorAd"));
events.push(new TimedEvent(azorLength + 100, _local8, "doAzorAd"));
events.push(new TimedEvent(azorLength + 200, _local8, "doAzorAd"));
events.push(new TimedEvent(azorLength + 300, _local8, "doAzorAd"));
events.push(new TimedEvent(azorLength + 400, _local8, "doAzorAd"));
var _local11;
var _local6;
var _local3;
var _local7;
var _local9 = -1;
var _local5;
var _local12;
_local6 = _local10;
while (_local6 < (_local14 + _local10)) {
_local11 = Math.ceil(rand() * 3);
_local7 = _local6 + Engine.PROGRESS_TIME;
_local3 = 0;
while (_local3 < (songParts.length - 1)) {
if ((_local7 >= songParts[_local3].time) && (_local7 < songParts[_local3 + 1].time)) {
_local5 = songParts[_local3];
break;
}
_local3++;
}
if (_local5.resetToStart) {
_local5.resetToStart = false;
_local6 = _local5.time - Engine.PROGRESS_TIME;
_local7 = _local6 + Engine.PROGRESS_TIME;
}
if (_local5.wipeNotes) {
}
if (_local5 != _local12) {
var _local4 = 0;
_local3 = 1;
while (_local3 <= 3) {
_local4 = 0;
while (_local4 < notes[_local3].length) {
if (notes[_local3][_local4] > _local6) {
notes[_local3].length = _local4 - 1;
break;
}
_local4++;
}
_local3++;
}
_local12 = _local5;
_local9 = 0;
} else {
_local9++;
}
if (_local5) {
_local5.func.call(this, _local11, _local6, _local9, rand);
}
_local6 = _local6 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function changeBpm(b) {
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function makeChorus(notenum, i, loops) {
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(i, _local4, "setStrum", "fast"));
var _local6 = i + Engine.PROGRESS_TIME;
if ((loops % 8) == 0) {
events.push(new TimedEvent(_local6, _local4, "changeLightColour", "red"));
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 2) {
events.push(new TimedEvent(_local6, _local4, "changeLightColour", "yellow"));
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 3) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 4) {
events.push(new TimedEvent(_local6, _local4, "changeLightColour", "orange"));
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 5) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 6) {
events.push(new TimedEvent(_local6, _local4, "changeLightColour", "yellow"));
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 7) {
events.push(new TimedEvent(_local6, _local4, "changeLightColour", "red"));
notes[2].push(i);
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
events.push(new TimedEvent(_local6 + (beatTime * 2), _local4, "changeLightColour", "yellow"));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
notes[3].push(i);
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 2));
}
chorusLights(i);
}
function makeEndChorus(notenum, i, loops) {
var _local5 = _global.root.gameAnimations;
if ((loops % 8) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 2) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 3) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 4) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 5) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 6) {
notes[3].push(i);
events.push(new TimedEvent(i + Engine.PROGRESS_TIME, _local5, "doSceneAnim", "makeRabbits"));
events.push(new TimedEvent(i + Engine.PROGRESS_TIME, _local5, "stopCrowd"));
events.push(new TimedEvent(i + Engine.PROGRESS_TIME, _local5, "azorAloft", "druid!"));
} else if ((loops % 8) == 7) {
notes[2].push(i);
}
chorusLights(i);
}
function makeRhythm(notenum, i, loops) {
var _local5 = _global.root.gameAnimations;
changeBpm(verseBpm);
if ((loops % 8) < 6) {
events.push(new TimedEvent(i, _local5, "setStrum", "chug"));
events.push(new TimedEvent(i + beatTime, _local5, "setStrum", "fast"));
events.push(new TimedEvent(i + (beatTime * 2), _local5, "setStrum", "chug"));
events.push(new TimedEvent(i + (beatTime * 3), _local5, "setStrum", "fast"));
} else if ((loops % 8) == 6) {
events.push(new TimedEvent(i, _local5, "setStrum", "chug"));
} else if ((loops % 8) == 6) {
events.push(new TimedEvent(i, _local5, "setStrum", "power"));
}
if ((loops % 8) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 2) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 3) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 4) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 5) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 8) == 6) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 7) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
}
verseLights(i);
}
function makeBridge(notenum, i, loops) {
var _local5 = _global.root.gameAnimations;
if (loops == 0) {
makeRecordedSolo(i);
}
if ((loops == 0) || (loops == 4)) {
notes[1].push(i);
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops == 1) || (loops == 5)) {
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
} else if ((loops == 2) || (loops == 6)) {
notes[2].push(i);
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops == 3) || (loops == 7)) {
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
}
notes[1].sort(Array.NUMERIC);
notes[2].sort(Array.NUMERIC);
notes[3].sort(Array.NUMERIC);
if (loops <= 3) {
chilledLights(i);
} else {
(soloLights);// not popped
}
}
function makeBuild(notenum, i, loops) {
changeBpm(chorusBpm);
if ((loops % 2) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 2) == 1) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
}
introLights(i);
}
function makeVerseSolo(notenum, i, loops) {
var _local6 = _global.root.gameAnimations;
var _local5 = i + Engine.PROGRESS_TIME;
if ((loops % 4) == 0) {
notes[1].push(i);
} else if ((loops % 4) == 1) {
notes[1].push(i + (beatTime * 3));
} else if ((loops % 4) == 2) {
notes[2].push(i);
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 3) {
}
verseLights(i);
}
function makeRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + (beatTime * 0.75));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
mainLights(i);
}
function makeRandSolo(notenum, i, loops, rand) {
var _local6 = randNote(rand);
var _local5 = randNote(rand);
var _local4 = randNote(rand);
var _local3 = randNote(rand);
notes[_local6].push(i);
notes[_local6].push(i + (beatTime * 0.5));
notes[_local5].push(i + beatTime);
notes[_local5].push(i + (beatTime * 1.5));
notes[_local4].push(i + (beatTime * 2));
notes[_local4].push(i + (beatTime * 2.5));
notes[_local3].push(i + (beatTime * 3));
notes[_local3].push(i + (beatTime * 3.5));
soloLights(i);
}
function makeRandSoloShortEnd(notenum, i, loops, rand) {
var _local7 = randNote(rand);
var _local6 = randNote(rand);
var _local4 = randNote(rand);
var _local3 = randNote(rand);
notes[_local4].push(i + (beatTime * 2));
notes[_local4].push(i + (beatTime * 2.5));
notes[_local3].push(i + (beatTime * 3));
notes[_local3].push(i + (beatTime * 3.5));
soloLights(i);
}
function makeRandSoloShort(notenum, i, loops, rand) {
var _local4 = randNote(rand);
var _local3 = randNote(rand);
var _local7 = randNote(rand);
var _local6 = randNote(rand);
notes[_local4].push(i);
notes[_local4].push(i + (beatTime * 0.5));
notes[_local3].push(i + beatTime);
notes[_local3].push(i + (beatTime * 1.5));
soloLights(i);
}
function makeRecordedSolo(i) {
var _local2 = i;
notes[3].push((30 * beatTime) + _local2);
notes[1].push((31 * beatTime) + _local2);
notes[1].push((35.25 * beatTime) + _local2);
notes[2].push((35.5 * beatTime) + _local2);
notes[2].push((36.25 * beatTime) + _local2);
notes[3].push((36.75 * beatTime) + _local2);
notes[2].push((37.5 * beatTime) + _local2);
notes[1].push((38 * beatTime) + _local2);
notes[2].push((38.5 * beatTime) + _local2);
notes[1].push((39.5 * beatTime) + _local2);
notes[1].push((40 * beatTime) + _local2);
notes[2].push((40.5 * beatTime) + _local2);
notes[1].push((41.25 * beatTime) + _local2);
notes[2].push((41.75 * beatTime) + _local2);
notes[2].push((42.75 * beatTime) + _local2);
notes[2].push((43.25 * beatTime) + _local2);
notes[1].push((43.75 * beatTime) + _local2);
notes[2].push((44.25 * beatTime) + _local2);
notes[2].push((44.75 * beatTime) + _local2);
notes[2].push((45.25 * beatTime) + _local2);
notes[1].push((45.5 * beatTime) + _local2);
notes[1].push((46.25 * beatTime) + _local2);
notes[1].push((46.75 * beatTime) + _local2);
notes[1].push((47.25 * beatTime) + _local2);
notes[2].push((48 * beatTime) + _local2);
notes[2].push((48.5 * beatTime) + _local2);
notes[2].push((49 * beatTime) + _local2);
notes[3].push((50 * beatTime) + _local2);
notes[3].push((50.5 * beatTime) + _local2);
notes[3].push((51 * beatTime) + _local2);
notes[2].push((52 * beatTime) + _local2);
notes[2].push((52.5 * beatTime) + _local2);
notes[2].push((53 * beatTime) + _local2);
notes[1].push((54 * beatTime) + _local2);
notes[1].push((54.5 * beatTime) + _local2);
notes[1].push((55 * beatTime) + _local2);
notes[1].push((55.5 * beatTime) + _local2);
notes[1].push((56 * beatTime) + _local2);
notes[1].push((56.5 * beatTime) + _local2);
notes[1].push((57 * beatTime) + _local2);
notes[1].push((57.5 * beatTime) + _local2);
notes[2].push((58 * beatTime) + _local2);
notes[2].push((58.5 * beatTime) + _local2);
notes[2].push((59 * beatTime) + _local2);
notes[2].push((59.5 * beatTime) + _local2);
notes[2].push((60 * beatTime) + _local2);
notes[2].push((60.5 * beatTime) + _local2);
notes[2].push((61 * beatTime) + _local2);
notes[1].push((61.5 * beatTime) + _local2);
notes[3].push((62 * beatTime) + _local2);
notes[3].push((62.5 * beatTime) + _local2);
notes[1].push((63 * beatTime) + _local2);
notes[3].push((63.5 * beatTime) + _local2);
notes[3].push((64 * beatTime) + _local2);
notes[1].push((64.5 * beatTime) + _local2);
notes[3].push((65 * beatTime) + _local2);
notes[3].push((65.5 * beatTime) + _local2);
notes[1].push((66 * beatTime) + _local2);
notes[3].push((66.5 * beatTime) + _local2);
notes[3].push((67 * beatTime) + _local2);
notes[3].push((67.5 * beatTime) + _local2);
notes[2].push((68 * beatTime) + _local2);
notes[1].push((68.5 * beatTime) + _local2);
notes[1].push((69.5 * beatTime) + _local2);
notes[3].push((70 * beatTime) + _local2);
notes[3].push((70.5 * beatTime) + _local2);
notes[1].push((71 * beatTime) + _local2);
notes[3].push((71.5 * beatTime) + _local2);
notes[3].push((72 * beatTime) + _local2);
notes[1].push((72.5 * beatTime) + _local2);
notes[3].push((73 * beatTime) + _local2);
notes[3].push((73.5 * beatTime) + _local2);
notes[1].push((74 * beatTime) + _local2);
notes[3].push((74.5 * beatTime) + _local2);
notes[3].push((75 * beatTime) + _local2);
notes[3].push((75.5 * beatTime) + _local2);
notes[2].push((76 * beatTime) + _local2);
notes[1].push((76.5 * beatTime) + _local2);
notes[1].push((77.5 * beatTime) + _local2);
notes[3].push((78 * beatTime) + _local2);
notes[3].push((78.5 * beatTime) + _local2);
notes[1].push((79 * beatTime) + _local2);
notes[3].push((79.5 * beatTime) + _local2);
notes[1].push((80.5 * beatTime) + _local2);
notes[3].push((81 * beatTime) + _local2);
notes[3].push((81.5 * beatTime) + _local2);
notes[1].push((82 * beatTime) + _local2);
notes[3].push((82.5 * beatTime) + _local2);
notes[3].push((83 * beatTime) + _local2);
notes[3].push((83.5 * beatTime) + _local2);
notes[2].push((84 * beatTime) + _local2);
notes[1].push((84.5 * beatTime) + _local2);
notes[2].push((85.5 * beatTime) + _local2);
notes[2].push((86 * beatTime) + _local2);
notes[2].push((86.5 * beatTime) + _local2);
notes[2].push((87 * beatTime) + _local2);
notes[2].push((87.75 * beatTime) + _local2);
notes[2].push((88.25 * beatTime) + _local2);
notes[2].push((88.75 * beatTime) + _local2);
notes[3].push((89.25 * beatTime) + _local2);
notes[3].push((90.25 * beatTime) + _local2);
notes[3].push((90.75 * beatTime) + _local2);
notes[3].push((91.25 * beatTime) + _local2);
notes[3].push((91.75 * beatTime) + _local2);
notes[3].push((92.25 * beatTime) + _local2);
notes[3].push((93.25 * beatTime) + _local2);
}
function makeBigChord(notenum, i, loops) {
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(i, _local4, "setStrum", "flamboyant"));
var _local6 = i + Engine.PROGRESS_TIME;
if (loops == 0) {
notes[1].push(i);
} else if ((loops % 4) == 3) {
}
chilledLights(i);
}
function makeBigChord2(notenum, i, loops) {
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(i, _local4, "setStrum", "flamboyant"));
if (loops == 0) {
notes[2].push(i + (beatTime * 3.5));
notes[3].push(i + (beatTime * 3.5));
}
chilledLights(i);
}
function makeNothing(notenum, i) {
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
function introLights(i) {
var _local3 = i + Engine.PROGRESS_TIME;
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function chilledLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
}
function mainLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 5));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function verseLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "blue"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function chorusLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
function soloLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
var chorusBpm = 145.2;
var verseBpm = 150;
}
Symbol 1625 MovieClip [__Packages.TrackBeanius] Frame 0
class TrackBeanius extends Track
{
var name, songParts, azorLength, length, bpm, beatTime, notes, events, getSongPartTime, jumps;
function TrackBeanius () {
super();
}
function makeTrack(rand, isMultiplayer) {
name = "beanius";
songParts = [];
songParts.push({name:"intro", time:2000, func:makeIntroRiff});
songParts.push({name:"firstMainRiff", time:12469, func:makeMainRiff});
songParts.push({name:"firstVerse", time:23069, func:makeSlowVerseRiff});
songParts.push({name:"firstVerseFast", time:33634, func:makeFastVerseRiff});
songParts.push({name:"secondVerse", time:44141, func:makeSlowVerseRiff});
songParts.push({name:"secondVerseFast", time:54741, func:makeFastVerseRiff});
songParts.push({name:"secondMainRiff", time:65236, func:makeMainRiff});
songParts.push({name:"firstChorus", time:75813, func:makeChorusRiff});
songParts.push({name:"thirdMainRiff", time:128534, func:makeMainRiff});
songParts.push({name:"thirdVerse", time:86296, func:makeSlowVerseRiff});
songParts.push({name:"thirdVerseFast", time:96920, func:makeFastVerseRiff});
songParts.push({name:"fourthVerse", time:107308, func:makeSlowVerseRiff});
songParts.push({name:"fourthVerseFast", time:118038, func:makeFastVerseRiff});
songParts.push({name:"secondChorus", time:139099, func:makeChorusRiff});
songParts.push({name:"harmonyBit", time:149617, func:makeNoRiff});
songParts.push({name:"endRiff", time:160229, func:makeEndRiff});
songParts.push({name:"endRiff2", time:170689, func:makeEndRiff});
songParts.push({name:"endOfSong", time:202234, func:makeFinalRiff});
songParts.push({name:"fadeOut", time:181324, func:makeNoRiff});
songParts.push({name:"end", time:187.311, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local10 = songParts[songParts.length - 1].time;
var _local17 = 2000;
var _local8 = 2000 - Engine.PROGRESS_TIME;
var _local14 = -15000;
azorLength = _local10 + _local14;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + 2000;
bpm = 91;
beatTime = (60 / bpm) * 1000;
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
var _local7 = _global.root.gameAnimations;
var _local13 = _global.root.engine;
events.push(new TimedEvent(250, _local7, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, _local7, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, _local7, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("firstMainRiff"), _local7, "startCrowd"));
events.push(new TimedEvent(getSongPartTime("firstMainRiff") + (beatTime * 8), _local7, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("firstVerse") + (beatTime * 2), _local7, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("firstVerse") + (beatTime * 6), _local7, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("secondVerse") + (beatTime * 4), _local7, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("secondVerse") + (beatTime * 6), _local7, "doPose", "break2"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("secondVerseFast") - (beatTime * 2), _local13, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("secondVerseFast") + (beatTime * 2), _local7, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("firstChorus") - (beatTime * 1), _local7, "doCharacterAnim", "slideLeftToRight"));
events.push(new TimedEvent(getSongPartTime("thirdVerse") + (beatTime * 2), _local7, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("thirdVerse") + (beatTime * 8), _local7, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("thirdVerseFast") + (beatTime * 4), _local7, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("fourthVerseFast") - (beatTime * 2), _local13, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("thirdMainRiff"), _local7, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("thirdMainRiff") + (beatTime * 8), _local7, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("harmonyBit") + (beatTime * 2), _local13, "doFinale", ""));
}
events.push(new TimedEvent(getSongPartTime("harmonyBit") + (beatTime * 3), _local7, "doPose", "break3"));
events.push(new TimedEvent(getSongPartTime("harmonyBit") + (beatTime * 8), _local7, "doPose", "break4"));
events.push(new TimedEvent(getSongPartTime("endRiff"), _local7, "doSceneAnim", "mountain"));
events.push(new TimedEvent(getSongPartTime("endRiff") + (beatTime * 8), _local7, "doSceneAnim", "mountainToPlane"));
events.push(new TimedEvent(getSongPartTime("endRiff2"), _local7, "doSceneAnim", "PlaneToLightning"));
events.push(new TimedEvent(getSongPartTime("endRiff2") + (beatTime * 8), _local7, "doSceneAnim", "PlaneDown"));
events.push(new TimedEvent(getSongPartTime("fadeOut"), _local7, "doSceneAnim", "onFireToCrash"));
events.push(new TimedEvent(getSongPartTime("fadeOut"), _local7, "azorAloft"));
events.push(new TimedEvent(azorLength, _local7, "doAzorAd"));
events.push(new TimedEvent(azorLength + 100, _local7, "doAzorAd"));
events.push(new TimedEvent(azorLength + 200, _local7, "doAzorAd"));
events.push(new TimedEvent(azorLength + 300, _local7, "doAzorAd"));
events.push(new TimedEvent(azorLength + 400, _local7, "doAzorAd"));
if (!isMultiplayer) {
jumps.push(getSongPartTime("firstVerseFast") - (beatTime * 2));
}
if (!isMultiplayer) {
jumps.push(getSongPartTime("secondVerseFast") - (beatTime * 2));
}
var _local9;
var _local6;
var _local3;
var _local5;
_local6 = _local8;
while (_local6 < (_local10 + _local8)) {
_local9 = Math.ceil(rand() * 3);
_local5 = _local6 + Engine.PROGRESS_TIME;
var _local4;
_local3 = 0;
while (_local3 < (songParts.length - 1)) {
if ((_local5 >= songParts[_local3].time) && (_local5 < songParts[_local3 + 1].time)) {
_local4 = songParts[_local3];
break;
}
_local3++;
}
if (_local4) {
_local4.func.call(this, _local9, _local6);
}
_local6 = _local6 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function makeChorusRiff(notenum, i) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + (beatTime * 0.75));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.75));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.25));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 2.75));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.25));
notes[3].push(i + (beatTime * 3.5));
notes[3].push(i + (beatTime * 3.75));
chorusLights(i);
}
function makeFastVerseRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + (beatTime * 0.75));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
verseLights(i);
}
function makeNoRiff(notenum, i) {
}
function makeEndRiff(notenum, i) {
makeChorusRiff(notenum, i);
}
function makeFinalRiff(notenum, i) {
notes[1].push(i);
notes[3].push(i);
}
function makeIntroRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
introLights(i);
}
function makeMainRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
mainLights(i);
}
function makeSlowVerseRiff(notenum, i) {
var _local2;
if (notenum == 1) {
_local2 = 2;
} else if (notenum == 2) {
_local2 = 3;
} else if (notenum == 3) {
_local2 = 1;
}
notes[notenum].push(i);
notes[_local2].push(i);
chilledLights(i);
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
function introLights(i) {
var _local3 = i + Engine.PROGRESS_TIME;
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function chilledLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
}
function mainLights(i) {
var _local3 = _global.root.gameAnimations;
events.push(new TimedEvent(iLight, _local3, "changeLightColour", "red"));
var iLight = (i + Engine.PROGRESS_TIME);
events.push(new TimedEvent(iLight, _local3, "flashLight", 1));
events.push(new TimedEvent(iLight, _local3, "flashLight", 5));
events.push(new TimedEvent(iLight + (beatTime * 0.25), _local3, "flashLight", 2));
events.push(new TimedEvent(iLight + (beatTime * 0.5), _local3, "flashLight", 3));
events.push(new TimedEvent(iLight + (beatTime * 0.75), _local3, "flashLight", 4));
events.push(new TimedEvent(iLight + (beatTime * 1), _local3, "flashLight", 1));
events.push(new TimedEvent(iLight + (beatTime * 1.25), _local3, "flashLight", 2));
events.push(new TimedEvent(iLight + (beatTime * 1.5), _local3, "flashLight", 3));
events.push(new TimedEvent(iLight + (beatTime * 1.75), _local3, "flashLight", 4));
events.push(new TimedEvent(iLight + (beatTime * 2), _local3, "flashLight", 1));
events.push(new TimedEvent(iLight + (beatTime * 2.25), _local3, "flashLight", 2));
events.push(new TimedEvent(iLight + (beatTime * 2.5), _local3, "flashLight", 3));
events.push(new TimedEvent(iLight + (beatTime * 2.75), _local3, "flashLight", 4));
events.push(new TimedEvent(iLight + (beatTime * 3), _local3, "flashLight", 1));
events.push(new TimedEvent(iLight + (beatTime * 3.25), _local3, "flashLight", 2));
events.push(new TimedEvent(iLight + (beatTime * 3.5), _local3, "flashLight", 3));
events.push(new TimedEvent(iLight + (beatTime * 3.75), _local3, "flashLight", 4));
}
function verseLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "blue"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function chorusLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "green"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
}
Symbol 1626 MovieClip [__Packages.TrackWildhearts] Frame 0
class TrackWildhearts extends Track
{
var name, bpm, beatTime, songParts, azorLength, length, getSongPartTime, notes, events, jumps;
function TrackWildhearts () {
super();
}
function randNote(rand) {
var _local1;
_local1 = Math.ceil(rand() * 3);
return(_local1);
}
function makeTrack(rand, isMultiplayer) {
name = "wildhearts";
var _local6 = _global.root.gameAnimations;
bpm = 138;
beatTime = (60 / bpm) * 1000;
songParts = [];
songParts.push({name:"intro", time:177, func:makeNothing});
songParts.push({name:"introRiff", time:2000, func:makeIntroRiff});
songParts.push({name:"mainRiff1", time:8951, func:makeMainRiff});
songParts.push({name:"firstVerse", time:15876, func:makeVerseRiff});
songParts.push({name:"firstVerseShort", time:28084, func:makeVerseShortRiff, timeadjust:beatTime * -2});
songParts.push({name:"mainRiff2", time:28887, func:makeMainRiff});
songParts.push({name:"secondVerseStart", time:35822, func:makeVerseRiff});
songParts.push({name:"secondVerseShort", time:48818 - (beatTime * 2), func:makeVerseShortRiff, timeadjust:beatTime * -2});
songParts.push({name:"mainRiff3", time:48818, func:makeMainRiff});
songParts.push({name:"mainRiff3Short", time:48818 + (beatTime * 8), func:makeMainRiffShort});
songParts.push({name:"chorusFast1", time:55887, func:makeChorusRiff});
songParts.push({name:"chorusSlow1", time:69748, func:makeChorusSlowRiff});
songParts.push({name:"break2", time:83664, func:makeNothing});
songParts.push({name:"mainRiff4", time:85417, func:makeMainRiff});
songParts.push({name:"thirdVerse", time:92241, func:makeVerseRiff});
songParts.push({name:"thirdVerseShort", time:108952 - (beatTime * 2), func:makeVerseShortRiff, timeadjust:beatTime * -2});
songParts.push({name:"secondChorus", time:108952, func:makeChorusRiff});
songParts.push({name:"secondChorusSlow", time:122682, func:makeChorusSlowRiff});
songParts.push({name:"secondChorusSpeedUp", time:129779, func:makeChorusSlowRiff});
songParts.push({name:"secondChorusEnd", time:136806, func:makeNothing, timeadjust:beatTime * 2});
songParts.push({name:"fourthVerseRiff", time:138460, func:makeMainRiff});
songParts.push({name:"fourthVerseBridge", time:145426, func:makeVerseBridge2});
songParts.push({name:"fourthVerse", time:152350, func:makeVerseRiff});
songParts.push({name:"bridgeSlowDown", time:162806, func:makeSlowDown});
songParts.push({name:"bridgeSustain", time:164681, func:makeNothing});
songParts.push({name:"outro", time:171386, func:makeOutroRiff});
songParts.push({name:"outroDrums", time:197416, func:makeOutroRiff});
songParts.push({name:"outroFast", time:223631, func:makeOutroRedRiff});
songParts.push({name:"outroFaster", time:249637, func:makeOutroRedRiff});
songParts.push({name:"finalPart", time:256246, func:makeFinalChords});
songParts.push({name:"finalPart", time:261140});
songParts.push({name:"finalPartSustain", time:261140});
songParts.push({name:"fadeOut", time:262040, func:makeNothing});
songParts.push({name:"end", time:274459, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local14 = songParts[songParts.length - 1].time;
var _local18 = 2000;
var _local10 = 2000 - Engine.PROGRESS_TIME;
var _local17 = -6000;
azorLength = _local14 + _local17;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + _local18;
var _local9;
_local9 = getSongPartTime("thirdVerse") - _local10;
if (!_local9) {
_local9 = 0;
}
_local9 = 0;
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
_local6 = _global.root.gameAnimations;
var _local16 = _global.root.engine;
events.push(new TimedEvent(250, _local6, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, _local6, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, _local6, "setStrum", "fast"));
events.push(new TimedEvent(136700, _local6, "doPose", "break2"));
events.push(new TimedEvent(getSongPartTime("introRiff") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("mainRiff1") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("mainRiff1"), _local6, "startCrowd"));
events.push(new TimedEvent(getSongPartTime("mainRiff1") + (beatTime * 6), _local6, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("firstVerse") + (beatTime * 4), _local6, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("mainRiff2"), _local16, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("mainRiff2") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("secondVerseStart") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("secondVerseStart") + (beatTime * 6), _local6, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("mainRiff3") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromLeftToCentre"));
if (!isMultiplayer) {
jumps.push(getSongPartTime("chorusFast1") - (beatTime * 3));
}
events.push(new TimedEvent(getSongPartTime("chorusFast1"), _local6, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("chorusFast1") + (beatTime * 6), _local6, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("chorusSlow1") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("chorusSlow1") + (beatTime * 6), _local6, "doCharacterAnim", "climbLeftAmp"));
events.push(new TimedEvent(getSongPartTime("chorusSlow1") + (beatTime * 14), _local6, "doCharacterAnim", "jumpOffLeftAmpToCentre"));
events.push(new TimedEvent(getSongPartTime("break2") + (beatTime * 3), _local6, "doPose", "break2"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("break2"), _local16, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("thirdVerse"), _local6, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("secondChorus") + (beatTime * 2), _local6, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("secondChorus") + (beatTime * 6), _local6, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("secondChorus") + (beatTime * 10), _local6, "doCharacterAnim", "walkFromRightToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("secondChorusEnd"), _local16, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("secondChorusEnd") + (beatTime * 3), _local6, "doPose", "break2"));
if (!isMultiplayer) {
jumps.push(getSongPartTime("fourthVerseRiff") - (beatTime * 3));
}
events.push(new TimedEvent(getSongPartTime("bridgeSlowDown"), _local6, "setStrum", "atmos"));
events.push(new TimedEvent(getSongPartTime("bridgeSustain"), _local6, "setStrum", "flamboyant"));
events.push(new TimedEvent(getSongPartTime("outro"), _local6, "setStrum", "chug"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("outro"), _local16, "doFinale", ""));
}
events.push(new TimedEvent(getSongPartTime("outroFast"), _local6, "doSceneAnim", "goGoGodzilla"));
events.push(new TimedEvent(getSongPartTime("outroFast"), _local6, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("outroFast") + (beatTime * 8), _local6, "doSceneAnim", "godzillaFireLeft"));
events.push(new TimedEvent(getSongPartTime("outroFast") + (beatTime * 12), _local6, "doSceneAnim", "godzillaFireRight"));
events.push(new TimedEvent(getSongPartTime("outroFast") + (beatTime * 16), _local6, "doSceneAnim", "citiesOnFlame"));
events.push(new TimedEvent(getSongPartTime("outroFaster") + (beatTime * 8), _local6, "doSceneAnim", "cueRobot"));
events.push(new TimedEvent(getSongPartTime("finalPart"), _local6, "doSceneAnim", "robotAttack"));
events.push(new TimedEvent(getSongPartTime("finalPartSustain") - (beatTime * 2), _local6, "doSceneAnim", "whiteOut"));
events.push(new TimedEvent(getSongPartTime("finalPartSustain"), _local6, "azorAloft"));
events.push(new TimedEvent(azorLength, _local6, "doAzorAd"));
events.push(new TimedEvent(azorLength + 100, _local6, "doAzorAd"));
events.push(new TimedEvent(azorLength + 200, _local6, "doAzorAd"));
events.push(new TimedEvent(azorLength + 300, _local6, "doAzorAd"));
events.push(new TimedEvent(azorLength + 400, _local6, "doAzorAd"));
var _local11;
var _local5;
var _local4;
var _local7;
var _local8 = -1;
var _local3;
var _local12;
_local5 = _local10 + _local9;
while (_local5 < (_local14 + _local10)) {
_local11 = Math.ceil(rand() * 3);
_local7 = _local5 + Engine.PROGRESS_TIME;
_local4 = 0;
while (_local4 < (songParts.length - 1)) {
if ((_local7 >= songParts[_local4].time) && (_local7 < songParts[_local4 + 1].time)) {
_local3 = songParts[_local4];
break;
}
_local4++;
}
if (_local3 != _local12) {
_local12 = _local3;
_local8 = 0;
} else {
_local8++;
}
if (_local3) {
if (_local3.func) {
_local3.func.call(this, _local11, _local5 - _local9, _local8, rand);
}
}
if (_local3.timeadjust) {
_local5 = _local5 + _local3.timeadjust;
}
_local5 = _local5 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function changeBpm(b) {
bpm = b;
beatTime = (60 / bpm) * 1000;
}
function makeNothing() {
}
function makeVerseBridge(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[2].push(i);
notes[3].push(i);
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[2].push(i);
}
chilledLights(i);
}
function makeVerseBridge2(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[2].push(i);
notes[3].push(i);
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[2].push(i);
}
var _local5 = _global.root.gameAnimations;
chilledLights(i);
}
function makeFinalChords(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[2].push(i);
notes[3].push(i);
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[2].push(i);
} else if ((loops % 4) == 2) {
notes[2].push(i);
notes[3].push(i);
} else if ((loops % 4) == 3) {
notes[1].push(i);
notes[3].push(i);
}
chilledLights(i);
}
function makeSlowDown(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[2].push(i);
notes[3].push(i);
notes[1].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2));
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[3].push(i);
}
chilledLights(i, "blue");
}
function makeVerseUpRiff() {
}
function makeBigChord(notenum, i, loops) {
notes[1].push(i);
notes[3].push(i);
chilledLights(i);
}
function makeIntroRiff(notenum, i, loops) {
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(i - beatTime, _local4, "setStrum", "fast"));
if ((loops % 2) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2.25));
notes[2].push(i + (beatTime * 2.75));
} else if ((loops % 2) == 1) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
}
introLights(i);
}
function makeMainRiff(notenum, i, loops) {
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(i - (beatTime * 0.25), _local4, "setStrum", "fast"));
if ((loops % 2) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2.25));
notes[2].push(i + (beatTime * 2.75));
} else if ((loops % 2) == 1) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
}
mainLights(i);
}
function makeMainRiffShort(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2.25));
notes[2].push(i + (beatTime * 2.75));
} else if ((loops % 2) == 1) {
notes[1].push(i);
notes[2].push(i);
}
mainLights(i);
}
function makeChorusSlowRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[1].push(i);
notes[2].push(i);
} else if ((loops % 2) == 1) {
notes[2].push(i);
notes[3].push(i);
}
chorusLights(i);
}
function makeChorusRiff(notenum, i, loops) {
events.push(new TimedEvent(i - (beatTime * 0.2), gameAnimations, "setStrum", "fast"));
if ((loops % 4) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 2) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 3) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
}
var gameAnimations = _global.root.gameAnimations;
chorusLights(i);
}
function makeVerseShortRiff(notenum, i, loops) {
notes[1].push(i);
notes[1].push(i + beatTime);
verseLights(i);
}
function makeVerseStartRiff(notenum, i, loops) {
notes[2].push(i);
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
verseLights(i);
}
function makeVerseRiff(notenum, i, loops) {
var _local5 = _global.root.gameAnimations;
events.push(new TimedEvent(i - (beatTime * 0.25), _local5, "setStrum", "power"));
if ((loops % 4) == 0) {
notes[2].push(i);
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
} else if ((loops % 4) == 1) {
notes[3].push(i);
notes[3].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
} else if ((loops % 4) == 2) {
notes[2].push(i);
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
} else if ((loops % 4) == 3) {
notes[1].push(i);
notes[1].push(i + beatTime);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
}
verseLights(i);
}
function makeOutroRedRiff(notenum, i, loops) {
if ((loops % 8) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 1) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 2) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 3) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 4) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 5) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 6) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 7) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
}
soloLights(i);
}
function makeOutroRiff(notenum, i, loops) {
changeBpm(147);
if ((loops % 8) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 1) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 2) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 3) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 4) {
notes[2].push(i);
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 5) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 6) {
notes[3].push(i);
notes[3].push(i + (beatTime * 0.5));
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2.5));
notes[3].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3.5));
} else if ((loops % 8) == 7) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
}
chilledLights(i);
}
function makeRiff(notenum, i, loops) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + (beatTime * 0.75));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
var _local5 = _global.root.gameAnimations;
mainLights(i);
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
function introLights(i) {
var _local3 = i + Engine.PROGRESS_TIME;
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function chilledLights(i, colour) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
if (!colour) {
colour = "purple";
}
events.push(new TimedEvent(_local3, _local4, "changeLightColour", colour));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
}
function mainLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 5));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function verseLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "blue"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function chorusLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "green"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
function soloLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "orange"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
}
Symbol 1627 MovieClip [__Packages.TrackElectric6] Frame 0
class TrackElectric6 extends Track
{
var name, bpm, beatTime, songParts, azorLength, length, notes, events, getSongPartTime, jumps;
function TrackElectric6 () {
super();
}
function randNote(rand) {
var _local1;
_local1 = Math.ceil(rand() * 3);
return(_local1);
}
function makeTrack(rand, isMultiplayer) {
name = "electric6";
bpm = 62;
beatTime = (60 / bpm) * 1000;
songParts = [];
songParts.push({name:"start", time:2000, func:makeIntroRiff});
songParts.push({name:"introRiff", time:9647, func:make1stBigRiff});
songParts.push({name:"firstVerse", time:17391, func:makeVerseRiff});
songParts.push({name:"secondVerse", time:32925, func:makeVerseRiff});
songParts.push({name:"bigRiff", time:44512, func:makeBigRiff});
songParts.push({name:"thirdVerse", time:59807, func:makeVerseRiff});
songParts.push({name:"duet", time:73270, func:makeNoRiff});
songParts.push({name:"fourthVerse", time:75418, func:makeElectricRiff});
songParts.push({name:"bigRiff2", time:87023, func:makeBigRiff});
songParts.push({name:"bridge", time:98696, func:makeBridgeRiff});
songParts.push({name:"soloKickIn", time:110389, func:makeRecordedSolo1});
songParts.push({name:"postSoloTimeAdjust", time:122737 - (beatTime * 4), doNotOverwrite:true, func:makeNoRiff, timeadjust:beatTime * -2});
songParts.push({name:"claps", time:122737, func:makeIntroRiff});
songParts.push({name:"louderRiff", time:131633, func:makeBigRiffPlusSolo});
songParts.push({name:"fifthVerse", time:154737, func:makeMainRiff});
songParts.push({name:"brass", time:170306, func:makeBigRiff});
songParts.push({name:"screamyBit", time:182729, func:makeMainRiff});
songParts.push({name:"endScreamyBit", time:193611, func:makeMainRiffHell});
songParts.push({name:"endOfGuitar", time:206663, func:makeNoRiff});
songParts.push({name:"fadeOut", time:214668, func:makeNoRiff});
songParts.push({name:"end", time:222540, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local8 = 0;
while (_local8 < songParts.length) {
_local8++;
}
var _local15 = songParts[songParts.length - 1].time;
var _local23 = 2000;
var _local11 = 2000 - Engine.PROGRESS_TIME;
var _local18 = -4500;
azorLength = _local15 + _local18;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + 2000;
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
var _local9 = _global.root.gameAnimations;
var _local16 = _global.root.engine;
events.push(new TimedEvent(250, _local9, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, _local9, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, _local9, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("introRiff"), _local9, "startCrowd"));
events.push(new TimedEvent(getSongPartTime("firstVerse") + beatTime, _local9, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("secondVerse") + (beatTime * 2), _local9, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("secondVerse") + (beatTime * 6), _local9, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("bigRiff") + (beatTime * 4), _local9, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("thirdVerse") - (beatTime * 2), _local16, "swapActivePlayer", ""));
}
events.push(new TimedEvent(getSongPartTime("thirdVerse"), _local9, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("bigRiff2"), _local9, "doCharacterAnim", "slideLeftToRight"));
events.push(new TimedEvent(getSongPartTime("bigRiff2") + (beatTime * 8), _local9, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("bridge"), _local9, "doCharacterAnim", "walkFromCentreToLeft"));
if (!isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("bridge") + (beatTime * 4), _local9, "doCharacterAnim", "walkFromLeftToCentre"));
}
events.push(new TimedEvent(getSongPartTime("claps") - (beatTime * 6), _local9, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("claps") + (beatTime * 2), _local9, "doCharacterAnim", "walkFromLeftToCentre"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("claps"), _local16, "swapActivePlayer", ""));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("fifthVerse"), _local16, "swapActivePlayer", ""));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("screamyBit"), _local16, "doFinale", ""));
}
events.push(new TimedEvent(getSongPartTime("screamyBit"), _local9, "doSceneAnim", "elevatorUp"));
events.push(new TimedEvent(getSongPartTime("screamyBit") + (beatTime * 4), _local9, "doSceneAnim", "elevatorDown"));
events.push(new TimedEvent(getSongPartTime("endScreamyBit"), _local9, "doSceneAnim", "enterHell"));
events.push(new TimedEvent(getSongPartTime("endOfGuitar") + (beatTime * 4), _local9, "azorAloft"));
events.push(new TimedEvent(azorLength, _local9, "doAzorAd"));
events.push(new TimedEvent(azorLength + 100, _local9, "doAzorAd"));
events.push(new TimedEvent(azorLength + 200, _local9, "doAzorAd"));
events.push(new TimedEvent(azorLength + 300, _local9, "doAzorAd"));
events.push(new TimedEvent(azorLength + 400, _local9, "doAzorAd"));
var _local12;
var _local6;
var _local3;
var _local7;
var _local10 = -1;
var _local5;
var _local13;
_local6 = _local11;
while (_local6 < (_local15 + _local11)) {
_local12 = Math.ceil(rand() * 3);
_local7 = _local6 + Engine.PROGRESS_TIME;
_local3 = 0;
while (_local3 < (songParts.length - 1)) {
if ((_local7 >= songParts[_local3].time) && (_local7 < songParts[_local3 + 1].time)) {
_local5 = songParts[_local3];
break;
}
_local3++;
}
events.push(new TimedEvent(_local6, _global.root.engine, "showTrackSection", _local5.name));
if (_local5.resetToStart) {
_local5.resetToStart = false;
_local6 = _local5.time - Engine.PROGRESS_TIME;
_local7 = _local6 + Engine.PROGRESS_TIME;
}
if (_local5.wipeNotes) {
}
if (_local5 != _local13) {
var _local4 = 0;
if (!_local5.doNotOverwrite) {
_local3 = 1;
while (_local3 <= 3) {
_local4 = 0;
while (_local4 < notes[_local3].length) {
if (notes[_local3][_local4] > _local6) {
notes[_local3].length = _local4 - 1;
break;
}
_local4++;
}
_local3++;
}
}
_local13 = _local5;
_local10 = 0;
} else {
_local10++;
}
if (_local5.timeadjust) {
_local6 = _local6 + _local5.timeadjust;
delete _local5.timeadjust;
}
if (_local5) {
_local5.func.call(this, _local12, _local6, _local10, rand);
}
_local6 = _local6 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function makeNoRiff(notenum, i) {
}
function makeRecordedSolo1(notenum, i, loops) {
if (loops == 0) {
var _local3 = i - (beatTime * 4);
notes[1].push((4.25 * beatTime) + _local3);
notes[2].push((4.5 * beatTime) + _local3);
notes[2].push((4.75 * beatTime) + _local3);
notes[2].push((5 * beatTime) + _local3);
notes[1].push((5.5 * beatTime) + _local3);
notes[2].push((5.75 * beatTime) + _local3);
notes[3].push((6 * beatTime) + _local3);
notes[2].push((6.5 * beatTime) + _local3);
notes[2].push((6.75 * beatTime) + _local3);
notes[1].push((7.25 * beatTime) + _local3);
notes[2].push((7.5 * beatTime) + _local3);
notes[2].push((7.75 * beatTime) + _local3);
notes[3].push((8 * beatTime) + _local3);
notes[3].push((8.25 * beatTime) + _local3);
notes[3].push((8.5 * beatTime) + _local3);
notes[2].push((8.75 * beatTime) + _local3);
notes[2].push((9 * beatTime) + _local3);
notes[1].push((9.5 * beatTime) + _local3);
notes[2].push((10 * beatTime) + _local3);
notes[3].push((10.25 * beatTime) + _local3);
notes[3].push((10.5 * beatTime) + _local3);
notes[2].push((10.75 * beatTime) + _local3);
notes[1].push((11 * beatTime) + _local3);
notes[2].push((11.25 * beatTime) + _local3);
notes[2].push((11.5 * beatTime) + _local3);
notes[2].push((11.75 * beatTime) + _local3);
notes[3].push((12 * beatTime) + _local3);
notes[2].push((12.25 * beatTime) + _local3);
notes[2].push((12.5 * beatTime) + _local3);
notes[2].push((12.75 * beatTime) + _local3);
notes[2].push((13 * beatTime) + _local3);
notes[2].push((13.5 * beatTime) + _local3);
notes[2].push((13.75 * beatTime) + _local3);
notes[3].push((14 * beatTime) + _local3);
}
}
function makeRecordedSolo2(notenum, i) {
var _local2 = i - (beatTime * 8);
notes[1].push((7.75 * beatTime) + _local2);
notes[2].push((8 * beatTime) + _local2);
notes[3].push((9.75 * beatTime) + _local2);
notes[1].push((12.5 * beatTime) + _local2);
notes[2].push((13 * beatTime) + _local2);
notes[3].push((13.25 * beatTime) + _local2);
notes[2].push((13.75 * beatTime) + _local2);
notes[3].push((14.25 * beatTime) + _local2);
notes[2].push((14.5 * beatTime) + _local2);
notes[1].push((14.75 * beatTime) + _local2);
notes[3].push((16 * beatTime) + _local2);
notes[2].push((16.5 * beatTime) + _local2);
notes[2].push((17 * beatTime) + _local2);
notes[3].push((18.25 * beatTime) + _local2);
notes[2].push((18.5 * beatTime) + _local2);
notes[3].push((18.75 * beatTime) + _local2);
notes[2].push((19 * beatTime) + _local2);
notes[1].push((19.25 * beatTime) + _local2);
notes[1].push((19.5 * beatTime) + _local2);
notes[2].push((19.75 * beatTime) + _local2);
notes[1].push((20 * beatTime) + _local2);
notes[3].push((20.5 * beatTime) + _local2);
notes[2].push((21 * beatTime) + _local2);
notes[2].push((21.5 * beatTime) + _local2);
notes[1].push((21.75 * beatTime) + _local2);
}
function makeFinalRiff(notenum, i) {
notes[1].push(i);
notes[3].push(i);
}
function makeRandSolo(notenum, i, loops, rand) {
var _local7 = randNote(rand);
var _local6 = randNote(rand);
var _local5 = randNote(rand);
var _local4 = randNote(rand);
notes[_local7].push(i);
notes[_local7].push(i + (beatTime * 0.25));
notes[_local6].push(i + (beatTime * 0.5));
notes[_local6].push(i + (beatTime * 0.75));
notes[_local5].push(i + beatTime);
notes[_local5].push(i + (beatTime * 1.25));
notes[_local4].push(i + (beatTime * 1.5));
notes[_local4].push(i + (beatTime * 1.75));
notes[_local7].push(i + (beatTime * 2));
notes[_local7].push(i + (beatTime * 2.25));
notes[_local6].push(i + (beatTime * 2.5));
notes[_local6].push(i + (beatTime * 2.75));
notes[_local5].push(i + (beatTime * 3));
notes[_local5].push(i + (beatTime * 3.25));
notes[_local4].push(i + (beatTime * 3.5));
notes[_local4].push(i + (beatTime * 3.75));
var _local9 = _global.root.gameAnimations;
soloLights(i);
}
function makeIntroRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
}
introLights(i);
}
function make1stBigRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
}
mainLights(i);
}
function makeMainRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
}
chorusLights(i);
}
function makeMainRiffHell(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
}
soloLights(i);
}
function makeBridgeRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i);
notes[2].push(i + (beatTime * 0.25));
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2));
} else if ((loops % 2) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i);
notes[2].push(i + (beatTime * 0.25));
notes[2].push(i + (beatTime * 0.5));
notes[1].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2));
}
chilledLights(i);
}
function makeBridgeRiffPlusSolo(notenum, i, loops) {
if (loops == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i);
notes[2].push(i + (beatTime * 0.25));
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 2));
makeRecordedSolo1(i);
chilledLights(i);
} else {
soloLights(i);
}
notes[1].sort(Array.NUMERIC);
notes[2].sort(Array.NUMERIC);
notes[3].sort(Array.NUMERIC);
}
function makeElectricRiff(notenum, i, loops, rand) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
}
chilledLights(i);
}
function makeBigRiff(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
notes[2].push(i + (beatTime * 2.75));
notes[3].push(i + (beatTime * 2.75));
notes[2].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
notes[2].push(i + (beatTime * 3.25));
notes[1].push(i + (beatTime * 3.5));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
notes[2].push(i + (beatTime * 2.75));
notes[3].push(i + (beatTime * 2.75));
notes[2].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
notes[2].push(i + (beatTime * 3.25));
notes[1].push(i + (beatTime * 3.5));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
notes[2].push(i + (beatTime * 2.75));
notes[3].push(i + (beatTime * 2.75));
notes[2].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
notes[2].push(i + (beatTime * 3.25));
notes[1].push(i + (beatTime * 3.5));
notes[2].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 3) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
}
mainLights(i);
}
function makeBigRiffPlusSolo(notenum, i, loops) {
if (loops == 0) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
notes[2].push(i + (beatTime * 2.75));
notes[3].push(i + (beatTime * 2.75));
notes[2].push(i + (beatTime * 3));
notes[3].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
notes[2].push(i + (beatTime * 3.25));
notes[1].push(i + (beatTime * 3.5));
notes[2].push(i + (beatTime * 3.5));
} else if (loops == 1) {
notes[1].push(i);
notes[1].push(i + (beatTime * 0.25));
notes[1].push(i + (beatTime * 0.5));
notes[2].push(i + beatTime);
notes[2].push(i + (beatTime * 1.25));
notes[2].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 1.75));
} else if (loops == 2) {
makeRecordedSolo2(notenum, i);
} else if (loops == 3) {
} else if (loops == 4) {
}
notes[1].sort(Array.NUMERIC);
notes[2].sort(Array.NUMERIC);
notes[3].sort(Array.NUMERIC);
mainLights(i);
}
function makeVerseRiff(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
} else if ((loops % 4) == 2) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 3) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
}
verseLights(i);
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
function introLights(i) {
var _local3 = i + Engine.PROGRESS_TIME;
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function chilledLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
}
function mainLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 5));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function soloLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
function verseLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "blue"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function chorusLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "green"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
}
Symbol 1628 MovieClip [__Packages.TrackDeadPetals] Frame 0
class TrackDeadPetals extends Track
{
var name, songParts, beatTime, azorLength, length, bpm, notes, events, getSongPartTime, jumps;
function TrackDeadPetals () {
super();
}
function randNote(rand) {
var _local1;
_local1 = Math.ceil(rand() * 3);
return(_local1);
}
function makeTrack(rand, isMultiplayer) {
function test(t) {
return(t + 1);
}
var _local20 = 0;
name = "deadPetals";
songParts = [];
songParts.push({name:"intro", time:2000, func:makeIntroRiff});
songParts.push({name:"introDrums", time:11720, func:undefined});
songParts.push({name:"mainRiff1", time:13119, func:makeMainRiff, resetToStart:true});
songParts.push({name:"firstVerseSolo", time:35073, func:makeSolo1});
songParts.push({name:"rhythm1", time:46125, func:makeRhythm, resetToStart:true});
songParts.push({name:"firstVerseSolo2", time:68278, func:makeRhythm, resetToStart:true});
songParts.push({name:"firstChorus", time:90250, func:makeMainRiff, resetToStart:true});
songParts.push({name:"firstChorusPartTwo", time:101308, func:makeMainRiff, resetToStart:true});
songParts.push({name:"secondVerseSolo1", time:112431, func:makeSolo2, resetToStart:true});
songParts.push({name:"rhythm2", time:123472, func:makeRhythm, resetToStart:true});
songParts.push({name:"secondVerseSolo2", time:145484, func:makeRhythm, resetToStart:true});
songParts.push({name:"secondChorus", time:167591, func:makeMainRiff, resetToStart:true});
songParts.push({name:"break1", time:188279, func:makeBreakPlusSolo, resetToStart:true});
songParts.push({name:"finalChorus", time:214440, func:makeMainRiff, resetToStart:true});
songParts.push({name:"break2", time:235160, func:makeBreak, resetToStart:true});
songParts.push({name:"lastChords", time:239420, func:makeLastChords, resetToStart:true});
songParts.push({name:"end", time:240116, func:makeNoRiff});
songParts.push({name:"end" + (beatTime * 4), time:241116, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local13 = songParts[songParts.length - 1].time;
var _local17 = 2000;
var _local9 = 2000 - Engine.PROGRESS_TIME;
var _local15 = -2000;
azorLength = (_local13 + _local15) + 2000;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + 2000;
length = length + 2000;
bpm = 87;
beatTime = (60 / bpm) * 1000;
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
var gameAnimations = _global.root.gameAnimations;
var _local14 = _global.root.engine;
events.push(new TimedEvent(250, gameAnimations, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, gameAnimations, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, gameAnimations, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("mainRiff1"), gameAnimations, "startCrowd"));
events.push(new TimedEvent(getSongPartTime("mainRiff1") + beatTime, gameAnimations, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("firstVerseSolo") + (beatTime * 2), gameAnimations, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("rhythm1") + (beatTime * 6), gameAnimations, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("firstVerseSolo2") + (beatTime * 4), gameAnimations, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("firstChorus") + (beatTime * 2), gameAnimations, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("firstChorusPartTwo") - (beatTime * 1), gameAnimations, "doCharacterAnim", "slideLeftToRight"));
events.push(new TimedEvent(getSongPartTime("secondVerseSolo1") + (beatTime * 2), gameAnimations, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("rhythm2") + (beatTime * 8), gameAnimations, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("secondVerseSolo2") + (beatTime * 12), gameAnimations, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("secondChorus"), gameAnimations, "doCharacterAnim", "walkFromCentreToLeft"));
events.push(new TimedEvent(getSongPartTime("break1") + (beatTime * 16), gameAnimations, "doCharacterAnim", "walkFromLeftToCentre"));
events.push(new TimedEvent(getSongPartTime("finalChorus"), gameAnimations, "doSceneAnim", "teleporter"));
events.push(new TimedEvent(getSongPartTime("finalChorus") + (beatTime * 4), gameAnimations, "doSceneAnim", "beamUpToRocket"));
events.push(new TimedEvent(getSongPartTime("finalChorus") + (beatTime * 10), gameAnimations, "doSceneAnim", "crashRocket"));
events.push(new TimedEvent(getSongPartTime("finalChorus") + (beatTime * 24), gameAnimations, "doSceneAnim", "hitMoon"));
events.push(new TimedEvent(getSongPartTime("finalChorus") + ((beatTime * 24) + 1), gameAnimations, "doCharacterAnim", "walkFromCentreToRight"));
events.push(new TimedEvent(getSongPartTime("finalChorus") + (beatTime * 30), gameAnimations, "doCharacterAnim", "walkFromRightToCentre"));
events.push(new TimedEvent(getSongPartTime("lastChords") + (beatTime * 2), gameAnimations, "azorAloft"));
events.push(new TimedEvent(azorLength, gameAnimations, "doAzorAd"));
events.push(new TimedEvent(azorLength + 100, gameAnimations, "doAzorAd"));
events.push(new TimedEvent(azorLength + 200, gameAnimations, "doAzorAd"));
events.push(new TimedEvent(azorLength + 300, gameAnimations, "doAzorAd"));
events.push(new TimedEvent(azorLength + 400, gameAnimations, "doAzorAd"));
events.push(new TimedEvent(songParts.endOfSong, this, "endSong"));
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("firstChorus") - beatTime, _local14, "swapActivePlayer", ""));
} else {
jumps.push(getSongPartTime("firstChorus") - (beatTime * 2));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("secondChorus") - beatTime, _local14, "swapActivePlayer", ""));
} else {
jumps.push(getSongPartTime("secondChorus") - (beatTime * 2));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("guitarSolo2"), _local14, "swapActivePlayer", ""));
}
if (isMultiplayer) {
events.push(new TimedEvent(getSongPartTime("finalChorus"), _local14, "doFinale", ""));
}
var _local10;
var _local6;
var _local3;
var _local7;
var _local8 = -1;
var _local5;
var _local11;
_local6 = _local9;
while (_local6 < (_local13 + _local9)) {
_local10 = Math.ceil(rand() * 3);
_local7 = _local6 + Engine.PROGRESS_TIME;
_local3 = 0;
while (_local3 < (songParts.length - 1)) {
if ((_local7 >= songParts[_local3].time) && (_local7 < songParts[_local3 + 1].time)) {
_local5 = songParts[_local3];
break;
}
_local3++;
}
if (_local5.resetToStart) {
_local5.resetToStart = false;
_local6 = _local5.time - Engine.PROGRESS_TIME;
_local7 = _local6 + Engine.PROGRESS_TIME;
}
if (_local5.wipeNotes) {
}
if (_local5 != _local11) {
var _local4 = 0;
_local3 = 1;
while (_local3 <= 3) {
_local4 = 0;
while (_local4 < notes[_local3].length) {
if (notes[_local3][_local4] > _local6) {
notes[_local3].length = _local4 - 1;
break;
}
_local4++;
}
_local3++;
}
_local11 = _local5;
_local8 = 0;
} else {
_local8++;
}
if (_local5) {
_local5.func.call(this, _local10, _local6, _local8, rand);
}
_local6 = _local6 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function makeNoRiff() {
}
function makeBreakPlusSolo(notenum, i, loops) {
if (loops == 0) {
makeRecordedSolo(i);
}
if (loops == 0) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 3));
}
notes[1].sort(Array.NUMERIC);
notes[2].sort(Array.NUMERIC);
notes[3].sort(Array.NUMERIC);
chilledLights(i);
}
function makeBreak(notenum, i, loops) {
if ((loops % 4) != 3) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + (beatTime * 0.75));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
} else {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
}
chilledLights(i);
}
function makeLastChords(notenum, i, loops) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
chilledLights(i);
}
function makeIntroRiff(notenum, i, loops) {
if ((loops % 4) != 3) {
notes[1].push(i);
notes[2].push(i + (beatTime * 0.125));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.625));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.125));
notes[1].push(i + (beatTime * 3.5));
} else {
notes[1].push(i);
notes[2].push(i + (beatTime * 0.125));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.625));
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.5));
}
var _local4 = _global.root.gameAnimations;
introLights(i);
}
function makeMainRiff(notenum, i, loops) {
var _local3 = 0.125;
if (((loops % 4) == 0) || ((loops % 4) == 2)) {
notes[1].push(i);
notes[2].push(i + (beatTime * 0.125));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.625));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.125));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[2].push(i + (beatTime * 0.125));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.625));
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.5));
notes[1].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3.25));
} else if ((loops % 4) == 3) {
notes[1].push(i);
notes[2].push(i + (beatTime * 0.125));
notes[1].push(i + (beatTime * 0.5));
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 1.625));
notes[3].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * (2.25 + _local3)));
notes[1].push(i + (beatTime * (2.5 + _local3)));
notes[2].push(i + (beatTime * (2.75 + _local3)));
notes[1].push(i + (beatTime * (3 + _local3)));
}
mainLights(i);
}
function makeSolo1(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[3].push(i);
notes[3].push(i + beatTime);
notes[notenum].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 1) {
notes[3].push(i + (beatTime * 1.25));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 2) {
notes[2].push(i);
notes[3].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
} else if ((loops % 4) == 3) {
notes[2].push(i + (beatTime * 0.5));
notes[2].push(i + (beatTime * 1.25));
notes[1].push(i + (beatTime * 3.5));
}
soloLights(i);
}
function makeRandSolo(notenum, i, loops, rand) {
var _local6 = randNote(rand);
var _local5 = randNote(rand);
var _local4 = randNote(rand);
var _local3 = randNote(rand);
notes[_local6].push(i);
notes[_local6].push(i + (beatTime * 0.5));
notes[_local5].push(i + beatTime);
notes[_local5].push(i + (beatTime * 1.5));
notes[_local4].push(i + (beatTime * 2));
notes[_local4].push(i + (beatTime * 2.5));
notes[_local3].push(i + (beatTime * 3));
notes[_local3].push(i + (beatTime * 3.5));
soloLights(i);
}
function makeRecordedSolo(i) {
var _local2 = i;
notes[2].push((2 * beatTime) + _local2);
notes[2].push((4 * beatTime) + _local2);
notes[3].push((5.75 * beatTime) + _local2);
notes[2].push((6.75 * beatTime) + _local2);
notes[3].push((7 * beatTime) + _local2);
notes[3].push((7.75 * beatTime) + _local2);
notes[2].push((9.5 * beatTime) + _local2);
notes[3].push((11 * beatTime) + _local2);
notes[2].push((11.25 * beatTime) + _local2);
notes[2].push((12 * beatTime) + _local2);
notes[1].push((12.5 * beatTime) + _local2);
notes[2].push((13 * beatTime) + _local2);
notes[3].push((13.5 * beatTime) + _local2);
notes[2].push((15 * beatTime) + _local2);
notes[2].push((15.75 * beatTime) + _local2);
notes[2].push((16.25 * beatTime) + _local2);
notes[2].push((16.75 * beatTime) + _local2);
notes[2].push((18.5 * beatTime) + _local2);
notes[2].push((19 * beatTime) + _local2);
notes[2].push((20 * beatTime) + _local2);
notes[1].push((22 * beatTime) + _local2);
notes[2].push((22 * beatTime) + _local2);
notes[1].push((23.25 * beatTime) + _local2);
notes[2].push((23.75 * beatTime) + _local2);
notes[3].push((23.75 * beatTime) + _local2);
notes[3].push((26 * beatTime) + _local2);
notes[2].push((27 * beatTime) + _local2);
notes[3].push((27.25 * beatTime) + _local2);
notes[2].push((28 * beatTime) + _local2);
notes[3].push((29 * beatTime) + _local2);
notes[2].push((29.25 * beatTime) + _local2);
notes[2].push((30 * beatTime) + _local2);
notes[2].push((31 * beatTime) + _local2);
notes[2].push((32 * beatTime) + _local2);
notes[2].push((33 * beatTime) + _local2);
notes[2].push((34 * beatTime) + _local2);
notes[2].push((35 * beatTime) + _local2);
}
function makeSolo2(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[3].push(i);
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 3));
} else if ((loops % 4) == 1) {
notes[2].push(i + (beatTime * 1.5));
notes[2].push(i + (beatTime * 2.5));
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[3].push(i + (beatTime * 0.75));
notes[2].push(i + (beatTime * 1.5));
notes[1].push(i + (beatTime * 2.25));
notes[1].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.5));
} else if ((loops % 4) == 3) {
notes[2].push(i);
notes[3].push(i + (beatTime * 0.25));
notes[2].push(i + (beatTime * 0.75));
notes[3].push(i + beatTime);
notes[2].push(i + (beatTime * 1.5));
notes[3].push(i + (beatTime * 1.75));
notes[3].push(i + (beatTime * 2.25));
notes[2].push(i + (beatTime * 2.5));
notes[2].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
}
soloLights(i);
}
function makeRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.5));
var _local5 = _global.root.gameAnimations;
mainLights(i);
}
function makeRhythm(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.25));
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + (beatTime * 0.75));
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
verseLights(i);
}
function introLights(i) {
var _local3 = i + Engine.PROGRESS_TIME;
var _local4 = _global.root.gameAnimations;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function chilledLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "purple"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
}
function mainLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 5));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function verseLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "blue"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function chorusLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "green"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
function soloLights(i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "changeLightColour", "yellow"));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "changeLightColour", "red"));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3, _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3, _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 6));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 6));
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
}
Symbol 1629 MovieClip [__Packages.TrackFranzFerdinand] Frame 0
class TrackFranzFerdinand extends Track
{
var name, bpm, beatTime, songParts, azorLength, length, events, notes, getSongPartTime, jumps;
function TrackFranzFerdinand () {
super();
}
function makeTrack(rand) {
name = "franzFerdinand";
bpm = startBpm;
beatTime = (60 / bpm) * 1000;
songParts = [];
songParts.push({name:"intro", time:2000, func:makeIntroRiff});
songParts.push({name:"introWithDrums", time:5874, func:makeIntroDrumRiff});
songParts.push({name:"funky1", time:12924, func:makeFunkyRiff});
songParts.push({name:"verse1", time:22662, func:makeVerseRiff});
songParts.push({name:"preChorus1", time:40077, func:makeLeftRightRiff});
songParts.push({name:"preChorus1Part2", time:46347, func:makeLeftRightFastRiff});
songParts.push({name:"chorus1", time:53266, func:makeChorusRiff});
songParts.push({name:"funky2", time:70913, func:makeFunkyRiff});
songParts.push({name:"verse2", time:79690, func:makeVerseRiff});
songParts.push({name:"preChorus2", time:97407, func:makeLeftRightRiff});
songParts.push({name:"preChorus2Part2", time:104099, func:makeLeftRightFastRiff});
songParts.push({name:"chorus2", time:110643, func:makeChorusRiff});
songParts.push({name:"bridge1", time:128150, func:makeNoRiff});
songParts.push({name:"bridge2", time:139093, func:makeNoRiff});
songParts.push({name:"rest1", time:162230, func:makeNoRiff});
songParts.push({name:"buildUp1", time:166502, func:makeNoRiff});
songParts.push({name:"rest2", time:174799, func:makeNoRiff});
songParts.push({name:"chorus3", time:175728, func:makeNoRiff});
songParts.push({name:"stopStart", time:206133, func:makeNoRiff});
songParts.push({name:"buildUp2", time:210405, func:makeNoRiff});
songParts.push({name:"lastChord", time:214923, func:makeNoRiff});
songParts.push({name:"end", time:221889, func:null});
songParts.sortOn("time", Array.NUMERIC);
var _local12 = songParts[songParts.length - 1].time;
var _local13 = 2000;
var _local8 = 2000 - Engine.PROGRESS_TIME;
azorLength = _local12 + _local13;
length = (azorLength + ((_global.root.gameAnimations.azorAd._totalframes / 30) * 1000)) + 2000;
events.push(new TimedEvent(azorLength, gameAnimations, "doAzorAd"));
notes[1] = new Array();
notes[2] = new Array();
notes[3] = new Array();
var gameAnimations = _global.root.gameAnimations;
var _local15 = _global.root.engine;
events.push(new TimedEvent(250, gameAnimations, "doCharacterAnim", "rollFromLeft", "p1"));
events.push(new TimedEvent(250, gameAnimations, "doCharacterAnim", "startToBg", "p2"));
events.push(new TimedEvent(500, gameAnimations, "setStrum", "fast"));
events.push(new TimedEvent(getSongPartTime("firstMainRiff"), gameAnimations, "changeLightColour", "purple"));
var _local9;
var _local5;
var _local3;
var _local6;
var _local7 = -1;
var _local4;
var _local10;
_local5 = _local8;
while (_local5 < (_local12 + _local8)) {
_local9 = Math.ceil(rand() * 3);
_local6 = _local5 + Engine.PROGRESS_TIME;
_local3 = 0;
while (_local3 < (songParts.length - 1)) {
if ((_local6 >= songParts[_local3].time) && (_local6 < songParts[_local3 + 1].time)) {
_local4 = songParts[_local3];
break;
}
_local3++;
}
if (_local4 != _local10) {
_local10 = _local4;
_local7 = 0;
} else {
_local7++;
}
if (_local4) {
_local4.func.call(this, _local9, _local5, _local7, rand);
}
if (_local4.timeadjust) {
_local5 = _local5 + _local4.timeadjust;
}
_local5 = _local5 + (beatTime * 4);
}
jumps.sort(Array.NUMERIC);
events.orderEvents();
}
function isBetween(i, a, b) {
if ((i >= (a - Engine.PROGRESS_TIME)) && (i < (b - Engine.PROGRESS_TIME))) {
return(true);
}
}
function changeBpm(b) {
bpm = b;
beatTime = (60 / bpm) * 1000;
}
function makeNoRiff(notenum, i) {
}
function makeEndRiff(notenum, i) {
}
function makeBigChordRiff(notenum, i, loops) {
if ((loops % 4) == 0) {
notes[2].push(i);
notes[3].push(i);
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[2].push(i);
}
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
}
function makeIntroRiff(notenum, i, loops) {
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
}
var _local6 = _global.root.gameAnimations;
var _local5 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local5, _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 0.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 1), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 1.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 2), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 2.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 3), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 3.5), _local6, "flashLight", 2));
}
function makeIntroDrumRiff(notenum, i, loops) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3.25));
notes[notenum].push(i + (beatTime * 3.5));
notes[notenum].push(i + (beatTime * 3.75));
var _local6 = _global.root.gameAnimations;
var _local5 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local5, _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 0.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 1), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 1.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 2), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 2.5), _local6, "flashLight", 2));
events.push(new TimedEvent(_local5 + (beatTime * 3), _local6, "flashLight", 1));
events.push(new TimedEvent(_local5 + (beatTime * 3.5), _local6, "flashLight", 2));
}
function makeVerseRiff(notenum, i, loops) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.5));
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.5));
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function makeLeftRightRiff(notenum, i, loops) {
changeBpm(discoBpm);
if ((loops % 2) == 0) {
notes[1].push(i);
notes[1].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 3));
} else if ((loops % 2) == 1) {
notes[3].push(i);
notes[3].push(i + beatTime);
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 3));
}
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function makeLeftRightFastRiff(notenum, i, loops) {
changeBpm(discoBpm);
if ((loops % 4) == 0) {
notes[1].push(i);
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 4) == 1) {
notes[1].push(i);
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[3].push(i + beatTime);
notes[1].push(i + (beatTime * 2));
}
var _local5 = _global.root.gameAnimations;
var _local4 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local4, _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 0.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 1), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 1.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 2), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 2.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 3), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 3.5), _local5, "flashLight", 2));
}
function makeChorusRiff(notenum, i, loops) {
changeBpm(discoBpm);
if ((loops % 4) == 0) {
notes[2].push(i);
notes[2].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 3));
} else if ((loops % 4) == 1) {
notes[3].push(i);
notes[3].push(i + (beatTime * 2));
notes[3].push(i + (beatTime * 3));
} else if ((loops % 4) == 2) {
notes[1].push(i);
notes[1].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 3));
} else if ((loops % 4) == 3) {
notes[1].push(i + (beatTime * 2));
notes[2].push(i + (beatTime * 2));
notes[1].push(i + (beatTime * 2.25));
notes[2].push(i + (beatTime * 2.25));
notes[1].push(i + (beatTime * 3));
notes[2].push(i + (beatTime * 3));
notes[1].push(i + (beatTime * 3.25));
notes[2].push(i + (beatTime * 3.25));
}
var _local5 = _global.root.gameAnimations;
var _local4 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local4, _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 0.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 1), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 1.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 2), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 2.5), _local5, "flashLight", 2));
events.push(new TimedEvent(_local4 + (beatTime * 3), _local5, "flashLight", 1));
events.push(new TimedEvent(_local4 + (beatTime * 3.5), _local5, "flashLight", 2));
}
function makeSteadyRiff(notenum, i, loops) {
changeBpm(discoBpm);
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 3));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 3));
}
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function makeFunkyRiff(notenum, i, loops) {
changeBpm(discoBpm);
if ((loops % 2) == 0) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 3));
} else if ((loops % 2) == 1) {
notes[notenum].push(i);
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 2));
notes[notenum].push(i + (beatTime * 3));
}
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 2));
}
function makeMainRiff(notenum, i) {
notes[notenum].push(i);
notes[notenum].push(i + (beatTime * 0.5));
notes[notenum].push(i + beatTime);
notes[notenum].push(i + (beatTime * 1.25));
notes[notenum].push(i + (beatTime * 1.75));
notes[notenum].push(i + (beatTime * 2.25));
notes[notenum].push(i + (beatTime * 2.5));
notes[notenum].push(i + (beatTime * 2.75));
notes[notenum].push(i + (beatTime * 3));
notes[notenum].push(i + (beatTime * 3.25));
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 1));
events.push(new TimedEvent(_local3, _local4, "flashLight", 5));
events.push(new TimedEvent(_local3 + (beatTime * 0.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 0.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 0.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 1), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 1.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 1.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 1.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 2), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 2.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 2.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 2.75), _local4, "flashLight", 4));
events.push(new TimedEvent(_local3 + (beatTime * 3), _local4, "flashLight", 1));
events.push(new TimedEvent(_local3 + (beatTime * 3.25), _local4, "flashLight", 2));
events.push(new TimedEvent(_local3 + (beatTime * 3.5), _local4, "flashLight", 3));
events.push(new TimedEvent(_local3 + (beatTime * 3.75), _local4, "flashLight", 4));
}
function endSong(notenum, i) {
var _local4 = _global.root.gameAnimations;
var _local3 = i + Engine.PROGRESS_TIME;
events.push(new TimedEvent(_local3, _local4, "flashLight", 0));
}
var startBpm = 120;
var discoBpm = 110;
}
Symbol 73 MovieClip [strumFlash] Frame 7
stop();
removeMovieClip(this);
Symbol 73 MovieClip [strumFlash] Frame 14
stop();
removeMovieClip(this);
Symbol 73 MovieClip [strumFlash] Frame 21
stop();
removeMovieClip(this);
Symbol 81 MovieClip Frame 1
stop();
Symbol 81 MovieClip Frame 2
gotoAndPlay(Math.ceil(Math.random() * 3) + 3);
Symbol 81 MovieClip Frame 10
gotoAndPlay ("loop");
Symbol 81 MovieClip Frame 13
stop();
Symbol 83 MovieClip Frame 1
if (!_parent.isFlaming) {
stop();
}
Symbol 83 MovieClip Frame 11
stop();
Symbol 84 MovieClip [note1] Frame 1
#initclip 63
Object.registerClass("note1", Note1);
#endinitclip
Symbol 84 MovieClip [note1] Frame 40
stop();
Symbol 84 MovieClip [note1] Frame 41
yVel = 10;
xVel = (Math.random() * 20) - 20;
rotVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 84 MovieClip [note1] Frame 48
stop();
removeMovieClip(this);
Symbol 84 MovieClip [note1] Frame 54
stop();
removeMovieClip(this);
Symbol 85 MovieClip [note2] Frame 1
#initclip 51
Object.registerClass("note2", Note2);
#endinitclip
Symbol 85 MovieClip [note2] Frame 40
stop();
Symbol 85 MovieClip [note2] Frame 41
yVel = 10;
rotVel = (Math.random() * 20) - 10;
xVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 85 MovieClip [note2] Frame 48
stop();
removeMovieClip(this);
Symbol 85 MovieClip [note2] Frame 54
stop();
removeMovieClip(this);
Symbol 86 MovieClip [note3] Frame 1
#initclip 52
Object.registerClass("note3", Note3);
#endinitclip
Symbol 86 MovieClip [note3] Frame 40
stop();
Symbol 86 MovieClip [note3] Frame 41
yVel = 10;
xVel = Math.random() * 20;
rotVel = (Math.random() * 20) - 10;
onEnterFrame = function () {
this._x = this._x + xVel;
this._y = this._y + yVel;
this._rotation = this._rotation + rotVel;
xVel = xVel * 0.9;
yVel = yVel * 0.9;
};
Symbol 86 MovieClip [note3] Frame 48
stop();
removeMovieClip(this);
Symbol 86 MovieClip [note3] Frame 54
stop();
removeMovieClip(this);
Symbol 109 MovieClip [carouselItem] Frame 1
#initclip 53
Object.registerClass("carouselItem", CarouselItem);
#endinitclip
Symbol 120 MovieClip Frame 1
if (_parent._parent._parent.guitarVisibility) {
this._alpha = _parent._parent._parent.guitarVisibility;
} else if (_parent._parent.guitarVisibility) {
this._alpha = _parent._parent.guitarVisibility;
} else if (_parent.guitarVisibility) {
this._alpha = _parent.guitarVisibility;
} else {
this._alpha = 0;
}
stop();
Symbol 123 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 138 MovieClip Frame 6
stop();
Symbol 141 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 155 MovieClip Frame 1
stop();
Symbol 158 MovieClip Frame 1
stop();
Symbol 164 MovieClip Frame 1
gotoAndStop(_parent.handFrame);
stop();
Symbol 188 MovieClip Frame 1
gotoAndStop(_parent.armFrame);
stop();
Symbol 188 MovieClip Frame 136
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 198 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 200 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 246 MovieClip Frame 100
stop();
Symbol 250 MovieClip Frame 1
armFrame = "c3s3";
handFrame = "c1s3";
Symbol 250 MovieClip Frame 2
stop();
Symbol 250 MovieClip Frame 14
stop();
Symbol 250 MovieClip Frame 23
stop();
Symbol 250 MovieClip Frame 41
stop();
Symbol 250 MovieClip Frame 45
stop();
Symbol 250 MovieClip Frame 51
stop();
Symbol 250 MovieClip Frame 69
gotoAndPlay ("break3Loop");
Symbol 250 MovieClip Frame 89
stop();
Symbol 250 MovieClip Frame 109
gotoAndStop ("idle");
Symbol 250 MovieClip Frame 126
stop();
Symbol 250 MovieClip Frame 128
stop();
Symbol 250 MovieClip Frame 142
stop();
Symbol 250 MovieClip Frame 148
stop();
Symbol 250 MovieClip Frame 162
gotoAndStop ("idle");
Symbol 250 MovieClip Frame 176
stop();
Symbol 250 MovieClip Frame 184
stop();
Symbol 250 MovieClip Frame 199
stop();
Symbol 250 MovieClip Frame 202
stop();
Symbol 250 MovieClip Frame 218
stop();
Symbol 250 MovieClip Frame 221
stop();
Symbol 250 MovieClip Frame 238
stop();
Symbol 250 MovieClip Frame 243
stop();
Symbol 250 MovieClip Frame 261
stop();
Symbol 250 MovieClip Frame 274
stop();
Symbol 250 MovieClip Frame 286
stop();
Symbol 254 MovieClip Frame 1
stop();
Symbol 254 MovieClip Frame 2
Symbol 257 MovieClip Frame 1
_alpha = (_alpha - 1);
Symbol 257 MovieClip Frame 2
_alpha = (_alpha - 1);
Symbol 262 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 269 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 272 MovieClip [character2] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 272 MovieClip [character2] Frame 3
stop();
Symbol 272 MovieClip [character2] Frame 6
stop();
Symbol 272 MovieClip [character2] Frame 38
stop();
Symbol 272 MovieClip [character2] Frame 43
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 272 MovieClip [character2] Frame 58
gotoAndStop ("idle");
Symbol 272 MovieClip [character2] Frame 90
gotoAndPlay ("hop");
Symbol 272 MovieClip [character2] Frame 109
gotoAndPlay ("walkRight");
Symbol 272 MovieClip [character2] Frame 128
gotoAndPlay ("walkLeft");
Symbol 272 MovieClip [character2] Frame 146
gotoAndPlay ("runRight");
Symbol 272 MovieClip [character2] Frame 159
gotoAndPlay ("runLeft");
Symbol 272 MovieClip [character2] Frame 178
stop();
Symbol 272 MovieClip [character2] Frame 187
gotoAndStop ("idle");
Symbol 272 MovieClip [character2] Frame 195
stop();
Symbol 272 MovieClip [character2] Frame 204
gotoAndStop ("idle");
Symbol 272 MovieClip [character2] Frame 213
stop();
Symbol 272 MovieClip [character2] Frame 218
strummer.gotoAndPlay("jump1");
Symbol 272 MovieClip [character2] Frame 239
stop();
Symbol 272 MovieClip [character2] Frame 241
boom.gotoAndPlay("on");
Symbol 272 MovieClip [character2] Frame 242
_global.gameAnimations.afterDrop(this);
Symbol 272 MovieClip [character2] Frame 255
stop();
Symbol 272 MovieClip [character2] Frame 269
gotoAndPlay ("onBackMove");
Symbol 272 MovieClip [character2] Frame 273
_global.gameAnimations.setStrum("archBack");
Symbol 272 MovieClip [character2] Frame 276
stop();
Symbol 272 MovieClip [character2] Frame 278
_global.gameAnimations.setStrum();
Symbol 272 MovieClip [character2] Frame 282
stop();
Symbol 272 MovieClip [character2] Frame 312
stop();
Symbol 272 MovieClip [character2] Frame 332
stop();
Symbol 272 MovieClip [character2] Frame 349
stop();
Symbol 272 MovieClip [character2] Frame 357
stop();
Symbol 272 MovieClip [character2] Frame 366
stop();
Symbol 272 MovieClip [character2] Frame 369
stop();
Symbol 272 MovieClip [character2] Frame 392
gotoAndPlay ("crowdSurf");
Symbol 272 MovieClip [character2] Frame 399
_parent.doAnimOverride();
Symbol 272 MovieClip [character2] Frame 462
stop();
Symbol 272 MovieClip [character2] Frame 485
stop();
Symbol 279 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 286 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 292 MovieClip Frame 6
stop();
Symbol 295 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 300 MovieClip Frame 1
stop();
Symbol 302 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 305 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 311 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 316 MovieClip Frame 1
armFrame = "c9s1";
handFrame = "c9s1";
Symbol 316 MovieClip Frame 2
stop();
Symbol 316 MovieClip Frame 14
stop();
Symbol 316 MovieClip Frame 23
stop();
Symbol 316 MovieClip Frame 41
stop();
Symbol 316 MovieClip Frame 45
stop();
Symbol 316 MovieClip Frame 51
stop();
Symbol 316 MovieClip Frame 69
gotoAndPlay ("break3Loop");
Symbol 316 MovieClip Frame 89
stop();
Symbol 316 MovieClip Frame 109
gotoAndStop ("idle");
Symbol 316 MovieClip Frame 126
stop();
Symbol 316 MovieClip Frame 128
stop();
Symbol 316 MovieClip Frame 142
stop();
Symbol 316 MovieClip Frame 148
stop();
Symbol 316 MovieClip Frame 162
gotoAndStop ("idle");
Symbol 316 MovieClip Frame 176
stop();
Symbol 316 MovieClip Frame 184
stop();
Symbol 316 MovieClip Frame 199
stop();
Symbol 316 MovieClip Frame 202
stop();
Symbol 316 MovieClip Frame 218
stop();
Symbol 316 MovieClip Frame 221
stop();
Symbol 316 MovieClip Frame 238
stop();
Symbol 316 MovieClip Frame 243
stop();
Symbol 316 MovieClip Frame 261
stop();
Symbol 316 MovieClip Frame 276
stop();
Symbol 316 MovieClip Frame 287
stop();
Symbol 318 MovieClip Frame 1
stop();
Symbol 318 MovieClip Frame 2
Symbol 322 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 325 MovieClip [character3] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 325 MovieClip [character3] Frame 3
stop();
Symbol 325 MovieClip [character3] Frame 5
stop();
Symbol 325 MovieClip [character3] Frame 38
stop();
Symbol 325 MovieClip [character3] Frame 43
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 325 MovieClip [character3] Frame 58
gotoAndStop ("idle");
Symbol 325 MovieClip [character3] Frame 90
gotoAndPlay ("hop");
Symbol 325 MovieClip [character3] Frame 109
gotoAndPlay ("walkRight");
Symbol 325 MovieClip [character3] Frame 128
gotoAndPlay ("walkLeft");
Symbol 325 MovieClip [character3] Frame 146
gotoAndPlay ("runRight");
Symbol 325 MovieClip [character3] Frame 159
gotoAndPlay ("runLeft");
Symbol 325 MovieClip [character3] Frame 178
stop();
Symbol 325 MovieClip [character3] Frame 187
gotoAndStop ("idle");
Symbol 325 MovieClip [character3] Frame 195
stop();
Symbol 325 MovieClip [character3] Frame 204
gotoAndStop ("idle");
Symbol 325 MovieClip [character3] Frame 213
stop();
Symbol 325 MovieClip [character3] Frame 218
strummer.gotoAndPlay("jump1");
Symbol 325 MovieClip [character3] Frame 239
stop();
Symbol 325 MovieClip [character3] Frame 241
boom.gotoAndPlay("on");
Symbol 325 MovieClip [character3] Frame 242
_global.gameAnimations.afterDrop(this);
Symbol 325 MovieClip [character3] Frame 255
stop();
Symbol 325 MovieClip [character3] Frame 269
gotoAndPlay ("onBackMove");
Symbol 325 MovieClip [character3] Frame 273
_global.gameAnimations.setStrum("archBack");
Symbol 325 MovieClip [character3] Frame 276
stop();
Symbol 325 MovieClip [character3] Frame 278
_global.gameAnimations.setStrum();
Symbol 325 MovieClip [character3] Frame 282
stop();
Symbol 325 MovieClip [character3] Frame 312
stop();
Symbol 325 MovieClip [character3] Frame 332
stop();
Symbol 325 MovieClip [character3] Frame 349
stop();
Symbol 325 MovieClip [character3] Frame 357
stop();
Symbol 325 MovieClip [character3] Frame 366
stop();
Symbol 325 MovieClip [character3] Frame 369
stop();
Symbol 325 MovieClip [character3] Frame 392
gotoAndPlay ("crowdSurf");
Symbol 325 MovieClip [character3] Frame 399
_parent.doAnimOverride();
Symbol 325 MovieClip [character3] Frame 462
stop();
Symbol 325 MovieClip [character3] Frame 485
stop();
Symbol 332 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 339 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 345 MovieClip Frame 6
stop();
Symbol 348 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 353 MovieClip Frame 1
stop();
Symbol 356 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 362 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 366 MovieClip Frame 1
armFrame = "c1s2";
handFrame = "c1s2";
Symbol 366 MovieClip Frame 2
stop();
Symbol 366 MovieClip Frame 14
stop();
Symbol 366 MovieClip Frame 23
stop();
Symbol 366 MovieClip Frame 41
stop();
Symbol 366 MovieClip Frame 48
stop();
Symbol 366 MovieClip Frame 54
stop();
Symbol 366 MovieClip Frame 72
gotoAndPlay ("break3Loop");
Symbol 366 MovieClip Frame 92
stop();
Symbol 366 MovieClip Frame 112
gotoAndStop ("idle");
Symbol 366 MovieClip Frame 129
stop();
Symbol 366 MovieClip Frame 131
stop();
Symbol 366 MovieClip Frame 145
stop();
Symbol 366 MovieClip Frame 151
stop();
Symbol 366 MovieClip Frame 165
gotoAndStop ("idle");
Symbol 366 MovieClip Frame 179
stop();
Symbol 366 MovieClip Frame 187
stop();
Symbol 366 MovieClip Frame 202
stop();
Symbol 366 MovieClip Frame 205
stop();
Symbol 366 MovieClip Frame 221
stop();
Symbol 366 MovieClip Frame 224
stop();
Symbol 366 MovieClip Frame 241
stop();
Symbol 366 MovieClip Frame 246
stop();
Symbol 366 MovieClip Frame 264
stop();
Symbol 366 MovieClip Frame 287
stop();
Symbol 366 MovieClip Frame 297
stop();
Symbol 368 MovieClip Frame 1
stop();
Symbol 368 MovieClip Frame 2
Symbol 392 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 392 MovieClip Frame 46
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 394 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 397 MovieClip [character4] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 397 MovieClip [character4] Frame 3
stop();
Symbol 397 MovieClip [character4] Frame 6
stop();
Symbol 397 MovieClip [character4] Frame 39
stop();
Symbol 397 MovieClip [character4] Frame 44
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 397 MovieClip [character4] Frame 59
gotoAndStop ("idle");
Symbol 397 MovieClip [character4] Frame 91
gotoAndPlay ("hop");
Symbol 397 MovieClip [character4] Frame 110
gotoAndPlay ("walkRight");
Symbol 397 MovieClip [character4] Frame 129
gotoAndPlay ("walkLeft");
Symbol 397 MovieClip [character4] Frame 147
gotoAndPlay ("runRight");
Symbol 397 MovieClip [character4] Frame 160
gotoAndPlay ("runLeft");
Symbol 397 MovieClip [character4] Frame 179
stop();
Symbol 397 MovieClip [character4] Frame 188
gotoAndStop ("idle");
Symbol 397 MovieClip [character4] Frame 196
stop();
Symbol 397 MovieClip [character4] Frame 205
gotoAndStop ("idle");
Symbol 397 MovieClip [character4] Frame 214
stop();
Symbol 397 MovieClip [character4] Frame 219
strummer.gotoAndPlay("jump1");
Symbol 397 MovieClip [character4] Frame 240
stop();
Symbol 397 MovieClip [character4] Frame 242
boom.gotoAndPlay("on");
Symbol 397 MovieClip [character4] Frame 243
_global.gameAnimations.afterDrop(this);
Symbol 397 MovieClip [character4] Frame 256
stop();
Symbol 397 MovieClip [character4] Frame 270
gotoAndPlay ("onBackMove");
Symbol 397 MovieClip [character4] Frame 274
_global.gameAnimations.setStrum("archBack");
Symbol 397 MovieClip [character4] Frame 277
stop();
Symbol 397 MovieClip [character4] Frame 279
_global.gameAnimations.setStrum();
Symbol 397 MovieClip [character4] Frame 283
stop();
Symbol 397 MovieClip [character4] Frame 313
stop();
Symbol 397 MovieClip [character4] Frame 333
stop();
Symbol 397 MovieClip [character4] Frame 350
stop();
Symbol 397 MovieClip [character4] Frame 358
stop();
Symbol 397 MovieClip [character4] Frame 367
stop();
Symbol 397 MovieClip [character4] Frame 370
stop();
Symbol 397 MovieClip [character4] Frame 393
gotoAndPlay ("crowdSurf");
Symbol 397 MovieClip [character4] Frame 400
_parent.doAnimOverride();
Symbol 397 MovieClip [character4] Frame 463
stop();
Symbol 397 MovieClip [character4] Frame 486
stop();
Symbol 410 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 416 MovieClip Frame 6
stop();
Symbol 419 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 424 MovieClip Frame 1
stop();
Symbol 426 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 427 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 433 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 438 MovieClip Frame 1
armFrame = "c8s1";
handFrame = "c1s1";
Symbol 438 MovieClip Frame 2
stop();
Symbol 438 MovieClip Frame 14
stop();
Symbol 438 MovieClip Frame 23
stop();
Symbol 438 MovieClip Frame 41
stop();
Symbol 438 MovieClip Frame 50
stop();
Symbol 438 MovieClip Frame 56
stop();
Symbol 438 MovieClip Frame 74
gotoAndPlay ("break3Loop");
Symbol 438 MovieClip Frame 94
stop();
Symbol 438 MovieClip Frame 114
gotoAndStop ("idle");
Symbol 438 MovieClip Frame 131
stop();
Symbol 438 MovieClip Frame 133
stop();
Symbol 438 MovieClip Frame 147
stop();
Symbol 438 MovieClip Frame 153
stop();
Symbol 438 MovieClip Frame 167
gotoAndStop ("idle");
Symbol 438 MovieClip Frame 181
stop();
Symbol 438 MovieClip Frame 189
stop();
Symbol 438 MovieClip Frame 204
stop();
Symbol 438 MovieClip Frame 207
stop();
Symbol 438 MovieClip Frame 223
stop();
Symbol 438 MovieClip Frame 226
stop();
Symbol 438 MovieClip Frame 243
stop();
Symbol 438 MovieClip Frame 248
stop();
Symbol 438 MovieClip Frame 266
stop();
Symbol 438 MovieClip Frame 275
stop();
Symbol 438 MovieClip Frame 285
stop();
Symbol 440 MovieClip Frame 1
stop();
Symbol 440 MovieClip Frame 2
Symbol 441 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 445 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 448 MovieClip [character5] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 448 MovieClip [character5] Frame 3
stop();
Symbol 448 MovieClip [character5] Frame 33
stop();
Symbol 448 MovieClip [character5] Frame 38
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 448 MovieClip [character5] Frame 53
gotoAndStop ("idle");
Symbol 448 MovieClip [character5] Frame 85
gotoAndPlay ("hop");
Symbol 448 MovieClip [character5] Frame 104
gotoAndPlay ("walkRight");
Symbol 448 MovieClip [character5] Frame 123
gotoAndPlay ("walkLeft");
Symbol 448 MovieClip [character5] Frame 141
gotoAndPlay ("runRight");
Symbol 448 MovieClip [character5] Frame 154
gotoAndPlay ("runLeft");
Symbol 448 MovieClip [character5] Frame 173
stop();
Symbol 448 MovieClip [character5] Frame 182
gotoAndStop ("idle");
Symbol 448 MovieClip [character5] Frame 190
stop();
Symbol 448 MovieClip [character5] Frame 199
gotoAndStop ("idle");
Symbol 448 MovieClip [character5] Frame 208
stop();
Symbol 448 MovieClip [character5] Frame 213
strummer.gotoAndPlay("jump1");
Symbol 448 MovieClip [character5] Frame 234
stop();
Symbol 448 MovieClip [character5] Frame 236
boom.gotoAndPlay("on");
Symbol 448 MovieClip [character5] Frame 237
_global.gameAnimations.afterDrop(this);
Symbol 448 MovieClip [character5] Frame 250
stop();
Symbol 448 MovieClip [character5] Frame 264
gotoAndPlay ("onBackMove");
Symbol 448 MovieClip [character5] Frame 268
_global.gameAnimations.setStrum("archBack");
Symbol 448 MovieClip [character5] Frame 271
stop();
Symbol 448 MovieClip [character5] Frame 273
_global.gameAnimations.setStrum();
Symbol 448 MovieClip [character5] Frame 277
stop();
Symbol 448 MovieClip [character5] Frame 307
stop();
Symbol 448 MovieClip [character5] Frame 327
stop();
Symbol 448 MovieClip [character5] Frame 344
stop();
Symbol 448 MovieClip [character5] Frame 352
stop();
Symbol 448 MovieClip [character5] Frame 361
stop();
Symbol 448 MovieClip [character5] Frame 364
stop();
Symbol 448 MovieClip [character5] Frame 387
gotoAndPlay ("crowdSurf");
Symbol 448 MovieClip [character5] Frame 394
_parent.doAnimOverride();
Symbol 448 MovieClip [character5] Frame 402
stop();
Symbol 448 MovieClip [character5] Frame 457
stop();
Symbol 448 MovieClip [character5] Frame 480
stop();
Symbol 456 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 460 MovieClip Frame 1
if (_parent._parent._parent.guitarVisibility) {
this._alpha = _parent._parent._parent.guitarVisibility;
} else if (_parent._parent.guitarVisibility) {
this._alpha = _parent._parent.guitarVisibility;
} else if (_parent.guitarVisibility) {
this._alpha = _parent.guitarVisibility;
} else {
this._alpha = 0;
}
stop();
Symbol 468 MovieClip Frame 6
stop();
Symbol 471 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 476 MovieClip Frame 1
stop();
Symbol 482 MovieClip Frame 1
armFrame = "c5s3";
handFrame = "c1s3";
Symbol 482 MovieClip Frame 2
stop();
Symbol 482 MovieClip Frame 14
stop();
Symbol 482 MovieClip Frame 23
stop();
Symbol 482 MovieClip Frame 32
stop();
Symbol 482 MovieClip Frame 41
stop();
Symbol 482 MovieClip Frame 49
stop();
Symbol 482 MovieClip Frame 55
stop();
Symbol 482 MovieClip Frame 73
gotoAndPlay ("break3Loop");
Symbol 482 MovieClip Frame 93
stop();
Symbol 482 MovieClip Frame 113
gotoAndStop ("idle");
Symbol 482 MovieClip Frame 130
stop();
Symbol 482 MovieClip Frame 132
stop();
Symbol 482 MovieClip Frame 146
stop();
Symbol 482 MovieClip Frame 152
stop();
Symbol 482 MovieClip Frame 166
gotoAndStop ("idle");
Symbol 482 MovieClip Frame 180
stop();
Symbol 482 MovieClip Frame 188
stop();
Symbol 482 MovieClip Frame 203
stop();
Symbol 482 MovieClip Frame 206
stop();
Symbol 482 MovieClip Frame 222
stop();
Symbol 482 MovieClip Frame 225
stop();
Symbol 482 MovieClip Frame 242
stop();
Symbol 482 MovieClip Frame 247
stop();
Symbol 482 MovieClip Frame 265
stop();
Symbol 482 MovieClip Frame 274
stop();
Symbol 482 MovieClip Frame 284
stop();
Symbol 483 MovieClip Frame 1
_alpha = (_alpha - 1);
Symbol 483 MovieClip Frame 2
_alpha = (_alpha - 1);
Symbol 485 MovieClip Frame 1
stop();
Symbol 485 MovieClip Frame 2
Symbol 494 MovieClip Frame 100
stop();
Symbol 495 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 498 MovieClip Frame 1
gotoAndStop(_parent.handFrame);
stop();
Symbol 501 MovieClip [character6] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 501 MovieClip [character6] Frame 3
stop();
Symbol 501 MovieClip [character6] Frame 8
stop();
Symbol 501 MovieClip [character6] Frame 42
stop();
Symbol 501 MovieClip [character6] Frame 47
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 501 MovieClip [character6] Frame 62
gotoAndStop ("idle");
Symbol 501 MovieClip [character6] Frame 94
gotoAndPlay ("hop");
Symbol 501 MovieClip [character6] Frame 113
gotoAndPlay ("walkRight");
Symbol 501 MovieClip [character6] Frame 132
gotoAndPlay ("walkLeft");
Symbol 501 MovieClip [character6] Frame 150
gotoAndPlay ("runRight");
Symbol 501 MovieClip [character6] Frame 163
gotoAndPlay ("runLeft");
Symbol 501 MovieClip [character6] Frame 182
stop();
Symbol 501 MovieClip [character6] Frame 191
gotoAndStop ("idle");
Symbol 501 MovieClip [character6] Frame 199
stop();
Symbol 501 MovieClip [character6] Frame 208
gotoAndStop ("idle");
Symbol 501 MovieClip [character6] Frame 217
stop();
Symbol 501 MovieClip [character6] Frame 222
strummer.gotoAndPlay("jump1");
Symbol 501 MovieClip [character6] Frame 243
stop();
Symbol 501 MovieClip [character6] Frame 245
boom.gotoAndPlay("on");
Symbol 501 MovieClip [character6] Frame 246
_global.gameAnimations.afterDrop(this);
Symbol 501 MovieClip [character6] Frame 259
stop();
Symbol 501 MovieClip [character6] Frame 273
gotoAndPlay ("onBackMove");
Symbol 501 MovieClip [character6] Frame 277
_global.gameAnimations.setStrum("archBack");
Symbol 501 MovieClip [character6] Frame 280
stop();
Symbol 501 MovieClip [character6] Frame 282
_global.gameAnimations.setStrum();
Symbol 501 MovieClip [character6] Frame 286
stop();
Symbol 501 MovieClip [character6] Frame 316
stop();
Symbol 501 MovieClip [character6] Frame 336
stop();
Symbol 501 MovieClip [character6] Frame 353
stop();
Symbol 501 MovieClip [character6] Frame 361
stop();
Symbol 501 MovieClip [character6] Frame 370
stop();
Symbol 501 MovieClip [character6] Frame 373
stop();
Symbol 501 MovieClip [character6] Frame 396
gotoAndPlay ("crowdSurf");
Symbol 501 MovieClip [character6] Frame 403
_parent.doAnimOverride();
Symbol 501 MovieClip [character6] Frame 466
stop();
Symbol 501 MovieClip [character6] Frame 489
stop();
Symbol 513 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 520 MovieClip Frame 6
stop();
Symbol 523 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 528 MovieClip Frame 1
stop();
Symbol 530 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 532 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 535 MovieClip Frame 1
armFrame = "c6s1";
handFrame = "c1s1";
Symbol 535 MovieClip Frame 2
stop();
Symbol 535 MovieClip Frame 14
stop();
Symbol 535 MovieClip Frame 23
stop();
Symbol 535 MovieClip Frame 32
stop();
Symbol 535 MovieClip Frame 41
stop();
Symbol 535 MovieClip Frame 62
stop();
Symbol 535 MovieClip Frame 68
stop();
Symbol 535 MovieClip Frame 86
gotoAndPlay ("break3Loop");
Symbol 535 MovieClip Frame 106
stop();
Symbol 535 MovieClip Frame 126
gotoAndStop ("idle");
Symbol 535 MovieClip Frame 143
stop();
Symbol 535 MovieClip Frame 145
stop();
Symbol 535 MovieClip Frame 159
stop();
Symbol 535 MovieClip Frame 165
stop();
Symbol 535 MovieClip Frame 179
gotoAndStop ("idle");
Symbol 535 MovieClip Frame 193
stop();
Symbol 535 MovieClip Frame 201
stop();
Symbol 535 MovieClip Frame 216
stop();
Symbol 535 MovieClip Frame 219
stop();
Symbol 535 MovieClip Frame 235
stop();
Symbol 535 MovieClip Frame 238
stop();
Symbol 535 MovieClip Frame 255
stop();
Symbol 535 MovieClip Frame 260
stop();
Symbol 535 MovieClip Frame 278
stop();
Symbol 535 MovieClip Frame 292
stop();
Symbol 535 MovieClip Frame 303
stop();
Symbol 537 MovieClip Frame 1
stop();
Symbol 537 MovieClip Frame 2
Symbol 538 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 540 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 543 MovieClip [character7] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 543 MovieClip [character7] Frame 3
stop();
Symbol 543 MovieClip [character7] Frame 43
stop();
Symbol 543 MovieClip [character7] Frame 76
stop();
Symbol 543 MovieClip [character7] Frame 81
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 543 MovieClip [character7] Frame 96
gotoAndStop ("idle");
Symbol 543 MovieClip [character7] Frame 128
gotoAndPlay ("hop");
Symbol 543 MovieClip [character7] Frame 147
gotoAndPlay ("walkRight");
Symbol 543 MovieClip [character7] Frame 166
gotoAndPlay ("walkLeft");
Symbol 543 MovieClip [character7] Frame 184
gotoAndPlay ("runRight");
Symbol 543 MovieClip [character7] Frame 197
gotoAndPlay ("runLeft");
Symbol 543 MovieClip [character7] Frame 216
stop();
Symbol 543 MovieClip [character7] Frame 225
gotoAndStop ("idle");
Symbol 543 MovieClip [character7] Frame 233
stop();
Symbol 543 MovieClip [character7] Frame 242
gotoAndStop ("idle");
Symbol 543 MovieClip [character7] Frame 251
stop();
Symbol 543 MovieClip [character7] Frame 256
strummer.gotoAndPlay("jump1");
Symbol 543 MovieClip [character7] Frame 277
stop();
Symbol 543 MovieClip [character7] Frame 279
boom.gotoAndPlay("on");
Symbol 543 MovieClip [character7] Frame 280
_global.gameAnimations.afterDrop(this);
Symbol 543 MovieClip [character7] Frame 293
stop();
Symbol 543 MovieClip [character7] Frame 307
gotoAndPlay ("onBackMove");
Symbol 543 MovieClip [character7] Frame 311
_global.gameAnimations.setStrum("archBack");
Symbol 543 MovieClip [character7] Frame 314
stop();
Symbol 543 MovieClip [character7] Frame 316
_global.gameAnimations.setStrum();
Symbol 543 MovieClip [character7] Frame 320
stop();
Symbol 543 MovieClip [character7] Frame 350
stop();
Symbol 543 MovieClip [character7] Frame 370
stop();
Symbol 543 MovieClip [character7] Frame 387
stop();
Symbol 543 MovieClip [character7] Frame 395
stop();
Symbol 543 MovieClip [character7] Frame 404
stop();
Symbol 543 MovieClip [character7] Frame 407
stop();
Symbol 543 MovieClip [character7] Frame 430
gotoAndPlay ("crowdSurf");
Symbol 543 MovieClip [character7] Frame 437
_parent.doAnimOverride();
Symbol 543 MovieClip [character7] Frame 500
stop();
Symbol 543 MovieClip [character7] Frame 523
stop();
Symbol 547 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 549 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 555 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 559 MovieClip Frame 6
stop();
Symbol 562 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 567 MovieClip Frame 1
stop();
Symbol 569 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 570 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 572 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 576 MovieClip Frame 1
armFrame = "c5s1";
handFrame = "c1s1";
Symbol 576 MovieClip Frame 2
stop();
Symbol 576 MovieClip Frame 14
stop();
Symbol 576 MovieClip Frame 23
stop();
Symbol 576 MovieClip Frame 32
stop();
Symbol 576 MovieClip Frame 41
stop();
Symbol 576 MovieClip Frame 63
stop();
Symbol 576 MovieClip Frame 69
stop();
Symbol 576 MovieClip Frame 87
gotoAndPlay ("break3Loop");
Symbol 576 MovieClip Frame 107
stop();
Symbol 576 MovieClip Frame 127
gotoAndStop ("idle");
Symbol 576 MovieClip Frame 144
stop();
Symbol 576 MovieClip Frame 146
stop();
Symbol 576 MovieClip Frame 160
stop();
Symbol 576 MovieClip Frame 166
stop();
Symbol 576 MovieClip Frame 180
gotoAndStop ("idle");
Symbol 576 MovieClip Frame 194
stop();
Symbol 576 MovieClip Frame 202
stop();
Symbol 576 MovieClip Frame 217
stop();
Symbol 576 MovieClip Frame 220
stop();
Symbol 576 MovieClip Frame 236
stop();
Symbol 576 MovieClip Frame 239
stop();
Symbol 576 MovieClip Frame 256
stop();
Symbol 576 MovieClip Frame 261
stop();
Symbol 576 MovieClip Frame 279
stop();
Symbol 576 MovieClip Frame 290
stop();
Symbol 576 MovieClip Frame 300
stop();
Symbol 578 MovieClip Frame 1
stop();
Symbol 578 MovieClip Frame 2
Symbol 580 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 583 MovieClip [character8] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 583 MovieClip [character8] Frame 3
stop();
Symbol 583 MovieClip [character8] Frame 5
stop();
Symbol 583 MovieClip [character8] Frame 37
stop();
Symbol 583 MovieClip [character8] Frame 42
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 583 MovieClip [character8] Frame 57
gotoAndStop ("idle");
Symbol 583 MovieClip [character8] Frame 89
gotoAndPlay ("hop");
Symbol 583 MovieClip [character8] Frame 108
gotoAndPlay ("walkRight");
Symbol 583 MovieClip [character8] Frame 127
gotoAndPlay ("walkLeft");
Symbol 583 MovieClip [character8] Frame 145
gotoAndPlay ("runRight");
Symbol 583 MovieClip [character8] Frame 158
gotoAndPlay ("runLeft");
Symbol 583 MovieClip [character8] Frame 177
stop();
Symbol 583 MovieClip [character8] Frame 186
gotoAndStop ("idle");
Symbol 583 MovieClip [character8] Frame 194
stop();
Symbol 583 MovieClip [character8] Frame 203
gotoAndStop ("idle");
Symbol 583 MovieClip [character8] Frame 212
stop();
Symbol 583 MovieClip [character8] Frame 217
strummer.gotoAndPlay("jump1");
Symbol 583 MovieClip [character8] Frame 238
stop();
Symbol 583 MovieClip [character8] Frame 240
boom.gotoAndPlay("on");
Symbol 583 MovieClip [character8] Frame 241
_global.gameAnimations.afterDrop(this);
Symbol 583 MovieClip [character8] Frame 254
stop();
Symbol 583 MovieClip [character8] Frame 268
gotoAndPlay ("onBackMove");
Symbol 583 MovieClip [character8] Frame 272
_global.gameAnimations.setStrum("archBack");
Symbol 583 MovieClip [character8] Frame 275
stop();
Symbol 583 MovieClip [character8] Frame 277
_global.gameAnimations.setStrum();
Symbol 583 MovieClip [character8] Frame 281
stop();
Symbol 583 MovieClip [character8] Frame 311
stop();
Symbol 583 MovieClip [character8] Frame 331
stop();
Symbol 583 MovieClip [character8] Frame 348
stop();
Symbol 583 MovieClip [character8] Frame 356
stop();
Symbol 583 MovieClip [character8] Frame 365
stop();
Symbol 583 MovieClip [character8] Frame 368
stop();
Symbol 583 MovieClip [character8] Frame 391
gotoAndPlay ("crowdSurf");
Symbol 583 MovieClip [character8] Frame 398
_parent.doAnimOverride();
Symbol 583 MovieClip [character8] Frame 461
stop();
Symbol 583 MovieClip [character8] Frame 484
stop();
Symbol 596 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 600 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 608 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 612 MovieClip Frame 6
stop();
Symbol 615 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 620 MovieClip Frame 1
stop();
Symbol 628 MovieClip Frame 1
armFrame = "c4s2";
handFrame = "c1s2";
Symbol 628 MovieClip Frame 2
stop();
Symbol 628 MovieClip Frame 14
stop();
Symbol 628 MovieClip Frame 23
stop();
Symbol 628 MovieClip Frame 32
stop();
Symbol 628 MovieClip Frame 41
stop();
Symbol 628 MovieClip Frame 50
stop();
Symbol 628 MovieClip Frame 56
stop();
Symbol 628 MovieClip Frame 74
gotoAndPlay ("break3Loop");
Symbol 628 MovieClip Frame 94
stop();
Symbol 628 MovieClip Frame 114
gotoAndStop ("idle");
Symbol 628 MovieClip Frame 131
stop();
Symbol 628 MovieClip Frame 133
stop();
Symbol 628 MovieClip Frame 147
stop();
Symbol 628 MovieClip Frame 153
stop();
Symbol 628 MovieClip Frame 167
gotoAndStop ("idle");
Symbol 628 MovieClip Frame 181
stop();
Symbol 628 MovieClip Frame 189
stop();
Symbol 628 MovieClip Frame 204
stop();
Symbol 628 MovieClip Frame 207
stop();
Symbol 628 MovieClip Frame 223
stop();
Symbol 628 MovieClip Frame 226
stop();
Symbol 628 MovieClip Frame 243
stop();
Symbol 628 MovieClip Frame 248
stop();
Symbol 628 MovieClip Frame 266
stop();
Symbol 628 MovieClip Frame 279
stop();
Symbol 628 MovieClip Frame 290
stop();
Symbol 630 MovieClip Frame 1
stop();
Symbol 630 MovieClip Frame 2
Symbol 631 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 636 MovieClip [character9] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 636 MovieClip [character9] Frame 42
stop();
Symbol 636 MovieClip [character9] Frame 46
stop();
Symbol 636 MovieClip [character9] Frame 80
stop();
Symbol 636 MovieClip [character9] Frame 85
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 636 MovieClip [character9] Frame 100
gotoAndStop ("idle");
Symbol 636 MovieClip [character9] Frame 132
gotoAndPlay ("hop");
Symbol 636 MovieClip [character9] Frame 151
gotoAndPlay ("walkRight");
Symbol 636 MovieClip [character9] Frame 170
gotoAndPlay ("walkLeft");
Symbol 636 MovieClip [character9] Frame 188
gotoAndPlay ("runRight");
Symbol 636 MovieClip [character9] Frame 201
gotoAndPlay ("runLeft");
Symbol 636 MovieClip [character9] Frame 220
stop();
Symbol 636 MovieClip [character9] Frame 229
gotoAndStop ("idle");
Symbol 636 MovieClip [character9] Frame 237
stop();
Symbol 636 MovieClip [character9] Frame 246
gotoAndStop ("idle");
Symbol 636 MovieClip [character9] Frame 255
stop();
Symbol 636 MovieClip [character9] Frame 260
strummer.gotoAndPlay("jump1");
Symbol 636 MovieClip [character9] Frame 281
stop();
Symbol 636 MovieClip [character9] Frame 283
boom.gotoAndPlay("on");
Symbol 636 MovieClip [character9] Frame 284
_global.gameAnimations.afterDrop(this);
Symbol 636 MovieClip [character9] Frame 297
stop();
Symbol 636 MovieClip [character9] Frame 311
gotoAndPlay ("onBackMove");
Symbol 636 MovieClip [character9] Frame 315
_global.gameAnimations.setStrum("archBack");
Symbol 636 MovieClip [character9] Frame 318
stop();
Symbol 636 MovieClip [character9] Frame 320
_global.gameAnimations.setStrum();
Symbol 636 MovieClip [character9] Frame 324
stop();
Symbol 636 MovieClip [character9] Frame 354
stop();
Symbol 636 MovieClip [character9] Frame 374
stop();
Symbol 636 MovieClip [character9] Frame 391
stop();
Symbol 636 MovieClip [character9] Frame 399
stop();
Symbol 636 MovieClip [character9] Frame 408
stop();
Symbol 636 MovieClip [character9] Frame 411
stop();
Symbol 636 MovieClip [character9] Frame 434
gotoAndPlay ("crowdSurf");
Symbol 636 MovieClip [character9] Frame 441
_parent.doAnimOverride();
Symbol 636 MovieClip [character9] Frame 504
stop();
Symbol 636 MovieClip [character9] Frame 527
stop();
Symbol 644 MovieClip Frame 1
stop();
Symbol 668 Button
on (release) {
play();
}
Symbol 679 MovieClip Frame 1
useHandCursor = false;
onPress = function () {
};
Symbol 689 Button
on (release) {
_global.root.gotoAzor();
}
Symbol 694 Button
on (release) {
_global.root.gotoKos();
}
Symbol 701 Button
on (release) {
_global.root.gotoKV();
}
Symbol 705 MovieClip Frame 1
stop();
Symbol 705 MovieClip Frame 5
stop();
Symbol 713 Button
on (release) {
checkForMusic();
_parent.nextPage = "highscores";
_parent.play();
}
Symbol 718 Button
on (release) {
_global.root.gotoAzor();
}
Symbol 723 Button
on (release) {
checkForMusic();
_parent.nextPage = "howToPlay";
_parent.play();
}
Symbol 728 Button
on (release) {
checkForMusic();
_parent.nextPage = "musicDonated";
_parent.play();
}
Symbol 733 Button
on (release) {
_global.root.gotoKos();
}
Symbol 738 Button
on (release) {
_global.root.sendToFriend();
}
Symbol 743 Button
on (release) {
_global.root.gotoKog();
}
Symbol 745 MovieClip Frame 1
txt.text = _parent.title;
Symbol 747 MovieClip Frame 1
txt.text = _parent.title;
Symbol 749 MovieClip Frame 1
txt.text = _parent.title;
Symbol 750 Button
on (release) {
_global.root.gotoComp();
}
Symbol 752 MovieClip Frame 1
function checkForMusic() {
if (_parent.musicMenu.curSnd.target) {
curSnd.fadeTo(0, 8);
}
}
Instance of Symbol 705 MovieClip "mute" in Symbol 752 MovieClip Frame 1
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (_global.sndMan.mute) {
gotoAndStop ("on");
_global.isMuted = false;
if (_global.root.unmuteEvent) {
_root.kvEvent(_global.root.unmuteEvent);
}
_global.sndMan.mute = false;
} else {
gotoAndStop ("off");
_global.isMuted = true;
if (_global.root.muteEvent) {
_root.kvEvent(_global.root.muteEvent);
}
_global.sndMan.mute = true;
}
};
}
Instance of Symbol 751 MovieClip in Symbol 752 MovieClip Frame 1
onClipEvent (load) {
_visible = Boolean(_global.compText);
this.compBtn.title = _global.compText;
}
Symbol 759 Button
on (release) {
setDetails();
_global.root.p2Rocker = -1;
_global.root.gameMode = Engine.P1_VS_CPU;
_parent.nextPage = "selectMusic";
_parent.play();
}
Symbol 780 Button
on (release) {
setDetails();
_global.root.gameMode = Engine.P1_VS_P2;
_parent.nextPage = "p2Details";
_parent.play();
}
Symbol 788 Button
on (release) {
setDetails();
_global.root.gameMode = Engine.MULTIPLAYER;
_parent.nextPage = "multiplayer";
_parent.play();
_global.root.gotoAndStop("game");
}
Symbol 813 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "head");
stop();
Symbol 813 MovieClip Frame 136
_global.gameAnimations.setCharacter(this, "head");
stop();
Symbol 815 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hair");
stop();
Symbol 817 MovieClip Frame 1
stop();
Symbol 818 MovieClip Frame 1
function setDetails() {
_global.root.yourRocker = (_global.root.p1Rocker = selectedRocker);
_global.root.yourName = (_global.root.p1Name = playerName_txt.text);
_global.root.saveName(_global.root.yourName);
}
if (!_global.root.yourRocker) {
selectedRocker = 1;
} else {
selectedRocker = _global.root.yourRocker;
}
numRockers = 9;
if (_global.root.yourName) {
playerName_txt.text = _global.root.yourName;
allRockers.gotoAndStop(_global.root.yourRocker);
}
nextRocker.onRelease = function () {
selectedRocker = (selectedRocker % numRockers) + 1;
allRockers.gotoAndStop(selectedRocker);
_global.root.yourRocker = (_global.root.p1Rocker = selectedRocker);
};
prevRocker.onRelease = function () {
selectedRocker--;
if (selectedRocker == 0) {
selectedRocker = numRockers;
}
allRockers.gotoAndStop(selectedRocker);
_global.root.yourRocker = (_global.root.p1Rocker = selectedRocker);
};
playerName_txt.onKillFocus = function () {
setDetails();
};
if (!Connection.isEnabled) {
networkMultiplayer_btn._visible = false;
networkMultiplayer_mc._visible = false;
}
Symbol 826 MovieClip [carousel] Frame 1
#initclip 54
Object.registerClass("carousel", Carousel);
#endinitclip
Symbol 833 MovieClip Frame 1
stop();
Symbol 840 MovieClip Frame 1
stop();
Symbol 840 MovieClip Frame 7
stop();
Symbol 850 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
if (curSnd.target) {
curSnd.fadeTo(0, 8);
}
}
Symbol 851 MovieClip Frame 2
function stopped(n) {
selectedTrack = n % _global.root.trackDetails.length;
currentCaroselItem = n;
details_mc.gotoAndPlay("show");
details_mc.details_inner_mc.rating_mc.gotoAndStop("score" + Math.floor(_global.root.getScore(selectedTrack) * 10));
details_mc.details_inner_mc.title_txt.text = (carousel._carouselItems[n].title + " - ") + carousel._carouselItems[n].desc;
playNextTrack(selectedTrack);
details_mc.details_inner_mc.difficulty.gotoAndStop(difficultyArray[selectedTrack]);
if (_global.root.trackDetails[selectedTrack].url && (_global.assetCheck === false)) {
delete chooseTrack_btn.onRelease;
chooseTrack_btn._alpha = 50;
} else {
carousel._visibleItems[n].carouselItem.onRelease = chooseTrack;
chooseTrack_btn.onRelease = chooseTrack;
chooseTrack_btn._alpha = 100;
}
}
function started(obj) {
if (!(currentCaroselItem === undefined)) {
delete carousel._visibleItems[currentCaroselItem].carouselItem.onRelease;
delete currentCaroselItem;
if (curSnd.target) {
delete curSnd.onSoundComplete;
curSnd.fadeTo(0, selectFadeSpeed * 2, curSnd.remove);
}
}
details_mc.gotoAndPlay("hide");
}
function playNextTrack(st) {
_global.curSnd = _global.sndMan.playAndRemove(_global.root.trackDetails[st].name + "_intro");
curSnd.setVolume(0);
curSnd.fadeTo(selectVol, selectFadeSpeed);
curSnd.onSoundComplete = function () {
this.start(0);
this.setVolume(0);
this.fadeTo(selectVol, selectFadeSpeed);
};
}
function cloneObj(obj) {
var _local2 = {};
for (var _local3 in obj) {
_local2[_local3] = obj[_local3];
}
return(_local2);
}
function chooseTrack() {
if (curSnd.target) {
curSnd.fadeTo(0, selectFadeSpeed, curSnd.remove);
}
_global.root.selectedTrack = selectedTrack;
_parent.play();
}
function aboutArtist() {
_global.root.selectedTrack = selectedTrack;
_parent.nextPage = "artistDetails";
_parent.play();
}
stop();
selectFadeSpeed = 25;
selectVol = 50;
difficultyArray = [];
difficultyArray.push(4);
difficultyArray.push(5);
difficultyArray.push(5);
difficultyArray.push(6);
difficultyArray.push(4);
carousel.addListener(this);
selectedTrack = 0;
caroselArr = [].concat(_global.root.trackDetails);
minNumCarouselItems = 20;
if (caroselArr.length < minNumCarouselItems) {
var ori_array = [].concat(caroselArr);
while (caroselArr.length < minNumCarouselItems) {
i = 0;
while (i < ori_array.length) {
caroselArr.push(cloneObj(ori_array[i]));
i++;
}
}
}
carousel.init(caroselArr, 700, 45, 700, 220, 500);
carouselPosPerTrack = 225;
if (_global.root.selectedTrack) {
initTrack = _global.root.selectedTrack;
} else {
initTrack = Rand.random(0, ori_array.length - 1, 0);
}
carousel.carouselPosition = carousel.carouselPosition + (225 * initTrack);
stopped(initTrack);
aboutArtist_btn.onRelease = aboutArtist;
Symbol 858 MovieClip Frame 2
stop();
Symbol 858 MovieClip Frame 20
gotoAndStop ("off");
Symbol 862 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 876 Button
on (release) {
if (curSnd.target) {
delete curSnd.onSoundComplete;
curSnd.fadeTo(0, 3, curSnd.remove);
}
if (_parent.artistBackPage) {
_parent.nextPage = _parent.artistBackPage;
delete _parent.artistBackPage;
} else {
_parent.nextPage = "selectMusic";
}
_parent.play();
}
Symbol 879 Button
on (release) {
getURL ("http://www.gut.dloadshop.com/GUTRecords/index.asp?SType=A&ArAID=65", "_blank");
_root.kvClick(762);
}
Symbol 881 Button
on (release) {
getURL ("http://www.thewildhearts.com", "_blank");
_root.kvClick(761);
}
Symbol 886 Button
on (release) {
getURL ("http://www.beanius.co.uk/music.htm", "_blank");
_root.kvClick(755);
}
Symbol 887 Button
on (release) {
getURL ("http://www.beanius.co.uk", "_blank");
_root.kvClick(763);
}
Symbol 896 Button
on (release) {
getURL ("http://www.memecounter.com/redir.php?urlId=758", "_blank");
}
Symbol 897 Button
on (release) {
getURL ("http://www.electricsix.com", "_blank");
_root.kvClick(757);
}
Symbol 902 Button
on (release) {
getURL ("http://www.eurekamachines.com/shop.htm", "_blank");
_root.kvClick(760);
}
Symbol 903 Button
on (release) {
getURL ("http://www.eurekamachines.com/", "_blank");
_root.kvClick(759);
}
Symbol 908 Button
on (release) {
getURL ("http://www.myspace.com/thedeadpetal", "_blank");
_root.kvClick(756);
}
Symbol 910 MovieClip Frame 1
stop();
Symbol 912 Button
on (release) {
cancelMultiplayer();
}
Symbol 914 Button
on (release) {
quickplay();
}
Symbol 917 Button
on (release) {
playAFriend();
}
Symbol 919 MovieClip Frame 1
stop();
Symbol 919 MovieClip Frame 6
_parent.changePage();
Symbol 927 Button
on (release) {
cancelThrobberHandler();
}
Symbol 936 Button
on (release) {
newAcceptChallenge(code_txt.text);
}
Symbol 938 Button
on (release) {
cancelChallengeHandler();
}
Symbol 942 Button
on (release) {
issueChallenge();
}
Symbol 949 Button
on (release) {
acceptChallengeHandler(code_txt.text);
}
Symbol 956 Button
on (release) {
errorOkBtnHandler();
}
Symbol 957 MovieClip [popup] Frame 1
#initclip 55
Object.registerClass("popup", Popup);
#endinitclip
function quickplay() {
goToPage(Popup.THROBBER);
cancelThrobberHandler = cancelQuickplayHandler;
throbber_msg = "Connecting to server";
throbber_desc = "Waiting for another player to become available. \nAlternatively, you could try challenging a friend, or play the single player game.";
Connection.init(quickplayConnectedHandler, connectionFailedHandler);
}
function playAFriend() {
goToPage("playAFriend");
}
function issueChallenge() {
throbber_msg = "Connecting to server";
throbber_desc = "Creating Challenge";
_parent.nextPage = "selectMusic";
_parent.mode = "challenge";
_parent.play();
}
function issueChallengeSelectedMusic() {
goToPage(Popup.THROBBER);
throbber_msg = "Connecting to server";
throbber_desc = "Waiting for your challenger to accept";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.init(issueChallengeConnectedHandler, connectionFailedHandler);
}
function newAcceptChallenge(code) {
goToPage(Popup.THROBBER);
throbber_msg = "Connecting to server";
cancelThrobberHandler = cancelQuickplayHandler;
throbber_desc = "";
Connection.init(Delegate.create(this, acceptChallengeHandler, code), connectionFailedHandler);
}
function acceptChallenge() {
goToPage(Popup.THROBBER);
throbber_msg = "Connecting to server";
throbber_desc = "";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.init(acceptChallengeConnectedHandler, connectionFailedHandler);
}
function quickplayConnectedHandler() {
Connection.doQuickplay();
}
function issueChallengeConnectedHandler() {
challengeCode = Connection.doChallenge(_global.root.selectedTrack);
goToPage(Popup.ISSUE_CHALLENGE);
}
function acceptChallengeConnectedHandler(code) {
}
function acceptChallengeHandler(code) {
goToPage(Popup.THROBBER);
throbber_msg = "Responding to challenge";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.respondToChallenge(code);
}
function connectionFailedHandler() {
error_msg = "Unable to connect to server. Please check your internet connection.";
goToPage(Popup.ERROR);
}
function cancelQuickplayHandler() {
Connection.disconnectFromServer();
goToPage(Popup.MULTIPLAYER);
}
function cancelChallengeHandler() {
Connection.disconnectFromServer();
goToPage(Popup.MULTIPLAYER);
}
function errorOkBtnHandler() {
stopAllSounds();
_global.root.gotoAndPlay("blank");
}
function cancelMultiplayer() {
delete _parent.mppage;
_global.root.gotoAndStop("start");
_parent.nextPage = "gameMode";
_parent.play();
}
stop();
Symbol 957 MovieClip [popup] Frame 10
title_txt.text = throbber_msg;
msg_txt.text = throbber_desc;
Symbol 957 MovieClip [popup] Frame 34
code_txt.text = challengeCode;
Symbol 957 MovieClip [popup] Frame 60
msg_txt.text = error_msg;
Symbol 958 Button
on (release) {
_parent._parent.nextPage = "gameMode";
_parent._parent.play();
}
Symbol 974 MovieClip Frame 1
stop();
Symbol 974 MovieClip Frame 91
stop();
_parent._parent.songLoadFinished();
Symbol 974 MovieClip Frame 92
stop();
Symbol 992 MovieClip Frame 1
stop();
Symbol 993 MovieClip Frame 1
stop();
Symbol 994 MovieClip Frame 1
stop();
Instance of Symbol 959 MovieClip "errorBack" in Symbol 994 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 994 MovieClip Frame 10
if (_global.root.gameMode == Engine.P1_VS_P2) {
multiIcon2.gotoAndStop("local");
} else if (_global.root.gameMode == Engine.P1_VS_NET) {
multiIcon2.gotoAndStop("net");
} else if (_global.root.gameMode == Engine.P2_VS_NET) {
multiIcon1.gotoAndStop("net");
multiIcon2.gotoAndStop("arrows");
}
Symbol 999 Button
on (release) {
_global.root.p2Rocker = selectedRocker;
_global.root.p2Name = playerName_txt.text;
_parent.nextPage = "selectMusic";
_parent.play();
}
Symbol 1000 MovieClip Frame 1
if (!_global.root.p2Rocker) {
selectedRocker = 2;
} else {
selectedRocker = _global.root.p2Rocker;
}
numRockers = 9;
allRockers.gotoAndStop(selectedRocker);
nextRocker.onRelease = function () {
selectedRocker = (selectedRocker % numRockers) + 1;
allRockers.gotoAndStop(selectedRocker);
};
prevRocker.onRelease = function () {
selectedRocker--;
if (selectedRocker == 0) {
selectedRocker = numRockers;
}
allRockers.gotoAndStop(selectedRocker);
};
Symbol 1006 MovieClip [age.young] Frame 1
#initclip 56
Object.registerClass("age.young", cust.GUI.RadioBtn);
#endinitclip
Symbol 1009 MovieClip [age.mid] Frame 1
#initclip 57
Object.registerClass("age.mid", cust.GUI.RadioBtn);
#endinitclip
Symbol 1012 MovieClip [age.old] Frame 1
#initclip 58
Object.registerClass("age.old", cust.GUI.RadioBtn);
#endinitclip
Symbol 1017 MovieClip [choose.Male] Frame 1
#initclip 59
Object.registerClass("choose.Male", cust.GUI.RadioBtn);
#endinitclip
Symbol 1021 MovieClip [choose.female] Frame 1
#initclip 60
Object.registerClass("choose.female", cust.GUI.RadioBtn);
#endinitclip
Symbol 1034 MovieClip [scrollItem] Frame 1
#initclip 61
Object.registerClass("scrollItem", cust.GUI.RadioBtn);
#endinitclip
Symbol 1036 Button
on (release) {
submitHighscores();
}
Symbol 1038 MovieClip Frame 2
function onScrollbarDrag() {
var _local1 = (bandsList.scroller._ymouse - mouseClickYOffset) / bandsList.scroller.bar.dist;
_local1 = ((_local1 < 0) ? 0 : (((_local1 > 1) ? 1 : (_local1))));
bandsList.contents._y = (-(bandsList.contents._height - 170)) * _local1;
}
function onStopScrollbarDrag() {
delete onMouseMove;
delete onMouseUp;
}
function highscoresSubmitted(success) {
if (success) {
if (!_global.root.rId) {
if (this.rId) {
_global.root.rId = this.rId;
}
}
}
_parent.wait_mc._visible = false;
_parent.nextPage = "highscores";
_parent.play();
}
function submitHighscores() {
_global.root.submitHighscores(highscoresSubmitted, gender.__get__selectedIndex(), age.__get__selectedIndex(), bands.__get__selectedIndex());
_parent.wait_mc._visible = true;
}
stop();
var age = cust.GUI.RadioGroup.GET_RADIO_GROUP("age");
var gender = cust.GUI.RadioGroup.GET_RADIO_GROUP("gender");
if (_global.root.age) {
age.__set__selectedIndex(_global.root.age);
} else {
age.__set__selectedIndex(0);
}
if (_global.root.gender) {
gender.__set__selectedIndex(_global.root.gender);
} else {
gender.__set__selectedIndex(0);
}
if (_global.root.band) {
bands.__set__selectedIndex(_global.root.band);
} else {
bands.__set__selectedIndex(0);
}
bandsListArray = _global.root.bandArr;
itemSpacing = 19;
itemX = 0;
itemY = 0;
var mc;
var i = 0;
while (i < bandsListArray.length) {
mc = bandsList.contents.attachMovie("scrollItem", "bands_" + i, i);
mc._x = itemX;
mc._y = itemY;
mc.name_txt.text = bandsListArray[i];
itemY = itemY + itemSpacing;
i++;
}
var bands = cust.GUI.RadioGroup.GET_RADIO_GROUP("bands");
bandsList.scrollDir = 0;
bandsList.scrollSpeed = 6;
bandsList.onEnterFrame = function () {
bandsList.contents._y = bandsList.contents._y + (bandsList.scrollDir * bandsList.scrollSpeed);
if (bandsList.contents._y > 0) {
bandsList.contents._y = 0;
} else if (bandsList.contents._y < (-(bandsList.contents._height - 170))) {
bandsList.contents._y = -(bandsList.contents._height - 170);
}
bandsList.scroller.bar._y = bandsList.scroller.start._y + ((bandsList.contents._y / (-(bandsList.contents._height - 170))) * (bandsList.scroller.bar.dist - bandsList.scroller.start._y));
};
bandsList.scroller.bar.dist = bandsList.scroller.end._y - bandsList.scroller.start._y;
bandsList.scroller.bar.contentHeight = itemY;
bandsList.scroller.bar.visibleHeight = 170;
bandsList.scroller.bar._height = bandsList.scroller.bar.dist * (bandsList.scroller.bar.visibleHeight / bandsList.scroller.bar.contentHeight);
bandsList.scroller.bar._y = bandsList.scroller.bar.start._y;
bandsList.scroller.bar.onPress = function () {
onMouseMove = onScrollbarDrag;
onMouseUp = onStopScrollbarDrag;
mouseClickYOffset = bandsList.scroller._ymouse - bandsList.scroller.bar._y;
};
bandsList.scroller.up_btn.onPress = function () {
bandsList.scrollDir = 1;
};
bandsList.scroller.up_btn.onRelease = function () {
bandsList.scrollDir = 0;
};
bandsList.scroller.dn_btn.onPress = function () {
bandsList.scrollDir = -1;
};
bandsList.scroller.dn_btn.onRelease = function () {
bandsList.scrollDir = 0;
};
Symbol 1048 Button
on (release) {
populateScores(top10);
}
Symbol 1052 Button
on (release) {
populateScores(me);
}
Symbol 1055 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1062 Button
on (release) {
_parent.selectTrack(2);
}
Symbol 1065 Button
on (release) {
_parent.selectTrack(3);
}
Symbol 1068 Button
on (release) {
_parent.selectTrack(4);
}
Symbol 1071 Button
on (release) {
_parent.selectTrack(5);
}
Symbol 1073 Button
on (release) {
_parent.selectTrack(1);
}
Symbol 1076 Button
on (release) {
_parent.selectTrack(0);
}
Symbol 1078 Button
on (release) {
play();
}
Symbol 1080 Button
on (release) {
play();
}
Symbol 1083 MovieClip Frame 1
stop();
Symbol 1083 MovieClip Frame 8
stop();
Symbol 1089 Button
on (release) {
getScores("country");
}
Symbol 1093 Button
on (release) {
getScores("gender");
}
Symbol 1097 Button
on (release) {
getScores("age");
}
Symbol 1101 Button
on (release) {
getScores("fanOf");
}
Symbol 1105 Button
on (release) {
getScores("cheats");
}
Symbol 1107 MovieClip Frame 1
function getScores(mode) {
_parent.wait_mc._visible = true;
xml = new XML();
xml.ignoreWhite = true;
var _local3;
switch (mode) {
case "song" :
case "cheats" :
_local3 = (((_global.root.backendUrl + "comms/getscores.comms.php?sId=") + sId) + "&mode=") + mode;
break;
case "gender" :
case "age" :
case "fanOf" :
case "country" :
_local3 = ((_global.root.backendUrl + "cache/leagues/") + mode.toLowerCase()) + ".xml?";
}
if (_global.root.rId) {
_local3 = _local3 + ("&rId=" + _global.root.rId);
}
_local3 = _local3 + ("&r=" + Math.random());
xml.onLoad = gotScores;
xml.load(_local3);
}
function gotScores(success) {
if (success) {
var _local7 = this.firstChild;
var _local5;
best_txt.text = "";
top10 = [];
me = [];
var _local6 = 0;
while (_local6 < _local7.childNodes.length) {
_local5 = _local7.childNodes[_local6];
switch (_local5.nodeName) {
case "top10" :
top10 = nodeToArray(_local5);
break;
case "me" :
me = nodeToArray(_local5);
break;
case "best" :
var _local4 = "You are the " + _local5.attributes.rank;
if (_global.root.ageArr[_global.root.age] && (_global.root.genderArr[_global.root.gender])) {
_local4 = _local4 + (((" highest scoring " + _global.root.ageArr[_global.root.age]) + " ") + _global.root.genderArr[_global.root.gender]);
if (_global.root.bandArr[_global.root.band]) {
_local4 = _local4 + (" that supports " + _global.root.bandArr[_global.root.band]);
}
} else {
_local4 = _local4 + " player";
}
best_txt.text = _local4;
}
_local6++;
}
if (_global.root.rId && (me.length)) {
populateScores(me);
findYou_btn._visible = true;
} else {
populateScores(top10);
findYou_btn._visible = false;
}
switch (_local7.attributes.mode) {
case "song" :
var _local8 = (sId ? (_global.root.trackDetails[sId - 1].title) : "All Tracks");
scoresFor_txt.htmlText = ("Scores: <font color=\"#FF6600\">" + _local8) + "</font>";
break;
case "country" :
scoresFor_txt.htmlText = "Scores: <font color=\"#FF6600\">Country</font>";
break;
case "gender" :
scoresFor_txt.htmlText = "Scores: <font color=\"#FF6600\">Gender</font>";
break;
case "age" :
scoresFor_txt.htmlText = "Scores: <font color=\"#FF6600\">Age Group</font>";
break;
case "band" :
scoresFor_txt.htmlText = "Scores: <font color=\"#FF6600\">Fave Band</font>";
break;
case "cheats" :
scoresFor_txt.htmlText = "Scores: <font color=\"#FF6600\">Cheats</font>";
}
}
_parent.wait_mc._visible = false;
}
function nodeToArray(node) {
arr = [];
i = 0;
while (i < node.childNodes.length) {
arr.push(node.childNodes[i].attributes);
i++;
}
if (node.attributes.mypos) {
arr.mypos = Number(node.attributes.mypos);
}
return(arr);
}
function populateScores(arr) {
var _local5 = 17;
var _local4 = 0;
for (var _local6 in highscores_mc) {
if (highscores_mc[_local6] instanceof MovieClip) {
highscores_mc[_local6].removeMovieClip();
}
}
var _local3;
var _local1 = 0;
while ((_local1 < arr.length) && (_local1 < 10)) {
_local3 = highscores_mc.attachMovie("highscoresItem", "hsi" + _local1, _local1);
_local3._y = _local4;
_local3.pos_txt.text = arr[_local1].pos;
_local3.name_txt.text = checkSwear(arr[_local1].name);
_local3.score_txt.text = Format.number(arr[_local1].score);
_local4 = _local4 + _local5;
if ((!(arr.mypos === undefined)) && ((arr.mypos + 1) == arr[_local1].pos)) {
_local3.gotoAndStop("you");
}
_local1++;
}
}
function selectTrack(n) {
sId = n;
getScores("song");
selectTrack_mc.gotoAndPlay("hideTracks");
}
swearArray = new Array("fuck", "shit", "cunt", "fuk", "kunt", "phuk", "phuck");
checkSwear = function (mytext, peek) {
findMe = swearArray;
peek = 1;
myTotal = 0;
myWords = 0;
while (myWords <= (findMe.length - 1)) {
look = 0;
while (look < mytext.length) {
j = 0;
fill = "";
mySmall = mytext.substr(look, findMe[myWords].length).toLowerCase();
wordSmall = findMe[myWords].toLowerCase();
if (mySmall == wordSmall) {
while (j < (findMe[myWords].length - (2 * peek))) {
fill = fill + "*";
j++;
}
mytext = (mytext.substr(0, look + peek) + fill) + mytext.substr((look - peek) + findMe[myWords].length);
myTotal++;
}
look++;
}
myWords++;
}
return(mytext);
};
sId = 0;
if (!(_global.root.selectedTrack === undefined)) {
sId = _global.root.selectedTrack + 1;
} else {
sId = 0;
}
getScores("song");
if (!_global.root.rId) {
findYou_btn._visible = false;
otherCharts._visible = false;
}
Symbol 1112 Button
on (release) {
_parent.nextPage = "gameMode";
delete _global.root.gameMode;
_parent.play();
}
Symbol 1120 MovieClip Frame 1
stop();
Symbol 1122 Button
on (release) {
if (_global.root.rId) {
var highscoresSubmitted = function (success) {
_parent.wait_mc._visible = false;
_parent.nextPage = "highscores";
_parent.play();
};
_global.root.submitHighscores(highscoresSubmitted);
} else {
_parent.nextPage = "age";
_parent.play();
}
}
Symbol 1126 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1130 MovieClip Frame 1
stop();
Symbol 1134 MovieClip Frame 1
stop();
Symbol 1141 Button
on (release) {
_global.root.selectedTrack = 0;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1144 Button
on (release) {
_global.root.selectedTrack = 1;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1147 Button
on (release) {
_global.root.selectedTrack = 4;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1150 Button
on (release) {
_global.root.selectedTrack = 2;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1153 Button
on (release) {
_global.root.selectedTrack = 3;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1154 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1156 MovieClip Frame 1
function crowdLoopIn() {
if (!_global.loopSnd.target) {
_global.loopSnd = _global.sndMan.playAndRemove("crowdLoop", 0, 99999);
loopSnd.setVolume(0);
}
loopSnd.fadeTo(crowdVol, crowdFade);
}
function bgFadeOut() {
if (bgMusicSound.getVolume() > 0) {
bgMusic.onEnterFrame = function () {
bgMusicSound.setVolume(bgMusicSound.getVolume() - bgFadeSpeed);
if (bgMusicSound.getVolume() <= 0) {
bgMusicSound.setVolume(0);
delete this.onEnterFrame;
}
};
}
}
function bgFadeIn() {
if (bgMusicSound.getVolume() < bgVol) {
bgMusic.onEnterFrame = function () {
bgMusicSound.setVolume(bgMusicSound.getVolume() + bgFadeSpeed);
if (bgMusicSound.getVolume() >= bgVol) {
bgMusicSound.setVolume(bgVol);
delete this.onEnterFrame;
}
};
}
}
crowdVol = 25;
crowdFade = 20;
bgVol = 25;
bgFadeSpeed = 1;
bgMusicSound = new Sound(bgMusic);
bgMusicSound.setVolume(0);
Instance of Symbol 651 MovieClip "compHolder" in Symbol 1156 MovieClip Frame 1
onClipEvent (load) {
this.setCompText = function (t, u, e) {
_global.compText = t;
_global.compUrl = u;
_global.compEvent = e;
};
loadMovie ((_global.assetsURL + "external/comp.swf?a=") + Math.random(), this.createEmptyMovieClip("comp", 0));
}
Instance of Symbol 680 MovieClip in Symbol 1156 MovieClip Frame 1
onClipEvent (load) {
_global.root.quality = "BEST";
}
Symbol 1156 MovieClip Frame 2
Instance of Symbol 705 MovieClip "mute" in Symbol 1156 MovieClip Frame 39
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (_global.sndMan.mute) {
gotoAndStop ("on");
_global.isMuted = false;
if (_global.root.unmuteEvent) {
_root.kvEvent(_global.root.unmuteEvent);
}
_global.sndMan.mute = false;
} else {
gotoAndStop ("off");
_global.isMuted = true;
if (_global.root.muteEvent) {
_root.kvEvent(_global.root.muteEvent);
}
_global.sndMan.mute = true;
}
};
}
Symbol 1156 MovieClip Frame 43
crowdLoopIn();
bgFadeIn();
stop();
Instance of Symbol 651 MovieClip "compHolder" in Symbol 1156 MovieClip Frame 59
onClipEvent (load) {
loadMovie (_global.assetsURL + "external/comp.swf", this.createEmptyMovieClip("comp", 0));
}
Symbol 1156 MovieClip Frame 78
bgFadeIn();
Symbol 1156 MovieClip Frame 83
stop();
Symbol 1156 MovieClip Frame 88
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 89
bgFadeOut();
Symbol 1156 MovieClip Frame 94
stop();
if (mode == "challenge") {
nextPage = "multiplayer";
mppage = true;
delete mode;
} else {
nextPage = "preGame";
}
Symbol 1156 MovieClip Frame 99
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 100
bgFadeIn();
Symbol 1156 MovieClip Frame 105
stop();
Symbol 1156 MovieClip Frame 110
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 111
song_details_mc.gotoAndStop(_global.root.trackDetails[_global.root.selectedTrack].name);
Symbol 1156 MovieClip Frame 116
stop();
Symbol 1156 MovieClip Frame 122
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 123
bgFadeIn();
Symbol 1156 MovieClip Frame 124
if (mppage) {
msgs.issueChallengeSelectedMusic();
delete mppage;
}
Symbol 1156 MovieClip Frame 128
stop();
Symbol 1156 MovieClip Frame 134
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 135
bgFadeOut();
if (_global.root.gameMode == Engine.P1_VS_CPU) {
preGame.gotoAndStop("singleplayer");
} else {
preGame.gotoAndStop("multiplayer");
preGame.p2Name_txt.text = _global.root.p2Name;
preGame.p2Rocker.gotoAndStop(_global.root.p2Rocker);
}
preGame.p1Name_txt.text = _global.root.p1Name;
preGame.p1Rocker.gotoAndStop(_global.root.p1Rocker);
if (_global.root.trackDetails[_global.root.selectedTrack] === undefined) {
track = _global.root.trackDetails[0];
} else {
track = _global.root.trackDetails[_global.root.selectedTrack];
}
preGame.trackInfo_txt.text = (("Track selected: " + track.title) + " - ") + track.desc;
Symbol 1156 MovieClip Frame 140
function loadSong() {
var _local3;
if (_global.root[track.name]) {
_local3 = _global.root[track.name];
} else {
_local3 = _global.root.createEmptyMovieClip(track.name, _global.root.getNextHighestDepth());
}
mcl = new MovieClipLoader();
mcl.addListener(this);
mcl.loadClip((_global.root.bandwidth.high ? (track.url) : (track.lowQualUrl)), _local3);
}
function onLoadProgress(targ, bytesLoaded, bytesTotal) {
var _local1 = preGame.songLoader_mc.bar;
_local1._x = ((bytesLoaded / bytesTotal) * _local1._width) - _local1._width;
}
function onLoadComplete(target) {
songLoaded();
}
function onLoadError() {
if ((++tries) < 3) {
loadSong();
} else {
preGame.songLoader_mc.gotoAndStop("error");
preGame.trackInfo_txt.text = "";
preGame.errorBack._visible = true;
if ((_global.root.gameMode == Engine.P1_VS_NET) || (_global.root.gameMode == Engine.P2_VS_NET)) {
Connection.disconnectFromServer();
}
}
}
function songLoaded() {
if ((_global.root.gameMode == Engine.P1_VS_NET) || (_global.root.gameMode == Engine.P2_VS_NET)) {
preGame.songLoader_mc.gotoAndStop("waiting");
Connection.songLoaded(((_global.root.gameMode == Engine.P1_VS_NET) ? (Engine.P1) : (Engine.P2)));
} else {
preGame.songLoader_mc.gotoAndPlay("loaded");
}
}
function songLoadFinished() {
play();
}
loopSnd.fadeTo(0, crowdFade);
stop();
nextPage = "out";
track = _global.root.trackDetails[_global.root.selectedTrack];
if (track.url && (!_global.root[track.name])) {
tries = 0;
loadSong();
} else {
songLoaded();
}
Symbol 1156 MovieClip Frame 148
_parent.gotoAndStop("game");
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 149
bgFadeIn();
Symbol 1156 MovieClip Frame 154
stop();
Symbol 1156 MovieClip Frame 160
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 161
bgFadeIn();
Symbol 1156 MovieClip Frame 166
stop();
wait_mc._visible = false;
wait_mc.onPress = function () {
};
Symbol 1156 MovieClip Frame 171
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 172
bgFadeIn();
Symbol 1156 MovieClip Frame 177
stop();
Symbol 1156 MovieClip Frame 183
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 184
bgFadeOut();
Symbol 1156 MovieClip Frame 189
stop();
Symbol 1156 MovieClip Frame 190
bgFadeIn();
if (_global.root.gameMode == Engine.P1_VS_CPU) {
postGame.gotoAndStop("singleplayer");
var perf = Math.floor(_global.finalScores.p1_percent * 10);
postGame.title_mc.gotoAndStop("score" + perf);
postGame.p1Name_txt.text = _global.root.p1Name;
postGame.p1Details_txt.text = ("Score: " + Format.number(_global.finalScores.p1_score)) + newline;
postGame.p1Details_txt.text = postGame.p1Details_txt.text + (("Notes Hit: " + Math.round(100 * _global.finalScores.p1_percent)) + "%\n");
postGame.p1Details_txt.text = postGame.p1Details_txt.text + ("Longest Streak: " + Format.number(_global.finalScores.p1_streak));
postGame.p1Rocker.gotoAndStop(_global.root.p1Rocker);
} else {
postGame.gotoAndStop("multiplayer");
if (_global.finalScores.p1_score > _global.finalScores.p2_score) {
postGame.title_mc.gotoAndStop("player1");
} else if (_global.root.gameMode == Engine.P1_VS_CPU) {
postGame.title_mc.gotoAndStop("cpu");
} else {
postGame.title_mc.gotoAndStop("player2");
}
postGame.p1Name_txt.text = _global.root.p1Name;
postGame.p1Details_txt.text = ("Score: " + Format.number(_global.finalScores.p1_score)) + newline;
postGame.p1Details_txt.text = postGame.p1Details_txt.text + (("Notes Hit: " + Math.round(100 * _global.finalScores.p1_percent)) + "%\n");
postGame.p1Details_txt.text = postGame.p1Details_txt.text + ("Longest Streak: " + Format.number(_global.finalScores.p1_streak));
postGame.p1Rocker.gotoAndStop(_global.root.p1Rocker);
postGame.p2Name_txt.text = _global.root.p2Name;
postGame.p2Details_txt.text = ("Score: " + Format.number(_global.finalScores.p2_score)) + newline;
postGame.p2Details_txt.text = postGame.p2Details_txt.text + (("Notes Hit: " + Math.round(100 * _global.finalScores.p2_percent)) + "%\n");
postGame.p2Details_txt.text = postGame.p2Details_txt.text + ("Longest Streak: " + Format.number(_global.finalScores.p2_streak));
postGame.p2Rocker.gotoAndStop(_global.root.p2Rocker);
}
Symbol 1156 MovieClip Frame 195
crowdLoopIn();
stop();
Instance of Symbol 680 MovieClip in Symbol 1156 MovieClip Frame 195
onClipEvent (load) {
_global.root._quality = "BEST";
}
Symbol 1156 MovieClip Frame 201
gotoAndPlay(nextPage);
Symbol 1156 MovieClip Frame 202
bgFadeIn();
Symbol 1156 MovieClip Frame 207
stop();
Symbol 1156 MovieClip Frame 213
gotoAndPlay(nextPage);
Symbol 1161 Button
on (release) {
issueChallenge();
}
Symbol 1162 Button
on (release) {
acceptChallenge();
}
Symbol 1163 Button
on (release) {
cancelMultiplayer();
}
Symbol 1176 MovieClip Frame 1
function quickplay() {
goToPage(Popup.THROBBER);
cancelThrobberHandler = cancelQuickplayHandler;
throbber_msg = "Connecting to server";
Connection.init(quickplayConnectedHandler, connectionFailedHandler);
}
function issueChallenge() {
goToPage(Popup.THROBBER);
throbber_msg = "Connecting to server";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.init(issueChallengeConnectedHandler, connectionFailedHandler);
}
function acceptChallenge() {
goToPage(Popup.THROBBER);
throbber_msg = "Connecting to server";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.init(acceptChallengeConnectedHandler, connectionFailedHandler);
}
function quickplayConnectedHandler() {
Connection.doQuickplay();
}
function issueChallengeConnectedHandler() {
challengeCode = Connection.doChallenge();
goToPage(Popup.ISSUE_CHALLENGE);
}
function acceptChallengeConnectedHandler() {
goToPage(Popup.ACCEPT_CHALLENGE);
}
function acceptChallengeHandler(code) {
goToPage(Popup.THROBBER);
throbber_msg = "Responding to challenge";
cancelThrobberHandler = cancelQuickplayHandler;
Connection.respondToChallenge(code);
}
function connectionFailedHandler() {
error_msg = "Unable to connect to server. Please check your internet connection.";
goToPage(Popup.ERROR);
}
function cancelQuickplayHandler() {
Connection.disconnectFromServer();
goToPage(Popup.MULTIPLAYER);
}
function cancelChallengeHandler() {
Connection.disconnectFromServer();
goToPage(Popup.MULTIPLAYER);
}
function errorOkBtnHandler() {
if (_global.root.engine.started) {
_global.root.engine.endGame();
} else {
_global.root.toStartPage();
}
_parent.hideMessage();
}
function cancelMultiplayer() {
_parent.nextPage = "gameMode";
_parent.play();
}
stop();
Symbol 1176 MovieClip Frame 10
title_txt.text = throbber_msg;
Symbol 1176 MovieClip Frame 23
code_txt.text = challengeCode;
Symbol 1176 MovieClip Frame 49
msg_txt.text = error_msg;
Symbol 1177 MovieClip [popup anim] Frame 1
#initclip 62
Object.registerClass("popup anim", PopupAnim);
#endinitclip
stop();
Symbol 1177 MovieClip [popup anim] Frame 10
stop();
Symbol 1198 MovieClip Frame 1
stop();
Instance of Symbol 1198 MovieClip "drumkit" in Symbol 1203 MovieClip Frame 1
onClipEvent (enterFrame) {
gotoAndStop(_global.root.trackDetails[_global.root.selectedTrack].name);
}
Symbol 1206 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 1208 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 1209 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 1211 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 1218 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 1220 MovieClip Frame 6
stop();
Symbol 1223 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 1228 MovieClip Frame 1
stop();
Instance of Symbol 1237 MovieClip in Symbol 1238 MovieClip Frame 1
onClipEvent (enterFrame) {
_rotation = (_rotation + 3);
}
Instance of Symbol 1237 MovieClip in Symbol 1238 MovieClip Frame 1
onClipEvent (enterFrame) {
_rotation = (_rotation - 3);
}
Symbol 1241 MovieClip Frame 1
headStartX = head._x;
headStartY = head._y;
armFrame = "c1s1";
handFrame = "c1s1";
Symbol 1241 MovieClip Frame 3
stop();
Symbol 1241 MovieClip Frame 14
stop();
Symbol 1241 MovieClip Frame 23
stop();
Symbol 1241 MovieClip Frame 32
stop();
Symbol 1241 MovieClip Frame 41
stop();
Symbol 1241 MovieClip Frame 54
stop();
Symbol 1241 MovieClip Frame 60
stop();
Symbol 1241 MovieClip Frame 78
gotoAndPlay ("break3Loop");
Symbol 1241 MovieClip Frame 87
gotoAndPlay ("break4");
Symbol 1241 MovieClip Frame 100
stop();
Symbol 1241 MovieClip Frame 120
gotoAndStop ("idle");
Symbol 1241 MovieClip Frame 137
stop();
Symbol 1241 MovieClip Frame 139
stop();
Symbol 1241 MovieClip Frame 153
stop();
Symbol 1241 MovieClip Frame 154
stop();
Symbol 1241 MovieClip Frame 164
stop();
Symbol 1241 MovieClip Frame 177
stop();
Symbol 1241 MovieClip Frame 192
gotoAndStop ("idle");
Symbol 1241 MovieClip Frame 204
gotoAndStop ("idle");
Symbol 1241 MovieClip Frame 222
stop();
Symbol 1241 MovieClip Frame 230
stop();
Symbol 1241 MovieClip Frame 245
stop();
Symbol 1241 MovieClip Frame 248
stop();
Symbol 1241 MovieClip Frame 264
stop();
Symbol 1241 MovieClip Frame 267
stop();
Symbol 1241 MovieClip Frame 284
stop();
Symbol 1241 MovieClip Frame 289
stop();
Instance of Symbol 1238 MovieClip in Symbol 1241 MovieClip Frame 302
onClipEvent (load) {
_alpha = 0;
}
onClipEvent (enterFrame) {
_alpha = (_alpha+1);
}
Symbol 1241 MovieClip Frame 320
stop();
Symbol 1241 MovieClip Frame 330
stop();
Symbol 1243 MovieClip Frame 1
stop();
Symbol 1243 MovieClip Frame 9
gotoAndStop (1);
Symbol 1246 MovieClip [character1] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 1246 MovieClip [character1] Frame 3
_global.root.gameAnimations.doAnimOverride(false, undefined, this);
stop();
Symbol 1246 MovieClip [character1] Frame 33
stop();
Symbol 1246 MovieClip [character1] Frame 38
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 1246 MovieClip [character1] Frame 53
gotoAndStop ("idle");
Symbol 1246 MovieClip [character1] Frame 85
gotoAndPlay ("hop");
Symbol 1246 MovieClip [character1] Frame 104
gotoAndPlay ("walkRight");
Symbol 1246 MovieClip [character1] Frame 123
gotoAndPlay ("walkLeft");
Symbol 1246 MovieClip [character1] Frame 141
gotoAndPlay ("runRight");
Symbol 1246 MovieClip [character1] Frame 154
gotoAndPlay ("runLeft");
Symbol 1246 MovieClip [character1] Frame 173
stop();
Symbol 1246 MovieClip [character1] Frame 182
gotoAndStop ("idle");
Symbol 1246 MovieClip [character1] Frame 190
stop();
Symbol 1246 MovieClip [character1] Frame 199
gotoAndStop ("idle");
Symbol 1246 MovieClip [character1] Frame 208
stop();
Symbol 1246 MovieClip [character1] Frame 213
strummer.gotoAndPlay("jump1");
Symbol 1246 MovieClip [character1] Frame 234
stop();
Symbol 1246 MovieClip [character1] Frame 236
boom.gotoAndPlay("on");
Symbol 1246 MovieClip [character1] Frame 237
_global.gameAnimations.afterDrop(this);
stop();
Symbol 1246 MovieClip [character1] Frame 250
stop();
Symbol 1246 MovieClip [character1] Frame 264
gotoAndPlay ("onBackMove");
Symbol 1246 MovieClip [character1] Frame 268
_global.gameAnimations.setStrum("archBack");
Symbol 1246 MovieClip [character1] Frame 271
stop();
Symbol 1246 MovieClip [character1] Frame 273
_global.gameAnimations.setStrum();
Symbol 1246 MovieClip [character1] Frame 277
stop();
Symbol 1246 MovieClip [character1] Frame 307
stop();
Symbol 1246 MovieClip [character1] Frame 327
stop();
Symbol 1246 MovieClip [character1] Frame 344
stop();
Symbol 1246 MovieClip [character1] Frame 352
stop();
Symbol 1246 MovieClip [character1] Frame 361
stop();
Symbol 1246 MovieClip [character1] Frame 364
stop();
Symbol 1246 MovieClip [character1] Frame 387
gotoAndPlay ("crowdSurf");
Symbol 1246 MovieClip [character1] Frame 394
_parent.doAnimOverride();
Symbol 1246 MovieClip [character1] Frame 399
_parent.doAnimOverride();
Symbol 1246 MovieClip [character1] Frame 457
stop();
Symbol 1246 MovieClip [character1] Frame 480
stop();
Symbol 1247 MovieClip Frame 1
stop();
Symbol 1247 MovieClip Frame 2
stop();
Symbol 1248 MovieClip Frame 1
stop();
Symbol 1249 MovieClip Frame 1
stop();
Symbol 1249 MovieClip Frame 2
doAnimOverride("roll", undefined, this);
Symbol 1249 MovieClip Frame 18
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 33
doAnimOverride("walkRight", undefined, this);
Symbol 1249 MovieClip Frame 52
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 53
doAnimOverride("runRight", undefined, this);
Symbol 1249 MovieClip Frame 64
doAnimOverride("onKneesRight", undefined, this);
Symbol 1249 MovieClip Frame 101
doAnimOverride("offKneesRight", undefined, this);
Symbol 1249 MovieClip Frame 107
doAnimOverride(undefined, undefined);
stop();
Symbol 1249 MovieClip Frame 108
doAnimOverride("runLeft", undefined, this);
Symbol 1249 MovieClip Frame 119
doAnimOverride("onKneesLeft", undefined, this);
Symbol 1249 MovieClip Frame 157
doAnimOverride("offKneesLeft", undefined, this);
Symbol 1249 MovieClip Frame 163
doAnimOverride("offKneesLeft", undefined, this);
stop();
Symbol 1249 MovieClip Frame 166
doAnimOverride("walkLeft", undefined, this);
Symbol 1249 MovieClip Frame 183
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 185
stop();
Symbol 1249 MovieClip Frame 189
stop();
Symbol 1249 MovieClip Frame 303
gotoAndPlay ("spaceFloatLoop");
Symbol 1249 MovieClip Frame 309
gotoAndPlay ("spaceFloat");
Symbol 1249 MovieClip Frame 326
stop();
Symbol 1249 MovieClip Frame 327
doAnimOverride("walkLeft", undefined, this);
Symbol 1249 MovieClip Frame 345
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 346
doAnimOverride("climbAmp", undefined, this);
Symbol 1249 MovieClip Frame 370
stop();
Symbol 1249 MovieClip Frame 371
doAnimOverride("jumpOffAmp", undefined, this);
Symbol 1249 MovieClip Frame 389
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 407
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 427
stop();
Symbol 1249 MovieClip Frame 440
gotoAndPlay ("godzillaWalk");
Symbol 1249 MovieClip Frame 446
doAnimOverride("walkRight", undefined, this);
Symbol 1249 MovieClip Frame 465
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 467
doAnimOverride("jumpOffStageRight", true, this);
Symbol 1249 MovieClip Frame 475
doAnimOverride("jumpOffStageRightLeap", undefined, this);
Symbol 1249 MovieClip Frame 492
_global.gameAnimations.doSceneAnim("crowdSurf", "crowdSurf");
Symbol 1249 MovieClip Frame 553
doAnimOverride("jumpOnStageLeft", undefined, this);
Symbol 1249 MovieClip Frame 561
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 562
doAnimOverride("walkLeft", undefined, this);
Symbol 1249 MovieClip Frame 572
_global.gameAnimations.player2DepthSortBodge(this, true);
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 573
doAnimOverride("walkRight", undefined, this);
Symbol 1249 MovieClip Frame 583
_global.gameAnimations.player2DepthSortBodge(this, true);
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 584
doAnimOverride("walkLeft", undefined, this);
Symbol 1249 MovieClip Frame 593
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 594
doAnimOverride("fall", undefined, this);
Symbol 1249 MovieClip Frame 634
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 646
stop();
Symbol 1249 MovieClip Frame 647
doAnimOverride("runLeft", undefined, this);
Symbol 1249 MovieClip Frame 662
stop();
Symbol 1249 MovieClip Frame 664
stop();
Symbol 1249 MovieClip Frame 680
stop();
Symbol 1249 MovieClip Frame 681
doAnimOverride("walkRight", undefined, this);
_global.gameAnimations.player2DepthSortBodge(this, false);
Symbol 1249 MovieClip Frame 690
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 699
_parent["pleaseWait_" + _name.substr(0, 2)]._visible = false;
doAnimOverride("walkLeft", undefined, this);
Symbol 1249 MovieClip Frame 731
_parent["pleaseWait_" + _name.substr(0, 2)]._visible = true;
_parent["pleaseWait_" + _name.substr(0, 2)]._alpha = 100;
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1249 MovieClip Frame 789
stop();
Symbol 1249 MovieClip Frame 795
stop();
Symbol 1249 MovieClip Frame 796
shakeX = 12;
shakeY = -2;
Symbol 1256 MovieClip Frame 1
stop();
Symbol 1259 MovieClip Frame 1
if (_global.root.p2Rocker == -1) {
this.swapDepths(60000);
this.removeMovieClip();
}
stop();
Symbol 1266 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1268 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1271 MovieClip Frame 1
stop();
Symbol 1271 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1285 MovieClip Frame 1
stop();
Symbol 1285 MovieClip Frame 4
stop();
Symbol 1285 MovieClip Frame 7
stop();
Symbol 1285 MovieClip Frame 10
stop();
Symbol 1285 MovieClip Frame 12
stop();
Symbol 1285 MovieClip Frame 14
stop();
Symbol 1285 MovieClip Frame 16
stop();
Symbol 1285 MovieClip Frame 18
stop();
Symbol 1285 MovieClip Frame 20
stop();
Symbol 1286 MovieClip Frame 1
stop();
Symbol 1286 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1289 MovieClip Frame 1
stop();
Symbol 1289 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1292 MovieClip Frame 1
stop();
Symbol 1292 MovieClip Frame 4
stop();
Symbol 1292 MovieClip Frame 8
stop();
Symbol 1292 MovieClip Frame 12
stop();
Symbol 1292 MovieClip Frame 35
gotoAndPlay (2);
Symbol 1296 MovieClip Frame 1
stop();
Symbol 1296 MovieClip Frame 27
stop();
Symbol 1299 MovieClip Frame 106
gotoAndPlay (1);
Symbol 1300 MovieClip Frame 1
_alpha = 100;
stop();
Instance of Symbol 1299 MovieClip in Symbol 1300 MovieClip Frame 2
onClipEvent (enterFrame) {
_parent._alpha = _parent._alpha - 0.5;
if (_parent._alpha <= 0) {
delete onEnterFrame;
}
}
Symbol 1319 MovieClip Frame 1
function beat() {
play();
}
function stopListening() {
_global.root.engine.removeListener(this);
}
stop();
Symbol 1319 MovieClip Frame 6
stop();
Symbol 1319 MovieClip Frame 7
stop();
Symbol 1319 MovieClip Frame 8
stop();
Symbol 1319 MovieClip Frame 9
stop();
Symbol 1319 MovieClip Frame 10
stopListening();
if (_parent.countDownNextPlayer == Engine.P1) {
gotoAndPlay ("p1RockOut");
} else {
gotoAndPlay ("p2RockOut");
}
Symbol 1319 MovieClip Frame 11
stopListening();
play();
Symbol 1319 MovieClip Frame 30
stopListening();
gotoAndStop ("off");
Symbol 1319 MovieClip Frame 31
stopListening();
play();
Symbol 1319 MovieClip Frame 50
stopListening();
gotoAndStop ("off");
Symbol 1319 MovieClip Frame 51
stop();
Symbol 1319 MovieClip Frame 52
stop();
Symbol 1319 MovieClip Frame 53
stop();
Symbol 1319 MovieClip Frame 54
stop();
Symbol 1319 MovieClip Frame 55
gotoAndPlay ("p1RockOut");
Symbol 1319 MovieClip Frame 56
stop();
Symbol 1319 MovieClip Frame 57
stop();
Symbol 1319 MovieClip Frame 58
stop();
Symbol 1319 MovieClip Frame 59
stop();
Symbol 1319 MovieClip Frame 60
gotoAndPlay ("p2RockOut");
Symbol 1324 MovieClip Frame 2
stop();
Symbol 1324 MovieClip Frame 3
_global.root.engine.activeFretboard.fadeOut();
play();
Symbol 1324 MovieClip Frame 216
stop();
Symbol 1325 MovieClip Frame 1
gotoAndStop(_parent.activePlayer);
Symbol 1325 MovieClip Frame 2
this[_global.gameAnimations.activePlayer].gotoAndPlay(_global.gameAnimations.activePlayer);
stop();
Symbol 1325 MovieClip Frame 5
this[_global.gameAnimations.activePlayer].gotoAndPlay(_global.gameAnimations.activePlayer);
stop();
Symbol 1351 MovieClip Frame 12
stop();
Symbol 1351 MovieClip Frame 17
stop();
Symbol 1351 MovieClip Frame 25
stop();
Symbol 1351 MovieClip Frame 30
stop();
Symbol 1351 MovieClip Frame 37
stop();
Symbol 1351 MovieClip Frame 44
stop();
Symbol 1351 MovieClip Frame 51
stop();
Symbol 1351 MovieClip Frame 86
stop();
Symbol 1371 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1372 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1377 MovieClip Frame 2
stop();
Symbol 1377 MovieClip Frame 11
stop();
Symbol 1397 MovieClip Frame 1
theObject.gotoAndStop(Math.ceil(Math.random() * theObject._totalframes));
Symbol 1397 MovieClip Frame 13
gotoAndPlay ("skip");
Symbol 1397 MovieClip Frame 24
gotoAndPlay (1);
Symbol 1416 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1422 MovieClip Frame 19
gotoAndPlay (1);
Symbol 1433 MovieClip Frame 11
stop();
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1436 MovieClip in Symbol 1439 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Symbol 1447 MovieClip Frame 1
stop();
delete this.onEnterFrame;
Symbol 1447 MovieClip Frame 2
rotVelMaxApplied = 0;
rotVelChange = (rotVel = 0);
rotVelMax = 10;
this.onEnterFrame = function () {
if (!count) {
count = Math.ceil(Math.random() * 30);
rotVelChange = Math.random() - 0.5;
}
count--;
if (rotVelMaxApplied < rotVelMax) {
rotVelMaxApplied = rotVelMaxApplied + 0.05;
}
rotVel = rotVel + rotVelChange;
if (rotVel > rotVelMaxApplied) {
rotVel = rotVelMaxApplied;
} else if (rotVel < (-rotVelMaxApplied)) {
rotVel = -rotVelMaxApplied;
}
this._rotation = this._rotation + this.rotVel;
};
stop();
Symbol 1447 MovieClip Frame 3
rotVelMax = 10;
this.onEnterFrame = function () {
if ((this._rotation % 360) > 80) {
rotVelChange = -0.25;
} else if ((this._rotation % 360) < 80) {
rotVelChange = 0.25;
}
rotVel = rotVel * 0.95;
rotVel = rotVel + rotVelChange;
if (rotVel > rotVelMax) {
rotVel = rotVelMax;
} else if (rotVel < (-rotVelMax)) {
rotVel = -rotVelMax;
}
this._rotation = this._rotation + this.rotVel;
};
stop();
Symbol 1447 MovieClip Frame 4
stop();
delete this.onEnterFrame;
Symbol 1449 MovieClip Frame 1
ship.gotoAndStop("off");
ship._rotation = 0;
stop();
Symbol 1449 MovieClip Frame 5
ship.gotoAndStop("on");
stop();
Symbol 1449 MovieClip Frame 8
ship.gotoAndStop("crash");
stop();
Symbol 1449 MovieClip Frame 12
ship.gotoAndStop("broke");
ship._rotation = 0;
stop();
Symbol 1457 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1458 MovieClip Frame 12
stop();
Symbol 1460 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1473 MovieClip Frame 354
stop();
Symbol 1475 MovieClip Frame 1
_parent.shakeY = 2;
Symbol 1475 MovieClip Frame 4
_parent.shakeY = 2;
Symbol 1475 MovieClip Frame 7
_parent.shakeY = 2;
Symbol 1475 MovieClip Frame 10
gotoAndPlay (1);
Symbol 1485 MovieClip Frame 1
_parent.shakeY = 2;
Symbol 1485 MovieClip Frame 4
_parent.shakeY = 2;
Symbol 1485 MovieClip Frame 7
_parent.shakeY = 2;
Symbol 1485 MovieClip Frame 10
gotoAndPlay (1);
Symbol 1487 MovieClip Frame 21
stop();
Symbol 1498 MovieClip Frame 2
stop();
Symbol 1498 MovieClip Frame 5
stop();
Symbol 1518 MovieClip Frame 2
stop();
Symbol 1518 MovieClip Frame 6
gotoAndPlay ("citiesOnFlame");
Symbol 1518 MovieClip Frame 10
_parent.stop();
_global.gameAnimations[_global.gameAnimations.activePlayer].sprite.stop();
Symbol 1518 MovieClip Frame 35
_global.gameAnimations.gotoAndStop("godzillaBoom");
Symbol 1518 MovieClip Frame 45
stop();
Symbol 1518 MovieClip Frame 60
gotoAndPlay ("fireLeft");
Symbol 1518 MovieClip Frame 64
gotoAndPlay ("fireRight");
Symbol 1519 MovieClip Frame 1
_parent.shakeX = 10;
Symbol 1519 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1523 MovieClip Frame 1
startScale = _xscale;
size = 1;
flicker = 75;
onEnterFrame = function () {
size = size + 0.12;
_yscale = ((startScale * size) + ((Math.random() * flicker) - (flicker / 2)));
_xscale = ((startScale * size) + ((Math.random() * flicker) - (flicker / 2)));
};
stop();
Symbol 1525 MovieClip Frame 1
function doAzorAd() {
if (azorAd._currentframe <= 2) {
azorAd.gotoAndPlay("on");
_parent.menu_mc.crowdLoopIn();
}
}
function doBoredAnim() {
this[inactivePlayer].strummer.gotoAndPlay("bored" + Math.ceil(4 * Math.random()));
}
function setActivePlayer(p) {
activePlayer = p;
if (p == Engine.P1) {
inactivePlayer = Engine.P2;
} else {
inactivePlayer = Engine.P1;
}
}
function startLightsAnim() {
changeLightColour("purple");
}
function changeLightColour(c) {
if (!ambientLightOff) {
if (c != currentLightColour) {
lightsAnim.ambient.gotoAndPlay(c);
}
currentLightColour = c;
} else {
lightsAnim.ambient.gotoAndStop("off");
}
}
function doLightsLess() {
lightsAnim.gotoAndStop("less");
}
function doLightsMore() {
lightsAnim.gotoAndStop("off");
}
function doAmbientLightOff() {
ambientLightOff = true;
lightsAnim.gotoAndStop("noAmbient");
}
function doAmbientLightOn() {
lightsAnim.gotoAndStop("less");
ambientLightOff = false;
}
function doLightsOff() {
lightsOff = true;
}
function doLightsOn() {
lightsOff = false;
}
function flashLight(n) {
if (!lightsOff) {
if (n == 0) {
light0.gotoAndPlay("on");
} else if ((n == 6) && (ambientLightOff)) {
} else {
lightsAnim["light" + n].gotoAndPlay("on");
}
}
}
function perfectTiming() {
updateGuitarVisibility(guitarAlphaSpeed);
this[activePlayer].headBang = this[activePlayer].guitarVisibility * 0.5;
if (this[activePlayer].headBang > headBangMax) {
this[activePlayer].headBang = headBangMax;
}
spawnHit++;
}
function startCrowd() {
if (!dontStartCrowd) {
crowdOn = true;
crowd1.play();
crowd2.play();
}
}
function stopCrowd() {
crowd1.stop();
crowd2.stop();
}
function noCrowd() {
dontStartCrowd = true;
stopCrowd();
}
function resumeCrowd() {
dontStartCrowd = false;
if (crowdOn) {
startCrowd();
}
}
function setStrum(v, w) {
if (v) {
p1.oldStrumAnim = p1.strumAnim;
p2.oldStrumAnim = p2.strumAnim;
if (!w) {
p1.strumAnim = v + "1";
p2.strumAnim = v + "1";
} else {
p1.strumAnim = v + w;
p2.strumAnim = v + w;
}
} else {
p1.strumAnim = p1.oldStrumAnim;
p2.strumAnim = p2.oldStrumAnim;
}
}
function setCharacter(t, v) {
}
function getPlayer(t) {
while ((t._parent._name != "p1") && (t._parent._name != "p2")) {
t = t._parent;
if (t == _root) {
return("");
}
}
return(t._parent._name);
}
function getPlayerFromTarget(t) {
while ((t._parent._name != "p1Target") && (t._parent._name != "p2Target")) {
tName = t._parent._name;
t = t._parent;
if (t == _root) {
return("");
}
}
if (tName == "p1Target") {
tName = "p1";
} else {
tName = "p2";
}
return(tName);
}
function bothWalkToMiddle() {
doCharacterAnim("walkFromCentreToLeft", activePlayer);
doCharacterAnim("bgToLeft", inactivePlayer);
}
function bothWalkBack() {
doCharacterAnim("walkFromLeftToCentre", activePlayer);
doCharacterAnim("leftToBg", inactivePlayer);
}
function shakeMe(t) {
t._x = t.startX + (t.shakeX * t.polarity);
t._y = t.startY + (t.shakeY * t.polarity);
t.shakeX = t.shakeX * shakeDecay;
t.shakeY = t.shakeY * 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 playJump(p) {
if (!p) {
p = activePlayer;
}
p = this[p];
if (!p.jumping) {
p.gotoAndPlay("up");
p.jumping = true;
}
}
function doSceneAnim(f, spriteAnim) {
if (f) {
gotoAndPlay(f);
}
sprite.gotoAndStop(activePlayer);
if (spriteAnim) {
sceneSpriteAnim = spriteAnim;
sprite[activePlayer].gotoAndPlay(sceneSpriteAnim);
}
}
function player2DepthSortBodge(t, b) {
if (activePlayer == "p2") {
if (p1.getDepth() == p1StartDepth) {
p1.swapDepths(p1BgBodge);
p1.setMask(playerMask1);
if (playerMask2) {
p2.setMask(playerMask2);
}
}
} else if (p1.getDepth() == p1BgBodgeStartDepth) {
p1.swapDepths(p1BgBodge);
p1.setMask(playerMask1);
if (playerMask2) {
p2.setMask(playerMask2);
}
}
}
function badGurn() {
if (this[activePlayer].combo) {
var _local2 = 1;
} else {
var _local2 = 2;
}
this[activePlayer].gurn.count = 4;
this[activePlayer].gurn.frame = Math.ceil(this[activePlayer].gurn.frame * 0.5);
if (this[activePlayer].gurn.frame < 0) {
this[activePlayer].gurn.frame = 0;
}
this[inactivePlayer].gurn.count = 4;
this[inactivePlayer].gurn.frame++;
if (this[inactivePlayer].gurn.frame > this[inactivePlayer].strummer.head._totalframes) {
this[inactivePlayer].gurn.frame = this[inactivePlayer].strummer.head._totalframes;
}
resetCombo(this[activePlayer]);
}
function goodGurn() {
var _local2 = Math.ceil(this[activePlayer].combo / 2);
if (_local2 > 16) {
_local2 = 16;
}
this[activePlayer].gurn.count = 2;
this[activePlayer].gurn.frame++;
if (this[activePlayer].gurn.frame > this[activePlayer].strummer.head._totalframes) {
this[activePlayer].gurn.frame = this[activePlayer].strummer.head._totalframes;
}
this[inactivePlayer].gurn.count = 4;
this[activePlayer].combo++;
}
function resetCombo(t) {
t.maxCombo = t.combo;
t.combo = 0;
}
function playNote(dir, mod, p) {
if (!azorSaysNoAnimation) {
if (mod == 1) {
goodGurn();
} else if (mod == 0) {
badGurn();
} else {
this[activePlayer].combo = 0;
}
if (!p) {
p = activePlayer;
}
pRef = this[p];
if (dir == "down") {
animateGuy("down", pRef);
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("down");
doStrum(undefined, p);
} else if (dir == "right") {
if (p == "p1") {
animateGuy("right", pRef);
} else {
animateGuy("left", pRef);
}
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("right");
doStrum(undefined, p);
} else if (dir == "left") {
if (p == "p1") {
animateGuy("left", pRef);
} else {
animateGuy("right", pRef);
}
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("left");
doStrum(undefined, p);
} else if (dir == "leftdown") {
if (p == "p1") {
animateGuy("left", pRef);
doStrum("windmillCW", p);
} else {
animateGuy("left", pRef);
doStrum("windmillCCW", p);
}
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("leftdown");
} else if (dir == "downright") {
if (p == "p1") {
animateGuy("right", pRef);
doStrum("windmillCCW", p);
} else {
animateGuy("right", pRef);
doStrum("windmillCW", p);
}
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("downright");
} else if (dir == "leftright") {
animateGuy("down", pRef);
_global.engine.notesHolder.strumFlashPosition.gotoAndStop("leftright");
doStrum("windmillFull", p);
}
}
}
function doStrum(v, p) {
pRef = this[p];
if (pRef.jumping) {
animateGuy("down", pRef);
}
if (v) {
pRef.strummer.gotoAndPlay(v + "1");
} else {
pRef.strummer.gotoAndPlay(pRef.strumAnim);
}
if (p1.gurn.count) {
p1.strummer.head.gotoAndStop(p1.gurn.frame);
p1.gurn.count--;
} else if (activePlayer == "p1") {
}
if (p2.gurn.count) {
p2.strummer.head.gotoAndStop(p2.gurn.frame);
p2.gurn.count--;
} else if (activePlayer == "p2") {
}
doRandomFretArm(pRef);
if (spawnHit && (activePlayer == p)) {
mc = _global.engine.notesHolder.strumFlashPosition.attachMovie("strumFlash", "flash" + _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth(), _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth());
mc.gotoAndPlay("r" + Math.ceil(Math.random() * 3));
mc._x = mc._parent.marker._x;
mc._y = mc._parent.marker._y;
if (_global.engine.notesHolder.strumFlashPosition.marker2) {
mc = _global.engine.notesHolder.strumFlashPosition.attachMovie("strumFlash", "flash" + _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth(), _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth());
mc.gotoAndPlay("r" + Math.ceil(Math.random() * 3));
mc._x = mc._parent.marker2._x;
mc._y = mc._parent.marker2._y;
if (_global.engine.notesHolder.strumFlashPosition.marker3) {
mc = _global.engine.notesHolder.strumFlashPosition.attachMovie("strumFlash", "flash" + _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth(), _global.engine.notesHolder.strumFlashPosition.getNextHighestDepth());
mc.gotoAndPlay("r" + Math.ceil(Math.random() * 3));
mc._x = mc._parent.marker3._x;
mc._y = mc._parent.marker3._y;
}
}
spawnHit--;
}
_global.engine.targetLine.gotoAndPlay("on");
}
function doPose(v, p) {
if (!p) {
p = this[activePlayer]._name;
}
pRef = this[p];
if (!pRef.jumping) {
pRef.strummer.gotoAndPlay(v);
}
}
function doRandomFretArm(pRef) {
pRef.strummer.fretHand._rotation = (pRef.strummer.fretUpperArm._rotation = (pRef.strummer.fretLowerArm._rotation = (Math.random() * fretAmount) - halfFretAmount));
}
function updateGuitarVisibility(v) {
if (!v) {
v = 0;
}
this[activePlayer].guitarVisibility = this[activePlayer].guitarVisibility + v;
this[activePlayer].strummer.guitarWrapper.guitar._alpha = this[activePlayer].guitarVisibility;
if (isNaN(this[activePlayer].guitarVisibility)) {
this[activePlayer].guitarVisibility = 0;
}
}
function animateGuy(n, pRef) {
if (!azorSaysNoAnimation) {
if (!animOverride) {
if (pRef.jumping) {
pRef.gotoAndPlay("drop");
pRef.afterJump = n;
} else {
pRef.gotoAndPlay(n);
}
}
}
}
function afterDrop(t) {
t.gotoAndStop(t.afterJump);
t.jumping = false;
}
function doAnimOverride(v, w, t) {
if (!t) {
t = this[activePlayer];
} else if (typeof(t) == "string") {
t = this[t];
}
if (t._name.substr(2) == "Target") {
t = _global.gameAnimations[t._name.substr(0, 2)];
}
if (w != undefined) {
centreHUD = w;
} else if ((v == undefined) && (w == undefined)) {
centreHUD = false;
}
if (!v) {
animOverride = false;
if (t._currentframe >= 4) {
animateGuy("idle", t);
}
} else {
animOverride = v;
t.gotoAndPlay(animOverride);
}
updateGuitarVisibility();
}
function azorAloft(a) {
_global.root.engine.activeFretboard.fadeOut();
azorSaysNoAnimation = true;
this[activePlayer].gotoAndStop("idle");
if (!a) {
this[activePlayer].strummer.gotoAndStop("done1");
} else {
this[activePlayer].strummer.gotoAndStop("druid1");
}
this[activePlayer].headBang = 0;
this[activePlayer].strummer.head._rotation = 0;
this[activePlayer].strummer.head._x = this[activePlayer].strummer.headStartX;
this[activePlayer].strummer.head._y = this[activePlayer].strummer.headStartY;
}
function doCharacterAnim(f, p) {
if (!p) {
this[activePlayer].sprite.gotoAndPlay(f);
} else {
this[p].sprite.gotoAndPlay(f);
}
}
function choosePlayerMask(f) {
playerMask1.gotoAndStop(f);
if (playerMask2) {
playerMask2.gotoAndStop(f);
}
}
_global.gameAnimations = this;
p1.sprite = p1Target;
p2.sprite = p2Target;
STRUM = 32;
UP = 38;
DOWN = 40;
LEFT = 37;
RIGHT = 39;
spawnHit = 0;
i = 1;
while (i <= 2) {
var pSetup = this["p" + i];
pSetup.strumAnim = "idle";
pSetup.gurn = {};
pSetup.gurn.count = 0;
pSetup.gurn.frame = 6;
pSetup.gurn.maxRandom = 5;
pSetup.guitarVisibility = (pSetup.strummer.guitarWrapper.guitar._alpha = 0);
pSetup.combo = 0;
pSetup.strummer.headStartX = pSetup.strummer.head._x;
pSetup.strummer.headStartY = pSetup.strummer.head._y;
i++;
}
headStartX = p1.strummer.head._x;
headStartY = p1.strummer.head._y;
rhythm = 0;
rhythmCount = 6;
headBangMax = 7;
guitarAlphaSpeed = 0.25;
fretAmount = 40;
halfFretAmount = fretAmount * 0.5;
crowd1.stop();
crowd2.stop();
lightsAnim.stop();
characterP1 = {};
characterP1.hair = 1;
characterP1.head = 1;
characterP1.body = 1;
characterP1.legs = 1;
characterP1.feet = 1;
characterP1.skin = 1;
characterP1.hand = 1;
characterP2 = {};
characterP2.hair = 2;
characterP2.head = 2;
characterP2.body = 2;
characterP2.legs = 2;
characterP2.feet = 2;
characterP2.skin = 2;
characterP2.hand = 1;
startX = _x;
startY = _y;
shakeX = 0;
shakeY = 0;
polarity = 1;
shakeDecay = 0.7;
this.onEnterFrame = function () {
this[activePlayer].strummer.head._x = headStartX;
this[activePlayer].strummer.head._y = headStartY;
if (this[activePlayer].headBang) {
this[activePlayer].strummer.head._rotation = 0 + this[activePlayer].headBang;
display.text = (this[activePlayer].strummer.head._x + ",") + this[activePlayer].strummer.head._y;
this[activePlayer].headBang = Math.floor((this[activePlayer].headBang = this[activePlayer].headBang * 0.75));
}
if (shakeX || (shakeY)) {
shakeMe(this);
}
};
_global.doAnimOverride = doAnimOverride;
stop();
Instance of Symbol 1246 MovieClip [character1] "p2Depth" in Symbol 1525 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = 600 - _parent.p2Target.sprite._x;
this._y = _parent.p2Target.sprite._y;
this._rotation = 360 - _parent.p2Target.sprite._rotation;
this._xscale = ((_parent.p2Target._xscale / 100) * _parent.p2Target.sprite._xscale) * -1;
this._yscale = ((_parent.p2Target._yscale / 100) * _parent.p2Target.sprite._yscale) * -1;
}
Instance of Symbol 1246 MovieClip [character1] "p1Depth" in Symbol 1525 MovieClip Frame 1
onClipEvent (enterFrame) {
this._x = _parent.p1Target.sprite._x;
this._y = _parent.p1Target.sprite._y;
this._rotation = _parent.p1Target.sprite._rotation;
this._xscale = (this._yscale = _parent.p1Target._xscale);
}
Instance of Symbol 705 MovieClip "mute" in Symbol 1525 MovieClip Frame 1
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (_global.sndMan.mute) {
gotoAndStop ("on");
_global.isMuted = false;
if (_global.root.unmuteEvent) {
_root.kvEvent(_global.root.unmuteEvent);
}
_global.sndMan.mute = false;
} else {
gotoAndStop ("off");
_global.isMuted = true;
if (_global.root.muteEvent) {
_root.kvEvent(_global.root.muteEvent);
}
_global.sndMan.mute = true;
}
};
}
Symbol 1525 MovieClip Frame 86
gotoAndStop ("idle");
Symbol 1525 MovieClip Frame 94
stop();
Symbol 1525 MovieClip Frame 105
stop();
Symbol 1525 MovieClip Frame 114
stop();
Symbol 1525 MovieClip Frame 115
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("headLeft");
i++;
}
Symbol 1525 MovieClip Frame 116
stop();
Symbol 1525 MovieClip Frame 118
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("nod");
i++;
}
Symbol 1525 MovieClip Frame 119
stop();
Symbol 1525 MovieClip Frame 121
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("headRight");
i++;
}
Symbol 1525 MovieClip Frame 122
stop();
Symbol 1525 MovieClip Frame 123
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("rock");
i++;
}
Symbol 1525 MovieClip Frame 124
stop();
Symbol 1525 MovieClip Frame 126
z1.gotoAndPlay("rockOff");
i = 2;
while (i <= 6) {
this["z" + i].gotoAndPlay("rock");
i++;
}
Symbol 1525 MovieClip Frame 127
stop();
Symbol 1525 MovieClip Frame 132
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("waddleRight");
i++;
}
Symbol 1525 MovieClip Frame 133
stop();
Symbol 1525 MovieClip Frame 134
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("waddleLeft");
i++;
}
Symbol 1525 MovieClip Frame 135
stop();
Symbol 1525 MovieClip Frame 143
stop();
Symbol 1525 MovieClip Frame 294
stop();
Symbol 1525 MovieClip Frame 295
magicShake = 1;
magicFreq = 4;
magicCount = 0;
magic.onEnterFrame = function () {
if ((magicCount % magicFreq) == 0) {
shakeY = magicShake;
if (magicShake < 20) {
magicShake = magicShake + 0.25;
}
}
magicCount++;
};
Instance of Symbol 1368 MovieClip "magic" in Symbol 1525 MovieClip Frame 295
onClipEvent (load) {
gotoAndPlay(Math.ceil(_totalframes / 2));
}
Symbol 1525 MovieClip Frame 297
stop();
Symbol 1525 MovieClip Frame 299
shakeX = 55;
this[inactivePlayer].gotoAndStop("rabbitMode");
Symbol 1525 MovieClip Frame 375
stop();
Symbol 1525 MovieClip Frame 383
doCharacterAnim("elevatorFall", inactivePlayer);
Symbol 1525 MovieClip Frame 406
stop();
Symbol 1525 MovieClip Frame 420
choosePlayerMask("elevator");
Symbol 1525 MovieClip Frame 438
choosePlayerMask("off");
Symbol 1525 MovieClip Frame 466
choosePlayerMask("elevator");
Symbol 1525 MovieClip Frame 478
stop();
Symbol 1525 MovieClip Frame 483
shakeY = 60;
choosePlayerMask("on");
Symbol 1525 MovieClip Frame 491
stop();
Symbol 1525 MovieClip Frame 535
shakeY = 1;
Symbol 1525 MovieClip Frame 537
shakeY = 2;
Symbol 1525 MovieClip Frame 539
shakeY = 3;
Symbol 1525 MovieClip Frame 541
shakeY = 4;
Symbol 1525 MovieClip Frame 543
shakeY = 5;
Symbol 1525 MovieClip Frame 545
shakeY = 5;
Symbol 1525 MovieClip Frame 547
shakeY = 5;
Symbol 1525 MovieClip Frame 550
shakeY = 5;
Symbol 1525 MovieClip Frame 556
stop();
Symbol 1525 MovieClip Frame 557
doCharacterAnim("mountainFall", inactivePlayer);
doCharacterAnim("spaceFloat");
Instance of Symbol 1441 MovieClip "stars" in Symbol 1525 MovieClip Frame 557
onClipEvent (enterFrame) {
this._y = this._y + 0.25;
}
Symbol 1525 MovieClip Frame 607
stars.onEnterFrame = function () {
this._y = this._y + 1;
};
rocket.gotoAndStop("on");
stop();
Symbol 1525 MovieClip Frame 609
rocket.gotoAndStop("crash");
stars.yVel = 1;
stars.onEnterFrame = function () {
this._y = this._y + this.yVel;
this.yVel = this.yVel - 0.01;
};
Symbol 1525 MovieClip Frame 667
stop();
Symbol 1525 MovieClip Frame 669
rocket.gotoAndStop("broke");
this[activePlayer].gotoAndStop("centre");
shakeY = 50;
delete stars.onEnterFrame;
Symbol 1525 MovieClip Frame 680
stop();
Symbol 1525 MovieClip Frame 681
stop();
Symbol 1525 MovieClip Frame 682
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 685
doCharacterAnim("mountain");
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 688
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 691
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 694
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 695
doCharacterAnim("mountainFall", inactivePlayer);
Symbol 1525 MovieClip Frame 700
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 703
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 706
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 709
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 712
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 715
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 718
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 721
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 724
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 727
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 728
stop();
Symbol 1525 MovieClip Frame 734
shakeX = -10;
shakeY = -2;
Symbol 1525 MovieClip Frame 737
shakeY = 2;
Symbol 1525 MovieClip Frame 740
shakeY = 2;
Symbol 1525 MovieClip Frame 743
shakeY = 2;
Symbol 1525 MovieClip Frame 746
shakeY = 2;
Symbol 1525 MovieClip Frame 759
stop();
Symbol 1525 MovieClip Frame 761
shakeY = 2;
Symbol 1525 MovieClip Frame 764
shakeY = 2;
Symbol 1525 MovieClip Frame 767
shakeY = 2;
Symbol 1525 MovieClip Frame 770
shakeY = 2;
Symbol 1525 MovieClip Frame 773
shakeY = 2;
Symbol 1525 MovieClip Frame 776
shakeY = 2;
Symbol 1525 MovieClip Frame 779
stop();
Symbol 1525 MovieClip Frame 782
shakeY = 2;
this[inactivePlayer]._visible = false;
Symbol 1525 MovieClip Frame 785
shakeY = 2;
Symbol 1525 MovieClip Frame 788
shakeY = 2;
Symbol 1525 MovieClip Frame 791
shakeY = 2;
Symbol 1525 MovieClip Frame 794
doCharacterAnim("onFire");
shakeY = 2;
Symbol 1525 MovieClip Frame 797
shakeY = 2;
Symbol 1525 MovieClip Frame 801
doCharacterAnim("spaceFloat");
Symbol 1525 MovieClip Frame 810
stop();
Symbol 1525 MovieClip Frame 816
shakeY = 30;
choosePlayerMask("hole");
doCharacterAnim("inHole");
Symbol 1525 MovieClip Frame 826
stop();
Symbol 1525 MovieClip Frame 829
choosePlayerMask("on");
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 832
doCharacterAnim("godzillaUp");
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 835
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 838
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 841
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 842
doCharacterAnim("mountainFall", inactivePlayer);
Symbol 1525 MovieClip Frame 844
doCharacterAnim("godzillaDown");
Symbol 1525 MovieClip Frame 847
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 850
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 853
shakeX = 12;
shakeY = -2;
Symbol 1525 MovieClip Frame 856
doCharacterAnim("godzillaWalk");
shakeX = 2;
shakeY = 2;
Symbol 1525 MovieClip Frame 867
coptersGo = true;
stop();
Symbol 1525 MovieClip Frame 868
godzilla.sprite.gotoAndPlay("fireLeft");
Symbol 1525 MovieClip Frame 884
godzilla.building1.gotoAndPlay("flameOn");
godzilla.building2.gotoAndPlay("flameOn");
stop();
Symbol 1525 MovieClip Frame 886
godzilla.sprite.gotoAndPlay("fireRight");
Symbol 1525 MovieClip Frame 901
godzilla.building3.gotoAndPlay("flameOn");
godzilla.building4.gotoAndPlay("flameOn");
stop();
Symbol 1525 MovieClip Frame 905
godzilla.sprite.gotoAndPlay("citiesOnFlame");
Symbol 1525 MovieClip Frame 917
stop();
Symbol 1525 MovieClip Frame 933
a = 0;
robot.onEnterFrame = function () {
a = a + 0.1;
this._x = this._x + Math.sin(a);
this._y = this._y + Math.cos(a);
};
Symbol 1525 MovieClip Frame 935
stop();
Symbol 1525 MovieClip Frame 943
godzilla.sprite.gotoAndPlay("punch");
Symbol 1525 MovieClip Frame 948
stop();
Symbol 1525 MovieClip Frame 950
stop();
Symbol 1525 MovieClip Frame 970
shakeX = 100;
shakeY = 100;
doCharacterAnim("spaceFloat");
Instance of Symbol 1441 MovieClip "stars" in Symbol 1525 MovieClip Frame 980
onClipEvent (enterFrame) {
this._rotation = this._rotation + 0.25;
}
Symbol 1525 MovieClip Frame 1039
stop();
Symbol 1530 MovieClip Frame 1
stop();
Symbol 1530 MovieClip Frame 19
gotoAndStop ("off");
Symbol 1533 MovieClip Frame 1
_visible = false;
Symbol 1535 MovieClip Frame 1
_visible = false;
Symbol 1536 MovieClip Frame 2
stop();
Symbol 1536 MovieClip Frame 9
stop();
Symbol 1536 MovieClip Frame 15
stop();
Symbol 1536 MovieClip Frame 21
stop();
Symbol 1536 MovieClip Frame 28
stop();
Symbol 1536 MovieClip Frame 37
stop();
Symbol 1536 MovieClip Frame 46
stop();
Symbol 1538 MovieClip [player2fretboard] Frame 1
#initclip 66
Object.registerClass("player2fretboard", Fretboard);
#endinitclip
stop();
Symbol 1538 MovieClip [player2fretboard] Frame 15
stop();
Symbol 1539 MovieClip [player1fretboard] Frame 1
#initclip 64
Object.registerClass("player1fretboard", Fretboard);
#endinitclip
stop();
Symbol 1539 MovieClip [player1fretboard] Frame 15
stop();
Symbol 1540 MovieClip [engine] Frame 1
#initclip 65
Object.registerClass("engine", Engine);
#endinitclip
Symbol 1576 MovieClip Frame 1
stop();
Symbol 1576 MovieClip Frame 22
gotoAndPlay ("loop");
Symbol 1583 MovieClip Frame 1
stop();
Symbol 1583 MovieClip Frame 22
gotoAndPlay ("loop");
Symbol 1584 MovieClip Frame 1