Frame 1
_global.root = this;
_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 = 1;
if (!testMode) {
stop();
if (playerVersion < 8) {
loadMovie (_global.assetsURL + "error.swf", _root);
} else if (isMaster) {
play();
} else {
var vc_lv = new LoadVars();
vc_lv.onLoad = function (success) {
clearInterval(tOIntId);
delete tOIntId;
if (success) {
if (Number(vc_lv.v) > game_version) {
loadMovie ((_global.assetsURL + "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 2
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, name:"wildhearts"});
trackDetails.push({linkage:"electric6Img", title:"Electric 6", desc:"Formula 409", opponentName:"Mickey Badger", opponentRocker:3, url:_global.assetsURL + "music/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", name:"eurekaMachines"});
trackDetails.push({linkage:"deadPetalsImg", title:"The Dead Petal", desc:"White Chocolate", opponentName:"Pete Fish", opponentRocker:6, url:_global.assetsURL + "music/deadPetals.swf", name:"deadPetals"});
trackDetails.push({linkage:"beaniusImg", title:"Beanius", desc:"John Tracy", opponentName:"Nina Nandos", opponentRocker:5, 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 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 _local3 = getSO();
var _local4 = getLocalSO();
if (_local3.data.tracks[trackNum]) {
if (_local3.data.tracks[trackNum] < hitPercentage) {
_local4.data.tracks[trackNum] = (_local3.data.tracks[trackNum] = hitPercentage);
}
} else {
_local4.data.tracks[trackNum] = (_local3.data.tracks[trackNum] = hitPercentage);
}
_local3.flush();
_local4.flush();
}
function getScore(trackNum) {
var _local2 = getSO();
if (_local2.data.tracks[trackNum]) {
return(_local2.data.tracks[trackNum]);
}
return(-0.1);
}
if (!_global.sndMan) {
_global.sndMan = new SoundManager();
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 3
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 6
gotoAndPlay ("start");
Symbol 6 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 12 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 53 MovieClip [kvSpark] Frame 70
stop();
Symbol 67 MovieClip Frame 100
gotoAndPlay (1);
Symbol 86 MovieClip Frame 1
function onEnterFrame() {
var _local2 = _root.getBytesLoaded() / _root.getBytesTotal();
if (getTimer() >= (startTime + 4000)) {
animDone = true;
}
if ((Math.ceil(bar._width) >= width) && (animDone)) {
stopSparks = true;
delete onEnterFrame;
gotoAndPlay ("out");
} else {
setProgress(_local2);
}
}
function fadeOut() {
setProgress(progress);
this._alpha = this._alpha - 5;
if (this._alpha <= -50) {
this._visible = false;
_parent.play();
}
}
function makeSpark() {
if (!stopSparks) {
attachMovie("kvSpark", "spark" + i, this.getNextHighestDepth());
this["spark" + i]._x = bar._x + bar._width;
this["spark" + i]._y = bar._y + (Math.random() * 20);
this["spark" + i].grav = 0.1;
this["spark" + i].wind = (Math.random() * 4) - 3;
this["spark" + i].spin = Math.random() * 10;
this["spark" + i].onEnterFrame = sparkControl;
i++;
}
}
function sparkControl() {
if (!stopSparks) {
this._y = this._y + this.grav;
this._x = this._x + this.wind;
this.grav = this.grav * gravity;
this._alpha = this._alpha - this.grav;
this._rotation = this._rotation + this.spin;
if (this._alpha <= 0) {
this.removeMovieClip();
}
} else {
this.removeMovieClip();
}
}
function setProgress(p) {
bar._width = ((bar._width * 2) + (p * width)) / 3;
if (progress != 1) {
makeSpark();
}
}
width = 200;
i = 0;
gravity = 1.3;
startTime = getTimer();
if (this._name == "loader_mc") {
myName = _global.language.loadingAssets;
} else {
myName = _global.language.initLevel;
}
setProgress(0);
_parent.stop();
Symbol 86 MovieClip Frame 13
stop();
Symbol 86 MovieClip Frame 40
_parent.play();
Symbol 1605 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 1606 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) {
_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 1607 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 1608 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 1609 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 1610 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 1611 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 1612 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 1613 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 1614 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 1615 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 1616 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 1617 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 1618 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 1619 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 1620 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 1621 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 1622 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() {
if (inGame) {
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() {
mode = DISCONNECTED;
conn.disconnect();
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;
stopKeepAlive();
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(5));
}
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 = 5000;
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 1623 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 1624 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 1625 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 1626 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 1627 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 1628 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 1629 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 1630 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 1631 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 1632 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 1633 MovieClip [__Packages.Note3] Frame 0
class Note3 extends Note
{
function Note3 () {
super();
}
var note_num = 3;
}
Symbol 1634 MovieClip [__Packages.Note2] Frame 0
class Note2 extends Note
{
function Note2 () {
super();
}
var note_num = 2;
}
Symbol 1635 MovieClip [__Packages.Note1] Frame 0
class Note1 extends Note
{
function Note1 () {
super();
}
var note_num = 1;
}
Symbol 1636 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 1637 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 1638 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 1639 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 1640 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 1641 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 1642 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 1643 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 1644 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 1645 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 1646 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 1647 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 1648 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 1649 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 108 MovieClip [strumFlash] Frame 7
stop();
removeMovieClip(this);
Symbol 108 MovieClip [strumFlash] Frame 14
stop();
removeMovieClip(this);
Symbol 108 MovieClip [strumFlash] Frame 21
stop();
removeMovieClip(this);
Symbol 116 MovieClip Frame 1
stop();
Symbol 116 MovieClip Frame 2
gotoAndPlay(Math.ceil(Math.random() * 3) + 3);
Symbol 116 MovieClip Frame 10
gotoAndPlay ("loop");
Symbol 116 MovieClip Frame 13
stop();
Symbol 118 MovieClip Frame 1
if (!_parent.isFlaming) {
stop();
}
Symbol 118 MovieClip Frame 11
stop();
Symbol 119 MovieClip [note1] Frame 1
#initclip 63
Object.registerClass("note1", Note1);
#endinitclip
Symbol 119 MovieClip [note1] Frame 40
stop();
Symbol 119 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 119 MovieClip [note1] Frame 48
stop();
removeMovieClip(this);
Symbol 119 MovieClip [note1] Frame 54
stop();
removeMovieClip(this);
Symbol 120 MovieClip [note2] Frame 1
#initclip 51
Object.registerClass("note2", Note2);
#endinitclip
Symbol 120 MovieClip [note2] Frame 40
stop();
Symbol 120 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 120 MovieClip [note2] Frame 48
stop();
removeMovieClip(this);
Symbol 120 MovieClip [note2] Frame 54
stop();
removeMovieClip(this);
Symbol 121 MovieClip [note3] Frame 1
#initclip 52
Object.registerClass("note3", Note3);
#endinitclip
Symbol 121 MovieClip [note3] Frame 40
stop();
Symbol 121 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 121 MovieClip [note3] Frame 48
stop();
removeMovieClip(this);
Symbol 121 MovieClip [note3] Frame 54
stop();
removeMovieClip(this);
Symbol 144 MovieClip [carouselItem] Frame 1
#initclip 53
Object.registerClass("carouselItem", CarouselItem);
#endinitclip
Symbol 155 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 158 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 173 MovieClip Frame 6
stop();
Symbol 176 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 190 MovieClip Frame 1
stop();
Symbol 193 MovieClip Frame 1
stop();
Symbol 199 MovieClip Frame 1
gotoAndStop(_parent.handFrame);
stop();
Symbol 223 MovieClip Frame 1
gotoAndStop(_parent.armFrame);
stop();
Symbol 223 MovieClip Frame 136
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 233 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 235 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 281 MovieClip Frame 100
stop();
Symbol 285 MovieClip Frame 1
armFrame = "c3s3";
handFrame = "c1s3";
Symbol 285 MovieClip Frame 2
stop();
Symbol 285 MovieClip Frame 14
stop();
Symbol 285 MovieClip Frame 23
stop();
Symbol 285 MovieClip Frame 41
stop();
Symbol 285 MovieClip Frame 45
stop();
Symbol 285 MovieClip Frame 51
stop();
Symbol 285 MovieClip Frame 69
gotoAndPlay ("break3Loop");
Symbol 285 MovieClip Frame 89
stop();
Symbol 285 MovieClip Frame 109
gotoAndStop ("idle");
Symbol 285 MovieClip Frame 126
stop();
Symbol 285 MovieClip Frame 128
stop();
Symbol 285 MovieClip Frame 142
stop();
Symbol 285 MovieClip Frame 148
stop();
Symbol 285 MovieClip Frame 162
gotoAndStop ("idle");
Symbol 285 MovieClip Frame 176
stop();
Symbol 285 MovieClip Frame 184
stop();
Symbol 285 MovieClip Frame 199
stop();
Symbol 285 MovieClip Frame 202
stop();
Symbol 285 MovieClip Frame 218
stop();
Symbol 285 MovieClip Frame 221
stop();
Symbol 285 MovieClip Frame 238
stop();
Symbol 285 MovieClip Frame 243
stop();
Symbol 285 MovieClip Frame 261
stop();
Symbol 285 MovieClip Frame 274
stop();
Symbol 285 MovieClip Frame 286
stop();
Symbol 289 MovieClip Frame 1
stop();
Symbol 289 MovieClip Frame 2
Symbol 292 MovieClip Frame 1
_alpha = (_alpha - 1);
Symbol 292 MovieClip Frame 2
_alpha = (_alpha - 1);
Symbol 297 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 304 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 307 MovieClip [character2] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 307 MovieClip [character2] Frame 3
stop();
Symbol 307 MovieClip [character2] Frame 6
stop();
Symbol 307 MovieClip [character2] Frame 38
stop();
Symbol 307 MovieClip [character2] Frame 43
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 307 MovieClip [character2] Frame 58
gotoAndStop ("idle");
Symbol 307 MovieClip [character2] Frame 90
gotoAndPlay ("hop");
Symbol 307 MovieClip [character2] Frame 109
gotoAndPlay ("walkRight");
Symbol 307 MovieClip [character2] Frame 128
gotoAndPlay ("walkLeft");
Symbol 307 MovieClip [character2] Frame 146
gotoAndPlay ("runRight");
Symbol 307 MovieClip [character2] Frame 159
gotoAndPlay ("runLeft");
Symbol 307 MovieClip [character2] Frame 178
stop();
Symbol 307 MovieClip [character2] Frame 187
gotoAndStop ("idle");
Symbol 307 MovieClip [character2] Frame 195
stop();
Symbol 307 MovieClip [character2] Frame 204
gotoAndStop ("idle");
Symbol 307 MovieClip [character2] Frame 213
stop();
Symbol 307 MovieClip [character2] Frame 218
strummer.gotoAndPlay("jump1");
Symbol 307 MovieClip [character2] Frame 239
stop();
Symbol 307 MovieClip [character2] Frame 241
boom.gotoAndPlay("on");
Symbol 307 MovieClip [character2] Frame 242
_global.gameAnimations.afterDrop(this);
Symbol 307 MovieClip [character2] Frame 255
stop();
Symbol 307 MovieClip [character2] Frame 269
gotoAndPlay ("onBackMove");
Symbol 307 MovieClip [character2] Frame 273
_global.gameAnimations.setStrum("archBack");
Symbol 307 MovieClip [character2] Frame 276
stop();
Symbol 307 MovieClip [character2] Frame 278
_global.gameAnimations.setStrum();
Symbol 307 MovieClip [character2] Frame 282
stop();
Symbol 307 MovieClip [character2] Frame 312
stop();
Symbol 307 MovieClip [character2] Frame 332
stop();
Symbol 307 MovieClip [character2] Frame 349
stop();
Symbol 307 MovieClip [character2] Frame 357
stop();
Symbol 307 MovieClip [character2] Frame 366
stop();
Symbol 307 MovieClip [character2] Frame 369
stop();
Symbol 307 MovieClip [character2] Frame 392
gotoAndPlay ("crowdSurf");
Symbol 307 MovieClip [character2] Frame 399
_parent.doAnimOverride();
Symbol 307 MovieClip [character2] Frame 462
stop();
Symbol 307 MovieClip [character2] Frame 485
stop();
Symbol 314 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 321 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 327 MovieClip Frame 6
stop();
Symbol 330 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 335 MovieClip Frame 1
stop();
Symbol 337 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 341 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 347 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 352 MovieClip Frame 1
armFrame = "c9s1";
handFrame = "c9s1";
Symbol 352 MovieClip Frame 2
stop();
Symbol 352 MovieClip Frame 14
stop();
Symbol 352 MovieClip Frame 23
stop();
Symbol 352 MovieClip Frame 41
stop();
Symbol 352 MovieClip Frame 45
stop();
Symbol 352 MovieClip Frame 51
stop();
Symbol 352 MovieClip Frame 69
gotoAndPlay ("break3Loop");
Symbol 352 MovieClip Frame 89
stop();
Symbol 352 MovieClip Frame 109
gotoAndStop ("idle");
Symbol 352 MovieClip Frame 126
stop();
Symbol 352 MovieClip Frame 128
stop();
Symbol 352 MovieClip Frame 142
stop();
Symbol 352 MovieClip Frame 148
stop();
Symbol 352 MovieClip Frame 162
gotoAndStop ("idle");
Symbol 352 MovieClip Frame 176
stop();
Symbol 352 MovieClip Frame 184
stop();
Symbol 352 MovieClip Frame 199
stop();
Symbol 352 MovieClip Frame 202
stop();
Symbol 352 MovieClip Frame 218
stop();
Symbol 352 MovieClip Frame 221
stop();
Symbol 352 MovieClip Frame 238
stop();
Symbol 352 MovieClip Frame 243
stop();
Symbol 352 MovieClip Frame 261
stop();
Symbol 352 MovieClip Frame 276
stop();
Symbol 352 MovieClip Frame 287
stop();
Symbol 354 MovieClip Frame 1
stop();
Symbol 354 MovieClip Frame 2
Symbol 358 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 361 MovieClip [character3] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 361 MovieClip [character3] Frame 3
stop();
Symbol 361 MovieClip [character3] Frame 5
stop();
Symbol 361 MovieClip [character3] Frame 38
stop();
Symbol 361 MovieClip [character3] Frame 43
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 361 MovieClip [character3] Frame 58
gotoAndStop ("idle");
Symbol 361 MovieClip [character3] Frame 90
gotoAndPlay ("hop");
Symbol 361 MovieClip [character3] Frame 109
gotoAndPlay ("walkRight");
Symbol 361 MovieClip [character3] Frame 128
gotoAndPlay ("walkLeft");
Symbol 361 MovieClip [character3] Frame 146
gotoAndPlay ("runRight");
Symbol 361 MovieClip [character3] Frame 159
gotoAndPlay ("runLeft");
Symbol 361 MovieClip [character3] Frame 178
stop();
Symbol 361 MovieClip [character3] Frame 187
gotoAndStop ("idle");
Symbol 361 MovieClip [character3] Frame 195
stop();
Symbol 361 MovieClip [character3] Frame 204
gotoAndStop ("idle");
Symbol 361 MovieClip [character3] Frame 213
stop();
Symbol 361 MovieClip [character3] Frame 218
strummer.gotoAndPlay("jump1");
Symbol 361 MovieClip [character3] Frame 239
stop();
Symbol 361 MovieClip [character3] Frame 241
boom.gotoAndPlay("on");
Symbol 361 MovieClip [character3] Frame 242
_global.gameAnimations.afterDrop(this);
Symbol 361 MovieClip [character3] Frame 255
stop();
Symbol 361 MovieClip [character3] Frame 269
gotoAndPlay ("onBackMove");
Symbol 361 MovieClip [character3] Frame 273
_global.gameAnimations.setStrum("archBack");
Symbol 361 MovieClip [character3] Frame 276
stop();
Symbol 361 MovieClip [character3] Frame 278
_global.gameAnimations.setStrum();
Symbol 361 MovieClip [character3] Frame 282
stop();
Symbol 361 MovieClip [character3] Frame 312
stop();
Symbol 361 MovieClip [character3] Frame 332
stop();
Symbol 361 MovieClip [character3] Frame 349
stop();
Symbol 361 MovieClip [character3] Frame 357
stop();
Symbol 361 MovieClip [character3] Frame 366
stop();
Symbol 361 MovieClip [character3] Frame 369
stop();
Symbol 361 MovieClip [character3] Frame 392
gotoAndPlay ("crowdSurf");
Symbol 361 MovieClip [character3] Frame 399
_parent.doAnimOverride();
Symbol 361 MovieClip [character3] Frame 462
stop();
Symbol 361 MovieClip [character3] Frame 485
stop();
Symbol 368 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 375 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 381 MovieClip Frame 6
stop();
Symbol 384 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 389 MovieClip Frame 1
stop();
Symbol 392 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 399 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 403 MovieClip Frame 1
armFrame = "c1s2";
handFrame = "c1s2";
Symbol 403 MovieClip Frame 2
stop();
Symbol 403 MovieClip Frame 14
stop();
Symbol 403 MovieClip Frame 23
stop();
Symbol 403 MovieClip Frame 41
stop();
Symbol 403 MovieClip Frame 48
stop();
Symbol 403 MovieClip Frame 54
stop();
Symbol 403 MovieClip Frame 72
gotoAndPlay ("break3Loop");
Symbol 403 MovieClip Frame 92
stop();
Symbol 403 MovieClip Frame 112
gotoAndStop ("idle");
Symbol 403 MovieClip Frame 129
stop();
Symbol 403 MovieClip Frame 131
stop();
Symbol 403 MovieClip Frame 145
stop();
Symbol 403 MovieClip Frame 151
stop();
Symbol 403 MovieClip Frame 165
gotoAndStop ("idle");
Symbol 403 MovieClip Frame 179
stop();
Symbol 403 MovieClip Frame 187
stop();
Symbol 403 MovieClip Frame 202
stop();
Symbol 403 MovieClip Frame 205
stop();
Symbol 403 MovieClip Frame 221
stop();
Symbol 403 MovieClip Frame 224
stop();
Symbol 403 MovieClip Frame 241
stop();
Symbol 403 MovieClip Frame 246
stop();
Symbol 403 MovieClip Frame 264
stop();
Symbol 403 MovieClip Frame 287
stop();
Symbol 403 MovieClip Frame 297
stop();
Symbol 405 MovieClip Frame 1
stop();
Symbol 405 MovieClip Frame 2
Symbol 429 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 429 MovieClip Frame 46
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 431 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 433 MovieClip [character4] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 433 MovieClip [character4] Frame 3
stop();
Symbol 433 MovieClip [character4] Frame 6
stop();
Symbol 433 MovieClip [character4] Frame 39
stop();
Symbol 433 MovieClip [character4] Frame 44
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 433 MovieClip [character4] Frame 59
gotoAndStop ("idle");
Symbol 433 MovieClip [character4] Frame 91
gotoAndPlay ("hop");
Symbol 433 MovieClip [character4] Frame 110
gotoAndPlay ("walkRight");
Symbol 433 MovieClip [character4] Frame 129
gotoAndPlay ("walkLeft");
Symbol 433 MovieClip [character4] Frame 147
gotoAndPlay ("runRight");
Symbol 433 MovieClip [character4] Frame 160
gotoAndPlay ("runLeft");
Symbol 433 MovieClip [character4] Frame 179
stop();
Symbol 433 MovieClip [character4] Frame 188
gotoAndStop ("idle");
Symbol 433 MovieClip [character4] Frame 196
stop();
Symbol 433 MovieClip [character4] Frame 205
gotoAndStop ("idle");
Symbol 433 MovieClip [character4] Frame 214
stop();
Symbol 433 MovieClip [character4] Frame 219
strummer.gotoAndPlay("jump1");
Symbol 433 MovieClip [character4] Frame 240
stop();
Symbol 433 MovieClip [character4] Frame 242
boom.gotoAndPlay("on");
Symbol 433 MovieClip [character4] Frame 243
_global.gameAnimations.afterDrop(this);
Symbol 433 MovieClip [character4] Frame 256
stop();
Symbol 433 MovieClip [character4] Frame 270
gotoAndPlay ("onBackMove");
Symbol 433 MovieClip [character4] Frame 274
_global.gameAnimations.setStrum("archBack");
Symbol 433 MovieClip [character4] Frame 277
stop();
Symbol 433 MovieClip [character4] Frame 279
_global.gameAnimations.setStrum();
Symbol 433 MovieClip [character4] Frame 283
stop();
Symbol 433 MovieClip [character4] Frame 313
stop();
Symbol 433 MovieClip [character4] Frame 333
stop();
Symbol 433 MovieClip [character4] Frame 350
stop();
Symbol 433 MovieClip [character4] Frame 358
stop();
Symbol 433 MovieClip [character4] Frame 367
stop();
Symbol 433 MovieClip [character4] Frame 370
stop();
Symbol 433 MovieClip [character4] Frame 393
gotoAndPlay ("crowdSurf");
Symbol 433 MovieClip [character4] Frame 400
_parent.doAnimOverride();
Symbol 433 MovieClip [character4] Frame 463
stop();
Symbol 433 MovieClip [character4] Frame 486
stop();
Symbol 446 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 452 MovieClip Frame 6
stop();
Symbol 455 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 460 MovieClip Frame 1
stop();
Symbol 462 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 464 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 470 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 475 MovieClip Frame 1
armFrame = "c8s1";
handFrame = "c1s1";
Symbol 475 MovieClip Frame 2
stop();
Symbol 475 MovieClip Frame 14
stop();
Symbol 475 MovieClip Frame 23
stop();
Symbol 475 MovieClip Frame 41
stop();
Symbol 475 MovieClip Frame 50
stop();
Symbol 475 MovieClip Frame 56
stop();
Symbol 475 MovieClip Frame 74
gotoAndPlay ("break3Loop");
Symbol 475 MovieClip Frame 94
stop();
Symbol 475 MovieClip Frame 114
gotoAndStop ("idle");
Symbol 475 MovieClip Frame 131
stop();
Symbol 475 MovieClip Frame 133
stop();
Symbol 475 MovieClip Frame 147
stop();
Symbol 475 MovieClip Frame 153
stop();
Symbol 475 MovieClip Frame 167
gotoAndStop ("idle");
Symbol 475 MovieClip Frame 181
stop();
Symbol 475 MovieClip Frame 189
stop();
Symbol 475 MovieClip Frame 204
stop();
Symbol 475 MovieClip Frame 207
stop();
Symbol 475 MovieClip Frame 223
stop();
Symbol 475 MovieClip Frame 226
stop();
Symbol 475 MovieClip Frame 243
stop();
Symbol 475 MovieClip Frame 248
stop();
Symbol 475 MovieClip Frame 266
stop();
Symbol 475 MovieClip Frame 275
stop();
Symbol 475 MovieClip Frame 285
stop();
Symbol 477 MovieClip Frame 1
stop();
Symbol 477 MovieClip Frame 2
Symbol 478 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 482 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 484 MovieClip [character5] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 484 MovieClip [character5] Frame 3
stop();
Symbol 484 MovieClip [character5] Frame 33
stop();
Symbol 484 MovieClip [character5] Frame 38
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 484 MovieClip [character5] Frame 53
gotoAndStop ("idle");
Symbol 484 MovieClip [character5] Frame 85
gotoAndPlay ("hop");
Symbol 484 MovieClip [character5] Frame 104
gotoAndPlay ("walkRight");
Symbol 484 MovieClip [character5] Frame 123
gotoAndPlay ("walkLeft");
Symbol 484 MovieClip [character5] Frame 141
gotoAndPlay ("runRight");
Symbol 484 MovieClip [character5] Frame 154
gotoAndPlay ("runLeft");
Symbol 484 MovieClip [character5] Frame 173
stop();
Symbol 484 MovieClip [character5] Frame 182
gotoAndStop ("idle");
Symbol 484 MovieClip [character5] Frame 190
stop();
Symbol 484 MovieClip [character5] Frame 199
gotoAndStop ("idle");
Symbol 484 MovieClip [character5] Frame 208
stop();
Symbol 484 MovieClip [character5] Frame 213
strummer.gotoAndPlay("jump1");
Symbol 484 MovieClip [character5] Frame 234
stop();
Symbol 484 MovieClip [character5] Frame 236
boom.gotoAndPlay("on");
Symbol 484 MovieClip [character5] Frame 237
_global.gameAnimations.afterDrop(this);
Symbol 484 MovieClip [character5] Frame 250
stop();
Symbol 484 MovieClip [character5] Frame 264
gotoAndPlay ("onBackMove");
Symbol 484 MovieClip [character5] Frame 268
_global.gameAnimations.setStrum("archBack");
Symbol 484 MovieClip [character5] Frame 271
stop();
Symbol 484 MovieClip [character5] Frame 273
_global.gameAnimations.setStrum();
Symbol 484 MovieClip [character5] Frame 277
stop();
Symbol 484 MovieClip [character5] Frame 307
stop();
Symbol 484 MovieClip [character5] Frame 327
stop();
Symbol 484 MovieClip [character5] Frame 344
stop();
Symbol 484 MovieClip [character5] Frame 352
stop();
Symbol 484 MovieClip [character5] Frame 361
stop();
Symbol 484 MovieClip [character5] Frame 364
stop();
Symbol 484 MovieClip [character5] Frame 387
gotoAndPlay ("crowdSurf");
Symbol 484 MovieClip [character5] Frame 394
_parent.doAnimOverride();
Symbol 484 MovieClip [character5] Frame 402
stop();
Symbol 484 MovieClip [character5] Frame 457
stop();
Symbol 484 MovieClip [character5] Frame 480
stop();
Symbol 492 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 496 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 505 MovieClip Frame 6
stop();
Symbol 508 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 513 MovieClip Frame 1
stop();
Symbol 519 MovieClip Frame 1
armFrame = "c5s3";
handFrame = "c1s3";
Symbol 519 MovieClip Frame 2
stop();
Symbol 519 MovieClip Frame 14
stop();
Symbol 519 MovieClip Frame 23
stop();
Symbol 519 MovieClip Frame 32
stop();
Symbol 519 MovieClip Frame 41
stop();
Symbol 519 MovieClip Frame 49
stop();
Symbol 519 MovieClip Frame 55
stop();
Symbol 519 MovieClip Frame 73
gotoAndPlay ("break3Loop");
Symbol 519 MovieClip Frame 93
stop();
Symbol 519 MovieClip Frame 113
gotoAndStop ("idle");
Symbol 519 MovieClip Frame 130
stop();
Symbol 519 MovieClip Frame 132
stop();
Symbol 519 MovieClip Frame 146
stop();
Symbol 519 MovieClip Frame 152
stop();
Symbol 519 MovieClip Frame 166
gotoAndStop ("idle");
Symbol 519 MovieClip Frame 180
stop();
Symbol 519 MovieClip Frame 188
stop();
Symbol 519 MovieClip Frame 203
stop();
Symbol 519 MovieClip Frame 206
stop();
Symbol 519 MovieClip Frame 222
stop();
Symbol 519 MovieClip Frame 225
stop();
Symbol 519 MovieClip Frame 242
stop();
Symbol 519 MovieClip Frame 247
stop();
Symbol 519 MovieClip Frame 265
stop();
Symbol 519 MovieClip Frame 274
stop();
Symbol 519 MovieClip Frame 284
stop();
Symbol 520 MovieClip Frame 1
_alpha = (_alpha - 1);
Symbol 520 MovieClip Frame 2
_alpha = (_alpha - 1);
Symbol 522 MovieClip Frame 1
stop();
Symbol 522 MovieClip Frame 2
Symbol 531 MovieClip Frame 100
stop();
Symbol 532 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 535 MovieClip Frame 1
gotoAndStop(_parent.handFrame);
stop();
Symbol 537 MovieClip [character6] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 537 MovieClip [character6] Frame 3
stop();
Symbol 537 MovieClip [character6] Frame 8
stop();
Symbol 537 MovieClip [character6] Frame 42
stop();
Symbol 537 MovieClip [character6] Frame 47
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 537 MovieClip [character6] Frame 62
gotoAndStop ("idle");
Symbol 537 MovieClip [character6] Frame 94
gotoAndPlay ("hop");
Symbol 537 MovieClip [character6] Frame 113
gotoAndPlay ("walkRight");
Symbol 537 MovieClip [character6] Frame 132
gotoAndPlay ("walkLeft");
Symbol 537 MovieClip [character6] Frame 150
gotoAndPlay ("runRight");
Symbol 537 MovieClip [character6] Frame 163
gotoAndPlay ("runLeft");
Symbol 537 MovieClip [character6] Frame 182
stop();
Symbol 537 MovieClip [character6] Frame 191
gotoAndStop ("idle");
Symbol 537 MovieClip [character6] Frame 199
stop();
Symbol 537 MovieClip [character6] Frame 208
gotoAndStop ("idle");
Symbol 537 MovieClip [character6] Frame 217
stop();
Symbol 537 MovieClip [character6] Frame 222
strummer.gotoAndPlay("jump1");
Symbol 537 MovieClip [character6] Frame 243
stop();
Symbol 537 MovieClip [character6] Frame 245
boom.gotoAndPlay("on");
Symbol 537 MovieClip [character6] Frame 246
_global.gameAnimations.afterDrop(this);
Symbol 537 MovieClip [character6] Frame 259
stop();
Symbol 537 MovieClip [character6] Frame 273
gotoAndPlay ("onBackMove");
Symbol 537 MovieClip [character6] Frame 277
_global.gameAnimations.setStrum("archBack");
Symbol 537 MovieClip [character6] Frame 280
stop();
Symbol 537 MovieClip [character6] Frame 282
_global.gameAnimations.setStrum();
Symbol 537 MovieClip [character6] Frame 286
stop();
Symbol 537 MovieClip [character6] Frame 316
stop();
Symbol 537 MovieClip [character6] Frame 336
stop();
Symbol 537 MovieClip [character6] Frame 353
stop();
Symbol 537 MovieClip [character6] Frame 361
stop();
Symbol 537 MovieClip [character6] Frame 370
stop();
Symbol 537 MovieClip [character6] Frame 373
stop();
Symbol 537 MovieClip [character6] Frame 396
gotoAndPlay ("crowdSurf");
Symbol 537 MovieClip [character6] Frame 403
_parent.doAnimOverride();
Symbol 537 MovieClip [character6] Frame 466
stop();
Symbol 537 MovieClip [character6] Frame 489
stop();
Symbol 549 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 556 MovieClip Frame 6
stop();
Symbol 559 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 564 MovieClip Frame 1
stop();
Symbol 567 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 569 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 571 MovieClip Frame 1
armFrame = "c6s1";
handFrame = "c1s1";
Symbol 571 MovieClip Frame 2
stop();
Symbol 571 MovieClip Frame 14
stop();
Symbol 571 MovieClip Frame 23
stop();
Symbol 571 MovieClip Frame 32
stop();
Symbol 571 MovieClip Frame 41
stop();
Symbol 571 MovieClip Frame 62
stop();
Symbol 571 MovieClip Frame 68
stop();
Symbol 571 MovieClip Frame 86
gotoAndPlay ("break3Loop");
Symbol 571 MovieClip Frame 106
stop();
Symbol 571 MovieClip Frame 126
gotoAndStop ("idle");
Symbol 571 MovieClip Frame 143
stop();
Symbol 571 MovieClip Frame 145
stop();
Symbol 571 MovieClip Frame 159
stop();
Symbol 571 MovieClip Frame 165
stop();
Symbol 571 MovieClip Frame 179
gotoAndStop ("idle");
Symbol 571 MovieClip Frame 193
stop();
Symbol 571 MovieClip Frame 201
stop();
Symbol 571 MovieClip Frame 216
stop();
Symbol 571 MovieClip Frame 219
stop();
Symbol 571 MovieClip Frame 235
stop();
Symbol 571 MovieClip Frame 238
stop();
Symbol 571 MovieClip Frame 255
stop();
Symbol 571 MovieClip Frame 260
stop();
Symbol 571 MovieClip Frame 278
stop();
Symbol 571 MovieClip Frame 292
stop();
Symbol 571 MovieClip Frame 303
stop();
Symbol 573 MovieClip Frame 1
stop();
Symbol 573 MovieClip Frame 2
Symbol 574 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 576 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 578 MovieClip [character7] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 578 MovieClip [character7] Frame 3
stop();
Symbol 578 MovieClip [character7] Frame 43
stop();
Symbol 578 MovieClip [character7] Frame 76
stop();
Symbol 578 MovieClip [character7] Frame 81
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 578 MovieClip [character7] Frame 96
gotoAndStop ("idle");
Symbol 578 MovieClip [character7] Frame 128
gotoAndPlay ("hop");
Symbol 578 MovieClip [character7] Frame 147
gotoAndPlay ("walkRight");
Symbol 578 MovieClip [character7] Frame 166
gotoAndPlay ("walkLeft");
Symbol 578 MovieClip [character7] Frame 184
gotoAndPlay ("runRight");
Symbol 578 MovieClip [character7] Frame 197
gotoAndPlay ("runLeft");
Symbol 578 MovieClip [character7] Frame 216
stop();
Symbol 578 MovieClip [character7] Frame 225
gotoAndStop ("idle");
Symbol 578 MovieClip [character7] Frame 233
stop();
Symbol 578 MovieClip [character7] Frame 242
gotoAndStop ("idle");
Symbol 578 MovieClip [character7] Frame 251
stop();
Symbol 578 MovieClip [character7] Frame 256
strummer.gotoAndPlay("jump1");
Symbol 578 MovieClip [character7] Frame 277
stop();
Symbol 578 MovieClip [character7] Frame 279
boom.gotoAndPlay("on");
Symbol 578 MovieClip [character7] Frame 280
_global.gameAnimations.afterDrop(this);
Symbol 578 MovieClip [character7] Frame 293
stop();
Symbol 578 MovieClip [character7] Frame 307
gotoAndPlay ("onBackMove");
Symbol 578 MovieClip [character7] Frame 311
_global.gameAnimations.setStrum("archBack");
Symbol 578 MovieClip [character7] Frame 314
stop();
Symbol 578 MovieClip [character7] Frame 316
_global.gameAnimations.setStrum();
Symbol 578 MovieClip [character7] Frame 320
stop();
Symbol 578 MovieClip [character7] Frame 350
stop();
Symbol 578 MovieClip [character7] Frame 370
stop();
Symbol 578 MovieClip [character7] Frame 387
stop();
Symbol 578 MovieClip [character7] Frame 395
stop();
Symbol 578 MovieClip [character7] Frame 404
stop();
Symbol 578 MovieClip [character7] Frame 407
stop();
Symbol 578 MovieClip [character7] Frame 430
gotoAndPlay ("crowdSurf");
Symbol 578 MovieClip [character7] Frame 437
_parent.doAnimOverride();
Symbol 578 MovieClip [character7] Frame 500
stop();
Symbol 578 MovieClip [character7] Frame 523
stop();
Symbol 582 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 584 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 590 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 594 MovieClip Frame 6
stop();
Symbol 597 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 602 MovieClip Frame 1
stop();
Symbol 604 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 606 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 608 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 611 MovieClip Frame 1
armFrame = "c5s1";
handFrame = "c1s1";
Symbol 611 MovieClip Frame 2
stop();
Symbol 611 MovieClip Frame 14
stop();
Symbol 611 MovieClip Frame 23
stop();
Symbol 611 MovieClip Frame 32
stop();
Symbol 611 MovieClip Frame 41
stop();
Symbol 611 MovieClip Frame 63
stop();
Symbol 611 MovieClip Frame 69
stop();
Symbol 611 MovieClip Frame 87
gotoAndPlay ("break3Loop");
Symbol 611 MovieClip Frame 107
stop();
Symbol 611 MovieClip Frame 127
gotoAndStop ("idle");
Symbol 611 MovieClip Frame 144
stop();
Symbol 611 MovieClip Frame 146
stop();
Symbol 611 MovieClip Frame 160
stop();
Symbol 611 MovieClip Frame 166
stop();
Symbol 611 MovieClip Frame 180
gotoAndStop ("idle");
Symbol 611 MovieClip Frame 194
stop();
Symbol 611 MovieClip Frame 202
stop();
Symbol 611 MovieClip Frame 217
stop();
Symbol 611 MovieClip Frame 220
stop();
Symbol 611 MovieClip Frame 236
stop();
Symbol 611 MovieClip Frame 239
stop();
Symbol 611 MovieClip Frame 256
stop();
Symbol 611 MovieClip Frame 261
stop();
Symbol 611 MovieClip Frame 279
stop();
Symbol 611 MovieClip Frame 290
stop();
Symbol 611 MovieClip Frame 300
stop();
Symbol 613 MovieClip Frame 1
stop();
Symbol 613 MovieClip Frame 2
Symbol 615 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hand");
stop();
Symbol 617 MovieClip [character8] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 617 MovieClip [character8] Frame 3
stop();
Symbol 617 MovieClip [character8] Frame 5
stop();
Symbol 617 MovieClip [character8] Frame 37
stop();
Symbol 617 MovieClip [character8] Frame 42
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 617 MovieClip [character8] Frame 57
gotoAndStop ("idle");
Symbol 617 MovieClip [character8] Frame 89
gotoAndPlay ("hop");
Symbol 617 MovieClip [character8] Frame 108
gotoAndPlay ("walkRight");
Symbol 617 MovieClip [character8] Frame 127
gotoAndPlay ("walkLeft");
Symbol 617 MovieClip [character8] Frame 145
gotoAndPlay ("runRight");
Symbol 617 MovieClip [character8] Frame 158
gotoAndPlay ("runLeft");
Symbol 617 MovieClip [character8] Frame 177
stop();
Symbol 617 MovieClip [character8] Frame 186
gotoAndStop ("idle");
Symbol 617 MovieClip [character8] Frame 194
stop();
Symbol 617 MovieClip [character8] Frame 203
gotoAndStop ("idle");
Symbol 617 MovieClip [character8] Frame 212
stop();
Symbol 617 MovieClip [character8] Frame 217
strummer.gotoAndPlay("jump1");
Symbol 617 MovieClip [character8] Frame 238
stop();
Symbol 617 MovieClip [character8] Frame 240
boom.gotoAndPlay("on");
Symbol 617 MovieClip [character8] Frame 241
_global.gameAnimations.afterDrop(this);
Symbol 617 MovieClip [character8] Frame 254
stop();
Symbol 617 MovieClip [character8] Frame 268
gotoAndPlay ("onBackMove");
Symbol 617 MovieClip [character8] Frame 272
_global.gameAnimations.setStrum("archBack");
Symbol 617 MovieClip [character8] Frame 275
stop();
Symbol 617 MovieClip [character8] Frame 277
_global.gameAnimations.setStrum();
Symbol 617 MovieClip [character8] Frame 281
stop();
Symbol 617 MovieClip [character8] Frame 311
stop();
Symbol 617 MovieClip [character8] Frame 331
stop();
Symbol 617 MovieClip [character8] Frame 348
stop();
Symbol 617 MovieClip [character8] Frame 356
stop();
Symbol 617 MovieClip [character8] Frame 365
stop();
Symbol 617 MovieClip [character8] Frame 368
stop();
Symbol 617 MovieClip [character8] Frame 391
gotoAndPlay ("crowdSurf");
Symbol 617 MovieClip [character8] Frame 398
_parent.doAnimOverride();
Symbol 617 MovieClip [character8] Frame 461
stop();
Symbol 617 MovieClip [character8] Frame 484
stop();
Symbol 630 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 635 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 644 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 648 MovieClip Frame 6
stop();
Symbol 651 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 656 MovieClip Frame 1
stop();
Symbol 664 MovieClip Frame 1
armFrame = "c4s2";
handFrame = "c1s2";
Symbol 664 MovieClip Frame 2
stop();
Symbol 664 MovieClip Frame 14
stop();
Symbol 664 MovieClip Frame 23
stop();
Symbol 664 MovieClip Frame 32
stop();
Symbol 664 MovieClip Frame 41
stop();
Symbol 664 MovieClip Frame 50
stop();
Symbol 664 MovieClip Frame 56
stop();
Symbol 664 MovieClip Frame 74
gotoAndPlay ("break3Loop");
Symbol 664 MovieClip Frame 94
stop();
Symbol 664 MovieClip Frame 114
gotoAndStop ("idle");
Symbol 664 MovieClip Frame 131
stop();
Symbol 664 MovieClip Frame 133
stop();
Symbol 664 MovieClip Frame 147
stop();
Symbol 664 MovieClip Frame 153
stop();
Symbol 664 MovieClip Frame 167
gotoAndStop ("idle");
Symbol 664 MovieClip Frame 181
stop();
Symbol 664 MovieClip Frame 189
stop();
Symbol 664 MovieClip Frame 204
stop();
Symbol 664 MovieClip Frame 207
stop();
Symbol 664 MovieClip Frame 223
stop();
Symbol 664 MovieClip Frame 226
stop();
Symbol 664 MovieClip Frame 243
stop();
Symbol 664 MovieClip Frame 248
stop();
Symbol 664 MovieClip Frame 266
stop();
Symbol 664 MovieClip Frame 279
stop();
Symbol 664 MovieClip Frame 290
stop();
Symbol 666 MovieClip Frame 1
stop();
Symbol 666 MovieClip Frame 2
Symbol 667 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 671 MovieClip [character9] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 671 MovieClip [character9] Frame 42
stop();
Symbol 671 MovieClip [character9] Frame 46
stop();
Symbol 671 MovieClip [character9] Frame 80
stop();
Symbol 671 MovieClip [character9] Frame 85
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 671 MovieClip [character9] Frame 100
gotoAndStop ("idle");
Symbol 671 MovieClip [character9] Frame 132
gotoAndPlay ("hop");
Symbol 671 MovieClip [character9] Frame 151
gotoAndPlay ("walkRight");
Symbol 671 MovieClip [character9] Frame 170
gotoAndPlay ("walkLeft");
Symbol 671 MovieClip [character9] Frame 188
gotoAndPlay ("runRight");
Symbol 671 MovieClip [character9] Frame 201
gotoAndPlay ("runLeft");
Symbol 671 MovieClip [character9] Frame 220
stop();
Symbol 671 MovieClip [character9] Frame 229
gotoAndStop ("idle");
Symbol 671 MovieClip [character9] Frame 237
stop();
Symbol 671 MovieClip [character9] Frame 246
gotoAndStop ("idle");
Symbol 671 MovieClip [character9] Frame 255
stop();
Symbol 671 MovieClip [character9] Frame 260
strummer.gotoAndPlay("jump1");
Symbol 671 MovieClip [character9] Frame 281
stop();
Symbol 671 MovieClip [character9] Frame 283
boom.gotoAndPlay("on");
Symbol 671 MovieClip [character9] Frame 284
_global.gameAnimations.afterDrop(this);
Symbol 671 MovieClip [character9] Frame 297
stop();
Symbol 671 MovieClip [character9] Frame 311
gotoAndPlay ("onBackMove");
Symbol 671 MovieClip [character9] Frame 315
_global.gameAnimations.setStrum("archBack");
Symbol 671 MovieClip [character9] Frame 318
stop();
Symbol 671 MovieClip [character9] Frame 320
_global.gameAnimations.setStrum();
Symbol 671 MovieClip [character9] Frame 324
stop();
Symbol 671 MovieClip [character9] Frame 354
stop();
Symbol 671 MovieClip [character9] Frame 374
stop();
Symbol 671 MovieClip [character9] Frame 391
stop();
Symbol 671 MovieClip [character9] Frame 399
stop();
Symbol 671 MovieClip [character9] Frame 408
stop();
Symbol 671 MovieClip [character9] Frame 411
stop();
Symbol 671 MovieClip [character9] Frame 434
gotoAndPlay ("crowdSurf");
Symbol 671 MovieClip [character9] Frame 441
_parent.doAnimOverride();
Symbol 671 MovieClip [character9] Frame 504
stop();
Symbol 671 MovieClip [character9] Frame 527
stop();
Symbol 679 MovieClip Frame 1
stop();
Symbol 702 Button
on (release) {
play();
}
Symbol 713 MovieClip Frame 1
useHandCursor = false;
onPress = function () {
};
Symbol 723 Button
on (release) {
_global.root.gotoAzor();
}
Symbol 728 Button
on (release) {
_global.root.gotoKos();
}
Symbol 735 Button
on (release) {
_global.root.gotoKV();
}
Symbol 743 Button
on (release) {
checkForMusic();
_parent.nextPage = "highscores";
_parent.play();
}
Symbol 748 Button
on (release) {
_global.root.gotoAzor();
}
Symbol 753 Button
on (release) {
checkForMusic();
_parent.nextPage = "howToPlay";
_parent.play();
}
Symbol 758 Button
on (release) {
checkForMusic();
_parent.nextPage = "musicDonated";
_parent.play();
}
Symbol 763 Button
on (release) {
_global.root.gotoKos();
}
Symbol 768 Button
on (release) {
_global.root.sendToFriend();
}
Symbol 773 Button
on (release) {
_global.root.gotoKog();
}
Symbol 777 MovieClip Frame 1
stop();
Symbol 777 MovieClip Frame 5
stop();
Symbol 779 MovieClip Frame 1
txt.text = _parent.title;
Symbol 781 MovieClip Frame 1
txt.text = _parent.title;
Symbol 783 MovieClip Frame 1
txt.text = _parent.title;
Symbol 784 Button
on (release) {
_global.root.gotoComp();
}
Symbol 786 MovieClip Frame 1
function checkForMusic() {
if (_parent.musicMenu.curSnd.target) {
curSnd.fadeTo(0, 8);
}
}
Instance of Symbol 777 MovieClip "mute" in Symbol 786 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 785 MovieClip in Symbol 786 MovieClip Frame 1
onClipEvent (load) {
_visible = Boolean(_global.compText);
this.compBtn.title = _global.compText;
}
Symbol 792 Button
on (release) {
setDetails();
_global.root.p2Rocker = -1;
_global.root.gameMode = Engine.P1_VS_CPU;
_parent.nextPage = "selectMusic";
_parent.play();
}
Symbol 804 Button
on (release) {
setDetails();
_global.root.gameMode = Engine.P1_VS_P2;
_parent.nextPage = "p2Details";
_parent.play();
}
Symbol 807 Button
on (release) {
setDetails();
_global.root.gameMode = Engine.MULTIPLAYER;
_parent.nextPage = "multiplayer";
_parent.play();
_global.root.gotoAndStop("game");
}
Symbol 832 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "head");
stop();
Symbol 832 MovieClip Frame 136
_global.gameAnimations.setCharacter(this, "head");
stop();
Symbol 834 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "hair");
stop();
Symbol 836 MovieClip Frame 1
stop();
Symbol 837 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 845 MovieClip [carousel] Frame 1
#initclip 54
Object.registerClass("carousel", Carousel);
#endinitclip
Symbol 852 MovieClip Frame 1
stop();
Symbol 859 MovieClip Frame 1
stop();
Symbol 859 MovieClip Frame 7
stop();
Symbol 869 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
if (curSnd.target) {
curSnd.fadeTo(0, 8);
}
}
Symbol 870 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 877 MovieClip Frame 2
stop();
Symbol 877 MovieClip Frame 20
gotoAndStop ("off");
Symbol 880 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 894 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 897 Button
on (release) {
getURL ("http://www.gut.dloadshop.com/GUTRecords/index.asp?SType=A&ArAID=65", "_blank");
_root.kvClick(762);
}
Symbol 899 Button
on (release) {
getURL ("http://www.thewildhearts.com", "_blank");
_root.kvClick(761);
}
Symbol 904 Button
on (release) {
getURL ("http://www.beanius.co.uk/music.htm", "_blank");
_root.kvClick(755);
}
Symbol 905 Button
on (release) {
getURL ("http://www.beanius.co.uk", "_blank");
_root.kvClick(763);
}
Symbol 914 Button
on (release) {
getURL ("http://www.memecounter.com/redir.php?urlId=758", "_blank");
}
Symbol 915 Button
on (release) {
getURL ("http://www.electricsix.com", "_blank");
_root.kvClick(757);
}
Symbol 920 Button
on (release) {
getURL ("http://www.eurekamachines.com/shop.htm", "_blank");
_root.kvClick(760);
}
Symbol 921 Button
on (release) {
getURL ("http://www.eurekamachines.com/", "_blank");
_root.kvClick(759);
}
Symbol 926 Button
on (release) {
getURL ("http://www.myspace.com/thedeadpetal", "_blank");
_root.kvClick(756);
}
Symbol 928 MovieClip Frame 1
stop();
Symbol 930 Button
on (release) {
cancelMultiplayer();
}
Symbol 931 Button
on (release) {
quickplay();
}
Symbol 934 Button
on (release) {
playAFriend();
}
Symbol 936 MovieClip Frame 1
stop();
Symbol 936 MovieClip Frame 6
_parent.changePage();
Symbol 944 Button
on (release) {
cancelThrobberHandler();
}
Symbol 953 Button
on (release) {
newAcceptChallenge(code_txt.text);
}
Symbol 955 Button
on (release) {
cancelChallengeHandler();
}
Symbol 959 Button
on (release) {
issueChallenge();
}
Symbol 966 Button
on (release) {
acceptChallengeHandler(code_txt.text);
}
Symbol 973 Button
on (release) {
errorOkBtnHandler();
}
Symbol 974 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 974 MovieClip [popup] Frame 10
title_txt.text = throbber_msg;
msg_txt.text = throbber_desc;
Symbol 974 MovieClip [popup] Frame 34
code_txt.text = challengeCode;
Symbol 974 MovieClip [popup] Frame 60
msg_txt.text = error_msg;
Symbol 975 Button
on (release) {
_parent._parent.nextPage = "gameMode";
_parent._parent.play();
}
Symbol 991 MovieClip Frame 1
stop();
Symbol 991 MovieClip Frame 91
stop();
_parent._parent.songLoadFinished();
Symbol 991 MovieClip Frame 92
stop();
Symbol 1009 MovieClip Frame 1
stop();
Symbol 1010 MovieClip Frame 1
stop();
Symbol 1011 MovieClip Frame 1
stop();
Instance of Symbol 976 MovieClip "errorBack" in Symbol 1011 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 1011 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 1016 Button
on (release) {
_global.root.p2Rocker = selectedRocker;
_global.root.p2Name = playerName_txt.text;
_parent.nextPage = "selectMusic";
_parent.play();
}
Symbol 1017 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 1023 MovieClip [age.young] Frame 1
#initclip 56
Object.registerClass("age.young", cust.GUI.RadioBtn);
#endinitclip
Symbol 1026 MovieClip [age.mid] Frame 1
#initclip 57
Object.registerClass("age.mid", cust.GUI.RadioBtn);
#endinitclip
Symbol 1029 MovieClip [age.old] Frame 1
#initclip 58
Object.registerClass("age.old", cust.GUI.RadioBtn);
#endinitclip
Symbol 1034 MovieClip [choose.Male] Frame 1
#initclip 59
Object.registerClass("choose.Male", cust.GUI.RadioBtn);
#endinitclip
Symbol 1038 MovieClip [choose.female] Frame 1
#initclip 60
Object.registerClass("choose.female", cust.GUI.RadioBtn);
#endinitclip
Symbol 1051 MovieClip [scrollItem] Frame 1
#initclip 61
Object.registerClass("scrollItem", cust.GUI.RadioBtn);
#endinitclip
Symbol 1053 Button
on (release) {
submitHighscores();
}
Symbol 1055 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 1065 Button
on (release) {
populateScores(top10);
}
Symbol 1069 Button
on (release) {
populateScores(me);
}
Symbol 1072 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1079 Button
on (release) {
_parent.selectTrack(2);
}
Symbol 1082 Button
on (release) {
_parent.selectTrack(3);
}
Symbol 1085 Button
on (release) {
_parent.selectTrack(4);
}
Symbol 1088 Button
on (release) {
_parent.selectTrack(5);
}
Symbol 1090 Button
on (release) {
_parent.selectTrack(1);
}
Symbol 1093 Button
on (release) {
_parent.selectTrack(0);
}
Symbol 1095 Button
on (release) {
play();
}
Symbol 1097 Button
on (release) {
play();
}
Symbol 1100 MovieClip Frame 1
stop();
Symbol 1100 MovieClip Frame 8
stop();
Symbol 1106 Button
on (release) {
getScores("country");
}
Symbol 1110 Button
on (release) {
getScores("gender");
}
Symbol 1114 Button
on (release) {
getScores("age");
}
Symbol 1118 Button
on (release) {
getScores("fanOf");
}
Symbol 1122 Button
on (release) {
getScores("cheats");
}
Symbol 1124 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 _local6 = this.firstChild;
var _local4;
best_txt.text = "";
top10 = [];
me = [];
var _local5 = 0;
while (_local5 < _local6.childNodes.length) {
_local4 = _local6.childNodes[_local5];
switch (_local4.nodeName) {
case "top10" :
top10 = nodeToArray(_local4);
break;
case "me" :
me = nodeToArray(_local4);
break;
case "best" :
best_txt.text = ((((("You are the " + _local4.attributes.rank) + " highest scoring ") + _global.root.ageArr[_global.root.age]) + " ") + _global.root.genderArr[_global.root.gender]) + ((!(_global.root.band === undefined)) ? (" that supports " + _global.root.bandArr[_global.root.band]) : "");
}
_local5++;
}
if (_global.root.rId && (me.length)) {
populateScores(me);
findYou_btn._visible = true;
} else {
populateScores(top10);
findYou_btn._visible = false;
}
switch (_local6.attributes.mode) {
case "song" :
var _local7 = (sId ? (_global.root.trackDetails[sId - 1].title) : "All Tracks");
scoresFor_txt.htmlText = ("Scores: <font color=\"#FF6600\">" + _local7) + "</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 1129 Button
on (release) {
_parent.nextPage = "gameMode";
delete _global.root.gameMode;
_parent.play();
}
Symbol 1137 MovieClip Frame 1
stop();
Symbol 1139 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 1143 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1147 MovieClip Frame 1
stop();
Symbol 1151 MovieClip Frame 1
stop();
Symbol 1158 Button
on (release) {
_global.root.selectedTrack = 0;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1161 Button
on (release) {
_global.root.selectedTrack = 1;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1164 Button
on (release) {
_global.root.selectedTrack = 4;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1167 Button
on (release) {
_global.root.selectedTrack = 2;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1170 Button
on (release) {
_global.root.selectedTrack = 3;
_parent.nextPage = "artistDetails";
_parent.artistBackPage = "musicDonated";
_parent.play();
}
Symbol 1171 Button
on (release) {
_parent.nextPage = "gameMode";
_parent.play();
}
Symbol 1173 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 686 MovieClip "compHolder" in Symbol 1173 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 714 MovieClip in Symbol 1173 MovieClip Frame 1
onClipEvent (load) {
_global.root.quality = "BEST";
}
Symbol 1173 MovieClip Frame 2
Symbol 1173 MovieClip Frame 40
crowdLoopIn();
bgFadeIn();
stop();
Instance of Symbol 686 MovieClip "compHolder" in Symbol 1173 MovieClip Frame 53
onClipEvent (load) {
loadMovie (_global.assetsURL + "external/comp.swf", this.createEmptyMovieClip("comp", 0));
}
Symbol 1173 MovieClip Frame 72
bgFadeIn();
Symbol 1173 MovieClip Frame 77
stop();
Symbol 1173 MovieClip Frame 82
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 83
bgFadeOut();
Symbol 1173 MovieClip Frame 88
stop();
if (mode == "challenge") {
nextPage = "multiplayer";
mppage = true;
delete mode;
} else {
nextPage = "preGame";
}
Symbol 1173 MovieClip Frame 93
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 94
bgFadeIn();
Symbol 1173 MovieClip Frame 99
stop();
Symbol 1173 MovieClip Frame 104
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 105
song_details_mc.gotoAndStop(_global.root.trackDetails[_global.root.selectedTrack].name);
Symbol 1173 MovieClip Frame 110
stop();
Symbol 1173 MovieClip Frame 116
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 117
bgFadeIn();
Symbol 1173 MovieClip Frame 118
if (mppage) {
msgs.issueChallengeSelectedMusic();
delete mppage;
}
Symbol 1173 MovieClip Frame 122
stop();
Symbol 1173 MovieClip Frame 128
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 129
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 1173 MovieClip Frame 134
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(track.url, _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 1173 MovieClip Frame 142
_parent.gotoAndStop("game");
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 143
bgFadeIn();
Symbol 1173 MovieClip Frame 148
stop();
Symbol 1173 MovieClip Frame 154
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 155
bgFadeIn();
Symbol 1173 MovieClip Frame 160
stop();
wait_mc._visible = false;
wait_mc.onPress = function () {
};
Symbol 1173 MovieClip Frame 165
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 166
bgFadeIn();
Symbol 1173 MovieClip Frame 171
stop();
Symbol 1173 MovieClip Frame 177
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 178
bgFadeOut();
Symbol 1173 MovieClip Frame 183
stop();
Symbol 1173 MovieClip Frame 184
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 1173 MovieClip Frame 189
crowdLoopIn();
stop();
Instance of Symbol 714 MovieClip in Symbol 1173 MovieClip Frame 189
onClipEvent (load) {
_global.root._quality = "BEST";
}
Symbol 1173 MovieClip Frame 195
gotoAndPlay(nextPage);
Symbol 1173 MovieClip Frame 196
bgFadeIn();
Symbol 1173 MovieClip Frame 201
stop();
Symbol 1173 MovieClip Frame 207
gotoAndPlay(nextPage);
Symbol 1178 Button
on (release) {
issueChallenge();
}
Symbol 1179 Button
on (release) {
acceptChallenge();
}
Symbol 1180 Button
on (release) {
cancelMultiplayer();
}
Symbol 1193 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 1193 MovieClip Frame 10
title_txt.text = throbber_msg;
Symbol 1193 MovieClip Frame 23
code_txt.text = challengeCode;
Symbol 1193 MovieClip Frame 49
msg_txt.text = error_msg;
Symbol 1194 MovieClip [popup anim] Frame 1
#initclip 62
Object.registerClass("popup anim", PopupAnim);
#endinitclip
stop();
Symbol 1194 MovieClip [popup anim] Frame 10
stop();
Symbol 1214 MovieClip Frame 1
stop();
Instance of Symbol 1214 MovieClip "drumkit" in Symbol 1219 MovieClip Frame 1
onClipEvent (enterFrame) {
gotoAndStop(_global.root.trackDetails[_global.root.selectedTrack].name);
}
Symbol 1222 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 1224 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 1225 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "feet");
stop();
Symbol 1227 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "legs");
stop();
Symbol 1234 MovieClip Frame 1
_global.gameAnimations.setCharacter(this, "body");
stop();
Symbol 1236 MovieClip Frame 6
stop();
Symbol 1239 MovieClip Frame 1
gotoAndStop(Math.ceil(Math.random() * this._totalframes));
Symbol 1244 MovieClip Frame 1
stop();
Instance of Symbol 1253 MovieClip in Symbol 1254 MovieClip Frame 1
onClipEvent (enterFrame) {
_rotation = (_rotation + 3);
}
Instance of Symbol 1253 MovieClip in Symbol 1254 MovieClip Frame 1
onClipEvent (enterFrame) {
_rotation = (_rotation - 3);
}
Symbol 1257 MovieClip Frame 1
headStartX = head._x;
headStartY = head._y;
armFrame = "c1s1";
handFrame = "c1s1";
Symbol 1257 MovieClip Frame 3
stop();
Symbol 1257 MovieClip Frame 14
stop();
Symbol 1257 MovieClip Frame 23
stop();
Symbol 1257 MovieClip Frame 32
stop();
Symbol 1257 MovieClip Frame 41
stop();
Symbol 1257 MovieClip Frame 54
stop();
Symbol 1257 MovieClip Frame 60
stop();
Symbol 1257 MovieClip Frame 78
gotoAndPlay ("break3Loop");
Symbol 1257 MovieClip Frame 87
gotoAndPlay ("break4");
Symbol 1257 MovieClip Frame 100
stop();
Symbol 1257 MovieClip Frame 120
gotoAndStop ("idle");
Symbol 1257 MovieClip Frame 137
stop();
Symbol 1257 MovieClip Frame 139
stop();
Symbol 1257 MovieClip Frame 153
stop();
Symbol 1257 MovieClip Frame 154
stop();
Symbol 1257 MovieClip Frame 164
stop();
Symbol 1257 MovieClip Frame 177
stop();
Symbol 1257 MovieClip Frame 192
gotoAndStop ("idle");
Symbol 1257 MovieClip Frame 204
gotoAndStop ("idle");
Symbol 1257 MovieClip Frame 222
stop();
Symbol 1257 MovieClip Frame 230
stop();
Symbol 1257 MovieClip Frame 245
stop();
Symbol 1257 MovieClip Frame 248
stop();
Symbol 1257 MovieClip Frame 264
stop();
Symbol 1257 MovieClip Frame 267
stop();
Symbol 1257 MovieClip Frame 284
stop();
Symbol 1257 MovieClip Frame 289
stop();
Instance of Symbol 1254 MovieClip in Symbol 1257 MovieClip Frame 302
onClipEvent (load) {
_alpha = 0;
}
onClipEvent (enterFrame) {
_alpha = (_alpha+1);
}
Symbol 1257 MovieClip Frame 320
stop();
Symbol 1257 MovieClip Frame 330
stop();
Symbol 1259 MovieClip Frame 1
stop();
Symbol 1259 MovieClip Frame 9
gotoAndStop (1);
Symbol 1262 MovieClip [character1] Frame 1
this.setMask(_global.gameAnimations["playerMask" + this._name.substr(1, 1)]);
Symbol 1262 MovieClip [character1] Frame 3
_global.root.gameAnimations.doAnimOverride(false, undefined, this);
stop();
Symbol 1262 MovieClip [character1] Frame 33
stop();
Symbol 1262 MovieClip [character1] Frame 38
if (_global.gameAnimations.activePlayer == "p1") {
_global.gameAnimations.doSceneAnim("leftAmpWobble");
} else {
_global.gameAnimations.doSceneAnim("rightAmpWobble");
}
Symbol 1262 MovieClip [character1] Frame 53
gotoAndStop ("idle");
Symbol 1262 MovieClip [character1] Frame 85
gotoAndPlay ("hop");
Symbol 1262 MovieClip [character1] Frame 104
gotoAndPlay ("walkRight");
Symbol 1262 MovieClip [character1] Frame 123
gotoAndPlay ("walkLeft");
Symbol 1262 MovieClip [character1] Frame 141
gotoAndPlay ("runRight");
Symbol 1262 MovieClip [character1] Frame 154
gotoAndPlay ("runLeft");
Symbol 1262 MovieClip [character1] Frame 173
stop();
Symbol 1262 MovieClip [character1] Frame 182
gotoAndStop ("idle");
Symbol 1262 MovieClip [character1] Frame 190
stop();
Symbol 1262 MovieClip [character1] Frame 199
gotoAndStop ("idle");
Symbol 1262 MovieClip [character1] Frame 208
stop();
Symbol 1262 MovieClip [character1] Frame 213
strummer.gotoAndPlay("jump1");
Symbol 1262 MovieClip [character1] Frame 234
stop();
Symbol 1262 MovieClip [character1] Frame 236
boom.gotoAndPlay("on");
Symbol 1262 MovieClip [character1] Frame 237
_global.gameAnimations.afterDrop(this);
stop();
Symbol 1262 MovieClip [character1] Frame 250
stop();
Symbol 1262 MovieClip [character1] Frame 264
gotoAndPlay ("onBackMove");
Symbol 1262 MovieClip [character1] Frame 268
_global.gameAnimations.setStrum("archBack");
Symbol 1262 MovieClip [character1] Frame 271
stop();
Symbol 1262 MovieClip [character1] Frame 273
_global.gameAnimations.setStrum();
Symbol 1262 MovieClip [character1] Frame 277
stop();
Symbol 1262 MovieClip [character1] Frame 307
stop();
Symbol 1262 MovieClip [character1] Frame 327
stop();
Symbol 1262 MovieClip [character1] Frame 344
stop();
Symbol 1262 MovieClip [character1] Frame 352
stop();
Symbol 1262 MovieClip [character1] Frame 361
stop();
Symbol 1262 MovieClip [character1] Frame 364
stop();
Symbol 1262 MovieClip [character1] Frame 387
gotoAndPlay ("crowdSurf");
Symbol 1262 MovieClip [character1] Frame 394
_parent.doAnimOverride();
Symbol 1262 MovieClip [character1] Frame 399
_parent.doAnimOverride();
Symbol 1262 MovieClip [character1] Frame 457
stop();
Symbol 1262 MovieClip [character1] Frame 480
stop();
Symbol 1263 MovieClip Frame 1
stop();
Symbol 1263 MovieClip Frame 2
stop();
Symbol 1264 MovieClip Frame 1
stop();
Symbol 1265 MovieClip Frame 1
stop();
Symbol 1265 MovieClip Frame 2
doAnimOverride("roll", undefined, this);
Symbol 1265 MovieClip Frame 18
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 33
doAnimOverride("walkRight", undefined, this);
Symbol 1265 MovieClip Frame 52
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 53
doAnimOverride("runRight", undefined, this);
Symbol 1265 MovieClip Frame 64
doAnimOverride("onKneesRight", undefined, this);
Symbol 1265 MovieClip Frame 101
doAnimOverride("offKneesRight", undefined, this);
Symbol 1265 MovieClip Frame 107
doAnimOverride(undefined, undefined);
stop();
Symbol 1265 MovieClip Frame 108
doAnimOverride("runLeft", undefined, this);
Symbol 1265 MovieClip Frame 119
doAnimOverride("onKneesLeft", undefined, this);
Symbol 1265 MovieClip Frame 157
doAnimOverride("offKneesLeft", undefined, this);
Symbol 1265 MovieClip Frame 163
doAnimOverride("offKneesLeft", undefined, this);
stop();
Symbol 1265 MovieClip Frame 166
doAnimOverride("walkLeft", undefined, this);
Symbol 1265 MovieClip Frame 183
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 185
stop();
Symbol 1265 MovieClip Frame 189
stop();
Symbol 1265 MovieClip Frame 303
gotoAndPlay ("spaceFloatLoop");
Symbol 1265 MovieClip Frame 309
gotoAndPlay ("spaceFloat");
Symbol 1265 MovieClip Frame 326
stop();
Symbol 1265 MovieClip Frame 327
doAnimOverride("walkLeft", undefined, this);
Symbol 1265 MovieClip Frame 345
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 346
doAnimOverride("climbAmp", undefined, this);
Symbol 1265 MovieClip Frame 370
stop();
Symbol 1265 MovieClip Frame 371
doAnimOverride("jumpOffAmp", undefined, this);
Symbol 1265 MovieClip Frame 389
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 407
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 427
stop();
Symbol 1265 MovieClip Frame 440
gotoAndPlay ("godzillaWalk");
Symbol 1265 MovieClip Frame 446
doAnimOverride("walkRight", undefined, this);
Symbol 1265 MovieClip Frame 465
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 467
doAnimOverride("jumpOffStageRight", true, this);
Symbol 1265 MovieClip Frame 475
doAnimOverride("jumpOffStageRightLeap", undefined, this);
Symbol 1265 MovieClip Frame 492
_global.gameAnimations.doSceneAnim("crowdSurf", "crowdSurf");
Symbol 1265 MovieClip Frame 553
doAnimOverride("jumpOnStageLeft", undefined, this);
Symbol 1265 MovieClip Frame 561
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 562
doAnimOverride("walkLeft", undefined, this);
Symbol 1265 MovieClip Frame 572
_global.gameAnimations.player2DepthSortBodge(this, true);
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 573
doAnimOverride("walkRight", undefined, this);
Symbol 1265 MovieClip Frame 583
_global.gameAnimations.player2DepthSortBodge(this, true);
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 584
doAnimOverride("walkLeft", undefined, this);
Symbol 1265 MovieClip Frame 593
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 594
doAnimOverride("fall", undefined, this);
Symbol 1265 MovieClip Frame 634
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 646
stop();
Symbol 1265 MovieClip Frame 647
doAnimOverride("runLeft", undefined, this);
Symbol 1265 MovieClip Frame 662
stop();
Symbol 1265 MovieClip Frame 664
stop();
Symbol 1265 MovieClip Frame 680
stop();
Symbol 1265 MovieClip Frame 681
doAnimOverride("walkRight", undefined, this);
_global.gameAnimations.player2DepthSortBodge(this, false);
Symbol 1265 MovieClip Frame 690
doAnimOverride(undefined, undefined, this);
stop();
Symbol 1265 MovieClip Frame 699
_parent["pleaseWait_" + _name.substr(0, 2)]._visible = false;
doAnimOverride("walkLeft", undefined, this);
Symbol 1265 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 1265 MovieClip Frame 789
stop();
Symbol 1265 MovieClip Frame 795
stop();
Symbol 1265 MovieClip Frame 796
shakeX = 12;
shakeY = -2;
Symbol 1272 MovieClip Frame 1
stop();
Symbol 1275 MovieClip Frame 1
if (_global.root.p2Rocker == -1) {
this.swapDepths(60000);
this.removeMovieClip();
}
stop();
Symbol 1282 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1284 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1287 MovieClip Frame 1
stop();
Symbol 1287 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1301 MovieClip Frame 1
stop();
Symbol 1301 MovieClip Frame 4
stop();
Symbol 1301 MovieClip Frame 7
stop();
Symbol 1301 MovieClip Frame 10
stop();
Symbol 1301 MovieClip Frame 12
stop();
Symbol 1301 MovieClip Frame 14
stop();
Symbol 1301 MovieClip Frame 16
stop();
Symbol 1301 MovieClip Frame 18
stop();
Symbol 1301 MovieClip Frame 20
stop();
Symbol 1302 MovieClip Frame 1
stop();
Symbol 1302 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1305 MovieClip Frame 1
stop();
Symbol 1305 MovieClip Frame 10
gotoAndStop ("off");
Symbol 1308 MovieClip Frame 1
stop();
Symbol 1308 MovieClip Frame 4
stop();
Symbol 1308 MovieClip Frame 8
stop();
Symbol 1308 MovieClip Frame 12
stop();
Symbol 1308 MovieClip Frame 35
gotoAndPlay (2);
Symbol 1312 MovieClip Frame 1
stop();
Symbol 1312 MovieClip Frame 27
stop();
Symbol 1315 MovieClip Frame 106
gotoAndPlay (1);
Symbol 1316 MovieClip Frame 1
_alpha = 100;
stop();
Instance of Symbol 1315 MovieClip in Symbol 1316 MovieClip Frame 2
onClipEvent (enterFrame) {
_parent._alpha = _parent._alpha - 0.5;
if (_parent._alpha <= 0) {
delete onEnterFrame;
}
}
Symbol 1335 MovieClip Frame 1
function beat() {
play();
}
function stopListening() {
_global.root.engine.removeListener(this);
}
stop();
Symbol 1335 MovieClip Frame 6
stop();
Symbol 1335 MovieClip Frame 7
stop();
Symbol 1335 MovieClip Frame 8
stop();
Symbol 1335 MovieClip Frame 9
stop();
Symbol 1335 MovieClip Frame 10
stopListening();
if (_parent.countDownNextPlayer == Engine.P1) {
gotoAndPlay ("p1RockOut");
} else {
gotoAndPlay ("p2RockOut");
}
Symbol 1335 MovieClip Frame 11
stopListening();
play();
Symbol 1335 MovieClip Frame 30
stopListening();
gotoAndStop ("off");
Symbol 1335 MovieClip Frame 31
stopListening();
play();
Symbol 1335 MovieClip Frame 50
stopListening();
gotoAndStop ("off");
Symbol 1335 MovieClip Frame 51
stop();
Symbol 1335 MovieClip Frame 52
stop();
Symbol 1335 MovieClip Frame 53
stop();
Symbol 1335 MovieClip Frame 54
stop();
Symbol 1335 MovieClip Frame 55
gotoAndPlay ("p1RockOut");
Symbol 1335 MovieClip Frame 56
stop();
Symbol 1335 MovieClip Frame 57
stop();
Symbol 1335 MovieClip Frame 58
stop();
Symbol 1335 MovieClip Frame 59
stop();
Symbol 1335 MovieClip Frame 60
gotoAndPlay ("p2RockOut");
Symbol 1338 MovieClip Frame 2
stop();
Symbol 1338 MovieClip Frame 3
_global.root.engine.activeFretboard.fadeOut();
play();
Symbol 1338 MovieClip Frame 216
stop();
Symbol 1339 MovieClip Frame 1
gotoAndStop(_parent.activePlayer);
Symbol 1339 MovieClip Frame 2
this[_global.gameAnimations.activePlayer].gotoAndPlay(_global.gameAnimations.activePlayer);
stop();
Symbol 1339 MovieClip Frame 5
this[_global.gameAnimations.activePlayer].gotoAndPlay(_global.gameAnimations.activePlayer);
stop();
Symbol 1365 MovieClip Frame 12
stop();
Symbol 1365 MovieClip Frame 17
stop();
Symbol 1365 MovieClip Frame 25
stop();
Symbol 1365 MovieClip Frame 30
stop();
Symbol 1365 MovieClip Frame 37
stop();
Symbol 1365 MovieClip Frame 44
stop();
Symbol 1365 MovieClip Frame 51
stop();
Symbol 1365 MovieClip Frame 86
stop();
Symbol 1385 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1386 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1391 MovieClip Frame 2
stop();
Symbol 1391 MovieClip Frame 11
stop();
Symbol 1411 MovieClip Frame 1
theObject.gotoAndStop(Math.ceil(Math.random() * theObject._totalframes));
Symbol 1411 MovieClip Frame 13
gotoAndPlay ("skip");
Symbol 1411 MovieClip Frame 24
gotoAndPlay (1);
Symbol 1430 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1436 MovieClip Frame 19
gotoAndPlay (1);
Symbol 1447 MovieClip Frame 11
stop();
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Instance of Symbol 1450 MovieClip in Symbol 1453 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay(Math.ceil(Math.random() * this._totalframes));
}
Symbol 1461 MovieClip Frame 1
stop();
delete this.onEnterFrame;
Symbol 1461 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 1461 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 1461 MovieClip Frame 4
stop();
delete this.onEnterFrame;
Symbol 1463 MovieClip Frame 1
ship.gotoAndStop("off");
ship._rotation = 0;
stop();
Symbol 1463 MovieClip Frame 5
ship.gotoAndStop("on");
stop();
Symbol 1463 MovieClip Frame 8
ship.gotoAndStop("crash");
stop();
Symbol 1463 MovieClip Frame 12
ship.gotoAndStop("broke");
ship._rotation = 0;
stop();
Symbol 1471 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1472 MovieClip Frame 12
stop();
Symbol 1474 MovieClip Frame 9
gotoAndPlay (1);
Symbol 1487 MovieClip Frame 354
stop();
Symbol 1489 MovieClip Frame 1
_parent.shakeY = 2;
Symbol 1489 MovieClip Frame 4
_parent.shakeY = 2;
Symbol 1489 MovieClip Frame 7
_parent.shakeY = 2;
Symbol 1489 MovieClip Frame 10
gotoAndPlay (1);
Symbol 1499 MovieClip Frame 1
_parent.shakeY = 2;
Symbol 1499 MovieClip Frame 4
_parent.shakeY = 2;
Symbol 1499 MovieClip Frame 7
_parent.shakeY = 2;
Symbol 1499 MovieClip Frame 10
gotoAndPlay (1);
Symbol 1501 MovieClip Frame 21
stop();
Symbol 1512 MovieClip Frame 2
stop();
Symbol 1512 MovieClip Frame 5
stop();
Symbol 1532 MovieClip Frame 2
stop();
Symbol 1532 MovieClip Frame 6
gotoAndPlay ("citiesOnFlame");
Symbol 1532 MovieClip Frame 10
_parent.stop();
_global.gameAnimations[_global.gameAnimations.activePlayer].sprite.stop();
Symbol 1532 MovieClip Frame 35
_global.gameAnimations.gotoAndStop("godzillaBoom");
Symbol 1532 MovieClip Frame 45
stop();
Symbol 1532 MovieClip Frame 60
gotoAndPlay ("fireLeft");
Symbol 1532 MovieClip Frame 64
gotoAndPlay ("fireRight");
Symbol 1533 MovieClip Frame 1
_parent.shakeX = 10;
Symbol 1533 MovieClip Frame 13
gotoAndPlay (1);
Symbol 1537 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 1539 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 1262 MovieClip [character1] "p2Depth" in Symbol 1539 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 1262 MovieClip [character1] "p1Depth" in Symbol 1539 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 777 MovieClip "mute" in Symbol 1539 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 1539 MovieClip Frame 86
gotoAndStop ("idle");
Symbol 1539 MovieClip Frame 94
stop();
Symbol 1539 MovieClip Frame 105
stop();
Symbol 1539 MovieClip Frame 114
stop();
Symbol 1539 MovieClip Frame 115
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("headLeft");
i++;
}
Symbol 1539 MovieClip Frame 116
stop();
Symbol 1539 MovieClip Frame 118
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("nod");
i++;
}
Symbol 1539 MovieClip Frame 119
stop();
Symbol 1539 MovieClip Frame 121
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("headRight");
i++;
}
Symbol 1539 MovieClip Frame 122
stop();
Symbol 1539 MovieClip Frame 123
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("rock");
i++;
}
Symbol 1539 MovieClip Frame 124
stop();
Symbol 1539 MovieClip Frame 126
z1.gotoAndPlay("rockOff");
i = 2;
while (i <= 6) {
this["z" + i].gotoAndPlay("rock");
i++;
}
Symbol 1539 MovieClip Frame 127
stop();
Symbol 1539 MovieClip Frame 132
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("waddleRight");
i++;
}
Symbol 1539 MovieClip Frame 133
stop();
Symbol 1539 MovieClip Frame 134
i = 1;
while (i <= 6) {
this["z" + i].gotoAndPlay("waddleLeft");
i++;
}
Symbol 1539 MovieClip Frame 135
stop();
Symbol 1539 MovieClip Frame 143
stop();
Symbol 1539 MovieClip Frame 294
stop();
Symbol 1539 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 1382 MovieClip "magic" in Symbol 1539 MovieClip Frame 295
onClipEvent (load) {
gotoAndPlay(Math.ceil(_totalframes / 2));
}
Symbol 1539 MovieClip Frame 297
stop();
Symbol 1539 MovieClip Frame 299
shakeX = 55;
this[inactivePlayer].gotoAndStop("rabbitMode");
Symbol 1539 MovieClip Frame 375
stop();
Symbol 1539 MovieClip Frame 383
doCharacterAnim("elevatorFall", inactivePlayer);
Symbol 1539 MovieClip Frame 406
stop();
Symbol 1539 MovieClip Frame 420
choosePlayerMask("elevator");
Symbol 1539 MovieClip Frame 438
choosePlayerMask("off");
Symbol 1539 MovieClip Frame 466
choosePlayerMask("elevator");
Symbol 1539 MovieClip Frame 478
stop();
Symbol 1539 MovieClip Frame 483
shakeY = 60;
choosePlayerMask("on");
Symbol 1539 MovieClip Frame 491
stop();
Symbol 1539 MovieClip Frame 535
shakeY = 1;
Symbol 1539 MovieClip Frame 537
shakeY = 2;
Symbol 1539 MovieClip Frame 539
shakeY = 3;
Symbol 1539 MovieClip Frame 541
shakeY = 4;
Symbol 1539 MovieClip Frame 543
shakeY = 5;
Symbol 1539 MovieClip Frame 545
shakeY = 5;
Symbol 1539 MovieClip Frame 547
shakeY = 5;
Symbol 1539 MovieClip Frame 550
shakeY = 5;
Symbol 1539 MovieClip Frame 556
stop();
Symbol 1539 MovieClip Frame 557
doCharacterAnim("mountainFall", inactivePlayer);
doCharacterAnim("spaceFloat");
Instance of Symbol 1455 MovieClip "stars" in Symbol 1539 MovieClip Frame 557
onClipEvent (enterFrame) {
this._y = this._y + 0.25;
}
Symbol 1539 MovieClip Frame 607
stars.onEnterFrame = function () {
this._y = this._y + 1;
};
rocket.gotoAndStop("on");
stop();
Symbol 1539 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 1539 MovieClip Frame 667
stop();
Symbol 1539 MovieClip Frame 669
rocket.gotoAndStop("broke");
this[activePlayer].gotoAndStop("centre");
shakeY = 50;
delete stars.onEnterFrame;
Symbol 1539 MovieClip Frame 680
stop();
Symbol 1539 MovieClip Frame 681
stop();
Symbol 1539 MovieClip Frame 682
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 685
doCharacterAnim("mountain");
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 688
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 691
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 694
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 695
doCharacterAnim("mountainFall", inactivePlayer);
Symbol 1539 MovieClip Frame 700
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 703
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 706
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 709
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 712
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 715
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 718
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 721
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 724
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 727
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 728
stop();
Symbol 1539 MovieClip Frame 734
shakeX = -10;
shakeY = -2;
Symbol 1539 MovieClip Frame 737
shakeY = 2;
Symbol 1539 MovieClip Frame 740
shakeY = 2;
Symbol 1539 MovieClip Frame 743
shakeY = 2;
Symbol 1539 MovieClip Frame 746
shakeY = 2;
Symbol 1539 MovieClip Frame 759
stop();
Symbol 1539 MovieClip Frame 761
shakeY = 2;
Symbol 1539 MovieClip Frame 764
shakeY = 2;
Symbol 1539 MovieClip Frame 767
shakeY = 2;
Symbol 1539 MovieClip Frame 770
shakeY = 2;
Symbol 1539 MovieClip Frame 773
shakeY = 2;
Symbol 1539 MovieClip Frame 776
shakeY = 2;
Symbol 1539 MovieClip Frame 779
stop();
Symbol 1539 MovieClip Frame 782
shakeY = 2;
this[inactivePlayer]._visible = false;
Symbol 1539 MovieClip Frame 785
shakeY = 2;
Symbol 1539 MovieClip Frame 788
shakeY = 2;
Symbol 1539 MovieClip Frame 791
shakeY = 2;
Symbol 1539 MovieClip Frame 794
doCharacterAnim("onFire");
shakeY = 2;
Symbol 1539 MovieClip Frame 797
shakeY = 2;
Symbol 1539 MovieClip Frame 801
doCharacterAnim("spaceFloat");
Symbol 1539 MovieClip Frame 810
stop();
Symbol 1539 MovieClip Frame 816
shakeY = 30;
choosePlayerMask("hole");
doCharacterAnim("inHole");
Symbol 1539 MovieClip Frame 826
stop();
Symbol 1539 MovieClip Frame 829
choosePlayerMask("on");
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 832
doCharacterAnim("godzillaUp");
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 835
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 838
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 841
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 842
doCharacterAnim("mountainFall", inactivePlayer);
Symbol 1539 MovieClip Frame 844
doCharacterAnim("godzillaDown");
Symbol 1539 MovieClip Frame 847
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 850
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 853
shakeX = 12;
shakeY = -2;
Symbol 1539 MovieClip Frame 856
doCharacterAnim("godzillaWalk");
shakeX = 2;
shakeY = 2;
Symbol 1539 MovieClip Frame 867
coptersGo = true;
stop();
Symbol 1539 MovieClip Frame 868
godzilla.sprite.gotoAndPlay("fireLeft");
Symbol 1539 MovieClip Frame 884
godzilla.building1.gotoAndPlay("flameOn");
godzilla.building2.gotoAndPlay("flameOn");
stop();
Symbol 1539 MovieClip Frame 886
godzilla.sprite.gotoAndPlay("fireRight");
Symbol 1539 MovieClip Frame 901
godzilla.building3.gotoAndPlay("flameOn");
godzilla.building4.gotoAndPlay("flameOn");
stop();
Symbol 1539 MovieClip Frame 905
godzilla.sprite.gotoAndPlay("citiesOnFlame");
Symbol 1539 MovieClip Frame 917
stop();
Symbol 1539 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 1539 MovieClip Frame 935
stop();
Symbol 1539 MovieClip Frame 943
godzilla.sprite.gotoAndPlay("punch");
Symbol 1539 MovieClip Frame 948
stop();
Symbol 1539 MovieClip Frame 950
stop();
Symbol 1539 MovieClip Frame 970
shakeX = 100;
shakeY = 100;
doCharacterAnim("spaceFloat");
Instance of Symbol 1455 MovieClip "stars" in Symbol 1539 MovieClip Frame 980
onClipEvent (enterFrame) {
this._rotation = this._rotation + 0.25;
}
Symbol 1539 MovieClip Frame 1039
stop();
Symbol 1544 MovieClip Frame 1
stop();
Symbol 1544 MovieClip Frame 19
gotoAndStop ("off");
Symbol 1547 MovieClip Frame 1
_visible = false;
Symbol 1549 MovieClip Frame 1
_visible = false;
Symbol 1550 MovieClip Frame 2
stop();
Symbol 1550 MovieClip Frame 9
stop();
Symbol 1550 MovieClip Frame 15
stop();
Symbol 1550 MovieClip Frame 21
stop();
Symbol 1550 MovieClip Frame 28
stop();
Symbol 1550 MovieClip Frame 37
stop();
Symbol 1550 MovieClip Frame 46
stop();
Symbol 1552 MovieClip [player2fretboard] Frame 1
#initclip 66
Object.registerClass("player2fretboard", Fretboard);
#endinitclip
stop();
Symbol 1552 MovieClip [player2fretboard] Frame 15
stop();
Symbol 1553 MovieClip [player1fretboard] Frame 1
#initclip 64
Object.registerClass("player1fretboard", Fretboard);
#endinitclip
stop();
Symbol 1553 MovieClip [player1fretboard] Frame 15
stop();
Symbol 1554 MovieClip [engine] Frame 1
#initclip 65
Object.registerClass("engine", Engine);
#endinitclip
Symbol 1590 MovieClip Frame 1
stop();
Symbol 1590 MovieClip Frame 22
gotoAndPlay ("loop");
Symbol 1597 MovieClip Frame 1
stop();
Symbol 1597 MovieClip Frame 22
gotoAndPlay ("loop");
Symbol 1598 MovieClip Frame 1
Symbol 1602 MovieClip Frame 1
stop();
Symbol 1604 MovieClip Frame 1
stop();