Frame 1
Stage.showMenu = false;
loadedbytes = getBytesLoaded();
totalbytes = getBytesTotal();
percentbytes = int(loadedbytes / (totalbytes / 100));
loader.gotoAndStop(percentbytes);
Frame 2
if (loadedbytes == totalbytes) {
gotoAndPlay (3);
} else {
gotoAndPlay (1);
}
Frame 4
Frame 18
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
__com_mochibot__("42fa0e36", this, 10301, true);
gotoAndPlay ("intros");
Frame 20
function scorePU(points) {
gameStats.score = gameStats.score + points;
updateHUD();
return(((points > 0) ? "+" : "") + points);
}
function multiplierPlus(num) {
gameStats.multiplier = gameStats.multiplier + num;
if (gameStats.multiplier > 5) {
gameStats.multiplier = 5;
}
updateHUD();
if (num == 4) {
return("FULL MULTI");
}
return("MULTI +" + num);
}
function blinkCircls() {
resetPU();
PUS.blinkingCircls = 8 * FPS;
puBar("blinkingCircls", PUS.blinkingCircls, "BLINKING CIRCLS");
return("BLINKING CIRCLS");
}
function slowMo() {
resetPU();
PUS.slowMo = 8 * FPS;
puBar("slowMo", PUS.slowMo, "SLOWMO");
return("SlowMo");
}
function modHealth(percent) {
gameStats.life = gameStats.life * (1 + (percent / 100));
if (gameStats.life > 100) {
gameStats.life = 100;
}
updateHUD();
return(((("Health " + ((percent > 0) ? "+" : "")) + "") + precent) + "%");
}
function fullHealth() {
gameStats.life = 100;
updateHUD();
return("Full Health");
}
function addScore(num) {
gameStats.score = gameStats.score + num;
updateHUD();
return(((num > 0) ? "+" : "") + num);
}
function puBar(pu, val, puName) {
bg.attachMovie("pu_bar", "pu_bar", bg.getNextHighestDepth(), {pu:pu, orgPUValue:val, puName:puName});
}
function resetPU() {
for (var _local1 in PUS) {
PUS[_local1] = 1;
}
}
var sponsorURL = "http://hallpass.com";
var FPS = 36;
var difficulty;
var firstGame = true;
var vol = 100;
var bgMusic = new Sound(this);
bgMusic.attachSound("bg_music");
bgMusic.start(0, 9999);
var globalSound = new Sound(this);
globalSound.setVolume(vol);
var m_item_rOver = new Sound(this);
m_item_rOver.attachSound("menu_item_rOver");
var tcSound = new Sound(this);
tcSound.attachSound("tcSound");
var perfectHitSFX = new Sound(this);
perfectHitSFX.attachSound("sfx_perfect");
var goodHitSFX = new Sound(this);
goodHitSFX.attachSound("sfx_good");
var badHitSFX = new Sound(this);
badHitSFX.attachSound("sfx_bad");
var missSFX = new Sound(this);
missSFX.attachSound("sfx_miss");
var powerups = new Array([[addScore, 1000], [multiplierPlus, 4], [slowMo, ""], [fullHealth, ""]], [[addScore, 500], [multiplierPlus, 2], [modHealth, 30]], [[addScore, -300]], [[addScore, -800], [blinkCircls, ""]]);
Frame 135
function fader(goto) {
var _local1 = attachMovie("fader", "fader", getNextHighestDepth());
if (goto == undefined) {
_local1.gotoAndPlay("fadeIn");
return(undefined);
}
_local1.goto = goto;
}
function menuWindow(goto) {
m_window.goto = goto;
m_window.gotoAndPlay(2);
}
function goToSponsor() {
getURL (_root.sponsorURL, "_blank");
}
function startGame(diff) {
fader("game");
_root.difficulty = diff;
}
function removeMenu(m) {
for (var _local4 in _root.menu.menus) {
if (_root.menu.menus[_local4] == m) {
_root.menu.menus.splice(_local4, 1);
}
}
_root.menu[m].onRelease = function () {
};
_root.menu[m].onEnterFrame = function () {
if (this._alpha > 0) {
this._alpha = this._alpha - 10;
} else {
this.removeMovieClip();
}
};
}
function disableMenu(m) {
for (var _local4 in _root.menu[m]) {
if (_root.menu.m[_local4] instanceof MovieClip) {
_root.menu.m[_local4].enabled = false;
}
}
_root.menu[m].onEnterFrame = function () {
if (this._alpha > 40) {
this._alpha = this._alpha - 4;
} else {
delete this.onEnterFrame;
}
};
_root.menu[m].onRelease = function () {
_root.enableMenu(this._name);
};
}
function enableMenu(m) {
for (var _local6 in _root.menu[m]) {
if (_root.menu[m][_local6] instanceof MovieClip) {
_root.menu[m][_local6].enabled = true;
}
}
_root.menu[m].onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha = this._alpha + 8;
} else {
delete this.onRelease;
delete this.onEnterFrame;
}
};
var _local4 = true;
for (var _local5 in _root.menu.menus) {
if (_root.menu.menus[_local5] == m) {
_local4 = false;
continue;
}
if (_local4) {
_root.removeMenu(_root.menu.menus[_local5]);
} else {
_root.disableMenu(_root.menu.menus[_local5]);
break;
}
}
}
stop();
var letters = new Array(["D", 68], ["F", 70], ["J", 74], ["K", 75], ["L", 76], ["S", 83], ["A", 65], ["B", 66], ["C", 67], ["E", 69], ["G", 71], ["H", 72], ["I", 73], ["M", 77], ["N", 78], ["O", 79], ["P", 80], ["Q", 81], ["R", 82], ["T", 84], ["U", 85], ["V", 86], ["W", 87], ["X", 88], ["Y", 89], ["Z", 90]);
var PUletters = new Array(["A", 65], ["B", 66], ["C", 67], ["E", 69], ["G", 71], ["H", 72], ["I", 73], ["M", 77], ["N", 78], ["O", 79], ["P", 80], ["Q", 81], ["R", 82], ["T", 84], ["U", 85], ["V", 86], ["W", 87], ["X", 88], ["Y", 89], ["Z", 90]);
if (firstGame) {
}
if (firstGame) {
fader(undefined);
firstGame = false;
}
var mArray = new Array(["Play", "Start a new game"], ["Instructions", "Read the instructions", menuWindow, "instructions"], ["Settings", "Change quality and music/sfx volume", menuWindow, "settings"], ["Credits", "If you for some reason care, here are the people who in one way or another participated in making this game :]", menuWindow, "credits"], ["Play More Games", "Play more games at Hallpass.com!", goToSponsor, ""]);
var m0Array = new Array(["Easy", "Few and slow circls, play with D, F, J, K", startGame, 1], ["Normal", "More and faster circls than on easy, play with S, D, F, J, K, L", startGame, 2], ["Hard", "Very many and fast circls, play with all keys (A-Z)", startGame, 3]);
Frame 136
function waveCircls(wave) {
return(Math.round(wave * 2.5) + 5);
}
function resetStLVL() {
for (var _local1 in StLVL) {
StLVL[_local1] = 0;
}
}
function radToDeg(angle) {
return((angle * 180) / 3.14);
}
function degToRad(angle) {
return((angle * 3.14) / 180);
}
function newCircl() {
if (LS.releasedCircls < LS.circls) {
LS.releasedCircls++;
RCS.sinceLast = 0;
var speed = ((Math.random() * (RCS.speedMax - RCS.speedMin)) + RCS.speedMin);
var _local2 = random(letters.length);
var _local4 = letters[_local2][0];
while (checkIfExist(_local4)) {
_local2 = random(letters.length);
_local4 = letters[_local2][0];
}
letterCode = letters[_local2][1];
var _local3 = attachMovie("circl", "circl" + getNextHighestDepth(), getNextHighestDepth(), {_x:(Math.random() * (Stage.width - (circlRadius * 2))) + circlRadius, _y:(-circlRadius) * 2, speed:speed, letter:_local4, letterCode:letterCode, tcActivated:false});
_local3.letter_txt.text = _local4;
_local3.onEnterFrame = function () {
this._y = this._y + (this.speed * (slowMoActivated ? (slowMoMultiplier) : 1));
this.outer_c._rotation = this.outer_c._rotation + (3 * (slowMoActivated ? (slowMoMultiplier) : 1));
this.inner_c._rotation = this.inner_c._rotation - (3 * (slowMoActivated ? (slowMoMultiplier) : 1));
if (this._y > (Stage.height + circlRadius)) {
StLVL.miss++;
gameStats.multiplier = 1;
loseLife(20);
missSFX.start(0, 1);
removecircl(this._name);
}
};
circlsArray.push([_local3._name, _local4, letterCode]);
HUD.swapDepths(getNextHighestDepth() + 1);
sound_mc.swapDepths(getNextHighestDepth());
}
}
function newPU() {
var speed = ((Math.random() * 2) + 3);
var _local2 = random(PUletters.length);
var _local4 = PUletters[_local2][0];
while (checkIfExist(_local4)) {
_local2 = random(PUletters.length);
_local4 = PUletters[_local2][0];
}
letterCode = PUletters[_local2][1];
var _local3 = attachMovie("pu_circl", "circl" + getNextHighestDepth(), getNextHighestDepth(), {_x:(Math.random() * (Stage.width - (circlRadius * 2))) + circlRadius, _y:(-circlRadius) * 2, speed:speed, letter:_local4, letterCode:letterCode, tcActivated:false});
_local3.letter_txt.text = _local4;
_local3.onEnterFrame = function () {
this._y = this._y + (this.speed * (slowMoActivated ? (slowMoMultiplier) : 1));
this.outer_c._rotation = this.outer_c._rotation + (3 * (slowMoActivated ? (slowMoMultiplier) : 1));
this.inner_c._rotation = this.inner_c._rotation - (3 * (slowMoActivated ? (slowMoMultiplier) : 1));
if (this._y > (Stage.height + circlRadius)) {
removePU(this._name);
}
};
PUArray.push([_local3._name, _local4, letterCode]);
HUD.swapDepths(getNextHighestDepth() + 1);
sound_mc.swapDepths(getNextHighestDepth());
}
function activateTC(circl, key, pu) {
tcSound.start(0, 1);
var _local4 = _root[circl];
_local4.tcActivated = true;
_local4.tc._alpha = 0;
_local4.tc.key = key;
_local4.tc.pu = pu;
_local4.tc.radius = triggercirclRadius;
_local4.tc.onEnterFrame = function () {
this.clear();
if (Key.isDown(this.key)) {
this.moveTo(this.radius, 0);
if (Math.abs(perfectRad - this.radius) > HR.perfect) {
this.lineStyle(3, 16777215, 100);
} else {
this.lineStyle(3, 0, 100);
}
var _local2 = 0;
while (_local2 < 360) {
this.lineTo(this.radius * Math.cos(degToRad(_local2)), this.radius * Math.sin(degToRad(_local2)));
if ((_local2 % 90) == 0) {
this.lineTo((this.radius + 3) * Math.cos(degToRad(_local2)), (this.radius + 3) * Math.sin(degToRad(_local2)));
this.moveTo(this.radius * Math.cos(degToRad(_local2)), this.radius * Math.sin(degToRad(_local2)));
}
_local2 = _local2 + 3;
}
this.speed = ((20 / this.radius) + 3) * (slowMoActivated ? (slowMoMultiplier) : 1);
this.radius = this.radius - this.speed;
this._rotation = this._rotation + (this.speed * 3);
this._alpha = this._alpha + (4 * (slowMoActivated ? (slowMoMultiplier) : 1));
if (this.radius < StLVL.good) {
if (!this.pu) {
calculateScore(this.radius, this._parent._name);
removecircl(this._parent._name);
} else {
removePU(this._parent._name, this.radius);
}
}
} else if (!this.pu) {
calculateScore(this.radius, this._parent._name);
removecircl(this._parent._name);
} else {
activatePU(this.radius, this._parent._name);
removePU(this._parent._name);
}
};
}
function checkIfExist(letter) {
for (var _local2 in circlsArray) {
if (circlsArray[_local2][1] == letter) {
return(true);
}
}
for (var _local2 in PUArray) {
if (PUArray[_local2][1] == letter) {
return(true);
}
}
return(false);
}
function removecircl(c) {
delete _root[c].onEnterFrame;
_root[c].play();
_root[c].tc.removeMovieClip();
for (var _local3 in _root.circlsArray) {
if (_root.circlsArray[_local3][0] == c) {
_root.circlsArray.splice(_local3, 1);
}
}
HUD.wave_bar._yscale = HUD.wave_bar._yscale - (100 / LS.circls);
if (((LS.releasedCircls == LS.circls) && (circlsArray.length == 0)) && (gameStats.life > 0)) {
HUD.wave_bar._yscale = 0;
endWave();
}
}
function activatePU(radius, circl) {
var _local4 = Math.abs(perfectRad - radius);
var _local3;
var _local2;
if (_local4 > HR.bad) {
_local3 = "Miss!";
missSFX.start(0, 1);
_local2 = 3;
} else if (_local4 > HR.good) {
_local3 = "Bad";
badHitSFX.start(0, 1);
_local2 = 2;
} else if (_local4 > HR.perfect) {
_local3 = "Good";
goodHitSFX.start(0, 1);
_local2 = 1;
} else {
_local3 = "Perfect!!";
perfectHitSFX.start(0, 1);
_local2 = 0;
}
var _local5 = random(powerups[_local2].length);
var _local6 = powerups[_local2][_local5][0](powerups[_local2][_local5][1]);
_root[circl].res = _local3.toUpperCase();
_root[circl].puString = _local6.toUpperCase();
}
function removePU(c) {
delete _root[c].onEnterFrame;
_root[c].play();
_root[c].tc.removeMovieClip();
for (var _local3 in _root.PUArray) {
if (_root.PUArray[_local3][0] == c) {
_root.PUArray.splice(_local3, 1);
}
}
}
function calculateScore(radius, circl) {
var _local3 = Math.abs(perfectRad - radius);
var _local4 = 0;
var _local5;
if (_local3 > HR.bad) {
StLVL.miss++;
missSFX.start(0, 1);
_local5 = "Miss!";
loseLife(20);
} else if (_local3 > HR.good) {
StLVL.bad++;
badHitSFX.start(0, 1);
_local5 = "Bad";
_local4 = 30;
} else if (_local3 > HR.perfect) {
StLVL.good++;
goodHitSFX.start(0, 1);
_local5 = "Good";
_local4 = 50;
} else {
StLVL.perfect++;
perfectHitSFX.start(0, 1);
_local5 = "Perfect!!";
_local4 = 100;
loseLife(-3);
}
if (_local3 > HR.good) {
gameStats.multiplier = 1;
gameStats.score = gameStats.score + _local4;
} else {
gameStats.multiplier = gameStats.multiplier + (1 * (_local3 <= HR.perfect));
gameStats.multiplier = ((gameStats.multiplier < 5) ? (gameStats.multiplier) : 5);
gameStats.score = gameStats.score + (_local4 * (gameStats.multiplier + 1));
}
var _local6 = bg.attachMovie("hit_bg", "hit_bg" + bg.getNextHighestDepth(), bg.getNextHighestDepth());
if (_local3 > HR.good) {
_local6._alpha = ((_local3 <= HR.miss) * 20) + 30;
} else {
_local6._alpha = ((_local3 <= HR.perfect) * 20) + 30;
}
_local6.gotoAndStop((_local3 > HR.good) + 1);
_local6.onEnterFrame = function () {
this._alpha = this._alpha - (2 + (this._alpha / 100));
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
_root[circl].res = _local5.toUpperCase();
updateHUD();
}
function loseLife(amount) {
gameStats.life = gameStats.life - amount;
if (gameStats.life > 100) {
gameStats.life = 100;
} else if (gameStats.life < 0) {
gameStats.life = 0;
}
updateHUD();
if (gameStats.life == 0) {
gameOver();
}
}
function updateHUD() {
HUD.score_txt.text = gameStats.score;
HUD.health_bar._yscale = gameStats.life;
HUD.health_bar.gotoAndStop(int(gameStats.life));
HUD.combo.combo_txt.text = "x" + gameStats.multiplier;
var _local1 = 1;
while (_local1++ , _local1 <= 5) {
var _local2 = ((gameStats.multiplier >= _local1) ? (_local1) : 1);
HUD.combo["x" + _local1].gotoAndStop(_local2);
}
}
function endWave() {
gamePaused = true;
attachMovie("wave_complete", "wave_complete", HUD.getDepth() - 1, {_x:Stage.width / 2, _y:Stage.height / 2});
for (var _local3 in PUArray) {
_root[PUArray[_local3][0]].tc.removeMovieClip();
_root[PUArray[_local3][0]].onEnterFrame = function () {
if (this._alpha > 0) {
this._alpha = this._alpha - 10;
} else {
this.removeMovieClip();
}
};
_root.PUArray.splice(_local3, 1);
}
}
function startNextWave() {
resetStLVL();
gamePaused = false;
_root.gameStats.wave++;
_root.LS.circls = _root.waveCircls(_root.gameStats.wave);
_root.LS.releasedCircls = 0;
_root.RCS.sinceLast = 0;
_root.RCS.releaseChanceOrg = _root.RCS.releaseChanceOrg * 0.9;
_root.RCS.maxInterval = _root.RCS.maxInterval * 0.95;
HUD.wave_bar._yscale = 100;
updateHUD();
}
function gameOver() {
if (!gamePaused) {
gamePaused = true;
attachMovie("game_over", "game_over" + random(1000), getNextHighestDepth(), {_x:Stage.width / 2, _y:Stage.height / 2});
}
}
stop();
var circlsArray = new Array();
var PUArray = new Array();
var pressedKeys = new Array();
var circlRadius = 20;
var perfectRad = 20;
var triggercirclRadius = 80;
var gamePaused = false;
var gameStats = new Object();
gameStats.score = 0;
gameStats.lastLevelScore = 0;
gameStats.life = 100;
gameStats.multiplier = 1;
gameStats.wave = 1;
var LS = new Object();
LS.circls = waveCircls(gameStats.wave);
LS.releasedCircls = 0;
var HR = new Object();
HR.bad = 10;
HR.good = 6;
HR.perfect = 3;
var PUS = new Object();
PUS.blinkingCircls = 0;
PUS.slowMo = 0;
var slowMoActivated = false;
var slowMoMultiplier = 0.5;
var RCS = new Object();
RCS.sinceLast = 0;
RCS.releaseChance;
if (difficulty == 1) {
RCS.maxInterval = 4 * FPS;
RCS.minInterval = 1.5 * FPS;
RCS.maxCircls = 2;
RCS.releaseChanceOrg = 200;
RCS.speedMin = 2;
RCS.speedMax = 3;
PUletters = letters.splice(4);
} else if (difficulty == 2) {
RCS.maxInterval = 2.5 * FPS;
RCS.minInterval = 1 * FPS;
RCS.maxCircls = 3;
RCS.releaseChanceOrg = 100;
RCS.speedMin = 3;
RCS.speedMax = 4;
PUletters = letters.splice(6);
} else {
RCS.maxInterval = 1.6 * FPS;
RCS.minInterval = 0.5 * FPS;
RCS.maxCircls = 4;
RCS.releaseChanceOrg = 50;
RCS.speedMin = 3;
RCS.speedMax = 5.5;
}
var StLVL = new Object();
StLVL.miss = 0;
StLVL.bad = 0;
StLVL.good = 0;
StLVL.perfect = 0;
StLVL.score = 0;
var blinkingCircls = new MovieClip();
onEnterFrame = function () {
if (!gamePaused) {
RCS.releaseChance = RCS.releaseChanceOrg;
RCS.sinceLast++;
if ((RCS.sinceLast >= RCS.maxInterval) && (RCS.sinceLast >= RCS.minInterval)) {
RCS.releaseChance = 1;
}
if ((circlsArray.length >= RCS.maxCircls) || (letters.length == circlsArray.length)) {
RCS.releaseChance = 0;
}
if (RCS.releaseChance != 0) {
if (RCS.releaseChance == 1) {
newCircl();
} else if (random(RCS.releaseChance) == 0) {
newCircl();
}
}
if (random(600) == 0) {
newPU();
}
if (PUS.blinkingCircls > 0) {
PUS.blinkingCircls--;
if ((PUS.blinkingCircls % 9) == 0) {
for (var _local4 in _root.circlsArray) {
var _local3 = _root[_root.circlsArray[_local4][0]];
if (_local3._currentframe != 1) {
circle._visible = true;
} else {
_local3._visible = !_local3._visible;
}
}
}
if (PUS.blinkingCircls == 0) {
for (var _local4 in _root.circlsArray) {
var _local3 = _root[_root.circlsArray[_local4][0]];
_local3._visible = true;
}
}
}
if (PUS.slowMo > 0) {
slowMoActivated = false;
for (var _local4 in circlsArray) {
var _local2 = _root[circlsArray[_local4][0]];
if (_local2.tcActivated) {
slowMoActivated = true;
break;
}
}
if (!slowMoActivated) {
for (var _local4 in PUArray) {
var _local2 = _root[PUArray[_local4][0]];
if (_local2.tcActivated) {
slowMoActivated = true;
break;
}
}
}
PUS.slowMo = PUS.slowMo - (1 * (slowMoActivated ? (slowMoMultiplier) : 1));
if (PUS.slowMo <= 0) {
PUS.slowMo = 0;
slowMoActivated = false;
}
}
}
};
gameListener = new Object();
gameListener.onKeyDown = function () {
var _local2 = Key.getCode();
if (!gamePaused) {
for (var _local3 in circlsArray) {
if (_local2 == circlsArray[_local3][2]) {
if (!_root[circlsArray[_local3][0]].tcActivated) {
activateTC(circlsArray[_local3][0], _local2, false);
}
break;
}
}
for (var _local3 in PUArray) {
if (_local2 == PUArray[_local3][2]) {
if (!_root[PUArray[_local3][0]].tcActivated) {
activateTC(PUArray[_local3][0], _local2, true);
}
break;
}
}
}
};
Key.addListener(gameListener);
updateHUD();
Symbol 28 MovieClip Frame 34
stop();
Symbol 48 MovieClip Frame 1
_root.stop();
Symbol 48 MovieClip Frame 219
_root.play();
Symbol 48 MovieClip Frame 281
stop();
Symbol 55 MovieClip [pu_bar] Frame 1
_alpha = 20;
text1.text = (text2.text = puName);
onEnterFrame = function () {
bar1._xscale = (bar2._xscale = (_root.PUS[pu] / orgPUValue) * 100);
if (_root.PUS[pu] == 0) {
this.removeMovieClip();
}
};
Symbol 62 MovieClip Frame 1
stop();
Symbol 62 MovieClip Frame 20
stop();
Symbol 64 MovieClip [menu_item] Frame 1
stop();
if (buttonName == undefined) {
buttonName = "...";
}
m_item.txt.text = buttonName;
onRollOver = function () {
_root.m_item_rOver.start(0, 1);
_root.menu_hint.text = hint;
onEnterFrame = function () {
var _local1 = _currentframe;
_local1 = _local1 + 3;
if (_local1 > _totalframes) {
_local1 = _totalframes;
}
gotoAndStop(_local1);
m_item.gotoAndStop(_local1);
};
};
onRollOut = function () {
_root.menu_hint.text = "";
onEnterFrame = function () {
var _local1 = _currentframe;
_local1--;
gotoAndStop(_local1);
m_item.gotoAndStop(_local1);
if (_local1 == 1) {
delete onEnterFrame;
}
};
};
onDragOut = onRollOut;
Symbol 64 MovieClip [menu_item] Frame 20
stop();
delete onEnterFrame;
Symbol 65 MovieClip [menu_set] Frame 1
var distX = 220;
var distY = 30;
var menuArray = _root[_name + "Array"];
_parent.menus.push(_name);
_alpha = 0;
_root.enableMenu(_name);
for (var i in menuArray) {
var menuArray = _root[_name + "Array"];
var m_item = attachMovie("menu_item", "menu_" + i, getNextHighestDepth(), {_y:((-(menuArray.length - i)) * distY) + distY});
m_item.buttonName = menuArray[i][0];
m_item.hint = menuArray[i][1];
m_item.leadsTo = _name + i;
m_item.par = i;
m_item.menuArray = menuArray;
m_item.functionRef = menuArray[i][2];
m_item.onRelease = function () {
if (_root.m_window._currentframe > 1) {
_root.m_window.play();
}
if (this.functionRef == undefined) {
var _local5 = _parent.attachMovie("menu_set", this.leadsTo, _parent.getNextHighestDepth(), {_x:_x + distX});
} else {
if (functionRef != menuWindow) {
_root.disableMenu(_name);
}
var _local4 = menuArray[this.par][3];
if (_local4 == undefined) {
_local4 = "";
}
menuArray[this.par][2](_local4);
}
};
}
Symbol 97 MovieClip Frame 1
stop();
Symbol 100 MovieClip Frame 1
stop();
Symbol 101 MovieClip Frame 1
function returnPercent(stat) {
var _local2 = Math.round((_root.StLVL[stat] / _root.LS.circls) * 1000) / 10;
return((" (" + _local2) + "%)");
}
stop();
var thisLevelScore = (_root.gameStats.score - _root.gameStats.lastLevelScore);
_root.gameStats.lastLevelScore = _root.gameStats.score;
miss_txt.text = _root.StLVL.miss + returnPercent("miss");
bad_txt.text = _root.StLVL.bad + returnPercent("bad");
good_txt.text = _root.StLVL.good + returnPercent("good");
perfect_txt.text = _root.StLVL.perfect + returnPercent("perfect");
lvlscore_txt.text = thisLevelScore;
totalscore_txt.text = _root.gameStats.score;
Symbol 101 MovieClip Frame 2
menu_btn.onRelease = function () {
_parent.play();
};
play_btn.onRelease = function () {
getURL ("http://hallpass.com", _blank);
};
menu_btn.onRollOver = (play_btn.onRollOver = function () {
this.gotoAndStop(2);
});
menu_btn.onRollOut = (play_btn.onRollOut = function () {
this.gotoAndStop(1);
});
var ROFL = new Array("Easy", "Normal", "Hard");
var diff = ROFL[_root.difficulty - 1];
if (_root._url.indexOf("hallpass.com", 0) != -1) {
_root.HPScoreService.postScore(_root.gameStats.score, diff);
mes.text = "Your scores have been sent!\n(Provided that you are logged in)";
}
Symbol 104 MovieClip [game_over] Frame 50
m.gotoAndStop("game_over");
m.score_txt.text = _root.gameStats.score;
Symbol 104 MovieClip [game_over] Frame 64
stop();
for (var i in _root) {
if (_root[i] instanceof MovieClip) {
if ((i != _name) && (i != "sound_mc")) {
_root[i].removeMovieClip();
}
}
}
_root.gotoAndStop("menu");
Symbol 104 MovieClip [game_over] Frame 111
this.removeMovieClip();
Symbol 116 MovieClip [circl] Frame 1
stop();
createEmptyMovieClip("tc", 1);
Symbol 116 MovieClip [circl] Frame 2
res_txt.text = res;
onEnterFrame = function () {
res_txt._visible = !res_txt._visible;
res_txt._alpha = res_txt._alpha - 5;
};
Symbol 116 MovieClip [circl] Frame 15
this.removeMovieClip();
Symbol 124 MovieClip [pu_circl] Frame 1
stop();
createEmptyMovieClip("tc", 1);
Symbol 124 MovieClip [pu_circl] Frame 2
res_txt.text = res;
pu_txt.text = puString;
onEnterFrame = function () {
res_txt._visible = !res_txt._visible;
_alpha = (_alpha - 5);
};
Symbol 124 MovieClip [pu_circl] Frame 15
this.removeMovieClip();
Symbol 129 MovieClip [sound_mc] Frame 1
stop();
_alpha = 70;
var blur = (new flash.filters.BlurFilter(2, 2, 2));
filters = [blur];
Symbol 135 MovieClip [wave_complete] Frame 64
stop();
anyKey = new Object();
anyKey.onKeyDown = function () {
play();
Key.removeListener(anyKey);
};
Key.addListener(anyKey);
Symbol 135 MovieClip [wave_complete] Frame 111
_root.startNextWave();
this.removeMovieClip();
Symbol 138 MovieClip [fader] Frame 25
if (goto != undefined) {
_root.gotoAndStop(goto);
}
Symbol 138 MovieClip [fader] Frame 50
this.removeMovieClip();
Symbol 161 MovieClip Frame 115
stop();
Symbol 163 MovieClip Frame 1
function menuCircl() {
var speed = ((Math.random() * 2) + 3);
var _local6 = random(_root.letters.length);
var _local4 = "";
var _local5 = ((random(6) != 0) ? "circl" : "pu_circl");
var _local3 = attachMovie(_local5, "circl" + getNextHighestDepth(), getNextHighestDepth(), {_x:(Math.random() * (Stage.width - (circlRadius * 2))) + circlRadius, _y:(-circlRadius) * 2, speed:speed, letter:_local4});
_local3.letter_txt.text = _local4;
_local3.onEnterFrame = function () {
this._y = this._y + this.speed;
this.outer_c._rotation = this.outer_c._rotation + 3;
this.inner_c._rotation = this.inner_c._rotation - 3;
if (this._y > (Stage.height + circlRadius)) {
this.removeMovieClip();
}
};
}
var circlRadius = 20;
onEnterFrame = function () {
if (Math.random() > 0.99) {
menuCircl();
}
};
Symbol 168 MovieClip Frame 1
var menus = new Array();
Symbol 172 MovieClip Frame 1
stop();
Symbol 177 MovieClip Frame 1
q.text = _name;
onRelease = function () {
if (_name == "Lo") {
_root._quality = "LOW";
} else if (_name == "Med") {
_root._quality = "MEDIUM";
} else if (_name == "Hi") {
_root._quality = "HIGH";
}
};
Symbol 192 MovieClip Frame 1
close_btn.onRollOver = function () {
this.gotoAndStop(((this._currentframe == 1) ? 2 : 1));
};
close_btn.onRelease = function () {
_parent.play();
this.enabled = false;
};
close_btn.onRollOut = close_btn.onRollOver;
var volumeWidth = 90;
volume_mc.slider._x = (_root.vol / 100) * volumeWidth;
volume_mc.slider._yscale = _root.vol;
volume_mc.onPress = function () {
startDrag (this.slider, true, 0, 0, volumeWidth, 0);
this.slider.onEnterFrame = function () {
_root.vol = (this._x / volumeWidth) * 100;
this._yscale = _root.vol;
_root.globalSound.setVolume(_root.vol);
};
volume_mc.onMouseUp = function () {
this.slider.stopDrag();
delete this.slider.onEnterFrame;
delete this.onMouseUp;
};
};
Symbol 192 MovieClip Frame 3
function instr() {
instr_txt.text = arr[curr];
}
var arr = new Array("It's all pretty simple; when a circl falls down the screen you press the corresponding key, and keep it held down until the circle that appears is the same size as the outer ring of the falling circl. Time it right so that you let go of the key at the precise moment it reaches that size for maximum score! If you time it bad however, or if the circl reaches the bottom of the screen, you lose health and if it reaches zero it's game over!", "There is also another type of circls that doesn't show up as frequently: These are powerups, and you'll recognize them by their yellow color. Powerups works the same way as regular circls, if your timing is good you'll get good powerups, otherwise you'll get bad \"powerdowns\". One difference though is that if a powerup circl reaches the bottom of the screen, you don't lose health!", "In order to get those really high scores, you need to be aware of the multiplier. The multiplier does exactly what you would guess, it multiples the score you get for hitting circls! Everytime you hit a perfect it goes up by one, but every time you get a bad hit or a miss, it goes down to one again. The highest multiplier value you can have is x5.", "..And that's pretty much all you need to know, have fun!\n\nAlso, congrats on being one of the few who actually reads the instructions :]");
var curr = 0;
instr();
more.onRelease = function () {
curr++;
if (curr == arr.length) {
_parent.play();
} else {
instr();
}
};
Symbol 193 MovieClip Frame 1
stop();
Symbol 193 MovieClip Frame 2
m.gotoAndStop(goto);
Symbol 193 MovieClip Frame 21
stop();
Symbol 198 MovieClip Frame 1
stop();