Frame 1
function doLoader() {
ratio = getBytesLoaded() / getBytesTotal();
if (ratio == 1) {
clearInterval(loader_int);
loader_mc.bar_mc.gotoAndStop(FRAMES);
gotoAndStop ("game");
}
loader_mc.bar_mc.gotoAndStop(Math.ceil(ratio * FRAMES));
}
var ratio;
var FRAMES = 100;
loader_int = setInterval(doLoader, 5);
Frame 5
project.init();
Symbol 19 Button
on (release) {
smashing.keithm.Messenger.sendMessage("engine", "clickCloseHighscore");
}
Symbol 45 Button
on (release) {
nextPage();
}
on (rollOver) {
gotoAndStop ("over");
}
on (rollOut, dragOut) {
gotoAndStop ("off");
}
on (press) {
gotoAndStop ("down");
}
Symbol 48 Button
on (release) {
prevPage();
}
on (rollOver) {
gotoAndStop ("over");
}
on (rollOut, dragOut) {
gotoAndStop ("off");
}
on (press) {
gotoAndStop ("down");
}
Symbol 49 MovieClip [_nick_highscore_board] Frame 1
#initclip 47
Object.registerClass("_nick_highscore_board", nick.highscores.HighscoreTable);
#endinitclip
stop();
Symbol 639 MovieClip [__Packages.smashing.keithm.Messenger] Frame 0
class smashing.keithm.Messenger
{
static var __addresses;
function Messenger () {
}
static function registerAddress(id, obj) {
if (__addresses == undefined) {
__addresses = {};
}
__addresses[id] = obj;
}
static function removeAddress(id) {
__addresses[id] = "";
}
static function sendMessage(id, message, args) {
if ((__addresses[id] != "") && (__addresses[id] != undefined)) {
__addresses[id].onMessageReceived(message, args);
return(undefined);
}
}
}
Symbol 640 MovieClip [__Packages.nick.highscores.HighscoreTable] Frame 0
class nick.highscores.HighscoreTable extends MovieClip
{
var gotoAndStop, __scores, __player, __page, __totalPages, playerScore_mc, pagination_txt;
function HighscoreTable () {
super();
}
function showLoading() {
gotoAndStop("loading");
}
function showError() {
gotoAndStop("error");
}
function showTable() {
gotoAndStop("ready");
emptyTable();
}
function init(t_scores, t_player) {
showTable();
__scores = t_scores;
__player = t_player;
__page = 1;
__totalPages = Math.ceil(__scores.length / __SCORES_PER_PAGE);
var _local2 = 0;
while (_local2 < __scores.length) {
if (__scores[_local2].name == "") {
__totalPages = Math.ceil(_local2 / __SCORES_PER_PAGE);
_local2 = __scores.length;
}
_local2++;
}
populatePlayer();
populateTable();
}
function calculatePlayerRank() {
var _local2 = 0;
while (_local2 < __scores.length) {
if (__scores[_local2].name == __player.name) {
return(String(_local2));
}
_local2++;
}
return("");
}
function populatePlayer() {
if ((((__player.name == "") || (__player.name == undefined)) || (__player.name == null)) || (__player.name == "null")) {
playerScore_mc._visible = false;
} else {
playerScore_mc._visible = true;
playerScore_mc.name.text = __player.name;
playerScore_mc.score.text = __player.score;
playerScore_mc.rank.text = calculatePlayerRank();
}
}
function populateTable() {
var c = ((__page - 1) * __SCORES_PER_PAGE);
var loop = 1;
while (loop <= __SCORES_PER_PAGE) {
if (__scores[c].name != "") {
eval ((this + ".hs_") + loop).rank.text = ((__page - 1) * 10) + loop;
eval ((this + ".hs_") + loop).name.text = __scores[c].name;
eval ((this + ".hs_") + loop).score.text = __scores[c].score;
} else {
eval ((this + ".hs_") + loop).rank.text = "";
eval ((this + ".hs_") + loop).name.text = "";
eval ((this + ".hs_") + loop).score.text = "";
}
loop++;
c++;
}
pagination_txt.text = (__page + " of ") + __totalPages;
if (__totalPages < 1) {
__totalPages = 1;
}
}
function emptyTable() {
playerScore_mc._visible = false;
var loop = 1;
while (loop <= __SCORES_PER_PAGE) {
eval ((this + ".hs_") + loop).rank.text = "";
eval ((this + ".hs_") + loop).name.text = "";
eval ((this + ".hs_") + loop).score.text = "";
loop++;
}
pagination_txt.text = "";
}
function nextPage() {
__page++;
if (__page > __totalPages) {
__page = 1;
}
populateTable();
}
function prevPage() {
__page--;
if (__page < 1) {
__page = __totalPages;
}
populateTable();
}
var __SCORES_PER_PAGE = 10;
}
Symbol 641 MovieClip [__Packages.smashing.keithm.BaseEngine] Frame 0
class smashing.keithm.BaseEngine extends MovieClip
{
var __gameStartTime, __interval, isPaused, mouse, key;
function BaseEngine () {
super();
}
function init() {
__gameStartTime = getTimer();
__initInterval();
__initSounds();
__initGameState();
__initUI();
__initViewport();
__initMouse();
__initKey();
smashing.keithm.Messenger.registerAddress("engine", this);
}
function __initInterval() {
__interval = new smashing.IntervalEngine(this, "update");
__interval.startFast();
}
function __initSounds() {
}
function __initGameState() {
}
function __initUI() {
}
function __initViewport() {
}
function update(dt) {
}
function pause() {
isPaused = true;
}
function unpause() {
isPaused = false;
}
function onQuit() {
stopAllSounds();
destroy();
}
function destroy() {
__interval.clear();
__clearMouse();
__clearKey();
}
function __initMouse() {
mouse = {};
mouse.owner = this;
Mouse.addListener(mouse);
}
function __clearMouse() {
Mouse.removeListener(mouse);
}
function mouse_up() {
}
function mouse_down() {
}
function __initKey() {
key = {};
key.owner = this;
Key.addListener(key);
}
function __clearKey() {
Key.removeListener(key);
}
function key_down() {
}
function key_up() {
}
function onMessageReceived(message, args) {
this[message](args);
}
}
Symbol 642 MovieClip [__Packages.smashing.IntervalEngine] Frame 0
class smashing.IntervalEngine
{
var _uo, _uf, _update_interval, _last_update, _i, _ft, _el;
function IntervalEngine (update_object, update_function) {
_uo = update_object;
_uf = update_function;
}
function startFlat(FPS) {
_FPS = FPS;
_update_interval = 1 / FPS;
_last_update = getTimer() * 0.001;
_i = setInterval(this, "_flat_step", 0);
}
function startFlex() {
_last_update = getTimer() * 0.001;
_i = setInterval(this, "_flex_step", 0);
}
function startFast() {
_last_update = getTimer();
_i = setInterval(this, "_fast_step", 10);
}
function reset(Void) {
if (_i != undefined) {
clearInterval(_i);
}
_ft = 0;
_last_update = getTimer() * 0.001;
_lel = _MAX_FRAMETIME / 2;
}
function _flex_step(Void) {
_el = Math.min(_MAX_FRAMETIME, (-_last_update) + ((_last_update = getTimer() * 0.001)));
_lel = _lel - Math.max(-_MAX_TIMEDIFF, Math.min(_MAX_TIMEDIFF, _lel - _el));
_uo[_uf](_lel);
}
function _flat_step(Void) {
_ft = _ft + ((-_last_update) + ((_last_update = getTimer() * 0.001)));
if (_ft < _update_interval) {
return(undefined);
}
_uo[_uf](_ft);
_ft = 0;
}
function _fast_step(Void) {
_el = (-_last_update) + ((_last_update = getTimer()));
_uo[_uf](_el * 0.001);
}
function clear() {
clearInterval(_i);
}
var _MAX_TIMEDIFF = 0.005;
var _MIN_FPS = 5;
var _MAX_FRAMETIME = 1 / smashing.IntervalEngine.prototype._MIN_FPS;
var _lel = 0.2;
var _FPS = 0;
}
Symbol 643 MovieClip [__Packages.nick.meatyTreasures.Engine] Frame 0
class nick.meatyTreasures.Engine extends smashing.keithm.BaseEngine
{
var activeWorld, __UI, __sounds, __interval, viewport_mc, __state, isPaused, bg_distance, popup_mc, dimmer_mc, win_mc, __nextAction, help_mc, menu_mc, lineout_mc, mouse, key, __gameStartTime;
function Engine () {
super();
}
function init() {
super.init();
activeWorld = new nick.meatyTreasures.World();
activeWorld.init(this);
nick.highscores.HighscoreEngine.init();
pause();
__UI.goScreen("splash");
__sounds.playSound("intro");
}
function __initInterval() {
__interval = new smashing.IntervalEngine(this, "update");
__interval.startFast();
}
function __initSounds() {
nick.meatyTreasures.Sounds.init();
__sounds = nick.meatyTreasures.Sounds.getInstance();
__sounds.generateSounds(viewport_mc);
__sounds.muteMusic = false;
}
function __initGameState() {
nick.meatyTreasures.GameState.init();
__state = nick.meatyTreasures.GameState.getInstance();
}
function __initUI() {
nick.meatyTreasures.ui.UI.init();
__UI = nick.meatyTreasures.ui.UI.getInstance();
__UI.linkEngine(this);
__UI.reset();
}
function __initViewport() {
smashing.keithm.Viewport.init(viewport_mc, 2, nick.meatyTreasures.GameState.getInstance());
var _local2 = smashing.keithm.Viewport.getInstance();
_local2.setScrollport(1);
_local2.createGroup({name:"bg", index:0, slots:10, scrollport:true});
_local2.createGroup({name:"line", index:1, slots:1});
_local2.createGroup({name:"hook", index:2, slots:1});
_local2.createGroup({name:"food", index:3, slots:500});
_local2.createGroup({name:"foreground", index:4, slots:200});
_local2.createGroup({name:"walls", index:5, slots:200});
_local2.reset();
nick.meatyTreasures.GameCamera.init();
}
function update(dt) {
if (!isPaused) {
activeWorld.update(dt);
}
__UI.update(dt);
updateAfterEvent();
}
function startGame() {
__state.reset();
startLevel();
__sounds.stopSound("intro");
__sounds.stopSound("outro");
}
function startLevel() {
__UI.goScreen("gameplay");
activeWorld.generate(new nick.meatyTreasures.levels.LevelData(), bg_distance);
smashing.keithm.Viewport.getInstance().newView();
activeWorld.start();
unpause();
}
function nextLevel() {
__state.nextLevel();
startLevel();
smashing.keithm.Messenger.sendMessage("screen", "menuOff");
}
function clear() {
activeWorld.clear();
smashing.keithm.Viewport.getInstance().newView();
}
function destroy() {
__interval.clear();
__clearMouse();
__clearKey();
}
function clickSoundToggle() {
__sounds.toggleMusic();
updateMuteButtonOnMenu();
}
function onFoodCaught(t_data) {
pause();
popup_mc.gotoAndPlay("on");
popup_mc.contents_mc.gotoAndStop(t_data.food.FRAME);
if (!__state.isDoubleScore) {
popup_mc.contents_mc.double_mc._visible = false;
}
if (t_data.food.FRAME == "mystery") {
popup_mc.contents_mc.special_mc.gotoAndPlay(t_data.food.specialEffect);
if (t_data.food.specialEffect == "bonus") {
popup_mc.contents_mc.special_mc.score = t_data.food.grossValue;
popup_mc.contents_mc.special_mc.doDouble = __state.isDoubleScore;
}
} else {
popup_mc.contents_mc.score_txt.text = t_data.food.grossValue;
}
smashing.keithm.Messenger.sendMessage("screen", "menuOn");
__state.addFoodItem(t_data.food);
}
function onRecast() {
if (__state.lives > 0) {
startLevel();
smashing.keithm.Messenger.sendMessage("screen", "menuOff");
} else {
onLevelDone();
}
}
function pause() {
super.pause();
__sounds.onPause();
if (dimmer_mc._currentframe < 3) {
dimmer_mc.gotoAndPlay("on");
}
__sounds.stopMusic();
activeWorld.turboOff();
}
function unpause() {
super.unpause();
if (dimmer_mc._currentframe > 2) {
dimmer_mc.gotoAndPlay("off");
}
__sounds.playMusic();
}
function gameOver() {
__sounds.stopReelIn();
__sounds.playSound("outro");
__UI.goScreen("gameover");
}
function onLevelDone() {
__UI.update(0);
smashing.keithm.Messenger.sendMessage("screen", "menuOn");
pause();
win_mc.gotoAndPlay("intro");
var _local2 = __state.caughtFood.length;
while (_local2--) {
populateItemData(win_mc.levelend_mc["item_" + _local2], __state.caughtFood[_local2]);
}
win_mc.levelend_mc.levelscore_txt.text = __state.levelScore;
win_mc.levelend_mc.score_txt.text = __state.score;
if (__state.score >= __state.goal) {
win_mc.levelend_mc.txt_goal.text = "goal met!";
win_mc.levelend_mc.btn_close._visible = false;
__nextAction = "nextLevel";
} else {
win_mc.levelend_mc.txt_goal.text = "goal missed!";
win_mc.levelend_mc.btn_next._visible = false;
__nextAction = "gameOver";
}
}
function showHelp() {
pause();
help_mc.gotoAndPlay("intro");
}
function forwardToHelp() {
showHelp();
__nextAction = "returnToMenu";
}
function clickGameHelp() {
menu_mc.gotoAndPlay("outro");
__nextAction = "forwardToHelp";
}
function clickSplashHelp() {
startGame();
smashing.keithm.Messenger.sendMessage("screen", "menuOn");
update(0);
showHelp();
__nextAction = "closeSplashHelp";
}
function closeSplashHelp() {
smashing.keithm.Messenger.sendMessage("screen", "menuOff");
unpause();
}
function clickMenu() {
if (menu_mc._currentFrame > 2) {
return(undefined);
}
pause();
menu_mc.gotoAndPlay("intro");
smashing.keithm.Messenger.sendMessage("screen", "menuOn");
__nextAction = "onCloseMenu";
}
function updateMuteButtonOnMenu() {
if (__sounds.muteMusic) {
menu_mc.window_mc.sound_btn.gotoAndStop("on");
} else {
menu_mc.window_mc.sound_btn.gotoAndStop("off");
}
}
function returnToMenu() {
menu_mc.gotoAndPlay("intro");
__nextAction = "onCloseMenu";
}
function onCloseMenu() {
unpause();
smashing.keithm.Messenger.sendMessage("screen", "menuOff");
}
function clickQuit() {
pause();
gameOver();
}
function showLineOut() {
lineout_mc.gotoAndPlay("play");
}
function clickCloseHighscore() {
__UI.goScreen("splash");
}
function clickViewHighscore() {
__UI.goScreen("viewHighscore");
}
function clickSubmitHighscore() {
__UI.goScreen("sendHighscore");
}
function onPopupClosed() {
if (__nextAction == "") {
return(undefined);
}
this[__nextAction]();
}
function updateHelpCloseButton() {
if (__nextAction == "returnToMenu") {
help_mc.window_mc.btn_close.gotoAndStop("menu");
}
}
function populateItemData(t_mc, t_data) {
t_mc.gotoAndStop(t_data.FRAME);
if (t_data.grossValue == 0) {
t_mc.txt_score.text = "00";
} else {
t_mc.txt_score.text = t_data.grossValue;
}
if (!t_data.isDoubled) {
t_mc.double_mc._visible = false;
}
}
function __initMouse() {
mouse = {};
mouse.owner = this;
mouse.onMouseUp = function () {
this.owner.mouse_up();
};
mouse.onMouseDown = function () {
this.owner.mouse_down();
};
Mouse.addListener(mouse);
}
function __clearMouse() {
Mouse.removeListener(mouse);
}
function mouse_up() {
if (!isPaused) {
activeWorld.turboOff();
}
}
function mouse_down() {
if (!isPaused) {
activeWorld.turboOn();
}
}
function __initKey() {
key = {};
key.owner = this;
key.onKeyDown = function () {
this.owner.key_down();
};
Key.addListener(key);
}
function __clearKey() {
Key.removeListener(key);
}
function key_down() {
if (isPaused) {
return(undefined);
}
if (Key.getCode() == 77) {
clickMenu();
}
}
function get gameStartTime() {
return(__gameStartTime);
}
function isMusicMuted() {
return(__sounds.muteMusic);
}
var __STARTLEVEL = 0;
}
Symbol 644 MovieClip [__Packages.nick.meatyTreasures.World] Frame 0
class nick.meatyTreasures.World
{
var engine, __state, __bg, __walls, __line, __entitys, __effects, __pickups, __player, loop, __camera, __distantDarkness, __maxDepth;
function World (t_engine) {
}
function init(t_engine) {
engine = t_engine;
__state = nick.meatyTreasures.GameState.getInstance();
smashing.keithm.Messenger.registerAddress("world", this);
}
function start() {
__bg.updateDraw();
__walls.updateDraw();
__line.updateDraw();
nick.meatyTreasures.Sounds.getInstance().playSound("cast");
}
function clear() {
__entitys = [];
__effects = [];
__pickups = [];
}
function update(dt) {
if (dt > 0.2) {
dt = 0.2;
}
__player.updateMoveAndRender(dt);
__line.updateMoveAndRender(__player);
var _local2;
loop = __entitys.length;
while (loop--) {
_local2 = __entitys[loop];
_local2.updateDraw();
if (_local2.isDrawn) {
_local2.update(dt);
if (__player.runHD(_local2, dt)) {
_local2.hitReact(__player);
__player.hitReact(_local2);
}
_local2.moveAndRender(dt);
if (_local2.doRemove) {
__entitys.splice(loop, 1);
}
}
}
__bg.updateMoveAndRender(dt, __camera.y);
__walls.updateMoveAndRender(dt, __camera.y);
__camera.update(dt, __player);
__distantDarkness.gotoAndStop(Math.floor(100 * (__camera.y / 10000)));
}
function brakeOn() {
__player.brakeOn();
}
function brakeOff() {
__player.brakeOff();
}
function turboOn() {
__player.turboOn();
}
function turboOff() {
__player.turboOff();
}
function recast() {
__player.requestErase();
__player = new nick.meatyTreasures.ents.Player({y:0, x:360, maxDepth:__maxDepth, owner:this});
nick.meatyTreasures.Sounds.getInstance().playSound("cast");
}
function generate(ldata, distance_mc) {
clear();
__maxDepth = ldata.maxDepth;
__camera = nick.meatyTreasures.GameCamera.getInstance();
__camera.generate();
__player = new nick.meatyTreasures.ents.Player({y:0, x:360, maxDepth:__maxDepth, owner:this});
__line = new nick.meatyTreasures.ents.Line({owner:this});
__entitys = [];
loop = ldata.entitys.length;
while (loop--) {
__entitys.push(generateFood(ldata.entitys[loop]));
}
__bg = new nick.meatyTreasures.ents.Bg({x:0, y:0, owner:this});
__walls = new nick.meatyTreasures.ents.Walls({x:0, y:0, owner:this});
__distantDarkness = distance_mc;
}
function generateFood(fdata) {
fdata.owner = this;
switch (fdata.type) {
case "nugget" :
return(new nick.meatyTreasures.ents.food.Nugget(fdata));
case "fry" :
return(new nick.meatyTreasures.ents.food.Fry(fdata));
case "sausage" :
return(new nick.meatyTreasures.ents.food.Sausage(fdata));
case "sock" :
return(new nick.meatyTreasures.ents.food.Sock(fdata));
case "rat" :
return(new nick.meatyTreasures.ents.food.Rat(fdata));
case "eye" :
return(new nick.meatyTreasures.ents.food.Eye(fdata));
case "fish" :
return(new nick.meatyTreasures.ents.food.Fish(fdata));
case "heart" :
return(new nick.meatyTreasures.ents.food.Heart(fdata));
case "finger" :
return(new nick.meatyTreasures.ents.food.Finger(fdata));
case "roach" :
return(new nick.meatyTreasures.ents.food.Roach(fdata));
case "snout" :
return(new nick.meatyTreasures.ents.food.Snout(fdata));
case "chicken" :
return(new nick.meatyTreasures.ents.food.Chicken(fdata));
case "tar" :
return(new nick.meatyTreasures.ents.food.Tar(fdata));
case "mystery" :
return(new nick.meatyTreasures.ents.food.Mystery(fdata));
}
}
function getPlayer() {
return(__player);
}
function get camera() {
return(__camera);
}
function onMessageReceived(message, args) {
this[message](args);
}
}
Symbol 645 MovieClip [__Packages.smashing.keithm.BaseCamera] Frame 0
class smashing.keithm.BaseCamera
{
static var __instance;
var __gameState, x, y, z, fl, farClip, __bound_left, __bound_right, __bound_top, __bound_bottom, left, right, top, bottom;
function BaseCamera (t_data) {
}
static function init(t_path, t_depth, dimensions) {
__instance = new smashing.keithm.BaseCamera(t_path, t_depth, dimensions);
}
static function getInstance() {
return(__instance);
}
function generate(t_data) {
__gameState = getGameState();
x = (y = (z = 0));
if (t_data.x != undefined) {
x = t_data.x;
}
if (t_data.y != undefined) {
y = t_data.y;
}
if (t_data.z != undefined) {
z = t_data.z;
}
fl = __FL_DEF;
farClip = __DEF_CLIP;
refreshEdges();
}
function getGameState() {
return(new Object());
}
function update(dt) {
}
function setBounds(left, right, top, bottom) {
__bound_left = left + __gameState.HALF_WIDTH;
__bound_right = right - __gameState.HALF_WIDTH;
__bound_top = top + __gameState.HALF_HEIGHT;
__bound_bottom = bottom - __gameState.HALF_HEIGHT;
}
function enforceBounds() {
if (x < __bound_left) {
x = __bound_left;
} else if (x > __bound_right) {
x = __bound_right;
}
if (y < __bound_top) {
y = __bound_top;
} else if (y > __bound_bottom) {
y = __bound_bottom;
}
}
function refreshEdges() {
left = x - __gameState.HALF_WIDTH;
right = x + __gameState.HALF_WIDTH;
top = y - __gameState.HALF_HEIGHT;
bottom = y + __gameState.HALF_HEIGHT;
}
function get sc() {
return(__gameState.sc);
}
function screenWidth() {
return(__gameState.SCREEN_WIDTH);
}
function screenHeight() {
return(__gameState.SCREEN_WIDTH);
}
function halfWidth() {
return(__gameState.HALF_WIDTH);
}
function halfHeight() {
return(__gameState.HALF_HEIGHT);
}
function toString() {
return((((("Camera : focus : " + x) + " , ") + y) + " , ") + z);
}
var __DEF_CLIP = 100000;
var __FL_DEF = 1000;
var __EDGE_PADDING = 50;
}
Symbol 646 MovieClip [__Packages.nick.meatyTreasures.GameCamera] Frame 0
class nick.meatyTreasures.GameCamera extends smashing.keithm.BaseCamera
{
static var __instance;
var x, y, __screenCenterY, __gameState;
function GameCamera () {
super();
}
static function init(t_path, t_depth, dimensions) {
__instance = new nick.meatyTreasures.GameCamera(t_path, t_depth, dimensions);
}
static function getInstance() {
return(__instance);
}
function getGameState() {
return(nick.meatyTreasures.GameState.getInstance());
}
function generate(t_data) {
super.generate(t_data);
x = 300;
y = (__screenCenterY = __gameState.HALF_HEIGHT);
}
function update(dt, player) {
var _local2 = player.y - y;
if (_local2 > __SCROLL_BOUNDARY) {
y = player.y - __SCROLL_BOUNDARY;
} else if ((_local2 < ((-__screenCenterY) + 30)) && (player.velocity.y < 0)) {
y = player.y + __screenCenterY;
}
if (y < 200) {
y = 200;
}
}
var __ENFORCE_BOUNDS = true;
var __SCROLL_BOUNDARY = -90;
var __SCROLL_RATE = 180;
}
Symbol 647 MovieClip [__Packages.nick.meatyTreasures.GameState] Frame 0
class nick.meatyTreasures.GameState
{
static var __instance;
var levelNum, score, levelScore, goal, lives, hasChanged, caughtFood, isDoubleScore;
function GameState () {
}
static function init() {
__instance = new nick.meatyTreasures.GameState();
}
static function getInstance() {
return(__instance);
}
function reset() {
levelNum = 1;
score = 0;
levelScore = 0;
goal = 30;
lives = 3;
hasChanged = false;
caughtFood = [];
}
function nextLevel() {
levelNum++;
goal = 30 + ((50 * (levelNum - 1)) + ((levelNum - 2) * 40));
if (levelNum > 10) {
goal = goal + (((levelNum - 9) * 30) + ((levelNum - 10) * 10));
}
lives = 3;
caughtFood = [];
levelScore = 0;
}
function addFoodItem(food) {
if ((food.FRAME == "mystery") && (food.specialEffect == "turn")) {
flagDoubleScore();
hasChanged = true;
return(undefined);
}
if (isDoubleScore) {
food.isDoubled = true;
}
caughtFood.push(food);
addScore(food.grossValue * (isDoubleScore ? 2 : 1));
lives--;
isDoubleScore = false;
hasChanged = true;
}
function flagDoubleScore() {
isDoubleScore = true;
}
function addScore(val) {
score = score + val;
levelScore = levelScore + val;
hasChanged = true;
}
var SCREEN_WIDTH = Stage.width;
var SCREEN_HEIGHT = Stage.height;
var HALF_WIDTH = Stage.width / 2;
var HALF_HEIGHT = Stage.height / 2;
var sc = {x:Stage.width / 2, y:Stage.height / 2};
var LEFT_BOUNDS = 165;
var RIGHT_BOUNDS = 560;
}
Symbol 648 MovieClip [__Packages.smashing.keithm.Renderable] Frame 0
class smashing.keithm.Renderable
{
var mc, baseWidth, baseHeight, hdWidth, hdHeight, radius, owner, assetID, startX, startY, startZ, __camera, x, nextX, y, nextY, z, nextZ, depthInfluence, flipH, doUpdate, threedScale, __onscreen, isDrawn, isAlive, isHidden, scale, startScale, hdReg;
function Renderable (t_data) {
mc = null;
baseWidth = __DEF_WIDTH;
baseHeight = __DEF_HEIGHT;
if (__USE_DIMENSIONS_AS_HD) {
hdWidth = baseWidth / 2;
hdHeight = baseHeight / 2;
radius = hdWidth;
} else {
hdWidth = __DEF_HD_WIDTH / 2;
hdHeight = __DEF_HD_HEIGHT / 2;
radius = hdWidth;
}
setHDRegistration();
init(t_data);
}
function init(t_data) {
if (t_data.owner == undefined) {
}
owner = t_data.owner;
if (t_data.asset == undefined) {
t_data.asset = __DEF_ASSET;
}
assetID = t_data.asset;
if (t_data.x == undefined) {
t_data.x = 0;
}
startX = t_data.x;
if (t_data.y == undefined) {
t_data.y = 0;
}
startY = t_data.y;
if (t_data.z == undefined) {
t_data.z = __DEF_Z;
}
startZ = t_data.z;
if (__camera != undefined) {
initScale();
}
x = (nextX = startX);
y = (nextY = startY);
z = (nextZ = startZ);
if (t_data.depthInfluence == undefined) {
t_data.depthInfluence = 0;
}
depthInfluence = t_data.depthInfluence;
if (t_data.flip != undefined) {
flip();
} else {
flipH = false;
}
doUpdate = __DO_UPDATE;
threedScale = __3D_SCALE;
__onscreen = false;
if (((mc == undefined) || (mc == null)) || (mc == "")) {
isDrawn = false;
}
isAlive = true;
isHidden = false;
}
function linkCamera(cam) {
__camera = cam;
if (startZ != undefined) {
initScale();
}
}
function onDraw(t_newmc) {
isDrawn = true;
mc = t_newmc;
if (isHidden) {
mc._visible = false;
}
if (__USE_ACTUAL_DIMENSIONS) {
baseWidth = mc._width;
baseHeight = mc._height;
setHDRegistration();
if (__USE_DIMENSIONS_AS_HD) {
hdWidth = baseWidth / 2;
hdHeight = baseHeight / 2;
radius = hdWidth;
}
}
if (flipH) {
mc._xscale = -100;
}
mc._x = -1000 - baseWidth;
mc._y = -1000 - baseHeight;
}
function update(dt) {
}
function move(dt) {
}
function moveAndRender(dt) {
}
function updateMoveAndRender(dt) {
}
function render(dt) {
updateDraw();
if (!isDrawn) {
return(undefined);
}
if (threedScale) {
if (z < __camera.z) {
return(undefined);
}
var _local2 = __camera.fl / (z - __camera.z);
if (scale != _local2) {
scale = _local2;
mc._xscale = (mc._yscale = 100 * (1 + (scale - startScale)));
if (flipH) {
mc._xscale = mc._xscale * -1;
}
}
}
mc._x = ((x - __camera.x) * scale) + __camera.__get__sc().x;
mc._y = ((y - __camera.y) * scale) + __camera.__get__sc().y;
}
function renderDirect(camera) {
mc._x = x;
mc._y = y;
}
function initScale() {
startScale = (scale = __camera.fl / (startZ - __camera.z));
}
function updateDraw() {
__onscreen = false;
if (CUSTOMDRAW) {
__onscreen = true;
} else if (z >= __camera.z) {
if (((Math.abs((x - __camera.x) * scale) < (__camera.__get__sc().x + baseWidth)) && (Math.abs((y - __camera.y) * scale) < (__camera.__get__sc().y + baseHeight))) && ((z - __camera.z) < __camera.farClip)) {
__onscreen = true;
}
}
if ((!isDrawn) && (__onscreen)) {
smashing.keithm.Viewport.getInstance().draw({element:this});
} else if (isDrawn && (!__onscreen)) {
requestErase();
}
}
function onErase(t_viewport) {
isDrawn = false;
mc = null;
}
function requestErase() {
smashing.keithm.Viewport.getInstance().erase({element:this});
}
function requestDepthSort() {
smashing.keithm.Viewport.getInstance().requestGroupDepthSort(getDrawType());
}
function requestDepthChange() {
smashing.keithm.Viewport.getInstance().requestDepthChange(this);
}
function deleteMe() {
}
function kill() {
isAlive = false;
}
function hide() {
if (isDrawn) {
mc._visible = false;
}
isHidden = true;
}
function show() {
if (isDrawn) {
mc._visible = true;
}
isHidden = false;
}
function flip() {
flipH = true;
if (isDrawn) {
mc._xscale = -100;
}
}
function unflip() {
flipH = false;
if (isDrawn) {
mc._xscale = 100;
}
}
function toggleFlip() {
if (flipH) {
unflip();
} else {
flip();
}
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = 0;
}
function runHD_entity_radius(t_target, dt) {
var _local4 = (nextX + hdReg.x) - (t_target.nextX + t_target.hdReg.x);
var _local3 = (nextY + hdReg.y) - (t_target.nextY + t_target.hdReg.y);
var _local5 = Math.sqrt((_local4 * _local4) + (_local3 * _local3));
if (_local5 <= (t_target.radius + radius)) {
return(true);
}
return(false);
}
function runHD_entity_box(t_target, dt) {
if (Math.abs((nextX + hdReg.x) - (t_target.nextX + t_target.hdReg.x)) < (hdWidth + t_target.hdWidth)) {
if (Math.abs((nextY + hdReg.y) - (t_target.nextY + t_target.hdReg.y)) < (hdHeight + t_target.hdHeight)) {
return(true);
}
}
return(false);
}
function runHD_entity_3D(t_target, dt) {
var _local3 = z - t_target.z;
var _local2 = (nextZ + radius) - t_target.z;
if ((_local3 * _local2) <= 0) {
return(runHD_entity_radius(t_target, dt));
}
return(false);
}
function runHD_line_sphere(t_lineStart, t_lineEnd, dt) {
var _local4 = new smashing.Point3D(t_lineStart.x, t_lineStart.y, 0);
var _local3 = new smashing.Point3D(t_lineEnd.x, t_lineEnd.y, 0);
var _local6 = _local4.x - _local3.x;
var _local7 = _local4.y - _local3.y;
var _local2 = getLineSeperation(_local3, {x:x, y:y}, _local6, _local7);
var _local5;
if (_local2.distance <= radius) {
_local5 = new smashing.Point3D(x + _local2.xSeparation, y + _local2.ySeparation);
return(true);
}
_local5.x = (_local5.y = 0);
return(false);
}
function runHD_line_sphere_complex(t_lineStart, t_lineEnd, dt) {
var _local5 = new smashing.Point3D(t_lineStart.x, t_lineStart.y, 0);
var _local7 = new smashing.Point3D(t_lineEnd.x, t_lineEnd.y, 0);
var _local8;
var _local16 = getDistBetween(_local5, {x:x, y:y});
var _local15 = getDistBetween(_local7, {x:x, y:y});
var _local11 = getDistBetween(_local5, _local7);
var _local4 = new smashing.Point3D(_local5.x, _local5.y);
var _local9 = new smashing.Point3D(_local7.x, _local7.y);
var _local12 = _local9.x - _local4.x;
var _local13 = _local9.y - _local4.y;
var _local3 = _local12 / _local11;
var _local2 = _local13 / _local11;
var _local10;
_local4.subtractScalarMe(_local3 * radius, _local2 * radius);
_local9.addScalarMe(_local3 * radius, _local2 * radius);
var _local6 = getLineSeperation(_local5, {x:x, y:y}, _local12, _local13);
_local12 = _local9.x - _local4.x;
_local13 = _local9.y - _local4.y;
var _local14 = getLineSeperation(_local4, {x:x, y:y}, _local12, _local13);
if (_local6.distance <= radius) {
if (_local15 > _local11) {
_local8 = Math.sqrt((radius * radius) - (_local14.distance * _local14.distance));
_local3 = _local3 * _local8;
_local2 = _local2 * _local8;
(x + _local14.xSeparation) + _local3;
_local10 = (y + _local14.ySeparation) + _local2;
} else {
_local8 = Math.sqrt((radius * radius) - (_local6.distance * _local6.distance));
_local3 = _local3 * _local8;
_local2 = _local2 * _local8;
(x + _local6.xSeparation) + _local3;
_local10 = (y + _local6.ySeparation) + _local2;
if (getDistBetween(_local5, _local10) >= _local11) {
_local10.copy(_local7);
}
}
return(true);
}
_local10.x = (_local10.y = 0);
return(false);
}
function getLineSeperation(p0, s, dx, dy) {
var _local1 = new Object();
var _local5 = p0.x - s.x;
var _local6 = p0.y - s.y;
var _local7 = (dx * dx) + (dy * dy);
var _local2 = (-((_local5 * dx) + (_local6 * dy))) / _local7;
_local2 = Math.min(Math.max(_local2, 0), 1);
_local1.xSeparation = _local5 + (_local2 * dx);
_local1.ySeparation = _local6 + (_local2 * dy);
_local1.distance = Math.sqrt((_local1.xSeparation * _local1.xSeparation) + (_local1.ySeparation * _local1.ySeparation));
return(_local1);
}
function getDistBetween(p0, p1) {
return(Math.sqrt((p1.x - p0.x) * (p1.x - p0.x)) + ((p1.y - p0.y) * (p1.y - p0.y)));
}
function hitReact(t_source) {
}
function getDrawType() {
return(DRAWTYPE);
}
function animate(t_frame, t_subFrame) {
mc.gotoAndStop(t_frame);
if (t_subFrame != undefined) {
mc.anim.gotoAndStop(t_subFrame);
}
}
function toString() {
return("Renderable: " + TYPE);
}
function drawHitBox() {
var _local3 = hdReg.x;
var _local4 = hdReg.y;
var _local2 = mc.createEmptyMovieClip("hitbox", 1);
_local2.beginFill(16751103, 50);
_local2.lineStyle(2, 16751103, 100);
_local2.moveTo(_local3 - hdWidth, _local4 - hdHeight);
_local2.lineTo(_local3 + hdWidth, _local4 - hdHeight);
_local2.lineTo(_local3 + hdWidth, _local4 + hdHeight);
_local2.lineTo(_local3 - hdWidth, _local4 + hdHeight);
_local2.lineTo(_local3 - hdWidth, _local4 - hdHeight);
_local2.endFill();
}
function drawReg() {
var _local2 = mc.createEmptyMovieClip("hitbox", 1);
_local2.beginFill(16751103, 50);
_local2.lineStyle(2, 16751103, 100);
_local2.moveTo(-5, -5);
_local2.lineTo(5, -5);
_local2.lineTo(5, 5);
_local2.lineTo(-5, 5);
_local2.lineTo(-5, -5);
}
var TYPE = "element";
var DRAWTYPE = "element";
var __DEF_ASSET = "";
var __DEF_Z = 1000;
var __3D_SCALE = false;
var __DEF_WIDTH = 50;
var __DEF_HEIGHT = 50;
var __USE_ACTUAL_DIMENSIONS = true;
var CUSTOMDRAW = false;
var __DEF_HD_WIDTH = 25;
var __DEF_HD_HEIGHT = 25;
var __USE_DIMENSIONS_AS_HD = true;
var __DO_UPDATE = true;
}
Symbol 649 MovieClip [__Packages.smashing.keithm.Viewport] Frame 0
class smashing.keithm.Viewport
{
static var __a_groups, __o_groups, __dimensions, __viewportPath, __viewportDepth, __useScrollport, __instance, __scrollportDepth, mc, scrollmc;
function Viewport (t_path, t_depth, dimensions) {
__a_groups = [];
__o_groups = {};
__dimensions = dimensions;
__viewportPath = t_path;
__viewportDepth = t_depth;
__useScrollport = false;
}
static function init(t_path, t_depth, dimensions) {
__instance = new smashing.keithm.Viewport(t_path, t_depth, dimensions);
}
static function getInstance() {
return(__instance);
}
function setScrollport(t_depth) {
__useScrollport = true;
__scrollportDepth = t_depth;
}
function reset() {
var _local6 = __a_groups.length;
var _local2;
var _local5 = [];
var _local3 = 0;
while (_local5.length < _local6) {
_local2 = __a_groups.length;
while (_local2--) {
if (__a_groups[_local2].index < __a_groups[_local3].index) {
_local3 = _local2;
}
}
_local5.push(__a_groups[_local3]);
__a_groups.splice(_local3, 1);
}
__a_groups = _local5;
var _local4 = __defaultMCDepth;
_local2 = 0;
while (_local2 < __a_groups.length) {
_local4 = __a_groups[_local2].init(_local4);
_local4++;
_local2++;
}
newView();
}
function newView() {
var _local1 = __a_groups.length;
while (_local1--) {
__a_groups[_local1].reset();
}
if (mc != undefined) {
mc.removeMovieClip();
}
mc = __viewportPath.createEmptyMovieClip("viewport" + __viewportDepth, __viewportDepth);
if (__useScrollport) {
if (scrollmc != undefined) {
scrollmc.removeMovieClip();
}
scrollmc = __viewportPath.createEmptyMovieClip("scrollport" + __scrollportDepth, __scrollportDepth);
scrollmc.scrollRect = new flash.geom.Rectangle(0, 0, __dimensions.SCREEN_WIDTH + 1, __dimensions.SCREEN_HEIGHT);
}
}
function clearGroup(t_group) {
var _local2 = __o_groups[t_group].mcs;
while (_local2.length > 0) {
__eraseAsset(_local2[0].mc, t_group);
}
}
function draw(t_data) {
var _local4;
if (t_data.element != undefined) {
var _local3 = t_data.element;
_local4 = __drawElement(_local3);
if (_local4 != undefined) {
_local3.onDraw(_local4, getInstance());
// unexpected jump
}
return(undefined);
}
if (t_data.assetID == "_empty") {
return(__drawEmpty(t_data.groupName, t_data.depth + t_data.depthInfluence));
}
return(__drawAsset(t_data.assetID, t_data.groupName, t_data.depth + t_data.depthInfluence));
}
function erase(t_data) {
if (t_data.element != undefined) {
__eraseAsset(t_data.element.mc, t_data.element.getDrawType());
t_data.element.onErase(getInstance());
} else {
__eraseAsset(t_data.mc, t_data.groupName);
}
}
function createGroup(t_data) {
__a_groups.push((__o_groups[t_data.name] = new smashing.keithm.ViewportGroup(t_data)));
}
function requestGroupDepthSort(t_group) {
__o_groups[t_group].requestDepthSort();
}
function requestDepthChange(t_element) {
__o_groups[t_element.getDrawType()].requestDepthChange(t_element);
}
function __drawElement(t_element) {
var _local5;
var _local2 = __o_groups[t_element.getDrawType()];
var _local7 = _local2.getDepth(t_element[_local2.sortAxis] + t_element.depthInfluence);
var _local3 = mc;
if (_local2.scrollport) {
_local3 = scrollmc;
}
if (t_element.assetID == "_empty") {
var _local4 = _local3.createEmptyMovieClip(t_element.getDrawType() + _local7, _local7);
} else {
var _local4 = _local3.attachMovie(t_element.assetID, t_element.assetID + _local7, _local7);
}
_local2.mcs.push({mc:_local4, depth:_local7});
_local5.initScale();
return(_local4);
}
function __drawAsset(t_asset, t_groupName, t_depth) {
var _local1 = __o_groups[t_groupName];
var _local6 = _local1.getDepth(t_depth);
var _local3 = mc;
if (_local1.scrollport) {
_local3 = scrollmc;
}
var _local2 = _local3.attachMovie(t_asset, t_asset + _local6, _local6);
_local1.mcs.push({mc:_local2, depth:_local6});
return(_local2);
}
function __drawEmpty(t_groupName, t_depth) {
var _local3 = __o_groups[t_groupName];
var _local6 = _local3.getDepth(t_depth);
var _local2 = mc;
if (_local3.scrollport) {
_local2 = scrollmc;
}
var _local1 = _local2.createEmptyMovieClip(t_groupName + _local6, _local6);
__o_groups[t_groupName].mcs.push({mc:_local1, depth:_local6});
return(_local1);
}
function __eraseAsset(t_mc, t_groupName) {
var _local2 = __o_groups[t_groupName];
var _local1 = _local2.mcs.length;
while (_local1--) {
if (_local2.mcs[_local1].mc == t_mc) {
_local2.mcs[_local1].mc.removeMovieClip();
_local2.mcs.splice(_local1, 1);
return(undefined);
}
}
}
function toString() {
return("Viewport exists");
}
static var __defaultMCDepth = 100;
}
Symbol 650 MovieClip [__Packages.smashing.keithm.ViewportGroup] Frame 0
class smashing.keithm.ViewportGroup
{
var name, mcs, index, numSlots, sortAxis, ascending, reverse, scrollport, min, max, current, isSearching, loop;
function ViewportGroup (t_data) {
name = t_data.name;
mcs = [];
index = t_data.index;
numSlots = t_data.slots;
if (t_data.sortAxis == undefined) {
t_data.sortAxis = "";
}
sortAxis = t_data.sortAxis;
if ((sortAxis != "") && (numSlots < 10000)) {
numSlots = 10000;
}
if (t_data.ascending == undefined) {
t_data.ascending = false;
}
ascending = t_data.ascending;
if (t_data.reverse == undefined) {
t_data.reverse = false;
}
reverse = t_data.reverse;
if (t_data.scrollport == undefined) {
t_data.scrollport = false;
}
scrollport = t_data.scrollport;
}
function init(t_depth) {
min = t_depth;
max = t_depth + numSlots;
reset();
return(max);
}
function reset() {
mcs = [];
if (reverse) {
current = max;
} else {
current = min;
}
}
function requestDepthChange(t_element) {
t_element.mc.swapDepths(__getChangedDepth(t_element));
}
function requestDepthSort() {
}
function getDepth(t_depth) {
if (sortAxis != "") {
return(__getNewDepth(t_depth));
}
increment();
return(current);
}
function increment() {
isSearching = true;
while (isSearching) {
if (reverse) {
current--;
if (current < min) {
current = max;
}
} else {
current++;
if (current > max) {
current = min;
}
}
isSearching = false;
loop = mcs.length;
while (loop--) {
if (mcs[loop].depth == current) {
isSearching = true;
loop = 0;
}
}
}
}
function __getNewDepth(depth) {
if (depth < 0) {
return(undefined);
}
if (ascending) {
depth = min + Math.ceil(depth);
} else {
depth = max - Math.ceil(depth);
}
loop = mcs.length;
while (loop--) {
if (mcs[loop].depth == depth) {
if (ascending) {
depth++;
} else {
depth--;
}
loop = mcs.length;
}
}
return(depth);
}
function __getChangedDepth(t_element) {
var _local2 = Math.ceil(t_element[sortAxis]);
if (_local2 < 0) {
return(undefined);
}
if (ascending) {
_local2 = min + _local2;
} else {
_local2 = max - _local2;
}
var _local3 = -1;
loop = mcs.length;
while (loop--) {
if (mcs[loop].mc == t_element.mc) {
_local3 = loop;
} else if (mcs[loop].depth == _local2) {
if (ascending) {
_local2++;
} else {
_local2--;
}
loop = mcs.length;
}
}
mcs[_local3].depth = _local2;
return(_local2);
}
}
Symbol 651 MovieClip [__Packages.smashing.Point3D] Frame 0
class smashing.Point3D
{
var x, y, z;
function Point3D (x, y, z) {
this.x = Number(x);
this.y = Number(y);
this.z = Number(z);
}
function get length() {
return(Math.sqrt(((x * x) + (y * y)) + (z * z)));
}
function set length(newLength) {
if (length != 0) {
var _local2 = newLength / length;
x = x * _local2;
y = y * _local2;
z = z * _local2;
}
//return(length);
}
function get lengthSqu() {
return(((x * x) + (y * y)) + (z * z));
}
function copy() {
return(new smashing.Point3D(x, y, z));
}
function addPoint(p) {
return(new smashing.Point3D(p.x + x, p.y + y, p.z + z));
}
function subtractPoint(p) {
return(new smashing.Point3D(x - p.x, y - p.y, z - p.z));
}
function addScalar(n) {
return(new smashing.Point3D(x + n, y + n, z + n));
}
function subtractScalar(n) {
return(new smashing.Point3D(x - n, y - n, z - n));
}
function addPointMe(p) {
x = x + p.x;
y = y + p.y;
z = z + p.z;
}
function subtractPointMe(p) {
x = x - p.x;
y = y - p.y;
z = z - p.z;
}
function addScalarMe(n) {
x = x + n;
y = y + n;
z = z + n;
}
function subtractScalarMe(n) {
x = x - n;
y = y - n;
z = z - n;
}
function multiply(n) {
var _local2 = copy();
_local2.x = _local2.x * n;
_local2.y = _local2.y * n;
_local2.z = _local2.z * n;
return(_local2);
}
function divide(n) {
var _local2 = copy();
if (n == 0) {
_local2.x = 0;
_local2.y = 0;
_local2.z = 0;
return(undefined);
}
_local2.x = _local2.x / n;
_local2.y = _local2.y / n;
_local2.z = _local2.z / n;
return(_local2);
}
function multiplyMe(n) {
x = x * n;
y = y * n;
z = z * n;
}
function divideMe(n) {
x = x / n;
y = y / n;
z = z / n;
}
function dot(p) {
return(((x * p.x) + (y * p.y)) + (z * p.z));
}
function cross(p) {
return(new smashing.Point3D((y * p.z) - (z * p.y), (z * p.x) - (x * p.z), (x * p.y) - (y * p.x)));
}
function pseudoCross() {
return(new smashing.Point3D(y, -x, z));
}
function normalize() {
if (((!x) && (!y)) && (!z)) {
return(undefined);
}
var _local2 = length;
return(new smashing.Point3D(x / _local2, y / _local2, z / _local2));
}
function normalizeMe() {
if ((!x) && (!y)) {
return(undefined);
}
var _local2 = length;
x = x / _local2;
y = y / _local2;
z = z / _local2;
}
function reverse() {
var _local2 = new smashing.Point3D(x * -1, y * -1, z * -1);
return(_local2);
}
function reverseMe() {
x = x * -1;
y = y * -1;
z = z * -1;
}
function findCosine(vOther) {
var _local3 = dot(vOther);
var _local4 = length * vOther.__get__length();
var _local2 = _local3 / _local4;
return(_local2);
}
function equals(p) {
if (((x == p.x) && (y == p.y)) && (z == p.z)) {
return(true);
}
return(false);
}
function zero() {
x = 0;
y = 0;
z = 0;
}
function distSqu(p) {
var _local4 = p.x - x;
var _local3 = p.y - y;
var _local2 = p.z - z;
return(((_local4 * _local4) + (_local3 * _local3)) + (_local2 * _local2));
}
function toString() {
var _local2 = ((((("Point3D (" + x) + ",") + y) + ",") + z) + ")";
return(_local2);
}
}
Symbol 652 MovieClip [__Packages.nick.meatyTreasures.GameRenderable] Frame 0
class nick.meatyTreasures.GameRenderable extends smashing.keithm.Renderable
{
var linkCamera;
function GameRenderable (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
linkCamera(nick.meatyTreasures.GameCamera.getInstance());
}
}
Symbol 653 MovieClip [__Packages.nick.meatyTreasures.ents.Entity] Frame 0
class nick.meatyTreasures.ents.Entity extends nick.meatyTreasures.GameRenderable
{
var startSpin, startVelocity, owner, startGravity, doRemove, velocity, gravityVector, rotation, spin, isSpinning, __leftBounds, __rightBounds, __animation, kill, requestErase, isAlive, hdWidth, hdReg, nextX, hdHeight, nextY, x, y, nextZ, z, mc, __isAnimating, DRAWTYPE, specialDepth;
function Entity (t_data) {
super(t_data);
}
function init(t_data) {
if (t_data.spin != undefined) {
startSpin = t_data.spin;
} else {
startSpin = 0;
}
if (t_data.vel != undefined) {
startVelocity = t_data.vel;
} else {
startVelocity = new smashing.Point3D(0, 0, 0);
}
if (owner.gravity != undefined) {
startGravity = owner.gravity;
} else {
startGravity = new smashing.Point3D(0, 0, 0);
}
doRemove = false;
super.init(t_data);
velocity = startVelocity.copy();
gravityVector = startGravity.copy();
rotation = 0;
spin = startSpin;
if (startSpin == 0) {
isSpinning = false;
} else {
isSpinning = true;
}
__leftBounds = nick.meatyTreasures.GameState.getInstance().LEFT_BOUNDS;
__rightBounds = nick.meatyTreasures.GameState.getInstance().RIGHT_BOUNDS;
__animation = __IDLE_ANIMATION;
}
function startDie() {
kill();
animate(__DEATH_ANIMATION);
if (__USES_VELOCITY) {
velocity.x = (velocity.y = 0);
}
}
function endDie() {
requestErase();
}
function onErase() {
super.onErase();
}
function updateDraw() {
if (doRemove || (!isAlive)) {
return(undefined);
}
super.updateDraw();
}
function runHD(t_target, dt) {
if (!(isAlive && (t_target.isAlive))) {
return(false);
}
if (Math.abs((nextX + hdReg.x) - (t_target.nextX + t_target.hdReg.x)) < (hdWidth + t_target.hdWidth)) {
if (Math.abs((nextY + hdReg.y) - (t_target.nextY + t_target.hdReg.y)) < (hdHeight + t_target.hdHeight)) {
return(true);
}
}
return(false);
}
function hitReact(t_source) {
}
function onDraw(t_newmc) {
super.onDraw(t_newmc);
animateLoop(__IDLE_ANIMATION);
}
function update(dt) {
updateAnim();
if (__USES_VELOCITY) {
nextX = x + (velocity.x * dt);
nextY = y + (velocity.y * dt);
nextZ = z + (velocity.z * dt);
}
}
function move(dt) {
if (__USES_VELOCITY) {
x = x + (velocity.x * dt);
y = y + (velocity.y * dt);
z = z + (velocity.z * dt);
}
}
function render(dt) {
super.render(dt);
}
function moveAndRender(dt) {
if (__USES_VELOCITY) {
nextX = (x = x + (velocity.x * dt));
nextY = (y = y + (velocity.y * dt));
nextZ = (z = z + (velocity.z * dt));
} else {
x = nextX;
y = nextY;
z = nextZ;
}
render(dt);
}
function updateMoveAndRender(dt) {
updateAnim();
if (__USES_VELOCITY) {
nextX = (x = x + (velocity.x * dt));
nextY = (y = y + (velocity.y * dt));
nextZ = (z = z + (velocity.z * dt));
} else {
x = nextX;
y = nextY;
z = nextZ;
}
render(dt);
}
function animate(frame) {
if (frame != undefined) {
__animation = frame;
}
mc.gotoAndStop(__animation);
if (__animation == __IDLE_ANIMATION) {
__isAnimating = false;
} else {
__isAnimating = true;
}
}
function animateLoop(frame) {
if (frame != undefined) {
__animation = frame;
}
mc.gotoAndStop(__animation);
__isAnimating = false;
}
function updateAnim() {
if (__isAnimating) {
if (mc.anim._currentFrame == mc.anim._totalFrames) {
if (__animation == __DEATH_ANIMATION) {
endDie();
} else {
animateLoop(__IDLE_ANIMATION);
}
}
}
}
function freezeAnimation() {
mc.anim.stop();
}
function unfreezeAnimation() {
if (__isAnimating) {
mc.anim.play();
} else {
animate();
}
}
function replaceVelocity(t_vector) {
velocity = t_vector.copy();
}
function inputVelocity(t_vector) {
velocity.x = velocity.x + t_vector.x;
velocity.y = velocity.y + t_vector.y;
velocity.z = velocity.z + t_vector.z;
}
function addVelocity(t_vector, dt, maxVelocity, xMult, yMult, zMult) {
if (maxVelocity == undefined) {
maxVelocity = __MAX_VELOCITY;
}
zMult = 1;
yMult = zMult;
xMult = yMult;
if ((Math.abs(velocity.x) < maxVelocity) || ((velocity.x * t_vector.x) < 0)) {
velocity.x = velocity.x + ((t_vector.x * dt) * xMult);
}
if ((Math.abs(velocity.y) < maxVelocity) || ((velocity.y * t_vector.y) < 0)) {
velocity.y = velocity.y + ((t_vector.y * dt) * yMult);
}
if ((Math.abs(velocity.z) < maxVelocity) || ((velocity.z * t_vector.z) < 0)) {
velocity.z = velocity.z + ((t_vector.z * dt) * zMult);
}
}
function magnitudeToVector(t_magnitude, t_angle) {
var _local2;
var _local1;
var _local3 = t_angle * (Math.PI/180);
_local2 = t_magnitude * Math.cos(_local3);
_local2 = Math.round(_local2 * 100) / 100;
_local1 = t_magnitude * Math.sin(_local3);
_local1 = Math.round(_local1 * 100) / 100;
return(new smashing.Point3D(_local2, _local1, 0));
}
function getDrawType() {
return(((HAS_SPECIAL_DEPTH == true) ? ((DRAWTYPE + "_") + specialDepth) : (DRAWTYPE)));
}
function getIsAnimating() {
return(__isAnimating);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = 0;
}
var HAS_SPECIAL_DEPTH = false;
var __IDLE_ANIMATION = "idle";
var __DEATH_ANIMATION = "die";
var __MAX_VELOCITY = 300;
var __USES_VELOCITY = false;
}
Symbol 654 MovieClip [__Packages.nick.meatyTreasures.ents.food.Food] Frame 0
class nick.meatyTreasures.ents.food.Food extends nick.meatyTreasures.ents.Entity
{
var grossValue, isDoubled, doesBreakHooks, __bobOffset, __bobbingUp, __isHooked, __isBounced, __animationTimer, isDrawn, __camera, scale, x, mc, y, rotation, __askewBase, updateAnim, __hook, nextX, __hookOffset, nextY, velocity, __leftBounds, __rightBounds, __bounceVelocity, startY, hdReg;
function Food (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
grossValue = __DEF_GROSS_VALUE;
isDoubled = false;
doesBreakHooks = false;
__bobOffset = (Math.random() * __BOB_CAP) - (__BOB_CAP / 2);
__bobbingUp = ((Math.random() < 0.5) ? true : false);
__isHooked = false;
__isBounced = false;
__animationTimer = 0;
if (__DO_ANIMATE) {
__animationTimer = Math.random() * 4;
}
}
function render(dt) {
if (!isDrawn) {
return(undefined);
}
mc._x = ((x - __camera.x) * scale) + __camera.__get__sc().x;
mc._y = ((y - __camera.y) * scale) + __camera.__get__sc().y;
}
function onDraw(newmc) {
super.onDraw(newmc);
if (__DO_ASKEW) {
rotation = (__askewBase = (Math.random() * 60) - 30);
} else {
rotation = (__askewBase = 0);
}
}
function update(dt) {
updateAnim();
if (__isHooked) {
if (__hook.isBroken) {
return(undefined);
}
x = (nextX = __hook.x + __hookOffset.x);
y = (nextY = __hook.y + __hookOffset.y);
} else if (__isBounced) {
nextX = (x = x + (velocity.x * dt));
nextY = (y = y + (velocity.y * dt));
if (__DO_ASKEW) {
rotation = rotation + (velocity.x * dt);
}
if ((nextX < __leftBounds) && (velocity.x < 0)) {
velocity.x = velocity.x * -0.8;
nextX = (x = __leftBounds);
} else if ((nextX > __rightBounds) && (velocity.x > 0)) {
velocity.x = velocity.x * -0.8;
nextX = (x = __rightBounds);
}
if ((nextY < 220) && (velocity.y < 0)) {
velocity.y = velocity.y * -1;
}
velocity.length = velocity.length - ((__bounceVelocity * 1.3) * dt);
if (velocity.__get__length() < 4) {
startY = y;
__askewBase = rotation;
__bobOffset = 0;
__isBounced = false;
}
} else if (__DO_BOB) {
if (__bobbingUp) {
__bobOffset = __bobOffset - (__BOB_RATE * dt);
if (__bobOffset < (-__BOB_CAP)) {
__bobbingUp = !__bobbingUp;
}
} else {
__bobOffset = __bobOffset + (__BOB_RATE * dt);
if (__bobOffset > __BOB_CAP) {
__bobbingUp = !__bobbingUp;
}
}
y = (nextY = startY + __bobOffset);
if (__DO_ASKEW) {
rotation = __askewBase + __bobOffset;
}
if (__DO_ANIMATE) {
__animationTimer = __animationTimer - dt;
if (__animationTimer <= 0) {
animate();
__animationTimer = 5 + (Math.random() * 5);
}
}
}
}
function animate() {
mc.gotoAndStop("animate");
}
function hitReact(t_source) {
if (t_source.isBroken) {
} else if (t_source.hasHookedFood) {
bounce(t_source);
} else {
hooked(t_source);
}
}
function bounce(player) {
if (__isBounced) {
return(undefined);
}
__isBounced = true;
var _local3 = x - player.x;
var _local2 = y - (player.y + player.hdReg.y);
velocity = new smashing.Point3D(_local3, _local2, 0);
velocity.__set__length((__bounceVelocity = __BOUNCE_VELOCITY_MIN + (Math.random() * 150)));
}
function hooked(player) {
__isHooked = true;
__hook = player;
var _local5 = player.x - x;
var _local4 = (player.y + player.hdReg.y) - y;
var _local3 = new smashing.Point3D(_local5, _local4, 0);
if (_local3.__get__length() > __STICK_RANGE) {
_local3.__set__length(__STICK_RANGE);
}
nextX = (x = x + _local3.x);
nextY = (y = y + _local3.y);
__hookOffset = new smashing.Point3D(x - player.x, y - player.y, 0);
}
function moveAndRender(dt) {
super.moveAndRender(dt);
mc._rotation = rotation;
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = 0;
}
var TYPE = "food";
var DRAWTYPE = "food";
var FRAME = "";
var __DO_ASKEW = false;
var __DO_BOB = false;
var __DO_ANIMATE = false;
var __BOB_RATE = 5;
var __BOB_CAP = 15;
var __BOUNCE_VELOCITY_MIN = 190;
var __DEF_GROSS_VALUE = 0;
var __STICK_RANGE = 5;
}
Symbol 655 MovieClip [__Packages.nick.meatyTreasures.ents.Player] Frame 0
class nick.meatyTreasures.ents.Player extends nick.meatyTreasures.ents.Entity
{
var lineX, __offsetY, __baseVelocityY, velocity, y, x, __leftBounds, __rightBounds, isReelingUp, hasHookedFood, isBroken, __maxDepth, __reelUpTimer, __firstReel, __hookedFood, __xdiff, __dot, nextX, __lastDot, nextY, rotation, mc, __animation, hdReg, hdWidth, radius;
function Player (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
lineX = 370;
__offsetY = 0;
velocity.y = (__baseVelocityY = __DROP_RATE + (nick.meatyTreasures.GameState.getInstance().levelNum * 8));
y = 0;
x = (lineX = _xmouse);
if (x < __leftBounds) {
x = (lineX = __leftBounds);
} else if (x > __rightBounds) {
x = (lineX = __rightBounds);
}
__leftBounds = __leftBounds + 8;
__rightBounds = __rightBounds - 7;
isReelingUp = (hasHookedFood = false);
isBroken = false;
__maxDepth = t_data.maxDepth + 150;
}
function updateMoveAndRender(dt) {
if (!isReelingUp) {
lineX = _xmouse;
if (lineX < __leftBounds) {
lineX = __leftBounds;
} else if (lineX > __rightBounds) {
lineX = __rightBounds;
}
} else {
__reelUpTimer = __reelUpTimer - dt;
if (__reelUpTimer < 0) {
if (__firstReel) {
if (__hookedFood.doesBreakHooks) {
onBreakHook();
}
nick.meatyTreasures.Sounds.getInstance().playReelIn();
__firstReel = false;
}
velocity.y = -450;
}
if (y < -100) {
if (hasHookedFood) {
smashing.keithm.Messenger.sendMessage("engine", "onFoodCaught", {food:__hookedFood});
} else {
smashing.keithm.Messenger.sendMessage("engine", "onRecast");
}
}
}
__xdiff = lineX - x;
velocity.x = velocity.x + ((__xdiff * 8) * dt);
if (velocity.x > __MAX_VELOCITY) {
velocity.x = __MAX_VELOCITY;
} else if (velocity.x < (-__MAX_VELOCITY)) {
velocity.x = -__MAX_VELOCITY;
}
__dot = (new smashing.Point3D(__xdiff, 0, 0)).normalize().x * velocity.normalize().x;
if (__dot < 0) {
if (velocity.x < 0) {
velocity.x = velocity.x + ((__MAX_VELOCITY * 1.3) * dt);
} else {
velocity.x = velocity.x - ((__MAX_VELOCITY * 1.3) * dt);
}
if ((Math.abs(__xdiff) < 1) && (Math.abs(velocity.x) < 10)) {
nextX = (x = lineX);
velocity.x = 0;
}
}
if (__dot != __lastDot) {
runTurnAnimation();
}
__lastDot = __dot;
nextX = (x = x + (velocity.x * dt));
nextY = (y = y + (velocity.y * dt));
if ((nextX < __leftBounds) && (velocity.x < 0)) {
velocity.x = velocity.x * -0.8;
nextX = (x = __leftBounds);
} else if (nextX > __rightBounds) {
velocity.x = velocity.x * -0.8;
nextX = (x = __rightBounds);
}
if (y > __maxDepth) {
reelUp();
}
rotation = velocity.x / 20;
if (rotation > __MAX_ROTATION) {
rotation = __MAX_ROTATION;
} else if (rotation < (-__MAX_ROTATION)) {
rotation = -__MAX_ROTATION;
}
mc._rotation = rotation;
super.updateMoveAndRender(dt);
}
function hitReact(t_source) {
if (hasHookedFood) {
return(undefined);
}
if (x < t_source.x) {
if (__animation != "right") {
animateLoop("right");
}
hdReg.x = 20;
} else if ((x > t_source.x) && (__animation != "left")) {
if (__animation != "left") {
animateLoop("left");
}
hdReg.x = -20;
}
hasHookedFood = true;
if (!isReelingUp) {
turboOff();
}
isReelingUp = true;
__firstReel = true;
__hookedFood = t_source;
__reelUpTimer = __REEL_UP_DELAY;
lineX = 355;
hdWidth = (radius = 35);
nick.meatyTreasures.Sounds.getInstance().playSound("hook");
}
function onBreakHook() {
animateLoop("broken");
isBroken = true;
}
function animateLoop(frame) {
if (isBroken) {
return(undefined);
}
super.animateLoop(frame);
}
function reelUp() {
if (isReelingUp) {
return(undefined);
}
isReelingUp = true;
__reelUpTimer = 0;
smashing.keithm.Messenger.sendMessage("engine", "showLineOut");
}
function runTurnAnimation() {
if (hasHookedFood || (isBroken)) {
return(undefined);
}
if (Math.abs(__xdiff) < 10) {
return(undefined);
}
if ((velocity.x > 0) && (__animation != "right")) {
animateLoop("right");
} else if ((velocity.x < 0) && (__animation != "left")) {
animateLoop("left");
}
}
function brakeOn() {
}
function brakeOff() {
}
function turboOn() {
if (isReelingUp) {
return(undefined);
}
velocity.y = __baseVelocityY * 2.4;
}
function turboOff() {
velocity.y = __baseVelocityY;
}
function requestErase() {
super.requestErase();
if (hasHookedFood) {
__hookedFood.doRemove = true;
__hookedFood.requestErase();
}
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = 38;
}
var TYPE = "player";
var DRAWTYPE = "hook";
var __DEF_ASSET = "player_hook";
var __DEF_WIDTH = 40;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = true;
var __DEF_HD_WIDTH = 35;
var __DEF_HD_HEIGHT = 10;
var __USE_DIMENSIONS_AS_HD = false;
var CUSTOMDRAW = true;
var __DROP_RATE = 75;
var __IDLE_ANIMATION = "idle_left";
var __OFFSET_MIN = -40;
var __OFFSET_MAX = 0;
var __MAX_VELOCITY = 280;
var __MAX_ROTATION = 45;
var __REEL_UP_DELAY = 2;
}
Symbol 656 MovieClip [__Packages.smashing.sound.SoundEngine] Frame 0
class smashing.sound.SoundEngine
{
var __mc, o_sounds, o_groups, __a_soundQueue, __flag_muted, __flag_overwrite, __groupCount, __callbackPath, __callbackFunc;
function SoundEngine () {
}
function generateSounds(t_path, t_depth, t_overwrite) {
__mc = t_path.createEmptyMovieClip(__DEFAULTMCNAME, t_depth);
o_sounds = {};
o_groups = {};
__a_soundQueue = [];
__flag_muted = false;
if (t_overwrite == undefined) {
t_overwrite = false;
}
__flag_overwrite = t_overwrite;
__groupCount = 0;
createGroup(__DEFAULTGROUPNAME);
}
function setCallback(path, func) {
__callbackPath = path;
__callbackFunc = func;
}
function createGroup(t_name) {
__groupCount++;
var _local2 = __mc.createEmptyMovieClip(t_name, __groupCount);
_local2.soundObject = new Sound(_local2);
o_groups[t_name] = _local2;
}
function createSound(t_name, t_assetID, t_groupName, doCallback) {
var _local4;
if (((t_groupName == undefined) || (t_groupName == "")) || (t_groupName == null)) {
_local4 = o_groups[__DEFAULTGROUPNAME];
} else {
_local4 = o_groups[t_groupName];
}
if (_local4 != undefined) {
var _local2 = {};
_local2.soundEffect = new Sound(_local4);
_local2.soundEffect.attachSound(t_assetID);
if (doCallback == undefined) {
doCallback = false;
}
_local2.doCallback = doCallback;
o_sounds[t_name] = _local2;
}
}
function playSound(t_soundName, t_loops, t_queued) {
if (__flag_muted) {
return(undefined);
}
var _local2 = o_sounds[t_soundName];
if (_local2 != undefined) {
if (t_loops == undefined) {
t_loops = 1;
} else if (t_loops == 0) {
t_loops = 100000 /* 0x0186A0 */;
}
if (__flag_overwrite) {
_local2.soundEffect.stop();
}
if (t_queued == true) {
__a_soundQueue[0].doCallback = _local2.doCallback;
_local2.soundEffect.onSoundComplete = mx.utils.Delegate.create(this, onQueuedSoundComplete);
} else if (_local2.doCallback) {
_local2.soundEffect.owner = this;
_local2.soundEffect.myName = t_soundName;
_local2.soundEffect.onSoundComplete = function () {
this.owner.onCallbackSoundComplete(this.myName);
};
}
_local2.soundEffect.start(0, t_loops);
}
}
function stopSound(t_soundName) {
o_sounds[t_soundName].soundEffect.stop();
}
function stopAll() {
clearQueue();
stopAllSounds();
}
function changeVolume(t_vol, t_groupName) {
if (t_groupName == undefined) {
t_groupName = __DEFAULTGROUPNAME;
}
o_groups[t_groupName].soundObject.setVolume(t_vol);
}
function toggleSound() {
if (__flag_muted) {
soundOn();
} else {
soundOff();
}
return(!__flag_muted);
}
function soundOff() {
__flag_muted = true;
}
function soundOn() {
__flag_muted = false;
}
function callbackSound(t_soundName, t_loops, path, func) {
playSound(t_soundName, t_loops, false);
var _local2 = o_sounds[t_soundName];
_local2.soundEffect.cbpath = path;
_local2.soundEffect.cbfunc = func;
_local2.soundEffect.onSoundComplete = function () {
this.onSoundComplete = null;
this.cbpath[func]();
};
}
function onCallbackSoundComplete(name) {
__callbackPath[__callbackFunc](name);
}
function queueSound(t_soundName) {
__a_soundQueue.push({soundName:t_soundName, isPlaying:false, doCallback:false});
__playQueue();
}
function __playQueue() {
if (__a_soundQueue.length == 0) {
return(undefined);
}
if (!__a_soundQueue[0].isPlaying) {
playSound(__a_soundQueue[0].soundName, 1, true);
__a_soundQueue[0].isPlaying = true;
}
}
function onQueuedSoundComplete() {
if (__a_soundQueue[0].doCallback) {
onCallbackSoundComplete(__a_soundQueue[0].soundName);
}
__a_soundQueue.splice(0, 1);
__playQueue();
}
function clearQueue() {
__a_soundQueue = [__a_soundQueue[0]];
}
function get queueLength() {
return(__a_soundQueue.length);
}
function get isQueuePlaying() {
if (__a_soundQueue.length == 0) {
return(false);
}
return(true);
}
var __DEFAULTMCNAME = "soundEngine_MC";
var __DEFAULTGROUPNAME = "sound";
}
Symbol 657 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 658 MovieClip [__Packages.nick.meatyTreasures.Sounds] Frame 0
class nick.meatyTreasures.Sounds extends smashing.sound.SoundEngine
{
static var __instance;
var createGroup, createSound, changeVolume, __currentMusic, muteMusic, muteSound, __isReeling, stopSound, queueSound, callbackSound, __get__isQueuePlaying;
function Sounds () {
super();
}
static function init() {
__instance = new nick.meatyTreasures.Sounds();
}
static function getInstance() {
return(__instance);
}
function generateSounds(path) {
super.generateSounds(path, __DEPTH, __DO_OVERWRITE);
createGroup("music");
createGroup("loud");
createSound("music", "bubble_and_drum.wav", "music");
changeVolume(70, "music");
changeVolume(20, "loud");
createSound("intro", "01 Mr. Meaty theme - full mix.mp3");
createSound("outro", "02 Mr. Meaty theme - instrumental.mp3");
createSound("hook", "chewing2.wav");
createSound("cast", "sfx-unus-084.mp3");
createSound("reeling", "fishing_loop.wav");
createSound("tarmonster", "tarmonster_moan.wav", "loud");
__currentMusic = "";
muteMusic = (muteSound = false);
}
function playReelIn() {
__isReeling = true;
playSound("reeling", 0);
}
function stopReelIn() {
__isReeling = false;
stopSound("reeling");
}
function onPause() {
if (__isReeling) {
stopReelIn();
}
}
function playSound(name, loops) {
if (muteSound == true) {
return(undefined);
}
super.playSound(name, loops);
}
function p(name) {
playSound(name, 1);
}
function q(name) {
queueSound(name);
}
function c(name, cbpath, cbfunc) {
callbackSound(name, 1, cbpath, cbfunc);
}
function playMusic(name) {
if (name == undefined) {
name = "music";
}
if (muteMusic) {
__currentMusic = name;
return(undefined);
}
if ((__currentMusic != "") && (__currentMusic != undefined)) {
stopMusic();
}
__currentMusic = name;
playSound(__currentMusic, 0);
}
function restartMusic() {
if (muteMusic) {
return(undefined);
}
if ((__currentMusic == "") || (__currentMusic == undefined)) {
return(undefined);
}
playMusic(__currentMusic);
}
function stopMusic() {
stopSound(__currentMusic);
}
function toggleMusic() {
muteMusic = !muteMusic;
}
function playOptional(t_name) {
if (!__get__isQueuePlaying()) {
queueSound(t_name);
}
}
var __DEPTH = 20;
var __DO_OVERWRITE = false;
}
Symbol 659 MovieClip [__Packages.nick.meatyTreasures.ents.Line] Frame 0
class nick.meatyTreasures.ents.Line extends nick.meatyTreasures.GameRenderable
{
var mc, __xAngleCalc, __yAngleCalc, __angle, __xdiff, __ydiff, __length;
function Line (t_data) {
super(t_data);
}
function onDraw(newmc) {
super.onDraw(newmc);
mc._x = (mc._y = 0);
}
function updateMoveAndRender(player) {
mc._x = player.lineX;
__xAngleCalc = player.x - player.lineX;
__yAngleCalc = player.mc._y;
if (__xAngleCalc >= 0) {
if (__yAngleCalc >= 0) {
__angle = 0;
} else {
__angle = 360;
}
} else {
__angle = 180;
}
__angle = __angle + (Math.atan(__yAngleCalc / __xAngleCalc) * 57.2957795130823);
mc._rotation = __angle;
__xdiff = player.x - player.lineX;
__ydiff = player.mc._y;
__length = Math.sqrt((__xdiff * __xdiff) + (__ydiff * __ydiff));
mc.art_mc._xscale = 100 * (__length / __ASSET_LENGTH);
}
var TYPE = "line";
var DRAWTYPE = "line";
var __DEF_ASSET = "player_line";
var CUSTOMDRAW = true;
var __ASSET_LENGTH = 105.7;
}
Symbol 660 MovieClip [__Packages.nick.meatyTreasures.ents.Bg] Frame 0
class nick.meatyTreasures.ents.Bg extends nick.meatyTreasures.GameRenderable
{
var __screenHeight, mc, __bgZ, __bgs, __relativeY;
function Bg (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
__screenHeight = nick.meatyTreasures.GameState.getInstance().SCREEN_HEIGHT;
}
function onDraw(newmc) {
super.onDraw(newmc);
mc._x = (mc._y = 0);
__bgZ = 1;
__bgs = [];
__bgs.push(mc.attachMovie(__bgAsset1, __bgAsset1 + __bgZ, __bgZ));
__bgZ++;
__bgs.push(mc.attachMovie(__bgAsset2, __bgAsset2 + __bgZ, __bgZ));
__bgZ++;
__bgs[0]._x = (__bgs[1]._x = 150);
__bgs[0].cacheAsBitmap = (__bgs[1].cacheAsBitmap = true);
}
function updateMoveAndRender(dt, cameraY) {
__relativeY = (cameraY / 3) - (Math.floor((cameraY / 3) / __screenHeight) * __screenHeight);
__bgs[0]._y = -__relativeY;
__bgs[1]._y = __screenHeight - __relativeY;
}
var TYPE = "bg";
var DRAWTYPE = "bg";
var __DEF_ASSET = "_empty";
var CUSTOMDRAW = true;
var __USE_ACTUAL_DIMENSIONS = false;
var __bgAsset1 = "overlay_2";
var __bgAsset2 = "overlay_2";
}
Symbol 661 MovieClip [__Packages.nick.meatyTreasures.ents.Walls] Frame 0
class nick.meatyTreasures.ents.Walls extends nick.meatyTreasures.GameRenderable
{
var __screenHeight, __lastRelativeY, mc, __wallZ, __leftWall, __rightWall, __relativeY;
function Walls (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
__screenHeight = nick.meatyTreasures.GameState.getInstance().SCREEN_HEIGHT;
__lastRelativeY = 0;
}
function onDraw(newmc) {
super.onDraw(newmc);
mc._x = (mc._y = 0);
__wallZ = 1;
__leftWall = [];
__leftWall.push(mc.attachMovie(__leftWallAsset1, __leftWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__leftWall.push(mc.attachMovie(__leftWallAsset2, __leftWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__leftWall[0]._x = (__leftWall[1]._x = 155);
__rightWall = [];
__rightWall.push(mc.attachMovie(__rightWallAsset2, __rightWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__rightWall.push(mc.attachMovie(__rightWallAsset1, __rightWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__rightWall[0]._x = (__rightWall[1]._x = 575);
__leftWall[0].cacheAsBitmap = (__leftWall[1].cacheAsBitmap = (__rightWall[0].cacheAsBitmap = (__rightWall[1].cacheAsBitmap = true)));
}
function updateMoveAndRender(dt, cameraY) {
__relativeY = cameraY - (Math.floor(cameraY / __screenHeight) * __screenHeight);
if (Math.abs(__lastRelativeY - __relativeY) > 300) {
__leftWall[0].removeMovieClip();
__leftWall.splice(0, 1);
__rightWall[0].removeMovieClip();
__rightWall.splice(0, 1);
__leftWall.push(mc.attachMovie(((Math.random() > 0.5) ? (__leftWallAsset1) : (__leftWallAsset2)), __leftWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__rightWall.push(mc.attachMovie(((Math.random() > 0.5) ? (__rightWallAsset1) : (__rightWallAsset2)), __rightWallAsset1 + __wallZ, __wallZ));
__wallZ++;
__leftWall[1].cacheAsBitmap = (__rightWall[1].cacheAsBitmap = true);
__leftWall[1]._x = 155;
__rightWall[1]._x = 575;
}
__leftWall[0]._y = (__rightWall[0]._y = -__relativeY);
__leftWall[1]._y = (__rightWall[1]._y = __screenHeight - __relativeY);
__lastRelativeY = __relativeY;
}
var TYPE = "walls";
var DRAWTYPE = "walls";
var __DEF_ASSET = "_empty";
var CUSTOMDRAW = true;
var __USE_ACTUAL_DIMENSIONS = false;
var __leftWallAsset1 = "wall_left_mc";
var __leftWallAsset2 = "wall_left_mc_2";
var __rightWallAsset1 = "wall_right_mc";
var __rightWallAsset2 = "wall_right_mc_2";
}
Symbol 662 MovieClip [__Packages.nick.meatyTreasures.levels.LevelData] Frame 0
class nick.meatyTreasures.levels.LevelData
{
var entitys, maxDepth;
function LevelData () {
randomlyGenerateLevel(nick.meatyTreasures.GameState.getInstance().levelNum);
}
function randomlyGenerateLevel(levelNum) {
entitys = [];
var _local8 = levelNum;
if (levelNum > 5) {
levelNum = 5;
}
maxDepth = (levelNum * 2) * __DEPTH_TIER_DIFFERENCE;
var _local2 = 220 + (Math.random() * 100);
var _local4 = false;
var _local3 = ((Math.random() > 0.5) ? true : false);
while (!_local4) {
entitys.push({type:getItemType(_local2), x:getItemPosition(_local3), y:_local2});
_local2 = _local2 + (50 + (Math.random() * getDepthVariation(_local8)));
_local3 = !_local3;
if (_local2 >= maxDepth) {
_local4 = true;
}
}
}
function getItemType(depth) {
var _local2 = Math.random();
if (depth <= 300) {
return("nugget");
}
if (depth < __DEPTH_TIER_DIFFERENCE) {
if (_local2 < 0.5) {
return("nugget");
}
if (_local2 > 0.95) {
return("sock");
}
return("sausage");
}
if (depth < (2 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.33) {
return("nugget");
}
if (_local2 < 0.7) {
return("sausage");
}
if (_local2 > 0.95) {
return("rat");
}
if (_local2 > 0.85) {
return("sock");
}
return("fry");
}
if (depth < (3 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.33) {
return("nugget");
}
if (_local2 < 0.6) {
return("sausage");
}
if (_local2 > 0.97) {
return("roach");
}
if (_local2 > 0.85) {
return("rat");
}
if (_local2 > 0.75) {
return("chicken");
}
if (_local2 > 0.65) {
return("sock");
}
if (_local2 > 0.6) {
return("mystery");
}
} else if (depth < (4 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.25) {
return("nugget");
}
if (_local2 < 0.5) {
return("sausage");
}
if (_local2 > 0.95) {
return("eye");
}
if (_local2 > 0.9) {
return("roach");
}
if (_local2 > 0.8) {
return("rat");
}
if (_local2 > 0.69) {
return("sock");
}
if (_local2 > 0.55) {
return("chicken");
}
if (_local2 > 0.5) {
return("mystery");
}
} else if (depth < (6 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.25) {
return("nugget");
}
if (_local2 < 0.45) {
return("sausage");
}
if (_local2 > 0.96) {
return("tar");
}
if (_local2 > 0.9) {
return("finger");
}
if (_local2 > 0.85) {
return("eye");
}
if (_local2 > 0.7) {
return("chicken");
}
if (_local2 > 0.65) {
return("roach");
}
if (_local2 > 0.5) {
return("rat");
}
if (_local2 > 0.45) {
return("mystery");
}
} else if (depth < (7 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.2) {
return("nugget");
}
if (_local2 < 0.4) {
return("sausage");
}
if (_local2 > 0.95) {
return("snout");
}
if (_local2 > 0.88) {
return("finger");
}
if (_local2 > 0.82) {
return("eye");
}
if (_local2 > 0.77) {
return("tar");
}
if (_local2 > 0.65) {
return("chicken");
}
if (_local2 > 0.55) {
return("fry");
}
if (_local2 > 0.51) {
return("fish");
}
if (_local2 > 0.45) {
return("roach");
}
if (_local2 > 0.4) {
return("mystery");
}
} else if (depth < (8 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.2) {
return("nugget");
}
if (_local2 < 0.4) {
return("sausage");
}
if (_local2 > 0.9) {
return("snout");
}
if (_local2 > 0.8) {
return("finger");
}
if (_local2 > 0.7) {
return("eye");
}
if (_local2 > 0.65) {
return("chicken");
}
if (_local2 > 0.55) {
return("fish");
}
if (_local2 > 0.5) {
return("tar");
}
if (_local2 > 0.45) {
return("roach");
}
if (_local2 > 0.4) {
return("mystery");
}
} else if (depth < (10 * __DEPTH_TIER_DIFFERENCE)) {
if (_local2 < 0.2) {
return("nugget");
}
if (_local2 < 0.4) {
return("sausage");
}
if (_local2 > 0.9) {
return("heart");
}
if (_local2 > 0.8) {
return("snout");
}
if (_local2 > 0.75) {
return("eye");
}
if (_local2 > 0.7) {
return("finger");
}
if (_local2 > 0.6) {
return("fish");
}
if (_local2 > 0.5) {
return("tar");
}
if (_local2 > 0.45) {
return("chicken");
}
if (_local2 > 0.4) {
return("mystery");
}
}
}
function getItemPosition(isLeft) {
if (isLeft) {
return(__VAT_LEFT + (Math.random() * 170));
}
return((__VAT_LEFT + 200) + (Math.random() * 170));
}
function getDepthVariation(levelNum) {
if (levelNum > 10) {
levelNum = 10;
}
return(((10 - levelNum) * 8) + (Math.random() * 15));
}
var __VAT_LEFT = 180;
var __DEPTH_TIER_DIFFERENCE = 1000;
}
Symbol 663 MovieClip [__Packages.nick.meatyTreasures.ents.food.Nugget] Frame 0
class nick.meatyTreasures.ents.food.Nugget extends nick.meatyTreasures.ents.food.Food
{
function Nugget (t_data) {
super(t_data);
}
var FRAME = "nugget";
var __DEF_ASSET = "item_nugget";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 45;
var __DEF_HD_HEIGHT = 35;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DEF_GROSS_VALUE = 10;
}
Symbol 664 MovieClip [__Packages.nick.meatyTreasures.ents.food.Fry] Frame 0
class nick.meatyTreasures.ents.food.Fry extends nick.meatyTreasures.ents.food.Food
{
function Fry (t_data) {
super(t_data);
}
var FRAME = "fry";
var __DEF_ASSET = "item_fries";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 90;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 20;
var __DEF_HD_HEIGHT = 60;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DEF_GROSS_VALUE = 15;
}
Symbol 665 MovieClip [__Packages.nick.meatyTreasures.ents.food.Sausage] Frame 0
class nick.meatyTreasures.ents.food.Sausage extends nick.meatyTreasures.ents.food.Food
{
function Sausage (t_data) {
super(t_data);
}
var FRAME = "sausage";
var __DEF_ASSET = "item_sausage";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 54;
var __DEF_HD_HEIGHT = 40;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DEF_GROSS_VALUE = 10;
}
Symbol 666 MovieClip [__Packages.nick.meatyTreasures.ents.food.Sock] Frame 0
class nick.meatyTreasures.ents.food.Sock extends nick.meatyTreasures.ents.food.Food
{
var hdReg;
function Sock (t_data) {
super(t_data);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 20;
hdReg.y = 0;
}
var FRAME = "sock";
var __DEF_ASSET = "item_sock";
var __DEF_WIDTH = 40;
var __DEF_HEIGHT = 90;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 30;
var __DEF_HD_HEIGHT = 70;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DEF_GROSS_VALUE = 25;
}
Symbol 667 MovieClip [__Packages.nick.meatyTreasures.ents.food.MovingFood] Frame 0
class nick.meatyTreasures.ents.food.MovingFood extends nick.meatyTreasures.ents.food.Food
{
var __isSwimmingLeft, __isHooked, x, nextX, mc;
function MovingFood (t_data) {
super(t_data);
}
function init(t_data) {
__isSwimmingLeft = Math.random() < 0.5;
super.init(t_data);
}
function update(dt) {
if (!__isHooked) {
if (x < __VAT_LEFT) {
__isSwimmingLeft = false;
flipToSwim();
} else if (x > __VAT_RIGHT) {
__isSwimmingLeft = true;
flipToSwim();
}
if (__isSwimmingLeft) {
nextX = (x = x - (__SWIM_SPEED * dt));
} else {
nextX = (x = x + (__SWIM_SPEED * dt));
}
}
super.update(dt);
}
function onDraw(newmc) {
super.onDraw(newmc);
flipToSwim();
}
function flipToSwim() {
if (__isSwimmingLeft) {
mc._xscale = __LEFT_XSCALE;
} else {
mc._xscale = -__LEFT_XSCALE;
}
}
var __SWIM_SPEED = 100;
var __VAT_LEFT = 180;
var __VAT_RIGHT = 550;
var __LEFT_XSCALE = 100;
}
Symbol 668 MovieClip [__Packages.nick.meatyTreasures.ents.food.Rat] Frame 0
class nick.meatyTreasures.ents.food.Rat extends nick.meatyTreasures.ents.food.MovingFood
{
var mc, hdReg;
function Rat (t_data) {
super(t_data);
}
function onDraw(newmc) {
super.onDraw(newmc);
mc.gotoAndStop("animate");
}
function hooked(player) {
super.hooked(player);
mc.gotoAndStop("idle");
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = -8;
}
var FRAME = "rat";
var __DEF_ASSET = "item_rat";
var __DO_ANIMATE = false;
var __DO_BOB = true;
var __DEF_WIDTH = 120;
var __DEF_HEIGHT = 90;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 75;
var __DEF_HD_HEIGHT = 35;
var __USE_DIMENSIONS_AS_HD = false;
var __LEFT_XSCALE = -100;
var __DEF_GROSS_VALUE = 30;
}
Symbol 669 MovieClip [__Packages.nick.meatyTreasures.ents.food.Eye] Frame 0
class nick.meatyTreasures.ents.food.Eye extends nick.meatyTreasures.ents.food.MovingFood
{
var mc, hdReg;
function Eye (t_data) {
super(t_data);
}
function onDraw(newmc) {
super.onDraw(newmc);
mc.gotoAndStop("animate2");
}
function hooked(player) {
super.hooked(player);
mc.gotoAndStop("idle");
}
function setHDRegistration() {
hdReg = {};
hdReg.x = -10;
hdReg.y = 0;
}
var FRAME = "eye";
var __DEF_ASSET = "item_coweye";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 50;
var __DEF_HD_HEIGHT = 35;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_BOB = true;
var __DO_ANIMATE = false;
var __DEF_GROSS_VALUE = 55;
}
Symbol 670 MovieClip [__Packages.nick.meatyTreasures.ents.food.Fish] Frame 0
class nick.meatyTreasures.ents.food.Fish extends nick.meatyTreasures.ents.food.Food
{
var hdReg;
function Fish (t_data) {
super(t_data);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = -5;
hdReg.y = 0;
}
var FRAME = "fish";
var __DEF_ASSET = "item_fish";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 95;
var __DEF_HD_HEIGHT = 35;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = false;
var __DO_BOB = true;
var __DO_ANIMATE = true;
var __DEF_GROSS_VALUE = 65;
}
Symbol 671 MovieClip [__Packages.nick.meatyTreasures.ents.food.Heart] Frame 0
class nick.meatyTreasures.ents.food.Heart extends nick.meatyTreasures.ents.food.Food
{
var mc, hdReg;
function Heart (t_data) {
super(t_data);
}
function onDraw(newmc) {
super.onDraw(newmc);
mc.cacheAsBitmap = true;
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = -7;
}
var FRAME = "heart";
var __DEF_ASSET = "item_heart";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 50;
var __DEF_HD_HEIGHT = 50;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = false;
var __DO_BOB = true;
var __DO_ANIMATE = false;
var __DEF_GROSS_VALUE = 80;
}
Symbol 672 MovieClip [__Packages.nick.meatyTreasures.ents.food.Finger] Frame 0
class nick.meatyTreasures.ents.food.Finger extends nick.meatyTreasures.ents.food.Food
{
var hdReg;
function Finger (t_data) {
super(t_data);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 8;
hdReg.y = 0;
}
var FRAME = "finger";
var __DEF_ASSET = "item_finger";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 58;
var __DEF_HD_HEIGHT = 25;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DO_ANIMATE = true;
var __DEF_GROSS_VALUE = 60;
}
Symbol 673 MovieClip [__Packages.nick.meatyTreasures.ents.food.Roach] Frame 0
class nick.meatyTreasures.ents.food.Roach extends nick.meatyTreasures.ents.food.Food
{
var hdReg;
function Roach (t_data) {
super(t_data);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = 10;
}
var FRAME = "roach";
var __DEF_ASSET = "item_roach";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 35;
var __DEF_HD_HEIGHT = 45;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DO_ANIMATE = true;
var __DEF_GROSS_VALUE = 50;
}
Symbol 674 MovieClip [__Packages.nick.meatyTreasures.ents.food.Snout] Frame 0
class nick.meatyTreasures.ents.food.Snout extends nick.meatyTreasures.ents.food.Food
{
var hdReg;
function Snout (t_data) {
super(t_data);
}
function setHDRegistration() {
hdReg = {};
hdReg.x = 0;
hdReg.y = -8;
}
var FRAME = "snout";
var __DEF_ASSET = "item_pigsnout";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 40;
var __DEF_HD_HEIGHT = 40;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DO_ANIMATE = true;
var __DEF_GROSS_VALUE = 75;
}
Symbol 675 MovieClip [__Packages.nick.meatyTreasures.ents.food.Chicken] Frame 0
class nick.meatyTreasures.ents.food.Chicken extends nick.meatyTreasures.ents.food.Food
{
function Chicken (t_data) {
super(t_data);
}
var FRAME = "chicken";
var __DEF_ASSET = "item_chicken";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 40;
var __DEF_HD_HEIGHT = 60;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
var __DO_ANIMATE = true;
var __DEF_GROSS_VALUE = 45;
}
Symbol 676 MovieClip [__Packages.nick.meatyTreasures.ents.food.Tar] Frame 0
class nick.meatyTreasures.ents.food.Tar extends nick.meatyTreasures.ents.food.Food
{
var __hasMoaned, doesBreakHooks;
function Tar (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
__hasMoaned = false;
doesBreakHooks = true;
}
function onDraw(newmc) {
super.onDraw(newmc);
if (!__hasMoaned) {
__hasMoaned = true;
nick.meatyTreasures.Sounds.getInstance().p("tarmonster");
}
}
var FRAME = "tar";
var __DEF_ASSET = "item_tarmonster";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 70;
var __DEF_HD_HEIGHT = 55;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = false;
var __DO_BOB = true;
var __DEF_GROSS_VALUE = 0;
}
Symbol 677 MovieClip [__Packages.nick.meatyTreasures.ents.food.Mystery] Frame 0
class nick.meatyTreasures.ents.food.Mystery extends nick.meatyTreasures.ents.food.Food
{
var specialEffect, grossValue, doesBreakHooks;
function Mystery (t_data) {
super(t_data);
}
function init(t_data) {
super.init(t_data);
var _local3 = Math.random();
if (_local3 < 0.8) {
specialEffect = "bonus";
grossValue = 5 + (Math.ceil(Math.random() * 19) * 5);
} else if (_local3 < 0.9) {
specialEffect = "turn";
grossValue = 0;
} else {
specialEffect = "lose";
grossValue = 0;
doesBreakHooks = true;
}
}
var FRAME = "mystery";
var __DEF_ASSET = "item_mysterything";
var __DEF_WIDTH = 80;
var __DEF_HEIGHT = 60;
var __USE_ACTUAL_DIMENSIONS = false;
var __DEF_HD_WIDTH = 35;
var __DEF_HD_HEIGHT = 25;
var __USE_DIMENSIONS_AS_HD = false;
var __DO_ASKEW = true;
var __DO_BOB = true;
}
Symbol 678 MovieClip [__Packages.nick.meatyTreasures.ui.UI] Frame 0
class nick.meatyTreasures.ui.UI
{
static var __instance;
var engine, __nextScreenID, __hasActiveScreen, __doesActiveScreenUpdate, __activeScreen, __previousScreenID, __activeScreenID;
function UI () {
}
static function init() {
__instance = new nick.meatyTreasures.ui.UI();
}
static function getInstance() {
return(__instance);
}
function linkEngine(t_engine) {
engine = t_engine;
smashing.keithm.Messenger.registerAddress("ui", this);
}
function reset() {
__nextScreenID = "";
__hasActiveScreen = false;
__doesActiveScreenUpdate = false;
}
function update(dt) {
if (__doesActiveScreenUpdate) {
__activeScreen.update(dt);
}
}
function returnToPreviousScreen() {
__nextScreenID = __previousScreenID;
__activeScreen.close();
}
function goScreen(id) {
if (__hasActiveScreen) {
__nextScreenID = id;
__activeScreen.close();
} else {
openScreen(id);
}
}
function openScreen(id) {
if (id == undefined) {
id = __nextScreenID;
}
if (id == "") {
return(undefined);
}
__nextScreenID = "";
__previousScreenID = __activeScreenID;
__activeScreenID = id;
engine.gotoAndStop(__activeScreenID);
switch (__activeScreenID) {
case "splash" :
__activeScreen = new nick.meatyTreasures.ui.Splash(engine.screen_mc, this);
break;
case "gameplay" :
__activeScreen = new nick.meatyTreasures.ui.GamePlay(engine.screen_mc, this);
break;
case "gameover" :
__activeScreen = new nick.meatyTreasures.ui.GameOver(engine.screen_mc, this);
break;
case "viewHighscore" :
__activeScreen = new nick.meatyTreasures.ui.Highscores(engine.screen_mc, this, true);
break;
case "sendHighscore" :
__activeScreen = new nick.meatyTreasures.ui.Highscores(engine.screen_mc, this, false);
break;
default :
return(undefined);
}
__activeScreen.init();
__activeScreen.open();
smashing.keithm.Messenger.registerAddress("screen", __activeScreen);
__hasActiveScreen = true;
__doesActiveScreenUpdate = __activeScreen.DOES_UPDATE;
}
function onScreenClosed() {
if (__nextScreenID != "") {
openScreen(__nextScreenID);
}
}
function goScreenRemote(t_data) {
if (t_data.screen == undefined) {
return(undefined);
}
goScreen(t_data.screen);
}
function onMessageReceived(message, args) {
this[message](args);
}
function get currentScreenID() {
return(__activeScreenID);
}
}
Symbol 679 MovieClip [__Packages.nick.meatyTreasures.ui.Screen] Frame 0
class nick.meatyTreasures.ui.Screen
{
var __mc, ui, __outroCallbackID, __outroCallbackPath, __isOpening, __isClosing, __isClosed;
function Screen (mc, t_ui) {
__mc = mc;
ui = t_ui;
__outroCallbackID = (__outroCallbackPath = "");
}
function update(dt) {
if (__isOpening) {
if (__mc._currentFrame >= __OPENED_FRAME) {
onOpened();
}
} else if (__isClosing) {
if (__mc._currentFrame == __mc._totalFrames) {
onClosed();
}
}
}
function init() {
__isOpening = (__isClosing = false);
__isClosed = true;
}
function open() {
__isClosed = false;
if (__HAS_INTRO) {
__isOpening = true;
__mc.gotoAndPlay(__INTRO_FRAME);
} else {
onOpened();
}
}
function onOpened() {
__isOpening = false;
}
function close() {
if (__isClosed) {
ui.onScreenClosed();
return(undefined);
}
if (__HAS_OUTRO) {
__isClosing = true;
__mc.gotoAndPlay(__OUTRO_FRAME);
} else {
onClosed();
}
}
function onClosed() {
__isClosing = false;
__isClosed = true;
if (__outroCallbackID != "") {
smashing.keithm.Messenger.sendMessage(__outroCallbackPath, __outroCallbackID);
__outroCallbackID = (__outroCallbackPath = "");
} else {
ui.onScreenClosed();
}
}
function closeThenCallback(callbackPath, callbackID) {
__outroCallbackPath = callbackPath;
__outroCallbackID = callbackID;
close();
}
function makeButton(mc) {
mc.screen = this;
}
function onMessageReceived(message, args) {
this[message](args);
}
function toString() {
return("Screen");
}
var __INTRO_FRAME = "intro";
var __OUTRO_FRAME = "outro";
var __HAS_INTRO = false;
var __HAS_OUTRO = false;
var __OPENED_FRAME = 1;
var DOES_UPDATE = true;
}
Symbol 680 MovieClip [__Packages.nick.meatyTreasures.ui.Splash] Frame 0
class nick.meatyTreasures.ui.Splash extends nick.meatyTreasures.ui.Screen
{
var __mc;
function Splash (mc, ui) {
super(mc, ui);
}
function onOpened() {
super.onOpened();
__mc.btn_play.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "startGame");
};
__mc.btn_help.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "clickSplashHelp");
};
__mc.btn_highscore.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "clickViewHighscore");
};
}
var __HAS_INTRO = false;
var __HAS_OUTRO = false;
var __OPENED_FRAME = 1;
}
Symbol 681 MovieClip [__Packages.nick.meatyTreasures.ui.GamePlay] Frame 0
class nick.meatyTreasures.ui.GamePlay extends nick.meatyTreasures.ui.Screen
{
var __state, __fromHelpScreen, __mc;
function GamePlay (mc, ui, fromHelpScreen) {
super(mc, ui);
__state = nick.meatyTreasures.GameState.getInstance();
__fromHelpScreen = fromHelpScreen;
}
function onOpened() {
super.onOpened();
menuOff();
update(0, true);
}
function menuOff() {
__mc.menu_btn.gotoAndStop("off");
__mc.menu_btn.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "clickMenu");
};
__mc.menu_btn.onRollOver = function () {
this.gotoAndStop("over");
};
__mc.menu_btn.onRollOut = (__mc.menu_btn.onDragOut = function () {
this.gotoAndStop("off");
});
__mc.menu_btn.useHandCursor = true;
}
function menuOn() {
__mc.menu_btn.gotoAndStop("on");
__mc.menu_btn.onRelease = null;
__mc.menu_btn.onRollOver = (__mc.menu_btn.onRollOut = (__mc.menu_btn.onDragOut = null));
__mc.menu_btn.useHandCursor = false;
}
function update(dt, forceUpdate) {
if (__state.hasChanged || (forceUpdate == true)) {
__mc.score_mc.txt_score.text = __state.score;
__mc.goal_mc.txt_goal.text = __state.goal;
__mc.lives_mc.gotoAndStop(4 - __state.lives);
__mc.levelnum_txt.text = "level " + __state.levelNum;
}
}
var DOES_UPDATE = true;
var __OPENED_FRAME = 1;
}
Symbol 682 MovieClip [__Packages.nick.meatyTreasures.ui.GameOver] Frame 0
class nick.meatyTreasures.ui.GameOver extends nick.meatyTreasures.ui.Screen
{
var __mc;
function GameOver (mc, ui) {
super(mc, ui);
}
function open() {
super.open();
__mc.score = nick.meatyTreasures.GameState.getInstance().score;
}
function onOpened() {
super.onOpened();
__mc.end_mc.score_txt.text = nick.meatyTreasures.GameState.getInstance().score;
__mc.end_mc.btn_play.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "startGame");
};
__mc.score_btns.btn_highscore.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "clickViewHighscore");
};
if (nick.highscores.HighscoreEngine.__get__isLoggedIn() && (nick.meatyTreasures.GameState.getInstance().score > 0)) {
__mc.score_btns.btn_submit.onRelease = function () {
smashing.keithm.Messenger.sendMessage("engine", "clickSubmitHighscore");
};
__mc.score_btns.btn_submit._visible = true;
} else {
__mc.score_btns.btn_submit._visible = false;
}
}
var __HAS_INTRO = true;
var __HAS_OUTRO = false;
var __OPENED_FRAME = 14;
}
Symbol 683 MovieClip [__Packages.nick.highscores.HighscoreEngine] Frame 0
class nick.highscores.HighscoreEngine
{
static var __userName, __loadState, __xml, __userPath, __scorePath, __game_id, __user_vars, __userScore, __highscoreMC, __scores, __functionToRunAfterLoad, __stateVerificationInterval, __score_vars;
function HighscoreEngine () {
}
static function init() {
__userName = "null";
__loadState = "loading";
if (__USE_XML) {
loadXML();
}
}
static function loadXML() {
__xml = new XML();
__xml.ignoreWhite = true;
__xml.onLoad = function (success) {
nick.highscores.HighscoreEngine.onXMLloaded(success);
};
var _local2 = _root._url.slice(0, _root._url.lastIndexOf("/"));
if (_local2 != "") {
_local2 = _local2 + "/";
}
log(("Loading XML file from " + (_local2 + __XML_FILE_URL)) + " ...");
__xml.load(_local2 + __XML_FILE_URL);
}
static function onXMLloaded(success) {
if (success) {
__userPath = __xml.firstChild.childNodes[0].firstChild.nodeValue;
__scorePath = __xml.firstChild.childNodes[1].firstChild.nodeValue;
__game_id = __xml.firstChild.childNodes[2].firstChild.nodeValue;
log("Xml loaded : ");
log("User : " + __userPath);
log("score: " + __scorePath);
log("gameID: " + __game_id);
} else {
log("XML Loading error");
}
updateUserLogin();
}
static function manualXML(userPath, scorePath, gameID) {
__userPath = userPath;
__scorePath = scorePath;
__game_id = gameID;
updateUserLogin();
}
static function updateUserLogin() {
log("Test user login...");
__user_vars = new LoadVars();
__user_vars.onLoad = function (success) {
nick.highscores.HighscoreEngine.onLogin(success);
};
__user_vars.load(__userPath);
}
static function onLogin(success) {
if (success) {
while (__user_vars.screenName.indexOf("/n") != -1) {
log("Cull login string - : " + __user_vars.screenName);
__user_vars.screenName = __user_vars.screenName.substr(0, __user_vars.screenName.length - 2);
log("Result: " + __user_vars.screenName);
}
__userName = __user_vars.screenName;
log("USER IS : " + __userName);
}
log("USER IS NOT LOGGED IN");
__loadState = "ready";
}
static function populateHighscoreBoard() {
if ((isLoggedIn && (__userScore > 0)) && (__userScore != undefined)) {
__highscoreMC.init(__scores, {name:__userName, score:__userScore});
} else {
__highscoreMC.init(__scores, {name:"", score:0});
}
}
static function runReadyTest(callback) {
if (__loadState != "ready") {
__functionToRunAfterLoad = callback;
startBoardReadyInterval();
return(false);
}
return(true);
}
static function startBoardReadyInterval() {
__stateVerificationInterval = setInterval(function () {
nick.highscores.HighscoreEngine.runBoardReadyInterval();
}, 5);
}
static function runBoardReadyInterval() {
if (__loadState == "ready") {
clearInterval(__stateVerificationInterval);
if (__functionToRunAfterLoad == "sendAndView") {
sendAndViewScore(__highscoreMC, __userScore);
} else {
viewScores(__highscoreMC);
}
} else if (__loadState == "error") {
__highscoreMC.showError();
clearInterval(__stateVerificationInterval);
}
}
static function sendAndViewScore(boardMC, score) {
__highscoreMC = boardMC;
__userScore = score;
if (runReadyTest("sendAndView") == false) {
return(undefined);
}
log("Send Score...");
if ((__userName == "null") && (__userName == undefined)) {
log(("Error: User name is : " + __userName) + ". Only logged in users may send scores.");
return(undefined);
}
__score_vars = new LoadVars();
__score_vars.onLoad = function (success) {
nick.highscores.HighscoreEngine.onHighscores(success);
};
log((((((((("Load ( " + __scorePath) + "?msg=S&game=") + __game_id) + "&name=") + __userName) + "&score=") + score) + "&limitEntries=true") + " )");
__score_vars.load(((((((__scorePath + "?msg=S&game=") + __game_id) + "&name=") + __userName) + "&score=") + score) + "&limitEntries=true");
}
static function viewScores(boardMC) {
__highscoreMC = boardMC;
__userScore = 0;
if (runReadyTest("view") == false) {
return(undefined);
}
log("View Scores...");
log(((("Load ( " + __scorePath) + "?msg=Q&game=") + __game_id) + " )");
__score_vars = new LoadVars();
__score_vars.onLoad = function (success) {
nick.highscores.HighscoreEngine.onHighscores(success);
};
__score_vars.load((__scorePath + "?msg=Q&game=") + __game_id);
}
static function onHighscores(success) {
log("Server callback recieved: ");
log("Success: " + success);
log("Returning game ID: " + __score_vars.game);
if ((!success) || (__score_vars.game != __game_id)) {
log("Highscore retrieval Failed.");
__highscoreMC.showError();
return(undefined);
}
__scores = [];
var _local1 = 0;
while (_local1 < __score_vars.count) {
__scores.push({name:__score_vars["pn" + _local1], score:__score_vars["ps" + _local1]});
_local1++;
}
populateHighscoreBoard();
}
static function set userPath(path) {
__userPath = path;
//return(userPath);
}
static function get userPath() {
return(__userPath);
}
static function set scorePath(path) {
__scorePath = path;
//return(scorePath);
}
static function get scorePath() {
return(__scorePath);
}
static function set gameID(id) {
__game_id = id;
//return(gameID);
}
static function get gameID() {
return(__game_id);
}
static function get scores() {
return(__scores);
}
static function get userName() {
return(__userName);
}
static function get isLoggedIn() {
return((((__userName == undefined) || (__userName == "null")) ? false : true));
}
static function log(message) {
var _local1 = new LocalConnection();
_local1.send("_SILCtrace", "trace", message);
_local1.close();
}
static var __USE_XML = true;
static var __XML_FILE_URL = "config.xml";
static var __SCORE_CALL = "onHighscores";
}
Symbol 684 MovieClip [__Packages.nick.meatyTreasures.ui.Highscores] Frame 0
class nick.meatyTreasures.ui.Highscores extends nick.meatyTreasures.ui.Screen
{
var __isViewing, __mc;
function Highscores (mc, ui, isViewing) {
super(mc, ui);
__isViewing = isViewing;
}
function onOpened() {
super.onOpened();
if (__isViewing) {
nick.highscores.HighscoreEngine.viewScores(__mc.highscore_mc);
} else {
nick.highscores.HighscoreEngine.sendAndViewScore(__mc.highscore_mc, nick.meatyTreasures.GameState.getInstance().score);
}
}
var __OPENED_FRAME = 1;
}
Symbol 82 MovieClip Frame 6
stop();
Symbol 88 MovieClip Frame 6
stop();
Symbol 94 MovieClip Frame 6
stop();
Symbol 118 MovieClip Frame 1
stop();
Symbol 146 MovieClip Frame 1
stop();
Symbol 159 MovieClip Frame 1
stop();
Symbol 172 MovieClip Frame 2
stop();
Symbol 172 MovieClip Frame 6
stop();
Symbol 230 MovieClip Frame 1
stop();
Symbol 285 MovieClip Frame 4
_parent.gotoAndStop("idle");
Symbol 380 MovieClip Frame 5
stop();
if (_parent.doDouble != true) {
double_mc._visible = false;
}
Symbol 384 MovieClip Frame 35
stop();
Symbol 384 MovieClip Frame 55
bonus_mc.bonus_mc.txt.text = score;
Symbol 384 MovieClip Frame 71
stop();
Symbol 384 MovieClip Frame 109
stop();
Symbol 385 MovieClip Frame 1
stop();
Symbol 387 MovieClip Frame 2
stop();
Symbol 387 MovieClip Frame 49
smashing.keithm.Messenger.sendMessage("engine", "onRecast");
Symbol 409 MovieClip Frame 1
stop();
Symbol 412 Button
on (release) {
_parent.gotoAndPlay("outro");
}
Symbol 415 Button
on (release) {
_parent.gotoAndPlay("outro");
}
Symbol 421 MovieClip Frame 1
stop();
Symbol 424 MovieClip Frame 2
stop();
Symbol 424 MovieClip Frame 16
stop();
Symbol 424 MovieClip Frame 26
stop();
Symbol 424 MovieClip Frame 35
stop();
smashing.keithm.Messenger.sendMessage("engine", "onPopupClosed");
Symbol 431 Button
on (release) {
_parent.gotoAndPlay("outro");
}
Symbol 434 Button
on (release) {
smashing.keithm.Messenger.sendMessage("engine", "clickSoundToggle");
}
Symbol 437 Button
on (release) {
smashing.keithm.Messenger.sendMessage("engine", "clickSoundToggle");
}
Symbol 438 MovieClip Frame 1
stop();
Symbol 441 Button
on (release) {
smashing.keithm.Messenger.sendMessage("engine", "clickGameHelp");
}
Symbol 444 Button
on (release) {
gotoAndStop (2);
}
Symbol 446 Button
on (release) {
_parent.gotoAndPlay("outro");
}
Symbol 451 Button
on (release) {
smashing.keithm.Messenger.sendMessage("engine", "clickQuit");
}
Symbol 456 Button
on (release) {
_parent.gotoAndStop(1);
}
Symbol 459 MovieClip Frame 1
smashing.keithm.Messenger.sendMessage("engine", "updateMuteButtonOnMenu");
stop();
Symbol 460 MovieClip Frame 2
stop();
Symbol 460 MovieClip Frame 16
stop();
Symbol 460 MovieClip Frame 30
smashing.keithm.Messenger.sendMessage("engine", "onPopupClosed");
Symbol 463 Button
on (release) {
nextFrame();
}
Symbol 466 Button
on (release) {
_parent._parent.gotoAndPlay("outro");
}
Symbol 469 Button
on (release) {
_parent._parent.gotoAndPlay("outro");
}
Symbol 470 MovieClip Frame 1
stop();
Symbol 479 Button
on (release) {
prevFrame();
}
Symbol 484 MovieClip Frame 1
stop();
smashing.keithm.Messenger.sendMessage("engine", "updateHelpCloseButton");
Symbol 485 MovieClip Frame 2
stop();
Symbol 485 MovieClip Frame 17
stop();
Symbol 485 MovieClip Frame 25
stop();
Symbol 485 MovieClip Frame 33
smashing.keithm.Messenger.sendMessage("engine", "onPopupClosed");
stop();
Symbol 491 MovieClip Frame 2
stop();
Symbol 503 MovieClip Frame 1
stop();
Symbol 506 MovieClip Frame 6
stop();
Symbol 508 MovieClip Frame 1
btn_submit._visible = false;
Symbol 509 MovieClip Frame 3
end_mc.score_txt.text = score;
Symbol 509 MovieClip Frame 14
stop();
Symbol 526 MovieClip Frame 10
_parent.gotoAndStop("idle");
Symbol 538 MovieClip Frame 36
_parent.gotoAndStop("idle");
Symbol 559 MovieClip Frame 58
_parent.gotoAndStop("idle");
Symbol 576 MovieClip Frame 25
_parent.gotoAndStop("idle");
Symbol 578 MovieClip Frame 41
_parent.gotoAndStop("idle");
Symbol 591 MovieClip Frame 19
_parent.gotoAndStop("idle");
Symbol 594 MovieClip Frame 17
_parent.gotoAndStop("idle");
Symbol 623 MovieClip Frame 4
stop();
Symbol 625 MovieClip Frame 4
stop();
Symbol 626 MovieClip Frame 5
stop();
Symbol 638 MovieClip [Project] Frame 1
#initclip 48
Object.registerClass("Project", nick.meatyTreasures.Engine);
#endinitclip
stop();