Frame 1
if (_root.xmlurl == undefined) {
_root.xmlurl = "xml/lego_@@.xlf";
}
if (_root.gamename == undefined) {
_root.gamename = "Kongu";
}
if (_root.savescore == undefined) {
_root.savescore = "http://bioniclestory.com/highscore/savescore.aspx";
}
if (_root.viewscore == undefined) {
_root.viewscore = "http://bioniclestory.com/highscore/viewscore.aspx";
}
if (_root.advert == undefined) {
_root.advert = "http://www.BIONICLEstory.com";
}
if (_root.advert.substr(0, 7) == "http://") {
_root.advert = _root.advert.substr(7);
}
_root.debug = true;
stop();
_root.onEnterFrame = function () {
var _local3 = this.getBytesLoaded();
var _local4 = this.getBytesTotal();
var _local2 = Math.round((100 * _local3) / _local4);
if ((_local2 > 0) && (_local2 <= 100)) {
this.preloader_mc.gotoAndStop(_local2);
if (_local2 == 100) {
if (skipintro) {
this.gotoAndStop("main");
} else {
this.preloader_mc.play();
delete this.onEnterFrame;
}
}
}
};
i = -16734;
createEmptyMovieClip("kv_mc", i);
kv_mc.kv_v = {c:186, td:"186.memecounter.com"};
System.security.allowDomain(kv_mc.kv_v.td);
kv_mc.kv_v.c_so = SharedObject.getLocal(kv_mc.kv_v.c, "/");
kv_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_mc.kv_v.fpv = getVersion().split(" ")[1].split(",")[0];
kv_mc.kv_v.lurl = ((((((((((("http://" + kv_mc.kv_v.td) + "/tracker.php") + "?c=") + kv_mc.kv_v.c) + "&r=") + Math.floor(Math.random() * 10000000000)) + "&d=") + kv_mc.kv_v.d) + "&u=") + (kv_mc.kv_v.c_so.data.u ? "1" : "")) + "&p=") + kv_mc.kv_v.fpv;
kv_mc.kv_v.c_so.data.u = true;
kv_mc.kv_v.c_so.flush();
kv_mc.kv_v.t_mc = kv_mc.createEmptyMovieClip("kv_tracker", i - 1);
kv_mc.kv_v.l_mcl = new MovieClipLoader();
if (kv_mc.kv_v.l_mcl.loadClip) {
kv_mc.kv_v.l_mcl.loadClip(kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
} else {
loadMovie (kv_mc.kv_v.lurl, kv_mc.kv_v.t_mc);
}
Frame 2
Frame 3
stop();
Symbol 178 MovieClip Frame 1
stop();
Symbol 178 MovieClip Frame 167
_root.gotoAndStop("main");
Symbol 1082 MovieClip [__Packages.main.Main] Frame 0
class main.Main
{
var mc, sm, maskUnlocked, cheatModeOn, keyListener, game, op;
function Main () {
}
static function getInstance() {
if (instance == null) {
instance = new main.Main();
}
return(instance);
}
function init(mc) {
this.mc = mc;
sm = new SoundManager(mc);
sm.loadSoundList(["game_loop", "intro_loop", "failure_loop", "success_loop", "sfx_click", "sfx_cheater", "start_loop", "failure", "player_killed", "sfx_score_tick", "bubble_blaster", "the_kraken", "squid_impact", "squidgun_fire", "bump", "bump_barraki", "missile_collect", "sfx_whirlpool"]);
main.Lookup.initialise();
var _local4 = _root._url.toLowerCase();
maskUnlocked = false;
cheatModeOn = false;
if (_root.debug) {
keyListener = new Object();
keyListener.onKeyDown = EventDelegate.create(this, checkKeys);
Key.addListener(keyListener);
}
showOpening();
}
function showOpening() {
game.removeEventListener("showOpening", this);
game.removeEventListener("showHighScoreTable", this);
delete game;
mc.gotoAndStop("opening");
op = new main.Opening(mc.opening_mc, maskUnlocked, sm);
op.addEventListener("playGame", this);
op.addEventListener("showHighScoreTable", this);
op.addEventListener("unlockMask", this);
sm.playSound("intro_loop", MUSIC_VOLUME, 99999);
}
function playGame() {
op.removeEventListener("playGame", this);
op.removeEventListener("showHighScoreTable", this);
op.removeEventListener("unlockMask", this);
delete op;
mc.gotoAndStop("intro");
mc.intro_mc.skip_mc.skip_btn.onRelease = EventDelegate.create(this, skipIntro);
mc.intro_mc.onKeyDown = EventDelegate.create(this, checkIntroKey);
mc.intro_mc.initGame = EventDelegate.create(this, initGame);
Key.addListener(mc.intro_mc);
sm.stopSound("intro_loop");
sm.playSound("start_loop", MUSIC_VOLUME, 9999);
}
function checkIntroKey() {
if (Key.isDown(32)) {
skipIntro();
}
}
function skipIntro() {
Key.removeListener(mc.intro_mc);
sm.playSound("sfx_click", 80);
mc.intro_mc.gotoAndPlay("skip_point");
}
function initGame() {
Key.removeListener(mc.intro_mc);
mc.gotoAndStop("game");
mc.game_mc.activateGame = EventDelegate.create(this, activateGame);
sm.stopSound("start_loop");
sm.playSound("game_loop", MUSIC_VOLUME, 99999);
}
function activateGame() {
game = new main.Game(mc.game_mc, maskUnlocked, sm);
game.addEventListener("showOpening", this);
game.addEventListener("showHighScoreTable", this);
}
function unlockMask() {
maskUnlocked = true;
}
function checkKeys() {
if (cheatModeOn) {
if (Key.isDown(49)) {
trace("CHEAT: Finish level");
game.nextLevel();
} else if (Key.isDown(50)) {
trace("CHEAT: Previous level");
if (game._level > 0) {
game._level--;
game._level--;
game.nextLevel();
}
} else if (Key.isDown(51)) {
trace("CHEAT: Fill energy bar");
game.fillEnergy();
} else if (Key.isDown(52)) {
trace("CHEAT: Mask power activated");
unlockMask();
op.unlockMask();
game.unlockMask();
}
} else if (Key.isDown(50) && (Key.isDown(52))) {
keyListener.onKeyUp = EventDelegate.create(this, activateCheatMode);
}
}
function activateCheatMode() {
cheatModeOn = true;
delete keyListener.onKeyUp;
trace("cheat mode activated");
if (_root.cheat_mc == undefined) {
_root.attachMovie("cheatLabel", "cheat_mc", _root.getNextHighestDepth());
_root.cheat_mc.onPress = function () {
this.gotoAndStop((this._currentframe % 2) + 1);
};
}
sm.playSound("sfx_cheater", 100);
}
static var CORRECT_CODE = "QUX";
static var CODE_LENGTH = CORRECT_CODE.length;
static var MUSIC_VOLUME = 60;
static var instance = null;
static var showAdvert = false;
static var showHiScoreButton = false;
var _interval = -1;
}
Symbol 1083 MovieClip [__Packages.SoundManager] Frame 0
class SoundManager
{
var mcRef, soundList, preloaderList, globalSounds, soundOnFlag, allSoundsLoaded, soundLoadStarted;
function SoundManager (_mcRef) {
mcRef = _mcRef;
soundList = new Array();
preloaderList = new Array();
globalSounds = new Sound();
soundOnFlag = true;
}
function loadSoundList(_soundlist) {
var _local7 = false;
var _local6;
var _local4;
var _local5;
var _local2;
_local2 = 0;
while (_local2 < _soundlist.length) {
if (_soundlist[_local2].toLowerCase().indexOf(".mp3") > -1) {
preloaderList.push(_soundlist[_local2]);
_local7 = true;
} else {
_local5 = mcRef.getNextHighestDepth();
_local6 = mcRef.createEmptyMovieClip("sounddummy" + _local5, _local5);
_local4 = new ExtendedSound(_local6);
_local4.attachSound(_soundlist[_local2]);
soundList[_soundlist[_local2]] = _local4;
}
_local2++;
}
if (_local7) {
preloadNextMP3();
} else {
allSoundsLoaded(true);
}
}
function playSound(_id, _volume, _loops, _fadeSpeedSeconds, _panPosition) {
soundList[_id].start(0, _loops);
if ((_fadeSpeedSeconds != undefined) && (_fadeSpeedSeconds != 0)) {
soundList[_id].setVolume(0);
soundList[_id].startFade(_volume, _fadeSpeedSeconds);
} else {
soundList[_id].setVolume(_volume);
}
soundList[_id].setPan(_panPosition);
}
function setSoundComplete(_id, foo) {
soundList[_id].onSoundComplete = foo;
}
function setVolume(_id, _vol) {
soundList[_id].setVolume(_vol);
}
function stopSound(_id, _fadeSpeedSeconds) {
if ((_fadeSpeedSeconds != undefined) && (_fadeSpeedSeconds != 0)) {
soundList[_id].startFade(0, _fadeSpeedSeconds);
} else {
soundList[_id].stop();
}
}
function stopEverySound(_fadeSpeedSeconds, _excludeIdList) {
var _local3;
var _local2;
for (_local2 in soundList) {
if (!checkIfExcluded(_local2, _excludeIdList)) {
_local3 = soundList[_local2];
if ((_fadeSpeedSeconds != undefined) && (_fadeSpeedSeconds != 0)) {
_local3.startFade(0, _fadeSpeedSeconds);
} else {
_local3.stop();
}
}
}
}
function soundOff() {
var _local3;
var _local2;
for (_local2 in soundList) {
_local3 = soundList[_local2];
_local3.setMute(true);
}
globalSounds.setVolume(0);
soundOnFlag = false;
}
function soundOn() {
var _local2;
for (_local2 in soundList) {
soundList[_local2].setMute(false);
}
globalSounds.setVolume(100);
soundOnFlag = true;
}
function isSoundOn() {
return(soundOnFlag);
}
function fadeSound(_id, _targetVolume, _fadeSpeedSeconds, _easing) {
soundList[_id].startFade(_targetVolume, _fadeSpeedSeconds, _easing);
}
function panSound(_id, _targetPosition, _panSpeedSeconds, _easing) {
soundList[_id].startPan(_targetPosition, _panSpeedSeconds, _easing);
}
function fadeInRandomSound(_obj, _fadeSpeed) {
var _local6 = 0;
var _local2;
_local2 = 0;
while (_local2 < _obj.length) {
_local6 = _local6 + _obj[_local2].freqency;
_local2++;
}
var _local5 = 0;
_local2 = 0;
while (_local2 < _obj.length) {
_local5 = _local5 + (_obj[_local2].freqency / _local6);
_obj[_local2].chance = _local5;
_local2++;
}
var _local4 = Math.random();
var _local7 = 0;
_local2 = 1;
while (_local2 < _obj.length) {
if ((_local4 > _obj[_local2 - 1].chance) && (_local4 <= _obj[_local2].chance)) {
_local7 = _local2;
}
_local2++;
}
var _local8 = _obj[_local7].level.split("-");
var _local9 = (Math.random() * (Number(_local8[1]) - Number(_local8[0]))) + Number(_local8[0]);
playSound(_obj[_local7].id, _local9, 1, _fadeSpeed);
}
function checkIfExcluded(_excludeId, _excludeIdList) {
var _local1;
_local1 = 0;
while (_local1 < _excludeIdList.length) {
if (_excludeIdList[_local1] == _excludeId) {
return(true);
}
_local1++;
}
return(false);
}
function preloadNextMP3() {
var _local8 = this;
var _local5 = mcRef.getNextHighestDepth();
if (preloaderList.length > 0) {
var _local2 = preloaderList.shift();
if (soundLoadStarted != undefined) {
soundLoadStarted(_local2);
}
var _local7 = mcRef.createEmptyMovieClip("sounddummy" + _local5, _local5);
var _local3 = new ExtendedSound(_local7);
_local3.loadSound(_local2);
var _local6 = _local2.split("/");
var _local4 = _local6[_local6.length - 1].slice(0, -4);
soundList[_local4] = _local3;
soundList[_local4].onLoad = EventDelegate.create(this, preloadNextMP3);
} else {
allSoundsLoaded(true);
}
}
}
Symbol 1084 MovieClip [__Packages.ExtendedSound] Frame 0
class ExtendedSound extends Sound
{
var mcRef, mute, fade, onFadeComplete, volume, sweep, onSweepComplete, pan;
function ExtendedSound (_mcRef) {
super((mcRef = _mcRef));
mute = 1;
setVolume(masterVolume);
setPan(0);
}
function startFade(_targetVolume, _duration, _easing) {
_targetVolume = inBounds(_targetVolume, 0, 100, masterVolume);
_duration = inBounds(_duration, 0, Number.MAX_VALUE, 0.5);
if (_easing == undefined) {
_easing = mx.transitions.easing.None.easeNone;
}
fade = new mx.transitions.Tween(this, "volume", _easing, getVolume(), _targetVolume, _duration, true);
fade.onMotionChanged = EventDelegate.create(this, setFadeVolume);
fade.onMotionFinished = EventDelegate.create(this, onFadeComplete);
return(this);
}
function setFadeVolume(_tw) {
setVolume(volume);
}
function startPan(_targetPosition, _duration, _easing) {
_targetPosition = inBounds(_targetPosition, -100, 100, 0);
_duration = inBounds(_duration, 0, Number.MAX_VALUE, 0.5);
if (_easing == undefined) {
_easing = mx.transitions.easing.None.easeNone;
}
sweep = new mx.transitions.Tween(this, "pan", _easing, getPan(), _targetPosition, _duration, true);
sweep.onMotionChanged = EventDelegate.create(this, setPanPosition);
sweep.onMotionFinished = EventDelegate.create(this, onSweepComplete);
return(this);
}
function setPanPosition(_tw) {
setPan(pan);
}
function attachSound(_libraryID) {
stop();
super.attachSound(_libraryID);
return(this);
}
function loadSound(_mp3URL) {
stop();
super.loadSound(_mp3URL, false);
return(this);
}
function start(_offset, _loops) {
_offset = inBounds(_offset, 0, super.duration, 0);
_loops = inBounds(_loops, 1, Number.MAX_VALUE, 1);
stop();
super.start(_offset, _loops);
return(this);
}
function stop() {
super.stop();
fade.stop();
sweep.stop();
return(this);
}
function setVolume(_volume) {
volume = inBounds(_volume, 0, 100, masterVolume);
super.setVolume(((volume / 100) * masterVolume) * mute);
return(this);
}
function getVolume() {
return(volume);
}
function setPan(_pan) {
pan = inBounds(_pan, -100, 100, 0);
super.setPan(pan);
return(this);
}
function getPan() {
return(pan);
}
function setMute(_bool) {
mute = (_bool ? 0 : 1);
setVolume(getVolume());
return(this);
}
function inBounds(_value, _min, _max, _default) {
if (_value == undefined) {
_value = _default;
}
if (_value < _min) {
_value = _min;
}
if (_value > _max) {
_value = _max;
}
return(_value);
}
static var masterVolume = 100;
}
Symbol 1085 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 1086 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 1087 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 1088 MovieClip [__Packages.mx.transitions.easing.None] Frame 0
class mx.transitions.easing.None
{
function None () {
}
static function easeNone(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeIn(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static function easeInOut(t, b, c, d) {
return(((c * t) / d) + b);
}
static var version = "1.1.0.52";
}
Symbol 1089 MovieClip [__Packages.EventDelegate] Frame 0
class EventDelegate
{
function EventDelegate () {
}
static function create(scope, method) {
var params = arguments.splice(2, arguments.length - 2);
var _local2 = function () {
method.apply(scope, arguments.concat(params));
};
return(_local2);
}
}
Symbol 1090 MovieClip [__Packages.main.Opening] Frame 0
class main.Opening
{
var mc, enteredCode;
function Opening (mc, maskUnlocked) {
this.mc = mc;
init(maskUnlocked);
}
function setCode(position, dir) {
var _local2;
_local2 = enteredCode.charCodeAt(position);
if (_local2 == 32) {
_local2 = ((dir == 1) ? (MIN_CHAR_CODE_NUM) : (MAX_CHAR_CODE_NUM));
} else {
_local2 = _local2 + dir;
}
if (_local2 > MAX_CHAR_CODE_NUM) {
_local2 = MIN_CHAR_CODE_NUM;
} else if (_local2 < MIN_CHAR_CODE_NUM) {
_local2 = MAX_CHAR_CODE_NUM;
}
enteredCode = (enteredCode.substring(0, position) + String.fromCharCode(_local2)) + enteredCode.substring(position + 1);
mc.code_mc[("bar" + position) + "_mc"].icon_mc.text_txt.text = String.fromCharCode(_local2);
if (enteredCode == main.Main.CORRECT_CODE) {
unlockMask();
}
}
function unlockMask() {
var _local2;
var _local3;
mc.code_mc.gotoAndStop("light");
_local2 = 0;
while (_local2 < main.Main.CODE_LENGTH) {
_local3 = mc.code_mc[("bar" + _local2) + "_mc"];
_local3.up_btn.enabled = false;
_local3.down_btn.enabled = false;
_local3.icon_mc.text_txt.text = main.Main.CORRECT_CODE.charAt(_local2);
_local2++;
}
var _local4 = new Object();
_local4.type = "unlockMask";
dispatchEvent(_local4);
}
function onKeyDown() {
if (Key.isDown(32)) {
onPlay();
}
}
function onPlay() {
Key.removeListener(this);
mc.goPlay = uk.kerb.utils.EventDelegate.create(this, goPlay);
mc.gotoAndPlay("out");
}
function goPlay() {
var _local2 = new Object();
_local2.type = "playGame";
dispatchEvent(_local2);
}
function init(maskUnlocked) {
var _local2;
var _local3;
var _local5;
if (maskUnlocked) {
unlockMask();
} else {
mc.code_mc.gotoAndStop("dark");
enteredCode = "";
}
_local2 = 0;
while (_local2 < main.Main.CODE_LENGTH) {
_local3 = mc.code_mc[("bar" + _local2) + "_mc"];
_local3.up_btn.onRelease = uk.kerb.utils.EventDelegate.create(this, setCode, _local2, -1);
_local3.down_btn.onRelease = uk.kerb.utils.EventDelegate.create(this, setCode, _local2, 1);
_local3.up_btn.enabled = !maskUnlocked;
_local3.down_btn.enabled = !maskUnlocked;
_local3.icon_mc.text_txt.text = (maskUnlocked ? (main.Main.CORRECT_CODE.charAt(_local2)) : "A");
if (!maskUnlocked) {
enteredCode = enteredCode + "A";
}
_local2++;
}
mc.play_btn.onRelease = uk.kerb.utils.EventDelegate.create(this, onPlay);
mc.highScores_btn.onRelease = HighScore.instance().showHighScores;
Key.addListener(this);
mx.events.EventDispatcher.initialize(this);
}
function dispatchEvent(eventObject) {
}
function addEventListener(event, listener) {
}
function removeEventListener(event, listener) {
}
static var MIN_CHAR_CODE_NUM = 65;
static var MAX_CHAR_CODE_NUM = 90;
}
Symbol 1091 MovieClip [__Packages.uk.kerb.utils.EventDelegate] Frame 0
class uk.kerb.utils.EventDelegate
{
function EventDelegate () {
}
static function create(scope, method) {
var params = arguments.splice(2, arguments.length - 2);
var _local2 = function () {
method.apply(scope, arguments.concat(params));
};
return(_local2);
}
}
Symbol 1092 MovieClip [__Packages.HighScore] Frame 0
class HighScore
{
function HighScore () {
mx.events.EventDispatcher.initialize(this);
}
static function instance() {
if (_instance == null) {
_instance = new HighScore();
}
return(_instance);
}
function saveHighScore(score, key) {
trace("HighScore::saveHighScore");
var _local3 = new LoadVars();
_local3.GameName = _root.gamename;
_local3.Score = score.toString();
_local3.Hash = de.richinternet.crypto.SHA1.encode(((key + "SaveScore") + _root.gamename) + score.toString());
_lv = new LoadVars();
_lv.onLoad = EventDelegate.create(this, _onLoad);
_local3.sendAndLoad(_root.savescore, _lv, "POST");
}
function _onLoad(success) {
trace("HighScore::_onLoad: success? " + success);
_lv = null;
dispatchEvent({target:this, type:EVENT_SCORES_SAVED, success:success});
}
function showHighScores() {
trace("HighScore::showHighScores");
getURL ((_root.viewscore + "?GameName=") + _root.gamename, "_blank");
}
function dispatchEvent(eventObject) {
}
function addEventListener(event, listener) {
}
function removeEventListener(event, listener) {
}
static var EVENT_SCORES_SAVED = "onHighScoresSaved";
static var _instance = null;
var _lv = null;
}
Symbol 1093 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
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 initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "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]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 1094 MovieClip [__Packages.de.richinternet.crypto.SHA1] Frame 0
class de.richinternet.crypto.SHA1
{
function SHA1 () {
}
static function encode(s) {
return(hex_sha1(s));
}
static function test() {
return(sha1_vm_test());
}
static function hex_sha1(s) {
return(binb2hex(core_sha1(str2binb(s), s.length * CHRSZ)));
}
static function b64_sha1(s) {
return(binb2b64(core_sha1(str2binb(s), s.length * CHRSZ)));
}
static function str_sha1(s) {
return(binb2str(core_sha1(str2binb(s), s.length * CHRSZ)));
}
static function hex_hmac_sha1(key, data) {
return(binb2hex(core_hmac_sha1(key, data)));
}
static function b64_hmac_sha1(key, data) {
return(binb2b64(core_hmac_sha1(key, data)));
}
static function str_hmac_sha1(key, data) {
return(binb2str(core_hmac_sha1(key, data)));
}
static function get upperCaseHex() {
return(HEX_CASE == 1);
}
static function set upperCaseHex(b) {
HEX_CASE = (b ? 1 : 0);
//return(upperCaseHex);
}
static function get b64PadCharacter() {
return(B64_PAD);
}
static function set b64PadCharacter(s) {
if ((s == "") || (s == "=")) {
B64_PAD = s;
}
//return(b64PadCharacter);
}
static function get bitsPerChar() {
return(CHRSZ);
}
static function set bitsPerChar(n) {
if ((n == 8) || (n == 16)) {
CHRSZ = n;
}
//return(bitsPerChar);
}
static function sha1_vm_test() {
return(hex_sha1("abc").toLowerCase() == "a9993e364706816aba3e25717850c26c9cd0d89d");
}
static function core_sha1(x, len) {
x[len >> 5] = x[len >> 5] | (128 << (24 - (len % 32)));
x[(((len + 64) >> 9) << 4) + 15] = len;
var _local2 = Array(80);
var _local6 = 1732584193 /* 0x67452301 */;
var _local5 = -271733879;
var _local4 = -1732584194;
var _local3 = 271733878 /* 0x10325476 */;
var _local7 = -1009589776;
var _local9 = 0;
while (_local9 < x.length) {
var _local15 = _local6;
var _local14 = _local5;
var _local13 = _local4;
var _local12 = _local3;
var _local11 = _local7;
var _local1 = 0;
while (_local1 < 80) {
if (_local1 < 16) {
_local2[_local1] = x[_local9 + _local1];
} else {
_local2[_local1] = rol(((_local2[_local1 - 3] ^ _local2[_local1 - 8]) ^ _local2[_local1 - 14]) ^ _local2[_local1 - 16], 1);
}
var _local8 = safe_add(safe_add(rol(_local6, 5), sha1_ft(_local1, _local5, _local4, _local3)), safe_add(safe_add(_local7, _local2[_local1]), sha1_kt(_local1)));
_local7 = _local3;
_local3 = _local4;
_local4 = rol(_local5, 30);
_local5 = _local6;
_local6 = _local8;
_local1++;
}
_local6 = safe_add(_local6, _local15);
_local5 = safe_add(_local5, _local14);
_local4 = safe_add(_local4, _local13);
_local3 = safe_add(_local3, _local12);
_local7 = safe_add(_local7, _local11);
_local9 = _local9 + 16;
}
return(Array(_local6, _local5, _local4, _local3, _local7));
}
static function sha1_ft(t, b, c, d) {
if (t < 20) {
return((b & c) | ((~b) & d));
}
if (t < 40) {
return((b ^ c) ^ d);
}
if (t < 60) {
return(((b & c) | (b & d)) | (c & d));
}
return((b ^ c) ^ d);
}
static function sha1_kt(t) {
return(((t < 20) ? 1518500249 : (((t < 40) ? 1859775393 : (((t < 60) ? -1894007588 : -899497514))))));
}
static function core_hmac_sha1(key, data) {
var _local2 = str2binb(key);
if (_local2.length > 16) {
_local2 = core_sha1(_local2, key.length * CHRSZ);
}
var _local3 = Array(16);
var _local4 = Array(16);
var _local1 = 0;
while (_local1 < 16) {
_local3[_local1] = _local2[_local1] ^ 909522486;
_local4[_local1] = _local2[_local1] ^ 1549556828;
_local1++;
}
var _local5 = core_sha1(_local3.concat(str2binb(data)), 512 + (data.length * CHRSZ));
return(core_sha1(_local4.concat(_local5), 672));
}
static function safe_add(x, y) {
var _local1 = (x & 65535) + (y & 65535);
var _local2 = ((x >> 16) + (y >> 16)) + (_local1 >> 16);
return((_local2 << 16) | (_local1 & 65535));
}
static function rol(num, cnt) {
return((num << cnt) | (num >>> (32 - cnt)));
}
static function str2binb(str) {
var _local3 = Array();
var _local4 = (1 << CHRSZ) - 1;
var _local1 = 0;
while (_local1 < (str.length * CHRSZ)) {
_local3[_local1 >> 5] = _local3[_local1 >> 5] | ((str.charCodeAt(_local1 / CHRSZ) & _local4) << (24 - (_local1 % 32)));
_local1 = _local1 + CHRSZ;
}
return(_local3);
}
static function binb2str(bin) {
var _local3 = "";
var _local4 = (1 << CHRSZ) - 1;
var _local1 = 0;
while (_local1 < (bin.length * 32)) {
_local3 = _local3 + String.fromCharCode((bin[_local1 >> 5] >>> (24 - (_local1 % 32))) & _local4);
_local1 = _local1 + CHRSZ;
}
return(_local3);
}
static function binb2hex(binarray) {
var _local3 = (HEX_CASE ? "0123456789ABCDEF" : "0123456789abcdef");
var _local4 = "";
var _local1 = 0;
while (_local1 < (binarray.length * 4)) {
_local4 = _local4 + (_local3.charAt((binarray[_local1 >> 2] >> (((3 - (_local1 % 4)) * 8) + 4)) & 15) + _local3.charAt((binarray[_local1 >> 2] >> ((3 - (_local1 % 4)) * 8)) & 15));
_local1++;
}
return(_local4);
}
static function binb2b64(binarray) {
var _local6 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var _local4 = "";
var _local2 = 0;
while (_local2 < (binarray.length * 4)) {
var _local5 = ((((binarray[_local2 >> 2] >> (8 * (3 - (_local2 % 4)))) & 255) << 16) | (((binarray[(_local2 + 1) >> 2] >> (8 * (3 - ((_local2 + 1) % 4)))) & 255) << 8)) | ((binarray[(_local2 + 2) >> 2] >> (8 * (3 - ((_local2 + 2) % 4)))) & 255);
var _local1 = 0;
while (_local1 < 4) {
if (((_local2 * 8) + (_local1 * 6)) > (binarray.length * 32)) {
_local4 = _local4 + B64_PAD;
} else {
_local4 = _local4 + _local6.charAt((_local5 >> (6 * (3 - _local1))) & 63);
}
_local1++;
}
_local2 = _local2 + 3;
}
return(_local4);
}
static var HEX_CASE = 0;
static var B64_PAD = "";
static var CHRSZ = 8;
}
Symbol 1095 MovieClip [__Packages.main.Game] Frame 0
class main.Game
{
var firstParticle, lastParticle, firstAttractor, lastAttractor, firstEnemy, lastEnemy, sm, mc, whirlpoolSound, bubbleSound, points, frozen, particleDepth, enemyDepth, attractorDepth, levelPoints, levelStartTime, kraken, map_bmp, player, goal, levelEndTime, highScoreListener;
function Game (_mc, _mask, _sm) {
firstParticle = null;
lastParticle = null;
firstAttractor = null;
lastAttractor = null;
firstEnemy = null;
lastEnemy = null;
sm = _sm;
_maskUnlocked = _mask;
_mask_t0 = getTimer();
mc = _mc;
whirlpoolSound = 0;
bubbleSound = false;
points = 0;
mx.events.EventDispatcher.initialize(this);
Key.addListener(this);
fillEnergy();
_hud = new main.Hud(mc.mcStatusBar);
_updateHud();
showPopup("instructions");
}
function dispose() {
stopGame();
}
function startGame() {
frozen = false;
_updateHud();
setupLevel();
mc.onEnterFrame = uk.kerb.utils.EventDelegate.create(this, update);
}
function stopGame() {
mc.onEnterFrame = null;
bubbleSound = false;
whirlpoolSound = 0;
sm.stopSound("bubble_blaster");
sm.stopSound("sfx_whirlpool");
cleanUp();
}
function setupLevel() {
particleDepth = 0;
enemyDepth = 0;
attractorDepth = 0;
levelPoints = 0;
levelStartTime = getTimer();
kraken = new main.Kraken(mc.kraken_mc);
mc.level_mc.gotoAndStop(_level + 1);
var _local2 = flash.display.BitmapData.loadBitmap("map_" + (_level + 1));
map_bmp = new flash.display.BitmapData(_local2.width, _local2.height, true, 0);
map_bmp.copyPixels(_local2, _local2.rectangle, new flash.geom.Point(0, 0));
if (_level > 0) {
sm.playSound("game_loop", 70, 99999);
}
switch (_level) {
case 0 :
player = new main.Player(attach("player", DEPTH_PLAYER, 100, 200));
goal = attach("goal", DEPTH_GOAL, 410, 200);
LEVEL_WIDTH = 500;
LEVEL_HEIGHT = 300;
break;
case 1 :
player = new main.Player(attach("player", DEPTH_PLAYER, 70, 60));
goal = attach("goal", DEPTH_GOAL, 410, 230);
LEVEL_WIDTH = 500;
LEVEL_HEIGHT = 300;
break;
case 2 :
player = new main.Player(attach("player", DEPTH_PLAYER, 70, 350));
addEnemy("taradox", 420, 300, 60, 420, 0);
goal = attach("goal", DEPTH_GOAL, 210, 400);
LEVEL_WIDTH = 500;
LEVEL_HEIGHT = 450;
break;
case 3 :
player = new main.Player(attach("player", DEPTH_PLAYER, 80, 60));
addEnemy("mantax", 100, 300, 70, 230, 0);
addEnemy("caraper", 230, 60, 0, 0, 0);
addAttractor("whirlpool", 360, 350);
goal = attach("goal", DEPTH_GOAL, 600, 350);
LEVEL_WIDTH = 700;
LEVEL_HEIGHT = 400;
break;
case 4 :
player = new main.Player(attach("player", DEPTH_PLAYER, 80, 60));
addEnemy("spinax", 100, 470, 80, 250, 0);
addEnemy("mantax", 300, 60, 250, 420, 0);
addEnemy("spinax", 500, 470, 400, 650, 0);
addEnemy("ehlek", 620, 210, 0, 0, 0);
goal = attach("goal", DEPTH_GOAL, 600, 50);
LEVEL_WIDTH = 700;
LEVEL_HEIGHT = 500;
break;
case 5 :
player = new main.Player(attach("player", DEPTH_PLAYER, 100, 60));
addEnemy("taradox", 100, 400, 300, 550, 0);
addEnemy("taradox", 300, 300, 100, 400, 0);
addEnemy("taradox", 550, 300, 100, 400, 0);
addEnemy("pridak", 900, 500, 0, 0, 0);
addAttractor("whirlpool", 730, 200);
goal = attach("goal", DEPTH_GOAL, 900, 50);
LEVEL_WIDTH = 1000;
LEVEL_HEIGHT = 600;
}
_hud.setCordakIndicator(_level);
}
function nextLevel() {
stopGame();
levelEndTime = getTimer();
_level++;
if (_level >= NUMBER_OF_LEVELS) {
_hud.setCordakIndicator(_level);
gameOver(true);
} else {
showPopup("next_level");
}
}
function attach(linkage, depth, x, y) {
var _local2 = mc.mcCanvas.attachMovie(linkage, linkage + depth, depth);
_local2._x = x;
_local2._y = y;
return(_local2);
}
function cleanUp() {
player.clip.removeMovieClip();
kraken.clip.removeMovieClip();
goal.removeMovieClip();
var _local2 = firstParticle;
while (_local2 != null) {
_local2.clip.removeMovieClip();
_local2 = _local2.next;
}
firstParticle = null;
lastParticle = null;
var _local3 = firstAttractor;
while (_local3 != null) {
_local3.clip.removeMovieClip();
_local3 = _local3.next;
}
firstAttractor = null;
lastAttractor = null;
var _local4 = firstEnemy;
while (_local4 != null) {
_local4.clip.removeMovieClip();
_local4 = _local4.next;
}
firstEnemy = null;
lastEnemy = null;
kraken = null;
player = null;
goal = null;
}
function update() {
if (!frozen) {
updateEnemies();
updatePlayer();
updateScreen();
}
updateParticles();
kraken.update(mc.mcCanvas);
_updateHud();
if (_energy <= 0) {
playerIsDead();
}
}
function playerIsDead() {
stopGame();
gameOver(false);
}
function _updateHud() {
_hud.setEnergy(_energy);
if (_maskUnlocked) {
var _local3 = 100;
var _local2 = getTimer() - _mask_t0;
if ((_mask_t0 >= 0) && (_local2 < MASK_POWER_RECHARGE_TIME)) {
_local3 = (100 * _local2) / MASK_POWER_RECHARGE_TIME;
}
_hud.setMaskLight(_local3);
} else {
_hud.setMaskDark();
}
}
function maskReady() {
return(_maskUnlocked && ((_mask_t0 >= 0) && ((getTimer() - _mask_t0) >= MASK_POWER_RECHARGE_TIME)));
}
function fillEnergy() {
_energy = main.Hud.ENERGY_SEGMENTS;
_updateHud();
}
function emptyEnergy() {
_energy = 0;
_updateHud();
}
function unlockMask() {
_maskUnlocked = true;
_mask_t0 = getTimer();
_updateHud();
}
function updateScreen() {
var _local3 = (SCREEN_WIDTH / 2) - player.x;
var _local2 = (SCREEN_HEIGHT / 2) - player.y;
if (_local3 < (SCREEN_WIDTH - LEVEL_WIDTH)) {
_local3 = SCREEN_WIDTH - LEVEL_WIDTH;
}
if (_local3 > 0) {
_local3 = 0;
}
if (_local2 < (SCREEN_HEIGHT - LEVEL_HEIGHT)) {
_local2 = SCREEN_HEIGHT - LEVEL_HEIGHT;
}
if (_local2 > 0) {
_local2 = 0;
}
mc.level_mc._x = _local3;
mc.level_mc._y = _local2;
mc.mcCanvas._x = _local3;
mc.mcCanvas._y = _local2;
}
function updatePlayer() {
if (Key.isDown(37)) {
player.updateAngle(-PLAYER_ANGLECHANGE);
}
if (Key.isDown(39)) {
player.updateAngle(PLAYER_ANGLECHANGE);
}
if (Key.isDown(38) || (Key.isDown(32))) {
player.xv = player.xv + (main.Lookup.getSin(player.angle) * PLAYER_BOOSTSPEED);
player.yv = player.yv + (main.Lookup.getCos(player.angle) * PLAYER_BOOSTSPEED);
addParticles(player.x + (main.Lookup.getSin((player.angle + 180) + PLAYER_BUBBLE_ANGLE) * PLAYER_BUBBLE_DIST), player.y - (main.Lookup.getCos((player.angle + 180) + PLAYER_BUBBLE_ANGLE) * PLAYER_BUBBLE_DIST), player.angle + 180, 3, "bubble");
addParticles(player.x + (main.Lookup.getSin((player.angle + 180) - PLAYER_BUBBLE_ANGLE) * PLAYER_BUBBLE_DIST), player.y - (main.Lookup.getCos((player.angle + 180) - PLAYER_BUBBLE_ANGLE) * PLAYER_BUBBLE_DIST), player.angle + 180, 3, "bubble");
_energy = _energy - ENERGY_BOOSTER;
if (!bubbleSound) {
sm.playSound("bubble_blaster", main.Main.MUSIC_VOLUME, 99999);
bubbleSound = true;
}
} else if (bubbleSound) {
sm.stopSound("bubble_blaster", 0.1);
bubbleSound = false;
}
player.xv = player.xv * CONSTANT_FRICTION;
player.yv = player.yv * CONSTANT_FRICTION;
player.yv = player.yv + CONSTANT_GRAVITY;
player.xv = ((player.xv < (-PLAYER_MAXSPEED)) ? (-PLAYER_MAXSPEED) : (((player.xv > PLAYER_MAXSPEED) ? (PLAYER_MAXSPEED) : (player.xv))));
player.yv = ((player.yv < (-PLAYER_MAXSPEED)) ? (-PLAYER_MAXSPEED) : (((player.yv > PLAYER_MAXSPEED) ? (PLAYER_MAXSPEED) : (player.yv))));
applyAttractors(player, CONSTANT_ATTRACTOR_PLAYER, true);
var _local2 = player.update(map_bmp);
if (_local2) {
takeDamage(ENERGY_HITWALL, "bump");
}
if (player.clip.hitbox_mc.hitTest(goal.hitbox_mc)) {
sm.playSound("missile_collect");
nextLevel();
}
}
function takeDamage(damage, sound) {
if (player.blinkInd == 0) {
_energy = _energy - damage;
player.blinkInd = INVULN_TIME;
if (sound != "") {
sm.playSound(sound);
}
}
}
function addParticles(xPos, yPos, angle, count, linkage) {
var _local4 = 0;
while (_local4 < count) {
particleDepth = (particleDepth + 1) % MAX_PARTICLES;
var _local3 = attach(linkage, particleDepth + DEPTH_PARTICLES, xPos, yPos);
_local3._rotation = Math.floor(Math.random() * 360);
var _local5 = (angle + 20) - (Math.random() * 40);
var _local8 = main.Lookup.getSin(_local5) * BUBBLE_VELOCITY;
var _local6 = main.Lookup.getCos(_local5) * BUBBLE_VELOCITY;
var _local2 = {x:xPos, y:yPos, xv:_local8, yv:_local6, clip:_local3, life:0};
if (firstParticle == null) {
firstParticle = _local2;
}
if (lastParticle != null) {
lastParticle.next = _local2;
}
_local2.prev = lastParticle;
lastParticle = _local2;
_local4++;
}
}
function removeParticle(particle) {
if (firstParticle == particle) {
firstParticle = particle.next;
}
if (lastParticle == particle) {
lastParticle = particle.prev;
}
particle.prev.next = particle.next;
particle.next.prev = particle.prev;
particle.clip.removeMovieClip();
}
function updateParticles() {
var _local2 = firstParticle;
while (_local2 != null) {
_local2.life++;
if (_local2.life > BUBBLE_LIFETIME) {
removeParticle(_local2);
} else {
_local2.x = _local2.x + _local2.xv;
_local2.y = _local2.y - _local2.yv;
_local2.yv = _local2.yv + CONSTANT_FLOATATION;
_local2.xv = _local2.xv * CONSTANT_FRICTION;
_local2.yv = _local2.yv * CONSTANT_FRICTION;
applyAttractors(_local2, CONSTANT_ATTRACTOR_BUBBLE, false);
_local2.clip._x = _local2.x;
_local2.clip._y = _local2.y;
_local2.clip._alpha = 100 - ((_local2.life * 100) / BUBBLE_LIFETIME);
}
_local2 = _local2.next;
}
}
function addAttractor(linkage, x, y) {
var _local3 = attach(linkage, DEPTH_ATTRACTORS + attractorDepth, x, y);
var _local2 = {x:x, y:y, range:CONSTANT_ATTRACTOR_RANGE, clip:_local3};
attractorDepth++;
if (firstAttractor == null) {
firstAttractor = _local2;
}
if (lastAttractor != null) {
lastAttractor.next = _local2;
}
_local2.prev = lastAttractor;
lastAttractor = _local2;
}
function applyAttractors(particle, force, playSound) {
var _local3 = firstAttractor;
var _local10 = false;
while (_local3 != null) {
var _local5 = _local3.x - particle.x;
var _local4 = _local3.y - particle.y;
var _local7 = (_local5 * _local5) + (_local4 * _local4);
var _local8 = _local3.range * _local3.range;
if (_local7 < _local8) {
var _local2 = _local7 / _local8;
if (_local2 < 0.1) {
_local2 = 0.1;
}
particle.xv = particle.xv + ((_local5 * force) / _local2);
particle.yv = particle.yv - ((_local4 * force) / _local2);
_local10 = true;
if (playSound) {
if (whirlpoolSound == 0) {
sm.playSound("sfx_whirlpool", 0, 99999);
}
if (whirlpoolSound < _local2) {
whirlpoolSound = _local2;
sm.setVolume("sfx_whirlpool", main.Main.MUSIC_VOLUME * whirlpoolSound);
}
}
}
_local3 = _local3.next;
}
if ((!_local10) && (whirlpoolSound > 0)) {
sm.stopSound("sfx_whirlpool");
whirlpoolSound = 0;
}
}
function addEnemy(_type, x, y, minX, maxX, angle) {
var _local3;
var _local2 = null;
_local3 = attach(_type, DEPTH_ENEMIES + enemyDepth, x, y);
switch (_type) {
case "kalmah" :
_local2 = new main.Shooter(_local3, MISSILE_DELAY, 0);
break;
case "pridak" :
_local2 = new main.Shooter(_local3, MISSILE_DELAY, 0);
break;
case "mantax" :
_local2 = new main.Swimmer(_local3, minX, maxX);
break;
case "taradox" :
_local2 = new main.VertSwimmer(_local3, minX, maxX);
break;
case "caraper" :
_local2 = new main.Shooter(_local3, MISSILE_DELAY, 90);
break;
case "ehlek" :
_local2 = new main.Shooter(_local3, MISSILE_DELAY, 270);
break;
case "spinax" :
_local2 = new main.Spinax(_local3, minX, maxX);
break;
case "squidrocket" :
_local2 = new main.Rocket(_local3, angle, MISSILE_SPEED);
}
enemyDepth++;
if (firstEnemy == null) {
firstEnemy = _local2;
}
if (lastEnemy != null) {
lastEnemy.next = _local2;
}
_local2.prev = lastEnemy;
lastEnemy = _local2;
}
function removeEnemy(enemy) {
if (firstEnemy == enemy) {
firstEnemy = enemy.next;
}
if (lastEnemy == enemy) {
lastEnemy = enemy.prev;
}
enemy.prev.next = enemy.next;
enemy.next.prev = enemy.prev;
enemy.clip.removeMovieClip();
}
function updateEnemies() {
var _local2 = firstEnemy;
while (_local2 != null) {
if (!_local2.ignore) {
_local2.update(this);
if (_local2 instanceof main.Rocket) {
if (player.clip.hitbox_mc.hitTest(_local2.clip.hitbox_mc)) {
takeDamage(_local2.damage, "");
explodeRocket(main.Rocket(_local2));
} else if (_local2.life >= MISSILE_LIFETIME) {
explodeRocket(main.Rocket(_local2));
}
} else if (player.clip.hitbox_mc.hitTest(_local2.clip.hitbox_mc)) {
if (_local2 instanceof main.Rocket) {
takeDamage(_local2.damage, "");
removeEnemy(_local2);
} else {
if (maskReady() && (kraken.canEat())) {
eatEnemy(_local2);
return(undefined);
}
takeDamage(_local2.damage, "bump_barraki");
}
}
}
_local2 = _local2.next;
}
}
function explodeRocket(rocket) {
rocket.ignore = true;
rocket.animate("explode", uk.kerb.utils.EventDelegate.create(this, removeEnemy, rocket));
sm.playSound("squid_impact", main.Main.MUSIC_VOLUME);
}
function eatEnemy(enemy) {
kraken.eat(enemy.clip, uk.kerb.utils.EventDelegate.create(this, krakenHasFed, enemy));
sm.playSound("the_kraken", 100);
frozen = true;
}
function krakenHasFed(enemy) {
removeEnemy(enemy);
kraken.eaten();
frozen = false;
_mask_t0 = getTimer();
}
function gameOver(bWin) {
sm.stopSound("game_loop", 0.2);
stopGame();
if (bWin) {
mc.mcCutScenes.gotoAndStop("win");
mc.mcCutScenes.mcAnimation.animationComplete = uk.kerb.utils.EventDelegate.create(this, showPopup, "game_win");
sm.playSound("success_loop", main.Main.MUSIC_VOLUME);
} else {
sm.playSound("player_killed", main.Main.MUSIC_VOLUME - 10);
sm.playSound("failure_loop", main.Main.MUSIC_VOLUME);
mc.mcCutScenes.gotoAndStop("lose");
if (main.Main.showAdvert) {
mc.mcCutScenes.mcAnimation.animationComplete = uk.kerb.utils.EventDelegate.create(this, showPopup, "advert");
} else {
mc.mcCutScenes.mcAnimation.animationComplete = uk.kerb.utils.EventDelegate.create(this, playAgain);
}
}
}
function onKeyDown() {
if (Key.isDown(32)) {
mc.mcPopup.play_btn.onRelease();
}
}
function playAgain() {
var _local2 = new Object();
_local2.type = "showOpening";
dispatchEvent(_local2);
Key.removeListener(this);
}
function showPopup(id) {
mc.mcPopup.openPanel = uk.kerb.utils.EventDelegate.create(this, activatePopup, id);
mc.mcPopup.gotoAndPlay("in");
}
function activatePopup(id) {
mc.mcPopup.gotoAndStop(id);
mc.mcPopup.play_btn.onRelease = uk.kerb.utils.EventDelegate.create(this, onPopupPlayButton);
switch (id) {
case "instructions" :
mc.mcPopup.closePanel = uk.kerb.utils.EventDelegate.create(this, startGame);
break;
case "next_level" :
initNextLevelPopup();
break;
case "game_win" :
initGameWinPopup();
break;
case "advert" :
initAdvertPopup();
}
}
function initNextLevelPopup() {
showScores();
stopGame();
mc.mcPopup.closePanel = uk.kerb.utils.EventDelegate.create(this, startGame);
}
function initGameWinPopup() {
var _local2;
showScores();
mc.mcPopup.highScore_btn.onRelease = uk.kerb.utils.EventDelegate.create(this, showHighScores);
mc.mcPopup.highScore_btn._visible = main.Main.showHiScoreButton;
if (main.Main.showAdvert) {
mc.mcPopup.play_btn._visible = false;
mc.mcPopup.closePanel = uk.kerb.utils.EventDelegate.create(this, showPopup, "advert");
} else {
mc.mcPopup.closePanel = uk.kerb.utils.EventDelegate.create(this, playAgain);
}
_local2 = 0;
while (_local2 < main.Main.CODE_LENGTH) {
mc.mcPopup.mcCode[("code" + _local2) + "_txt"].text = main.Main.CORRECT_CODE.charAt(_local2);
_local2++;
}
}
function showHighScores() {
sm.playSound("sfx_click", 100);
highScoreListener = new Object();
highScoreListener[HighScore.EVENT_SCORES_SAVED] = uk.kerb.utils.EventDelegate.create(this, highScoreSaved);
HighScore.instance().addEventListener(HighScore.EVENT_SCORES_SAVED, highScoreListener);
HighScore.instance().saveHighScore(points, GAME_KEY);
trace("sending high scores");
}
function highScoreSaved() {
HighScore.instance().removeEventListener(HighScore.EVENT_SCORES_SAVED, highScoreListener);
HighScore.instance().showHighScores();
}
function initAdvertPopup() {
mc.mcPopup.advert_mc.link_btn.onRelease = function () {
this.sm.playSound("sfx_click", 100);
getURL ("http://" + _root.advert, "_blank");
};
mc.mcPopup.advert_mc.link_btn.mcLabel.link_txt.text = _root.advert;
mc.mcPopup.closePanel = uk.kerb.utils.EventDelegate.create(this, playAgain);
}
function showScores() {
var _local11 = 6;
var _local10 = points.toString().length;
var _local12 = "000000";
var _local3 = 0;
var _local8;
var _local9;
_local8 = levelEndTime - levelStartTime;
if (_local8 < TIME_BONUS_DURATION) {
_local3 = INIT_TIME_BONUS * (1 - (_local8 / TIME_BONUS_DURATION));
_local3 = Math.round(_local3);
}
_local9 = levelPoints + _local3;
mc.mcPopup.mcScore.points_txt.text = levelPoints;
mc.mcPopup.mcScore.time_txt.text = _local3;
mc.mcPopup.mcScore.total_txt.text = points;
addPoints(_local9);
sm.stopSound("game_loop", 1);
sm.playSound("sfx_score_tick", 70, 9999);
mc.mcPopup.mcScore.sm = sm;
mc.mcPopup.mcScore.onEnterFrame = function () {
var _local5 = parseInt(this.points_txt.text);
var _local3 = parseInt(this.time_txt.text);
var _local4 = parseInt(this.total_txt.text);
var _local2 = 100;
var _local6 = true;
if (_local5 > _local2) {
_local4 = _local4 + _local2;
_local5 = _local5 - _local2;
_local6 = false;
} else {
_local4 = _local4 + _local5;
_local5 = 0;
}
if (_local3 > _local2) {
_local4 = _local4 + _local2;
_local3 = _local3 - _local2;
_local6 = false;
} else {
_local4 = _local4 + _local3;
_local3 = 0;
}
this.points_txt.text = _local5;
this.time_txt.text = _local3;
this.total_txt.text = _local4;
if (_local6) {
this.sm.stopSound("sfx_score_tick");
}
};
}
function onPopupPlayButton() {
sm.stopSound("sfx_score_tick");
sm.playSound("sfx_click", 100);
mc.mcPopup.gotoAndPlay("out");
}
function addPoints(value) {
points = points + value;
_hud.setScore(points);
}
function dispatchEvent(eventObject) {
}
function addEventListener(event, listener) {
}
function removeEventListener(event, listener) {
}
static var GAME_KEY = "c05ce79c919cb6250e3ed090b918494b7bf03041";
static var SCREEN_WIDTH = 500;
static var SCREEN_HEIGHT = 300;
var LEVEL_WIDTH = 0;
var LEVEL_HEIGHT = 0;
static var NUMBER_OF_LEVELS = 6;
static var MASK_POWER_RECHARGE_TIME = 10000;
static var INIT_TIME_BONUS = 5000;
static var TIME_BONUS_DURATION = 60000;
var _mask_t0 = -1;
var _level = 0;
var _energy = 0;
var _hud = null;
var _maskUnlocked = false;
static var PLAYER_ANGLECHANGE = 5;
static var PLAYER_BOOSTSPEED = 0.6;
static var PLAYER_MAXSPEED = 4;
static var PLAYER_BUBBLE_ANGLE = 50;
static var PLAYER_BUBBLE_DIST = 25;
static var CONSTANT_GRAVITY = -0.08;
static var CONSTANT_FLOATATION = 0.1;
static var CONSTANT_FRICTION = 0.99;
static var CONSTANT_ATTRACTOR_PLAYER = 0.001;
static var CONSTANT_ATTRACTOR_BUBBLE = 0.002;
static var CONSTANT_ATTRACTOR_RANGE = 140;
static var BUBBLE_VELOCITY = 3;
static var BUBBLE_LIFETIME = 30;
static var DEPTH_PLAYER = 2000;
static var DEPTH_GOAL = 1900;
static var DEPTH_PARTICLES = 200;
static var DEPTH_ATTRACTORS = 75;
static var DEPTH_ENEMIES = 1000;
static var MAX_PARTICLES = 400;
static var ENERGY_BOOSTER = 0.01;
static var ENERGY_HITWALL = 0.1;
static var MISSILE_DELAY = 100;
static var MISSILE_SPEED = 4;
static var MISSILE_LIFETIME = 100;
static var INVULN_TIME = 30;
}
Symbol 1096 MovieClip [__Packages.main.Hud] Frame 0
class main.Hud
{
function Hud (clip) {
_score = clip.mcPoints.tfPoints;
_energy = clip.mcEnergy;
_mask = clip.mcMask;
_level = clip.mcLevel;
}
function setScore(score) {
var _local3 = 6;
var _local2 = score.toString().length;
var _local4 = "000000";
_score.text = _local4.substr(0, _local3 - _local2) + score;
}
function setEnergy(energy) {
var _local2 = Math.floor(ENERGY_SEGMENT_FRAMES * (ENERGY_SEGMENTS - energy)) + 1;
_energy.gotoAndStop(_local2);
}
function setMaskLight(charge) {
_mask.gotoAndStop("light");
_mask.mask_mc._height = (charge * FULL_MASK_HEIGHT) / 100;
_mask.mask_mc._y = 67.5 - _mask.mask_mc._height;
}
function setMaskDark() {
_mask.gotoAndStop("dark");
}
function setCordakIndicator(level) {
if (level == 0) {
_level.gotoAndStop(1);
} else {
_level.gotoAndPlay("level" + level.toString());
}
}
static var ENERGY_SEGMENT_FRAMES = 1;
static var FULL_MASK_HEIGHT = 43.5;
static var ENERGY_SEGMENTS = 12;
var _score = null;
var _energy = null;
var _mask = null;
var _level = null;
}
Symbol 1097 MovieClip [__Packages.main.Enemy] Frame 0
class main.Enemy
{
var clip, x, y, xv, yv, minx, maxx, life, damage, ignore, next_xv;
function Enemy (_mc, _xv, _yv, _minx, _maxx, _damage) {
clip = _mc;
x = _mc._x;
y = _mc._y;
xv = _xv;
yv = _yv;
minx = _minx;
maxx = _maxx;
life = 0;
damage = _damage;
ignore = false;
}
function update(game) {
life++;
x = x + xv;
y = y - yv;
if ((minx != null) && (x < minx)) {
x = minx;
turnAround();
}
if ((maxx != null) && (x > maxx)) {
x = maxx;
turnAround();
}
if (xv < 0) {
clip._xscale = -100;
} else {
clip._xscale = 100;
}
clip._x = x;
clip._y = y;
}
function turnAround() {
next_xv = -xv;
xv = 0;
animate("turn", uk.kerb.utils.EventDelegate.create(this, finishedTurn));
}
function finishedTurn() {
xv = next_xv;
next_xv = 0;
animate("run", null);
}
function animate(_frame, _after) {
clip.gotoAndStop(_frame);
clip.finishedAnimation = _after;
}
var prev = null;
var next = null;
static var ENERGY_HIT = 0.05;
}
Symbol 1098 MovieClip [__Packages.main.Player] Frame 0
class main.Player
{
var clip, xv, yv, angle, x, y, blinkInd, bmp;
function Player (_mc) {
clip = _mc;
xv = 0;
yv = 0;
angle = 0;
x = _mc._x;
y = _mc._y;
blinkInd = 0;
var _local2 = _mc.attachMovie("collide_map", "collider", _mc.getNextHighestDepth());
bmp = new flash.display.BitmapData(_local2._width, _local2._height, true, 0);
bmp.draw(_local2);
_local2.removeMovieClip();
}
function updateAngle(da) {
angle = ((angle + da) + 360) % 360;
}
function update(map_bmp) {
var _local4;
var _local5;
var _local7;
var _local2;
var _local8 = false;
if (blinkInd > 0) {
blinkInd--;
blink();
}
if (Math.abs(xv) > Math.abs(yv)) {
_local7 = Math.ceil(Math.abs(xv));
} else {
_local7 = Math.ceil(Math.abs(yv));
}
_local4 = xv / _local7;
_local5 = yv / _local7;
_local2 = 0;
while (_local2 < _local7) {
x = x + _local4;
y = y - _local5;
var _local3 = new flash.geom.Point(x - (bmp.width / 2), y - (bmp.height / 2));
if (bmp.hitTest(_local3, 255, map_bmp)) {
collisionReaction(map_bmp);
x = x - (_local4 * 2);
y = y + (_local5 * 2);
_local8 = true;
break;
}
_local2++;
}
clip._x = x;
clip._y = y;
clip._rotation = angle;
return(_local8);
}
function blink(Void) {
var _local3;
if ((blinkInd % 2) == 1) {
var _local2 = Math.round((255 * blinkInd) / main.Game.INVULN_TIME);
_local3 = new flash.geom.ColorTransform(1, 1, 1, 1, _local2, _local2, _local2, 0);
} else {
_local3 = new flash.geom.ColorTransform(1, 1, 1, 1, 0, 0, 0, 0);
}
var _local4 = new flash.geom.Transform(clip);
_local4.colorTransform = _local3;
}
function collisionReaction(map_bmp) {
var _local5 = new flash.display.BitmapData(bmp.width, bmp.height, true, 0);
_local5.copyPixels(map_bmp, new flash.geom.Rectangle(x - (bmp.width / 2), y - (bmp.height / 2), bmp.width, bmp.height), new flash.geom.Point(), null, null, true);
var _local4 = _local5.getColorBoundsRect(4294967295, 4294901760);
var _local2 = _local4.x + (0.5 * (_local4.width - bmp.width));
var _local3 = _local4.y + (0.5 * (_local4.height - bmp.height));
if ((_local2 == 0) && (_local3 == 0)) {
xv = -xv;
yv = -yv;
} else {
var _local6 = Math.sqrt((_local2 * _local2) + (_local3 * _local3));
_local2 = _local2 / _local6;
_local3 = _local3 / _local6;
var _local7 = (xv * _local2) + (yv * _local3);
xv = (-(((2 * _local2) * _local7) - xv)) * 0.8;
yv = (-(((2 * _local3) * _local7) - yv)) * 0.8;
}
}
}
Symbol 1099 MovieClip [__Packages.main.Kraken] Frame 0
class main.Kraken
{
var clip, lastTime, tracking;
function Kraken (_mc) {
clip = _mc;
lastTime = 0;
}
function canEat() {
return(lastTime > MIN_EAT_WAIT);
}
function eat(_mc, hasEaten) {
if (canEat()) {
tracking = _mc;
clip.gotoAndPlay("munch");
clip.krakenHasEaten = hasEaten;
lastTime = 0;
update();
}
}
function update(base) {
if (tracking != null) {
clip._x = tracking._x + base._x;
clip._y = tracking._y + base._y;
}
lastTime++;
}
function eaten() {
tracking = null;
}
static var MIN_EAT_WAIT = 100;
}
Symbol 1100 MovieClip [__Packages.main.Lookup] Frame 0
class main.Lookup
{
static var granularity, sinTable, cosTable;
function Lookup () {
}
static function initialise(_granularity) {
granularity = ((_granularity == undefined) ? 1 : (_granularity));
sinTable = new Array(360 * granularity);
cosTable = new Array(360 * granularity);
var _local1 = 0;
while (_local1 < (360 * granularity)) {
sinTable[_local1] = Math.sin(((_local1 * Math.PI) / 180) * granularity);
cosTable[_local1] = Math.cos(((_local1 * Math.PI) / 180) * granularity);
_local1++;
}
}
static function getSin(angle) {
while (angle < 0) {
angle = angle + 360;
}
return(sinTable[Math.floor((angle % 360) * granularity)]);
}
static function getCos(angle) {
while (angle < 0) {
angle = angle + 360;
}
return(cosTable[Math.floor((angle % 360) * granularity)]);
}
}
Symbol 1101 MovieClip [__Packages.main.Shooter] Frame 0
class main.Shooter extends main.Enemy
{
var lastTime, shootSpeed, shootAngle, animate, clip, x, y;
function Shooter (_mc, _shootSpeed, _shootAngle) {
super(_mc, 0, 0, null, null, main.Enemy.ENERGY_HIT);
lastTime = 0;
shootSpeed = _shootSpeed;
shootAngle = _shootAngle;
}
function update(game) {
lastTime++;
if (lastTime > shootSpeed) {
lastTime = 0;
animate("shoot", uk.kerb.utils.EventDelegate.create(clip, clip.gotoAndStop, "stand"));
game.addEnemy("squidrocket", x, y, 0, 0, shootAngle);
game.sm.playSound("squidgun_fire", main.Main.MUSIC_VOLUME);
}
super.update(game);
}
}
Symbol 1102 MovieClip [__Packages.main.Swimmer] Frame 0
class main.Swimmer extends main.Enemy
{
function Swimmer (_mc, _minx, _maxx) {
super(_mc, SPEED_SWIM, 0, _minx, _maxx, main.Enemy.ENERGY_HIT);
}
static var SPEED_SWIM = 3;
}
Symbol 1103 MovieClip [__Packages.main.VertSwimmer] Frame 0
class main.VertSwimmer extends main.Enemy
{
var life, y, yv, minx, maxx, clip, x, next_xv, animate;
function VertSwimmer (_mc, _minx, _maxx) {
super(_mc, 0, SPEED_SWIM, _minx, _maxx, main.Enemy.ENERGY_HIT);
}
function update(game) {
life++;
y = y - yv;
if ((minx != null) && (y < minx)) {
y = minx;
turnAround();
}
if ((maxx != null) && (y > maxx)) {
y = maxx;
turnAround();
}
if (yv < 0) {
clip._yscale = -100;
} else {
clip._yscale = 100;
}
clip._x = x;
clip._y = y;
}
function turnAround() {
next_xv = -yv;
yv = 0;
animate("turn", EventDelegate.create(this, finishedTurn));
}
function finishedTurn() {
yv = next_xv;
next_xv = 0;
animate("run", null);
}
static var SPEED_SWIM = 3;
}
Symbol 1104 MovieClip [__Packages.main.Spinax] Frame 0
class main.Spinax extends main.Enemy
{
var y, lastTime, yv, animate, xv, x;
function Spinax (_mc, _minx, _maxx) {
super(_mc, SPEED_RUN, 0, _minx, _maxx, main.Enemy.ENERGY_HIT);
ground = y;
lastTime = 0;
}
function update(game) {
lastTime++;
if (jumping) {
yv = yv + SPEED_GRAVITY;
if (y > ground) {
y = ground;
yv = 0;
jumping = false;
animate("run", null);
}
} else if ((lastTime > MIN_JUMP_WAIT) && (xv != 0)) {
var _local4 = game.player.x;
var _local3 = game.player.y;
if ((((_local4 > (x - HORIZONTAL_DISTANCE)) && (_local4 < (x + HORIZONTAL_DISTANCE))) && (_local3 > (y - VERTICAL_DISTANCE))) && (_local3 < y)) {
animate("jump", null);
jumping = true;
yv = SPEED_JUMP;
lastTime = 0;
}
}
super.update(game);
}
function turnAround() {
if (jumping) {
xv = -xv;
} else {
super.turnAround();
}
}
static var SPEED_RUN = 3;
static var SPEED_JUMP = 8;
static var SPEED_GRAVITY = -0.5;
static var MIN_JUMP_WAIT = 200;
static var HORIZONTAL_DISTANCE = 40;
static var VERTICAL_DISTANCE = 150;
var jumping = false;
var ground = 0;
}
Symbol 1105 MovieClip [__Packages.main.Rocket] Frame 0
class main.Rocket extends main.Enemy
{
function Rocket (_mc, _angle, _velocity) {
super(_mc, main.Lookup.getSin(_angle) * _velocity, main.Lookup.getCos(_angle) * _velocity, null, null, ENERGY_HIT);
_mc._rotation = _angle;
}
static var ENERGY_HIT = 0.8;
}
Symbol 184 MovieClip [cheatLabel] Frame 1
if (viewed) {
stop();
}
Symbol 184 MovieClip [cheatLabel] Frame 18
var viewed = true;
Symbol 228 MovieClip Frame 4
_parent.finishedAnimation();
Symbol 229 MovieClip [spinax] Frame 1
stop();
Symbol 248 MovieClip Frame 8
_parent.finishedAnimation();
Symbol 249 MovieClip [mantax] Frame 1
stop();
Symbol 262 MovieClip Frame 8
_parent.finishedAnimation();
Symbol 263 MovieClip [taradox] Frame 1
stop();
Symbol 292 MovieClip [squidrocket] Frame 1
stop();
Symbol 308 MovieClip Frame 25
_parent.finishedAnimation();
Symbol 309 MovieClip [caraper] Frame 1
stop();
Symbol 324 MovieClip Frame 25
_parent.finishedAnimation();
Symbol 325 MovieClip [ehlek] Frame 1
stop();
Symbol 346 MovieClip Frame 25
_parent.finishedAnimation();
Symbol 347 MovieClip [kalmah] Frame 1
stop();
Symbol 366 MovieClip Frame 25
_parent.finishedAnimation();
Symbol 367 MovieClip [pridak] Frame 1
stop();
Symbol 401 MovieClip Frame 1
stop();
Symbol 450 MovieClip [code_icon] Frame 1
stop();
Symbol 455 MovieClip Frame 1
stop();
Symbol 506 MovieClip Frame 100
stop();
Symbol 506 MovieClip Frame 126
stop();
goPlay();
Symbol 527 MovieClip Frame 15
stop();
Symbol 527 MovieClip Frame 75
stop();
Symbol 607 MovieClip Frame 1
Key.addListener(this);
onKeyDown = function () {
if (Key.getCode() == 32) {
initGame();
}
};
skip_mc.skip_btn.onRelease = function () {
initGame();
};
Symbol 607 MovieClip Frame 364
stop();
initGame();
Symbol 655 MovieClip Frame 1
stop();
Symbol 735 MovieClip Frame 162
animationComplete();
this._parent.gotoAndStop("blank");
Symbol 838 MovieClip Frame 191
animationComplete();
this._parent.gotoAndStop("blank");
Symbol 839 MovieClip Frame 1
stop();
Symbol 847 MovieClip Frame 1
stop();
Symbol 847 MovieClip Frame 13
stop();
Symbol 847 MovieClip Frame 38
stop();
Symbol 847 MovieClip Frame 61
stop();
Symbol 847 MovieClip Frame 86
stop();
Symbol 847 MovieClip Frame 114
stop();
Symbol 847 MovieClip Frame 140
stop();
Symbol 856 MovieClip Frame 1
stop();
Symbol 883 MovieClip Frame 1
stop();
Symbol 889 MovieClip Frame 1
stop();
Symbol 963 MovieClip Frame 1
stop();
Symbol 974 MovieClip [main popup] Frame 1
stop();
Symbol 974 MovieClip [main popup] Frame 15
openPanel();
stop();
Symbol 974 MovieClip [main popup] Frame 16
stop();
Symbol 974 MovieClip [main popup] Frame 26
stop();
Symbol 974 MovieClip [main popup] Frame 36
stop();
Symbol 974 MovieClip [main popup] Frame 46
stop();
Symbol 974 MovieClip [main popup] Frame 71
stop();
closePanel();
Symbol 1075 MovieClip Frame 1
stop();
Symbol 1075 MovieClip Frame 21
krakenHasEaten();
Symbol 1079 MovieClip Frame 1
stop();
Symbol 1080 MovieClip Frame 45
stop();
activateGame();
Symbol 1081 MovieClip Frame 1
stop();
main.Main.getInstance().init(this);