Frame 1
kv_v = {c:369, 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();
sponsor_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(459);
}
};
tinymania_btn.onMouseDown = function () {
if (this.hitTest(_root._xmouse, _root._ymouse)) {
_root.kvClick(461);
}
};
Frame 2
_global.sndman = new SoundManager(_root.createEmptyMovieClip("snd_mc", _root.getNextHighestDepth()));
if (!musicOn) {
musicSound = _global.sndman.newSound("music");
musicSound.setVolume(100);
musicSound.start(0, 999);
}
musicOn = true;
newsletterLink = "http://de.click2music.co.uk/click2music_new/datagen_v2/pages/00025107002.php";
hoosiersLink = "http://www.thehoosiers.co.uk";
tinymaniaLink = "http://www.tinymania.com";
buyitLink = "http://clkuk.tradedoubler.com/click?p=23708&a=1277383&epi=game&url=http://phobos.apple.com/WebObjects/MZStore.woa/wa/viewAlbum?i=266232370&id=266232098&s=143444&partnerid=2003";
compLink = "http://de.click2music.co.uk/click2music_new/datagen_v2/pages/00025283001.php";
hearthealbumLink = "http://www.tinymania.com/thehoosiers/album.html";
watchvideoLink = "http://www.youtube.com/thehoosiers";
dickensworldLink = "http://www.dickensworld.co.uk";
Frame 3
function changePage(f) {
transition.nextPage = f;
transition.gotoAndPlay("wipe");
}
function getSo() {
var _local1 = SharedObject.getLocal("highscores", "/");
if (!_local1.data.highscores) {
_local1.data.highscores = defaultHighscores;
_local1.data.flush();
}
return(_local1);
}
function getHighscores() {
var _local2 = getSo();
var _local1 = [].concat(_local2.data.highscores);
_local1.sortOn(["score", "datetime", "name"], [Array.DESCENDING | Array.NUMERIC, Array.NUMERIC, Array.CASEINSENSITIVE]);
return(_local1);
}
function submitHighscore(name, score, other) {
var _local1 = getSo();
_local1.data.highscores.push({name:name, score:score, datetime:new Date(), other:other});
_local1.flush();
}
_global.root = this;
selectedHoosier = "hoosier3";
stop();
_global.changePage = changePage;
defaultHighscores = [];
defaultHighscores[0] = {name:"Fagin", score:5000, datetime:0};
defaultHighscores[1] = {name:"Jack Dawkins", score:4500, datetime:0};
defaultHighscores[2] = {name:"Bill Sikes", score:4000, datetime:0};
defaultHighscores[3] = {name:"Nancy", score:3000, datetime:0};
defaultHighscores[4] = {name:"Uriah Heap", score:2500, datetime:0};
defaultHighscores[5] = {name:"Abel Magwitch", score:2000, datetime:0};
defaultHighscores[6] = {name:"Edward Leeford", score:1500, datetime:0};
defaultHighscores[7] = {name:"Uriah Heep", score:1000, datetime:0};
defaultHighscores[8] = {name:"Charley Bates", score:500, datetime:0};
defaultHighscores[9] = {name:"Sweeney Todd", score:0, datetime:0};
Instance of Symbol 142 MovieClip "mute" in Frame 3
onClipEvent (load) {
if (new Sound().getVolume() == 0) {
gotoAndStop ("off");
}
this.onRelease = function () {
if (new Sound().getVolume() == 0) {
gotoAndStop ("on");
new Sound().setVolume(100);
} else {
gotoAndStop ("off");
new Sound().setVolume(0);
}
};
}
Symbol 18 MovieClip Frame 100
gotoAndPlay (1);
Instance of Symbol 12 MovieClip in Symbol 19 MovieClip Frame 1
onClipEvent (load) {
this._visible = 0;
}
Symbol 19 MovieClip Frame 10
function onEnterFrame() {
var _local2 = _root.getBytesLoaded() / _root.getBytesTotal();
if (getTimer() >= (startTime + 100)) {
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() {
}
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;
animDone = true;
startTime = getTimer();
if (this._name == "loader_mc") {
myName = _global.language.loadingAssets;
} else {
myName = _global.language.initLevel;
}
setProgress(0);
Symbol 19 MovieClip Frame 22
stop();
Symbol 19 MovieClip Frame 28
_parent.play();
Symbol 266 MovieClip [__Packages.Snd] Frame 0
class Snd extends Sound
{
var target, manager, position, start, duration, onFadeComplete, fId, getVolume, setVolume, setPan;
function Snd (targ, sndman) {
super(targ);
target = (targ ? (targ) : _root);
manager = sndman;
}
function switchSound(id, loops) {
var _local3 = position;
super.stop();
super.attachSound(id);
start((_local3 % duration) / 1000, loops);
}
function fade(dVol, tVol, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), tVol, true);
}
function fadeBy(dVol, t, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
if (t > 0) {
fId = setInterval(this, "changeVolTowards", FADE_RATE, dVol * (FADE_RATE / 1000), dVol * t, true);
}
}
function fadeTo(tVol, t, handler) {
onFadeComplete = handler;
if (fId) {
stopFade(fId);
}
if (t > 0) {
var _local3 = (tVol - getVolume()) / t;
fId = setInterval(this, "changeVolTowards", FADE_RATE, _local3, tVol, true);
} else {
setVolume(tVol);
}
}
function changeVolTowards(dVol, tVol, fading) {
var _local2 = getVolume();
if (Math.abs(dVol) < Math.abs(tVol - _local2)) {
changeVolume(dVol);
} else {
setVolume(tVol);
if (fading) {
stopFade();
}
}
}
function stopFade() {
if (fId) {
clearInterval(fId);
delete fId;
onFadeComplete();
delete onFadeComplete;
}
}
function positionSound(a, d, f, t) {
if (d < f) {
t = (isNaN(t) ? 100 : (((t < 0) ? 0 : (t))));
d = ((d < 1) ? 1 : (d));
var _local4 = 1 / ((d / f) * 100);
setVolume(Math.ceil(_local4 * t));
setPan((-Math.sin(a)) * 100);
} else {
setVolume(0);
}
}
function positionSoundLinear(a, d, f, t) {
if (d < f) {
t = (isNaN(t) ? 100 : (((t < 0) ? 0 : (t))));
setVolume(((f - d) / f) * t);
setPan((-Math.sin(a)) * 100);
} else {
setVolume(0);
}
}
function changeVolume(n) {
setVolume(getVolume() + n);
}
function remove() {
super.stop();
delete manager.sounds[target.getDepth()];
target.removeMovieClip();
}
function toString() {
return(("(target=" + target) + ")");
}
static var FADE_RATE = 100;
}
Symbol 267 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 49 MovieClip Frame 14
stop();
stop();
Symbol 50 MovieClip Frame 1
stop();
Symbol 53 MovieClip Frame 1
stop();
Symbol 62 Button
on (release) {
getURL (_global.root.buyitLink, "_blank");
_root.kvClick(465);
}
Symbol 67 Button
on (release) {
new Sound().setVolume(0);
_global.root.mute.gotoAndStop("off");
getURL (_global.root.hearthealbumLink, "_blank");
_root.kvClick(462);
}
Symbol 69 Button
on (release) {
getURL (_global.root.hoosiersLink, "_blank");
_root.kvClick(458);
}
Symbol 71 Button
on (release) {
getURL (_global.root.newsletterLink, "_blank");
_root.kvClick(457);
}
Symbol 73 MovieClip Frame 6
stop();
Symbol 74 Button
on (release) {
getURL (_global.root.tinymaniaLink, "_blank");
_root.kvClick(461);
}
Symbol 78 Button
on (release) {
getURL (_global.root.compLink, "_blank");
_root.kvClick(466);
}
Symbol 84 MovieClip Frame 1
stop();
Symbol 84 MovieClip Frame 12
stop();
Symbol 84 MovieClip Frame 23
stop();
Symbol 84 MovieClip Frame 34
stop();
Symbol 96 Button
on (release) {
changePage("game");
}
Symbol 106 Button
on (release) {
getURL (_global.root.watchvideoLink, "_blank");
_root.kvClick(463);
}
Symbol 111 Button
on (release) {
getURL (_global.root.buyitLink, "_blank");
_root.kvClick(465);
}
Symbol 115 Button
on (release) {
getURL (_global.root.hearthealbumLink, "_blank");
_root.kvClick(462);
}
Symbol 119 Button
on (release) {
getURL (_global.root.hoosiersLink, "_blank");
_root.kvClick(458);
}
Symbol 123 Button
on (release) {
getURL (_global.root.newsletterLink, "_blank");
_root.kvClick(457);
}
Symbol 128 Button
on (release) {
getURL (_global.root.dickensworldLink, "_blank");
_root.kvClick(464);
}
Symbol 132 Button
on (rollOver) {
highlight_mc.gotoAndPlay("hoosier1");
}
on (release) {
_global.root.selectedHoosier = "hoosier1";
play();
}
Symbol 133 Button
on (rollOver) {
highlight_mc.gotoAndPlay("hoosier3");
}
on (release) {
_global.root.selectedHoosier = "hoosier3";
play();
}
Symbol 134 Button
on (rollOver) {
highlight_mc.gotoAndPlay("hoosier2");
}
on (release) {
_global.root.selectedHoosier = "hoosier2";
play();
}
Symbol 135 MovieClip Frame 17
stop();
Symbol 135 MovieClip Frame 33
Key.addListener(this);
onEnterFrame = function () {
if (Key.isDown(32)) {
changePage("game");
}
};
stop();
Symbol 142 MovieClip Frame 1
stop();
Symbol 142 MovieClip Frame 5
stop();
Symbol 144 MovieClip Frame 1
stop();
Symbol 144 MovieClip Frame 8
_parent.gotoAndStop(nextPage);
Symbol 144 MovieClip Frame 13
gotoAndStop ("off");
Symbol 148 MovieClip Frame 817
gotoAndPlay (1);
Symbol 169 MovieClip Frame 1
gotoAndStop(_global.root.selectedHoosier);
Symbol 182 MovieClip Frame 1
_global.game.attacking = false;
stop();
Symbol 182 MovieClip Frame 2
_global.game.attacking = true;
Symbol 182 MovieClip Frame 5
_global.game.attack();
Symbol 182 MovieClip Frame 6
_global.game.attack();
Symbol 182 MovieClip Frame 11
gotoAndStop ("on");
Symbol 183 MovieClip Frame 2
stop();
Symbol 183 MovieClip Frame 19
gotoAndPlay ("run1");
Symbol 183 MovieClip Frame 28
gotoAndPlay ("run2");
Symbol 183 MovieClip Frame 35
stop();
Symbol 202 MovieClip Frame 22
gotoAndPlay (1);
Instance of Symbol 212 MovieClip in Symbol 214 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_global.game.speed < 0.2) {
_visible = false;
}
}
Instance of Symbol 212 MovieClip in Symbol 217 MovieClip Frame 1
onClipEvent (enterFrame) {
if (_global.game.speed < 0.2) {
_visible = false;
}
}
Symbol 224 MovieClip Frame 1
stop();
Instance of Symbol 186 MovieClip in Symbol 224 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (3);
}
Instance of Symbol 186 MovieClip in Symbol 224 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (7);
}
Instance of Symbol 186 MovieClip in Symbol 224 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (9);
}
Instance of Symbol 186 MovieClip in Symbol 224 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (5);
}
Instance of Symbol 186 MovieClip in Symbol 224 MovieClip Frame 1
onClipEvent (load) {
gotoAndPlay (3);
}
Instance of Symbol 207 MovieClip in Symbol 224 MovieClip Frame 2
onClipEvent (load) {
gotoAndPlay (2);
}
Symbol 224 MovieClip Frame 8
stop();
Symbol 224 MovieClip Frame 64
changePage("endGame");
stop();
Symbol 233 MovieClip Frame 65
stop();
Symbol 234 MovieClip Frame 1
function displayBackground() {
bgDistanceFactor = (dist % 450) / 450;
bg.gotoAndStop(Math.round(bgDistanceFactor * bg._totalframes) + 1);
groundDistanceFactor = (dist % 150) / 150;
ground.gotoAndStop(Math.round(groundDistanceFactor * ground._totalframes) + 1);
if (sceneryArray) {
i = 0;
while (i < sceneryArray.length) {
sceneryArray[i].distanceFactor = ((dist - sceneryArray[i].distOffset) % 100) / 100;
sceneryArray[i].gotoAndStop(Math.round(sceneryArray[i].distanceFactor * sceneryArray[i]._totalframes) + 1);
if ((sceneryArray[i].dead && (!policemen.hitTarget)) && (!hoosier.dead)) {
if (sceneryArray[i].hitTest(policemen.sprite._x, policemen.sprite._y, true)) {
policemen.sprite.gotoAndPlay("fallOver");
policemen.hitTarget = sceneryArray[i];
}
}
i++;
}
i = 0;
while (i < sceneryArray.length) {
if (((dist - sceneryArray[i].distOffset) / 100) >= 1) {
if (sceneryArray[i] == policemen.hitTarget) {
resetPolicemen();
}
sceneryArray[i].removeMovieClip();
sceneryArray.splice(i, 1);
}
i++;
}
}
}
function mainLoop() {
getPlayerInput();
dist = dist + speed;
speed = speed * resistance;
displayBackground();
displayHUD();
policeControl();
if (dist >= (sceneryIndex * 250)) {
newSceneryItem();
}
}
function displayHUD() {
distanceDisplay.text = Math.floor(dist);
speedDisplay.text = Math.ceil(speed * 2);
}
function attack() {
if (sceneryArray) {
i = 0;
while (i < sceneryArray.length) {
if (sceneryArray[i].hitTest(hoosier._x, hoosier._y, true)) {
sceneryArray[i].sprite.gotoAndStop("dead1");
sceneryArray[i].dead = true;
}
i++;
}
}
}
function policeControl() {
if (policemen.hitTarget && (!hoosier.dead)) {
policemen.gotoAndStop(Math.round((1 - policemen.hitTarget.distanceFactor) * policemen._totalframes) + 1);
} else if (!hoosier.dead) {
policePar = Math.ceil(dist / 1000);
if (speed >= policePar) {
policeSpeed = policeSpeedConstant;
} else {
policeSpeed = policeSpeedConstant + ((policePar - speed) * underParPatio);
}
policePos = policePos + policeSpeed;
policeFrame = Math.ceil(policePos % policemen._totalframes);
policemen.gotoAndStop(policeFrame);
if (hoosier.hitTest(policemen.sprite._x + 30, policemen.sprite._y, true) && (!hoosier.dead)) {
policemen.sprite.gotoAndPlay("brutality");
killHoosier();
}
}
}
function resetPolicemen() {
delete policemen.hitTarget;
policePos = 30;
policemen.sprite.gotoAndStop("on");
}
function killHoosier() {
resistance = 0.85;
hoosier.dead = true;
_parent.score = dist;
hoosier.gotoAndPlay("dead");
}
function getPlayerInput() {
if (!hoosier.dead) {
footForward = false;
if (Key.isDown(37)) {
footForward = "left";
}
if (Key.isDown(39)) {
if (footForward == "left") {
footForward = "both";
} else {
footForward = "right";
}
}
if (Key.isDown(39)) {
if (footForward == "left") {
footForward = "both";
} else {
footForward = "right";
}
}
if (Key.isDown(65)) {
if (Math.random() < 0.5) {
footForward = "left";
} else {
footForward = "right";
}
}
if (Key.isDown(32)) {
if (!attacking) {
hoosier.swag.gotoAndPlay("attack");
}
}
if (footForward) {
if (footForward == "both") {
} else if (footForward != lastFootForward) {
speed = speed + (runSpeed + (speed * runBoost));
}
lastFootForward = footForward;
}
avgSpeed = ((avgSpeed * 5) + speed) / 6;
if (avgSpeed <= 0.5) {
speed = (avgSpeed = 0.5);
}
if (avgSpeed <= 3) {
run = 1;
} else {
run = 2;
}
if (run != lastRun) {
hoosier.gotoAndPlay("run" + run);
}
lastRun = run;
}
}
function newSceneryItem() {
if (!sceneryArray) {
sceneryArray = [];
}
var _local1 = sceneryHolder.attachMovie("scenery", "s" + sceneryIndex, sceneryHolder.getNextHighestDepth());
sceneryArray.push(_local1);
var _local2 = Math.ceil((Math.random() * _local1.sprite._totalframes) - 1);
_local1.sprite.gotoAndStop(_local2);
sceneryArray[sceneryArray.length - 1].distOffset = dist;
sceneryIndex++;
}
_global.game = this;
dist = 0;
speed = 1;
runSpeed = 0.3;
runBoost = 0.05;
resistance = 0.95;
policeSpeed = (policeSpeedConstant = 0.5);
underParPatio = 0.5;
policePos = 0;
sceneryIndex = 0;
avgSpeed = 0;
Key.addListener(this);
onEnterFrame = mainLoop;
stop();
Symbol 240 Button
on (release) {
play();
}
Symbol 241 MovieClip Frame 1
gotoAndStop(_global.root.selectedHoosier);
Symbol 252 Button
on (release) {
if (!submittedScore) {
_global.root.submitHighscore(playerName.text, Math.round(_global.root.score));
submittedScore = true;
}
gotoAndStop ("displayScores");
}
Symbol 260 MovieClip Frame 1
stop();
Symbol 261 Button
on (release) {
changePage("start");
}
Symbol 263 MovieClip Frame 1
stop();
Symbol 263 MovieClip Frame 7
submittedScore = false;
displayHighscores = _global.root.getHighscores();
i = 0;
while (i <= 9) {
this["n" + i].displayPosition.text = (i + 1) + ".";
this["n" + i].displayName.text = displayHighscores[i].name;
this["n" + i].displayScore.text = displayHighscores[i].score;
i++;
}
Symbol 265 MovieClip Frame 1
distanceDisplay.text = Math.round(_global.root.score) + "m";
stop();
Symbol 265 MovieClip Frame 13
stop();