Frame 1
_root.gameLogic = new com.midasplayer.oneVsHundred.GameLogic();
_root.gameView = new com.midasplayer.oneVsHundred.GameView();
_root.gameLogic.setGameView(_root.gameView);
_root.gameLogic.init(_root);
_root._visible = false;
Symbol 43 MovieClip Frame 1
stop();
Symbol 43 MovieClip Frame 10
gotoAndPlay (3);
Symbol 226 MovieClip [1vs_xx_counter] Frame 35
stop();
Symbol 229 MovieClip [sign_equation_MC] Frame 35
_root.gameView.startSummaryEquation();
Symbol 229 MovieClip [sign_equation_MC] Frame 45
stop();
Symbol 229 MovieClip [sign_equation_MC] Frame 70
_root.gameView.endMoneyOrMob();
stop();
Symbol 258 MovieClip [_gameOverScreen] Frame 75
if (!_root.gameLogic.wonMillion()) {
this.dollar_0._visible = false;
this.dollar_1._visible = false;
this.twinkles._visible = false;
}
stop();
Symbol 274 MovieClip [_instructionsScreen] Frame 115
stop();
Symbol 274 MovieClip [_instructionsScreen] Frame 125
_root.gameView.exitInstructions();
stop();
Symbol 320 MovieClip Frame 25
stop();
Symbol 536 MovieClip Frame 1
stop();
Symbol 561 MovieClip Frame 1
stop();
Symbol 610 MovieClip Frame 14
if (_root.gameLogic.getLevel() >= 11) {
stop();
}
Symbol 610 MovieClip Frame 15
if (_root.gameLogic.getLevel() == 10) {
stop();
}
Symbol 610 MovieClip Frame 16
if (_root.gameLogic.getLevel() == 9) {
stop();
}
Symbol 610 MovieClip Frame 17
if (_root.gameLogic.getLevel() == 8) {
stop();
}
Symbol 610 MovieClip Frame 18
if (_root.gameLogic.getLevel() == 7) {
stop();
}
Symbol 610 MovieClip Frame 19
if (_root.gameLogic.getLevel() == 6) {
stop();
}
Symbol 610 MovieClip Frame 20
if (_root.gameLogic.getLevel() == 5) {
stop();
}
Symbol 610 MovieClip Frame 21
if (_root.gameLogic.getLevel() == 4) {
stop();
}
Symbol 610 MovieClip Frame 22
if (_root.gameLogic.getLevel() == 3) {
stop();
}
Symbol 610 MovieClip Frame 23
if (_root.gameLogic.getLevel() == 2) {
stop();
}
Symbol 610 MovieClip Frame 24
if (_root.gameLogic.getLevel() == 1) {
stop();
}
Symbol 610 MovieClip Frame 25
if (_root.gameLogic.getLevel() == 0) {
stop();
}
Symbol 612 MovieClip [__Packages.com.midasplayer.gameCore.AbstractGameView] Frame 0
class com.midasplayer.gameCore.AbstractGameView
{
var m_gameLogic;
function AbstractGameView () {
}
function setGameLogic(gameLogic) {
m_gameLogic = gameLogic;
}
function getGameLogic() {
return(m_gameLogic);
}
function onInitInfoScreen(infoScreen, currentState) {
}
function onUpdateInfoScreen(infoScreen, currentState) {
}
function onInit() {
}
function onLevelSetup() {
}
function onCompleteLevel() {
}
function onGameOver() {
}
function onTick() {
}
function onRender(ipTime) {
}
}
Symbol 613 MovieClip [__Packages.com.midasplayer.gameCore.AbstractGameLogic] Frame 0
class com.midasplayer.gameCore.AbstractGameLogic
{
var m_gameMode, m_randomSeed, m_random, m_performanceTimer, m_performanceTimerName, m_scopeRef, m_resetTick, m_tickCount, m_gameState, m_gda, m_world, NUMBER_LEVELS, m_timeLimit, m_gameView, m_timeLeft, m_pendingStateStart, m_clientInput, m_infoScreen;
function AbstractGameLogic () {
}
function getGameMode() {
return(m_gameMode);
}
function setAchievement(achievement) {
m_hasAchievement = achievement;
}
function hasAchievement() {
return(m_hasAchievement);
}
function getSeed() {
return(m_randomSeed);
}
function getRandom() {
return(m_random);
}
function setTicksPerSecond(ticksPerSecond) {
TICKS_PER_SECOND = ticksPerSecond;
TIME_PER_TICK = 1000 / TICKS_PER_SECOND;
}
function getTicksPerSecond() {
return(TICKS_PER_SECOND);
}
function getTimePerTick() {
return(TIME_PER_TICK);
}
function isServer() {
return(SERVER);
}
function isClient() {
return(!SERVER);
}
function startPerformaceTimer(scope, functionName) {
if (!PERFORMANCE_LOG) {
return(undefined);
}
m_performanceTimer.insert(getTimer());
m_performanceTimerName.insert((scope + "::") + functionName);
}
function stopPerformaceTimer() {
if (!PERFORMANCE_LOG) {
return(undefined);
}
var _local3 = m_performanceTimer.size() - 1;
var _local6 = getTimer() - Number(m_performanceTimer.get(_local3));
var _local5 = String(m_performanceTimerName.get(_local3));
m_performanceTimer.removeByIndex(_local3);
m_performanceTimerName.removeByIndex(_local3);
var _local4 = "";
var _local2 = 0;
while (_local2 < _local3) {
_local4 = _local4 + "- ";
_local2++;
}
_local4 = _local4 + (((("[" + _local5) + "]:\t") + _local6) + " ms");
trace(_local4);
}
function init(scopeRef) {
m_scopeRef = scopeRef;
m_resetTick = true;
m_tickCount = 0;
m_lastTickTime = -1;
m_ipTime = 0;
m_gameState = com.midasplayer.gameCore.GameState.INSTRUCTIONS;
if (isClient()) {
m_gda = new com.midasplayer.util.GameDataAcquirer();
m_gda.beginWait(mx.utils.Delegate.create(this, setupGame));
}
m_world = new com.midasplayer.gameCore.World(this, getScopeRef());
onInit();
if (DEV) {
new com.midasplayer.util.FpsCounter(_root);
}
if (PERFORMANCE_LOG) {
m_performanceTimer = new com.midasplayer.util.ArrayList();
m_performanceTimerName = new com.midasplayer.util.ArrayList();
}
}
function getScopeRef() {
return(m_scopeRef);
}
function setupGame() {
m_gameMode = Number(m_gda.getGameData("gameMode"));
m_randomSeed = Number(m_gda.getGameData("randomSeed"));
m_random = new com.midasplayer.util.Random(m_randomSeed);
NUMBER_LEVELS = Number(m_gda.getGameData("numberLevels"));
m_timeLimit = new com.midasplayer.util.ArrayList(m_gda.getGameData("timeLimit"));
if (m_timeLimit.size() < NUMBER_LEVELS) {
var _local3 = Number(m_timeLimit.get(0));
m_timeLimit = new com.midasplayer.util.ArrayList();
var _local2 = 0;
while (_local2 < NUMBER_LEVELS) {
m_timeLimit.insert(_local3);
_local2++;
}
}
onSetGameData(m_gda);
parseClientInput();
getGameView().onInit();
m_scopeRef.onEnterFrame = mx.utils.Delegate.create(this, update);
}
function setGameView(gameView) {
m_gameView = gameView;
m_gameView.setGameLogic(this);
}
function getWorld() {
return(m_world);
}
function getGameLogic() {
return(this);
}
function getTickCount() {
return(m_tickCount);
}
function getIPTime() {
return(m_ipTime);
}
function getGameTime() {
return(getTickCount() * TIME_PER_TICK);
}
function getScore() {
return(m_score);
}
function setScore(score) {
m_score = Math.max(score, 0);
}
function addScore(score) {
m_score = Math.max(m_score + score, 0);
trace("Add score: " + score);
trace("-- Total score: " + m_score);
}
function getLevel() {
return(m_level);
}
function getNumberLevels() {
return(NUMBER_LEVELS);
}
function addTime(time) {
m_timeLeft = Math.max(m_timeLeft + time, 0);
}
function getTimeLeft() {
var _local2 = m_timeLeft;
return(_local2);
}
function getTimePassed() {
return(m_timeLimit.get(getLevel()) - m_timeLeft);
}
function getTimeLeftPercent() {
return(Math.min(Math.max(0, (getTimeLeft() / m_timeLimit.get(getLevel())) * 100), 100));
}
function getState() {
return(m_gameState);
}
function getStateString() {
if (m_gameState == com.midasplayer.gameCore.GameState.INSTRUCTIONS) {
return("INSTRUCTIONS");
}
if (m_gameState == com.midasplayer.gameCore.GameState.GAME_START) {
return("GAME_START");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_SETUP) {
return("LEVEL_SETUP");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) {
return("LEVEL_START_PENDING");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
return("LEVEL_RUNNING");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING) {
return("LEVEL_OVER_PENDING");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER) {
return("LEVEL_OVER");
}
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
return("LEVEL_SUMMARY");
}
if (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER_PENDING) {
return("GAME_OVER_PENDING");
}
if (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER) {
return("GAME_OVER");
}
if (m_gameState == com.midasplayer.gameCore.GameState.GAME_SUMMARY) {
return("GAME_SUMMARY");
}
if (m_gameState == com.midasplayer.gameCore.GameState.GAME_QUIT) {
return("GAME_QUIT");
}
return("NONE");
}
function setState(state) {
m_gameState = state;
if (((state == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) || (state == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING)) || (state == com.midasplayer.gameCore.GameState.GAME_OVER_PENDING)) {
m_pendingStateStart = getTickCount();
}
}
function getPendingStateDurationStart() {
return(m_pendingStateDuration[0]);
}
function getPendingStateDurationEnd() {
return(m_pendingStateDuration[1]);
}
function setPendingStateDuration(durationStart, durationEnd) {
m_pendingStateDuration[0] = durationStart;
m_pendingStateDuration[1] = durationEnd;
}
function isLevelRunning() {
return(((getState() == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) || (getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING)) || (getState() == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING));
}
function isPractice() {
return(PRACTICE_GAME);
}
function isDev() {
return(DEV);
}
function isLocalGame() {
return(LOCAL_GAME);
}
function update() {
checkForServerResponse();
if (m_gameState == com.midasplayer.gameCore.GameState.NONE) {
trace("INVALID GAME STATE!!");
} else if (m_gameState == com.midasplayer.gameCore.GameState.INSTRUCTIONS) {
getGameLogic().updateInfoScreen();
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_START) {
fscommand ("gameStart");
setState(com.midasplayer.gameCore.GameState.LEVEL_SETUP);
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_SETUP) {
trace("-- State: SETUP");
m_resetTick = true;
m_timeLeft = Number(m_timeLimit.get(getLevel()));
onLevelSetup();
getGameView().onLevelSetup();
setState(com.midasplayer.gameCore.GameState.LEVEL_START_PENDING);
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) {
checkPendingState();
gameLoop();
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
gameLoop();
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING) {
checkPendingState();
gameLoop();
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER) {
trace("-- State: LEVEL_OVER");
onLevelOver();
m_level++;
if (m_level >= NUMBER_LEVELS) {
setState(com.midasplayer.gameCore.GameState.GAME_OVER);
} else {
setState(com.midasplayer.gameCore.GameState.LEVEL_SUMMARY);
}
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
getGameLogic().updateInfoScreen();
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER_PENDING) {
checkPendingState();
gameLoop();
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER) {
trace("-- State: GAME_OVER");
setState(com.midasplayer.gameCore.GameState.GAME_SUMMARY);
fscommand ("gameEnd", m_score);
trace("gameEnd: " + m_score);
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_SUMMARY) {
getGameLogic().updateInfoScreen();
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_QUIT) {
if (!m_gameQuit) {
fscommand ("gameQuit");
m_gameQuit = true;
}
}
}
function completeLevel() {
if (!isLevelRunning()) {
return(undefined);
}
setState(com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING);
onCompleteLevel();
getGameView().onCompleteLevel();
}
function gameOver() {
setState(com.midasplayer.gameCore.GameState.GAME_OVER_PENDING);
onGameOver();
getGameView().onGameOver();
}
function checkPendingState() {
if (((m_gameState == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) || (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING)) || (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER_PENDING)) {
var _local3 = ((m_gameState == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) ? (m_pendingStateDuration[0]) : (m_pendingStateDuration[1]));
if (getTickCount() >= (m_pendingStateStart + _local3)) {
var _local2 = com.midasplayer.gameCore.GameState.NONE;
if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_START_PENDING) {
_local2 = com.midasplayer.gameCore.GameState.LEVEL_RUNNING;
} else if (m_gameState == com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING) {
_local2 = com.midasplayer.gameCore.GameState.LEVEL_OVER;
} else if (m_gameState == com.midasplayer.gameCore.GameState.GAME_OVER_PENDING) {
_local2 = com.midasplayer.gameCore.GameState.GAME_OVER;
}
setState(_local2);
}
}
}
function gameLoop() {
if (m_resetTick) {
m_resetTick = false;
m_lastTickTime = getTimer();
}
var _local2 = 0;
for(;;){
calcIPTime();
if (m_ipTime < 1) {
break;
}
tickGame();
if ((((getState() != com.midasplayer.gameCore.GameState.LEVEL_RUNNING) && (getState() != com.midasplayer.gameCore.GameState.LEVEL_START_PENDING)) && (getState() != com.midasplayer.gameCore.GameState.LEVEL_OVER_PENDING)) && (getState() != com.midasplayer.gameCore.GameState.GAME_OVER_PENDING)) {
break;
}
if (_local2 >= 1000) {
trace("Infinite recursions or intolerable delay in gameLoop");
break;
}
if (getGameLogic().isDev() && (_local2 > 1)) {
break;
}
_local2++;
};
renderGame();
}
function calcIPTime() {
if (isServer()) {
m_ipTime = 1;
} else if (isClient()) {
m_ipTime = (getTimer() - m_lastTickTime) / TIME_PER_TICK;
}
}
function handleInput() {
if ((m_clientInput.size() > 0) && (getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING)) {
var _local2;
do {
if ((m_clientInput == undefined) || (m_clientInput.size() == 0)) {
break;
}
_local2 = com.midasplayer.gameCore.ClientInput(m_clientInput.get(0));
var _local3 = _local2.getTick();
if (_local3 == getTickCount()) {
var _local4 = false;
_local4 = onHandleInput(_local2);
if (!_local4) {
trace("ClientInput NOT handled correctly. " + _local2.toString());
}
m_clientInput.removeByIndex(0);
} else if (_local3 < getTickCount()) {
trace((("ClientInput skipped! InputTick: " + _local3) + " Tick: ") + getTickCount());
}
} while ((_local2 != undefined) && (_local2.getTick() == getTickCount()));
}
}
function tickGame() {
handleInput();
getWorld().tick();
onTick();
getGameView().onTick();
m_lastTickTime = m_lastTickTime + TIME_PER_TICK;
m_tickCount++;
calcIPTime();
checkPendingState();
if (getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
m_timeLeft = m_timeLeft - TIME_PER_TICK;
if (getTimeLeft() <= 0) {
if (onLevelTimeUp()) {
completeLevel();
} else {
gameOver();
}
}
}
}
function renderGame() {
var _local2 = getIPTime();
getWorld().render(_local2);
onRender(_local2);
getGameView().onRender(_local2);
}
function sendRequest(request) {
request = request.split("<").join("<");
request = request.split(">").join(">");
request = request.split(""").join("\"");
fscommand ("request", request);
}
function sendPlaydata(playData) {
if (PRACTICE_GAME) {
return(undefined);
}
fscommand ("playData", playData);
trace("playData: " + playData);
}
function checkForServerResponse() {
if (_root.response != undefined) {
var _local3 = _root.response;
_root.response = undefined;
_local3 = _local3.split("<").join("<");
_local3 = _local3.split(">").join(">");
_local3 = _local3.split(""").join("\"");
onResponseReceived(_local3);
}
}
function trimArray(arrayList) {
var _local2 = 0;
while (_local2 < arrayList.size()) {
var _local1 = String(arrayList.get(_local2));
if (_local1.charAt(0) == " ") {
_local1 = _local1.substr(1);
}
if (_local1.charAt(_local1.length) == " ") {
_local1 = _local1.substring(0, _local1.length - 1);
}
arrayList.set(_local2, _local1);
_local2++;
}
}
function trace(string) {
if (isClient()) {
trace(string);
var _local2 = getScopeRef().debug_text;
_local2.text = (string + newline) + _local2.text;
if (!DEV) {
_local2._visible = false;
}
} else if (isServer()) {
}
}
function getInfoScreen() {
return(m_infoScreen);
}
function updateInfoScreen() {
var _local2 = getState();
if (m_infoScreen == undefined) {
m_infoScreen = new com.midasplayer.gameCore.InfoScreen();
var _local3 = com.midasplayer.gameCore.GameState.NONE;
if (_local2 == com.midasplayer.gameCore.GameState.INSTRUCTIONS) {
_local3 = com.midasplayer.gameCore.GameState.GAME_START;
} else if (_local2 == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
_local3 = com.midasplayer.gameCore.GameState.LEVEL_SETUP;
} else if (_local2 == com.midasplayer.gameCore.GameState.GAME_SUMMARY) {
_local3 = com.midasplayer.gameCore.GameState.GAME_QUIT;
}
m_infoScreen.setExitState(this, _local3);
m_gameView.onInitInfoScreen(m_infoScreen, _local2);
}
m_infoScreen.update();
m_gameView.onUpdateInfoScreen(m_infoScreen, _local2);
}
function infoScreenExit() {
var _local2 = m_infoScreen.getExitState();
setState(_local2);
m_infoScreen = undefined;
}
function addWorldObject(obj, worldLayer, symbol, clipName) {
return(getWorld().addWorldObject(obj, worldLayer, symbol, clipName));
}
function parseClientInput() {
var _local2 = _level0.playData;
m_clientInput = com.midasplayer.gameCore.ClientInput.parseInput(_local2);
}
function setClientInput(clientInputList) {
m_clientInput = clientInputList;
}
function getGameView() {
return(m_gameView);
}
function onSetGameData(gda) {
var _local2 = "onSetGameData";
trace(("~~ " + _local2) + "()");
}
function onResponseReceived(response) {
var _local2 = "onResponseReceived";
trace(("~~ " + _local2) + "()");
}
function onLevelSetup() {
var _local2 = "onLevelSetup";
trace(("~~ " + _local2) + "()");
}
function onLevelTimeUp() {
var _local2 = "onLevelTimeUp";
trace(("~~ " + _local2) + "()");
return(false);
}
function onLevelOver() {
var _local2 = "onLevelOver";
trace(("~~ " + _local2) + "()");
}
function onCompleteLevel() {
var _local2 = "onCompleteLevel";
trace(("~~ " + _local2) + "()");
}
function onGameOver() {
var _local2 = "onGameOver";
trace(("~~ " + _local2) + "()");
}
function onInit() {
var _local2 = "onInit";
trace(("~~ " + _local2) + "()");
}
function onTick() {
var _local1 = "onTick";
}
function onRender(ipTime) {
var _local1 = "onRender";
}
function onHandleInput(input) {
return(false);
}
static var PRACTICE_GAME = false;
static var DEV = false;
static var LOCAL_GAME = false;
static var PERFORMANCE_LOG = false;
var m_gameQuit = false;
static var GAME_MODE_NORMAL = 0;
static var GAME_MODE_SHORT = 1;
static var GAME_MODE_DELUXE = 2;
static var GAME_MODE_OPEN = 3;
var m_pendingStateDuration = new Array(0, 0);
var m_lastTickTime = -1;
var m_ipTime = 0;
var m_score = 0;
var m_level = 0;
var m_hasAchievement = false;
static var TICKS_PER_SECOND = 4;
static var TIME_PER_TICK = 1000 / TICKS_PER_SECOND;
var SERVER = false;
}
Symbol 614 MovieClip [__Packages.com.midasplayer.gameCore.World] Frame 0
class com.midasplayer.gameCore.World
{
var m_scopeRef, m_gameLogic, m_clip, m_layers, m_worldObjects, m_worldObjectRemove;
function World (gameLogic, scope) {
m_scopeRef = scope;
m_gameLogic = gameLogic;
m_clip = m_scopeRef.createEmptyMovieClip("world", m_scopeRef.getNextHighestDepth());
m_clip._x = WORLD_OFFSET_X;
m_clip._y = WORLD_OFFSET_Y;
m_layers = new com.midasplayer.util.ArrayList();
m_worldObjects = new com.midasplayer.util.ArrayList();
m_worldObjectRemove = new com.midasplayer.util.ArrayList();
}
function getGameLogic() {
return(m_gameLogic);
}
function getClip() {
return(m_clip);
}
function render(ipTime) {
var _local3 = m_worldObjects.size();
var _local2 = 0;
while (_local2 < _local3) {
m_worldObjects.get(_local2).render(ipTime);
_local2++;
}
}
function tick() {
var _local5 = m_worldObjects.size();
var _local2 = 0;
while (_local2 < _local5) {
m_worldObjects.get(_local2).update();
_local2++;
}
_local2 = 0;
while (_local2 < _local5) {
m_worldObjects.get(_local2).onTick();
_local2++;
}
var _local4 = 0;
while (_local4 < m_worldObjectRemove.size()) {
_local2 = 0;
while (_local2 < m_worldObjects.size()) {
var _local3 = com.midasplayer.gameCore.WorldObject(m_worldObjects.get(_local2));
if (_local3.getObjId() == m_worldObjectRemove.get(_local4)) {
_local3.getObjectView().getClip().removeMovieClip();
_local3.onRemovedFromWorld();
m_worldObjects.removeByIndex(_local2);
break;
}
_local2++;
}
_local4++;
}
if (m_worldObjectRemove.size() > 0) {
m_worldObjectRemove.clear();
}
}
function getLayer(layer) {
if (m_layers.size() <= layer) {
var _local2 = m_layers.size();
while (_local2 <= layer) {
addLayer();
_local2++;
}
}
return(MovieClip(m_layers.get(layer)));
}
function addLayer() {
m_layers.insert(getClip().createEmptyMovieClip("layer_" + m_layers.size(), getClip().getNextHighestDepth()));
return(m_layers.size());
}
function addWorldObject(obj, worldLayer, symbol, clipName) {
var _local3 = m_worldObjectIdCounter;
m_worldObjectIdCounter++;
obj.setObjId(_local3);
m_worldObjects.insert(obj);
addWorldObjectHelper(obj, symbol, worldLayer, clipName);
return(obj);
}
function addWorldObjectHelper(obj, symbol, worldLayer, clipName) {
obj.setGameLogic(m_gameLogic);
obj.setWorld(this);
obj.getObjectView().setClip(symbol, worldLayer, clipName);
obj.onAddedToWorld();
}
function clearWorldObjects() {
var _local2 = 0;
while (_local2 < m_worldObjects.size()) {
var _local3 = com.midasplayer.gameCore.WorldObject(m_worldObjects.get(_local2));
_local3.getObjectView().getClip().removeMovieClip();
_local3.onRemovedFromWorld();
_local2++;
}
m_worldObjects.clear();
}
function removeWorldObject(obj) {
m_worldObjectRemove.insert(obj.getObjId());
obj.getObjectView().setClip("");
}
function getAllWorldObjects() {
return(m_worldObjects);
}
function getWorldObject(objId) {
var _local2 = 0;
while (_local2 < m_worldObjects.size()) {
var _local3 = m_worldObjects[_local2];
if (_local3.getObjId() == objId) {
return(com.midasplayer.gameCore.WorldObject(m_worldObjects.get(_local2)));
}
_local2++;
}
return(undefined);
}
static var WORLD_EDGE_TOP = 0;
static var WORLD_EDGE_BOTTOM = 345;
static var WORLD_EDGE_LEFT = 0;
static var WORLD_EDGE_RIGHT = 460;
static var WORLD_OFFSET_X = 80;
static var WORLD_OFFSET_Y = 0;
var m_worldObjectIdCounter = 0;
}
Symbol 615 MovieClip [__Packages.com.midasplayer.util.ArrayList] Frame 0
class com.midasplayer.util.ArrayList
{
var value;
function ArrayList (ar) {
if (ar == undefined) {
value = new Array();
} else {
value = ar;
}
}
function insert(obj, pos) {
var _local2 = value.length;
if ((pos == undefined) || (pos >= _local2)) {
value.push(obj);
return(_local2);
}
value.splice(pos, 0, obj);
return(pos);
}
function get(pos) {
return(value[pos]);
}
function set(pos, o) {
value[pos] = o;
}
function indexOf(obj) {
var _local2 = 0;
while (_local2 < value.length) {
if (obj == value[_local2]) {
return(_local2);
}
_local2++;
}
return(-1);
}
function remove(obj) {
return(removeByIndex(indexOf(obj)));
}
function removeByIndex(pos) {
var _local2;
var _local4 = value.length;
if ((pos < _local4) && (pos >= 0)) {
_local2 = value[pos];
value.splice(pos, 1);
}
return(_local2);
}
function size() {
return(value.length);
}
function clear() {
value = new Array();
}
function toArray() {
return(value);
}
function foreach(fn) {
var _local2 = 0;
var _local3 = value.length;
while (_local2 < _local3) {
if (fn(_local2, value[_local2]) == false) {
break;
}
_local2++;
}
}
function sortOn(field) {
value.sortOn(field);
}
function sort() {
value.sort();
}
function get iterator() {
return(new com.midasplayer.util.ArrayListIterator(this));
}
function subList(from, to) {
if ((to > value.length) || (!to)) {
to = value.length;
}
var _local4 = value.slice(from, to);
var _local3 = new com.midasplayer.util.ArrayList(_local4);
return(_local3);
}
}
Symbol 616 MovieClip [__Packages.com.midasplayer.util.Iterator] Frame 0
interface com.midasplayer.util.Iterator
{
}
Symbol 617 MovieClip [__Packages.com.midasplayer.util.ArrayListIterator] Frame 0
class com.midasplayer.util.ArrayListIterator implements com.midasplayer.util.Iterator
{
var ptr, list;
function ArrayListIterator (list) {
ptr = 0;
this.list = list;
}
function next() {
if (ptr < list.size()) {
return(list.get(ptr++));
}
return(undefined);
}
function hasNext() {
return(ptr < list.size());
}
function remove() {
if (ptr == 0) {
return(undefined);
}
list.removeByIndex(ptr - 1);
}
}
Symbol 618 MovieClip [__Packages.com.midasplayer.gameCore.WorldObject] Frame 0
class com.midasplayer.gameCore.WorldObject
{
var DEFAULT_SYMBOL, m_animFrame, m_posX, m_posY, m_rotation, m_scaleX, m_scaleY, m_alpha, m_visible, m_objectView, m_gameLogic, m_world, m_parent;
function WorldObject (defaultSymbol) {
if ((defaultSymbol != undefined) && (defaultSymbol != "")) {
DEFAULT_SYMBOL = defaultSymbol;
}
m_animFrame = new com.midasplayer.gameCore.InterpolationValue(1);
m_posX = new com.midasplayer.gameCore.InterpolationValue(0);
m_posY = new com.midasplayer.gameCore.InterpolationValue(0);
m_rotation = new com.midasplayer.gameCore.InterpolationValue(0);
m_scaleX = new com.midasplayer.gameCore.InterpolationValue(100);
m_scaleY = new com.midasplayer.gameCore.InterpolationValue(100);
m_alpha = new com.midasplayer.gameCore.InterpolationValue(100);
m_visible = new Array();
m_visible.push(true);
m_visible.push(true);
if (m_objectView != undefined) {
deleteObjectView();
}
m_objectView = createObjectView();
getObjectView().setObject(this);
}
function deleteObjectView() {
delete m_objectView;
}
function setDefaultSymbol(symbol) {
DEFAULT_SYMBOL = symbol;
}
function getDefaultSymbol() {
return(DEFAULT_SYMBOL);
}
function setObjId(id) {
m_objectId = id;
}
function getObjId() {
return(m_objectId);
}
function setGameLogic(gameLogic) {
m_gameLogic = gameLogic;
}
function getGameLogic() {
return(m_gameLogic);
}
function setWorld(world) {
m_world = world;
}
function getWorld() {
return(m_world);
}
function removeFromWorld() {
m_world.removeWorldObject(this);
}
function setPerformCollision(collision) {
m_performCollision = collision;
}
function getPerformCollision() {
return(m_performCollision);
}
function setPhysicsEnabled(physics) {
m_physicsEnabled = physics;
}
function isPhysicsEnabled() {
return(m_physicsEnabled);
}
function setAnimated(animated) {
m_animated = animated;
}
function isAnimated() {
return(m_animated);
}
function animPlay() {
m_playing = true;
}
function animStop() {
m_playing = false;
}
function isAnimPlaying() {
return(m_playing);
}
function setAnimLooping(loop) {
m_looping = loop;
}
function isAnimLooping() {
return(m_looping);
}
function setPlaybackSpeed(speed) {
m_playbackSpeed = speed;
}
function getPlaybackSpeed() {
return(m_playbackSpeed);
}
function setFrame(frame) {
m_animFrame.setValue(frame);
}
function getFrame(ipTime) {
return(m_animFrame.getValue(ipTime));
}
function setParent(parent) {
m_parent = parent;
}
function getParent() {
return(m_parent);
}
function setX(x) {
m_posX.setValue(x);
getObjectView().makeDirty();
}
function setY(y) {
m_posY.setValue(y);
getObjectView().makeDirty();
}
function setPos(x, y) {
setX(x);
setY(y);
}
function setPrevX(x) {
m_posX.setPrevValue(x);
getObjectView().makeDirty();
}
function setPrevY(y) {
m_posY.setPrevValue(y);
getObjectView().makeDirty();
}
function setNextX(x) {
m_posX.setNextValue(x);
getObjectView().makeDirty();
}
function setNextY(y) {
m_posY.setNextValue(y);
getObjectView().makeDirty();
}
function setVelX(vel) {
m_posVelocityX = vel;
}
function setVelY(vel) {
m_posVelocityY = vel;
}
function setVel(vel) {
m_posVelocityX = vel.x;
m_posVelocityY = vel.y;
}
function addVelX(vel) {
m_posVelocityX = m_posVelocityX + vel;
}
function addVelY(vel) {
m_posVelocityY = m_posVelocityY + vel;
}
function setGravity(vel) {
m_gravity = vel;
}
function setRotation(rot) {
m_rotation.setValue(rot);
getObjectView().makeDirty();
}
function setRotationVel(vel) {
m_rotationVelocity = vel;
}
function addRotationVel(vel) {
m_rotationVelocity = m_rotationVelocity + vel;
}
function setScaleX(scale) {
m_scaleX.setValue(scale);
getObjectView().makeDirty();
}
function setNextScaleX(scale) {
m_scaleX.setNextValue(scale);
getObjectView().makeDirty();
}
function setScaleXVel(vel) {
m_scaleXVelocity = vel;
}
function setScaleY(scale) {
m_scaleY.setValue(scale);
getObjectView().makeDirty();
}
function setNextScaleY(scale) {
m_scaleY.setNextValue(scale);
getObjectView().makeDirty();
}
function setScaleYVel(vel) {
m_scaleYVelocity = vel;
}
function setAlpha(alpha) {
m_alpha.setValue(alpha);
getObjectView().makeDirty();
}
function setNextAlpha(alpha) {
m_alpha.setNextValue(alpha);
getObjectView().makeDirty();
}
function setAlphaVel(vel) {
m_alphaVelocity = vel;
}
function setVisible(visible) {
m_visible[0] = (m_visible[1] = visible);
}
function setNextVisible(visible) {
m_visible[1] = visible;
}
function getX(ipTime) {
return(m_posX.getValue(ipTime));
}
function getY(ipTime) {
return(m_posY.getValue(ipTime));
}
function getPos(ipTime) {
return(new com.midasplayer.util.Vec2D(m_posX.getValue(ipTime), m_posY.getValue(ipTime)));
}
function getVelX() {
return(m_posVelocityX);
}
function getVelY() {
return(m_posVelocityY);
}
function getVel() {
return(new com.midasplayer.util.Vec2D(m_posVelocityX, m_posVelocityY));
}
function getGravity() {
return(m_gravity);
}
function getRotation(ipTime) {
return(m_rotation.getValue(ipTime));
}
function getRotationVel() {
return(m_rotationVelocity);
}
function getScaleX(ipTime) {
return(m_scaleX.getValue(ipTime));
}
function getScaleXVel() {
return(m_scaleXVelocity);
}
function getScaleY(ipTime) {
return(m_scaleY.getValue(ipTime));
}
function getScaleYVel() {
return(m_scaleYVelocity);
}
function getAlpha(ipTime) {
return(m_alpha.getValue(ipTime));
}
function getAlphaVel() {
return(m_alphaVelocity);
}
function getVisible(ipTime) {
if (ipTime < 1) {
return(m_visible[0]);
}
return(m_visible[1]);
}
function setDestroyTick(tick) {
m_destroyTick = tick;
}
function getDestroyTick() {
return(m_destroyTick);
}
function getUseHandCursor() {
return(m_useHandCursor);
}
function setUseHandCursor(useHand) {
m_useHandCursor = useHand;
getObjectView().updateHandCursor();
}
function setInputEnabled(input) {
m_inputEnabled = input;
getObjectView().setupInput();
}
function isInputEnabled(input) {
return((input & m_inputEnabled) == input);
}
function updatePhysics() {
}
function isDirty() {
return(m_dirty);
}
function updateIPValue(ipValue, vel) {
ipValue.updateValue(ipValue.getNextValue() + vel);
m_dirty = true;
}
function update() {
if ((m_destroyTick != -1) && (m_gameLogic.getTickCount() >= m_destroyTick)) {
m_world.removeWorldObject(this);
}
if (m_physicsEnabled) {
m_posVelocityY = m_posVelocityY + m_gravity;
}
m_dirty = false;
if (m_posVelocityX != 0) {
updateIPValue(m_posX, m_posVelocityX);
}
if (m_posVelocityY != 0) {
updateIPValue(m_posY, m_posVelocityY);
}
if (m_rotationVelocity != 0) {
updateIPValue(m_rotation, m_rotationVelocity);
}
if (m_alphaVelocity != 0) {
updateIPValue(m_alpha, m_alphaVelocity);
}
if (m_scaleXVelocity != 0) {
updateIPValue(m_scaleX, m_scaleXVelocity);
}
if (m_scaleYVelocity != 0) {
updateIPValue(m_scaleY, m_scaleYVelocity);
}
if (m_visible[0] != m_visible[1]) {
m_visible[0] = m_visible[1];
m_dirty = true;
}
if (m_animated && (m_playing)) {
var _local5 = m_animFrame.getNextValue() + m_playbackSpeed;
m_animFrame.updateValue(_local5);
var _local4 = m_animFrame.getPrevValue();
var _local3 = getObjectView().getFrames();
if (_local4 > _local3) {
if (!m_looping) {
m_animFrame.setValue(_local3);
animStop();
} else {
var _local2 = getObjectView().getFrames();
m_animFrame.setNextValue(m_animFrame.getNextValue() - _local2);
m_animFrame.setPrevValue(m_animFrame.getPrevValue() - _local2);
}
}
}
}
function render(ipTime) {
m_objectView.render(ipTime);
}
function createObjectView() {
return(new com.midasplayer.gameCore.WorldObjectView());
}
function getObjectView() {
return(m_objectView);
}
function onMouseEvent() {
}
function onPress() {
}
function onRelease() {
}
function onRollOver() {
}
function onRollOut() {
}
function onDragOver() {
}
function onDragOut() {
}
function onClipLoaded() {
}
function onAddedToWorld() {
}
function onRemovedFromWorld() {
}
function onTick() {
}
static var INPUT_NONE = 0;
static var INPUT_MOUSE_PRESS = 1;
static var INPUT_MOUSE_RELEASE = 2;
static var INPUT_MOUSE_ROLL_OVER = 4;
static var INPUT_MOUSE_ROLL_OUT = 8;
static var INPUT_MOUSE_DRAG_OVER = 16;
static var INPUT_MOUSE_DRAG_OUT = 32;
var m_objectId = -1;
var m_inputEnabled = 0;
var m_worldLayer = 0;
var m_useHandCursor = false;
var m_performCollision = false;
var m_physicsEnabled = true;
var m_animated = false;
var m_playing = true;
var m_looping = true;
var m_playbackSpeed = 0.2;
var m_posVelocityX = 0;
var m_posVelocityY = 0;
var m_gravity = 0;
var m_rotationVelocity = 0;
var m_scaleXVelocity = 0;
var m_scaleYVelocity = 0;
var m_alphaVelocity = 0;
var m_destroyTick = -1;
var m_dirty = false;
}
Symbol 619 MovieClip [__Packages.com.midasplayer.gameCore.WorldObjectView] Frame 0
class com.midasplayer.gameCore.WorldObjectView
{
var m_object, m_clip;
function WorldObjectView () {
}
function isDirty() {
return(m_dirty);
}
function makeDirty() {
m_dirty = true;
}
function setObject(worldObject) {
m_object = worldObject;
}
function getClip() {
return(m_clip);
}
function gotoAndStop(frame) {
getClip().gotoAndStop(frame);
}
function getFrames() {
return(getClip()._framesloaded);
}
function setClip(symbol, worldLayer, clipName) {
if (symbol == undefined) {
symbol = getObject().getDefaultSymbol();
}
if (worldLayer != undefined) {
m_worldLayer = worldLayer;
}
if ((clipName == undefined) || (clipName == null)) {
clipName = (symbol + "_") + getObject().getObjId();
}
var _local5 = getObject().getWorld().getLayer(m_worldLayer);
var _local3 = _local5.getNextHighestDepth();
if (m_clip != undefined) {
_local3 = m_clip.getDepth();
m_clip.removeMovieClip();
}
if (symbol == SYMBOL_EMPTY_MOVIECLIP) {
m_clip = _local5.createEmptyMovieClip(clipName, _local3);
} else if (symbol != "") {
m_clip = _local5.attachMovie(symbol, clipName, _local3);
if (m_clip == undefined) {
trace(((((("Falied to attach clip: " + symbol) + " for objId: ") + getObject().getObjId()) + " Symbol: '") + symbol) + "'");
}
} else {
m_clip = undefined;
}
m_clip._visible = false;
updateHandCursor();
makeDirty();
getObject().setFrame(1);
if (getObject().isAnimated()) {
m_clip.stop();
}
getObject().onClipLoaded();
onClipLoaded();
setupInput();
}
function updateHandCursor() {
getClip().useHandCursor = getObject().getUseHandCursor();
}
function setupInput() {
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_PRESS)) {
getClip().onPress = mx.utils.Delegate.create(this, onPress);
} else {
getClip().onPress = undefined;
}
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_RELEASE)) {
getClip().onRelease = mx.utils.Delegate.create(this, onRelease);
} else {
getClip().onRelease = undefined;
}
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_ROLL_OVER)) {
getClip().onRollOver = mx.utils.Delegate.create(this, onRollOver);
} else {
getClip().onRollOver = undefined;
}
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_ROLL_OUT)) {
getClip().onRollOut = mx.utils.Delegate.create(this, onRollOut);
} else {
getClip().onRollOut = undefined;
}
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_DRAG_OVER)) {
getClip().onDragOver = mx.utils.Delegate.create(this, onDragOver);
} else {
getClip().onDragOver = undefined;
}
if (getObject().isInputEnabled(com.midasplayer.gameCore.WorldObject.INPUT_MOUSE_DRAG_OUT)) {
getClip().onDragOut = mx.utils.Delegate.create(this, onDragOut);
} else {
getClip().onDragOut = undefined;
}
}
function isMouseOver() {
return(m_mouseOver);
}
function onPress() {
m_object.onPress();
m_object.onMouseEvent();
}
function onRelease() {
m_object.onRelease();
m_object.onMouseEvent();
}
function onRollOver() {
m_mouseOver = true;
m_object.onRollOver();
m_object.onMouseEvent();
}
function onRollOut() {
m_mouseOver = false;
m_object.onRollOut();
m_object.onMouseEvent();
}
function onDragOver() {
m_mouseOver = true;
m_object.onDragOver();
m_object.onMouseEvent();
}
function onDragOut() {
m_mouseOver = false;
m_object.onDragOut();
m_object.onMouseEvent();
}
function render(ipTime) {
if (m_clip == undefined) {
return(undefined);
}
var _local2 = getObject();
if ((!m_dirty) && (_local2.isDirty())) {
makeDirty();
}
if (m_dirty) {
m_clip._x = _local2.getX(ipTime);
m_clip._y = _local2.getY(ipTime);
m_clip._rotation = _local2.getRotation(ipTime);
m_clip._xscale = _local2.getScaleX(ipTime);
m_clip._yscale = _local2.getScaleY(ipTime);
m_clip._alpha = _local2.getAlpha(ipTime);
m_clip._visible = _local2.getVisible(ipTime);
m_dirty = false;
}
}
function getGameLogic() {
return(getObject().getGameLogic());
}
function getObject() {
return(m_object);
}
function onClipLoaded() {
}
static var SYMBOL_EMPTY_MOVIECLIP = "____symbol_empty_movieclip";
var m_mouseOver = false;
var m_worldLayer = 0;
var m_dirty = false;
}
Symbol 620 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 621 MovieClip [__Packages.com.midasplayer.gameCore.InterpolationValue] Frame 0
class com.midasplayer.gameCore.InterpolationValue
{
function InterpolationValue (startValue) {
if (startValue != undefined) {
setValue(startValue);
}
}
function getPrevValue() {
return(m_prevValue);
}
function getNextValue() {
return(m_nextValue);
}
function setValue(valueParam) {
setPrevValue(valueParam);
setNextValue(valueParam);
}
function setPrevValue(valueParam) {
m_prevValue = valueParam;
}
function setNextValue(valueParam) {
m_nextValue = valueParam;
}
function setWaypointValue(valueParam, IPparam) {
m_waypointValue = valueParam;
m_waypointIP = IPparam;
}
function clearWaypoint() {
m_waypointIP = -1;
}
function updateValue(valueParam) {
setPrevValue(getNextValue());
setNextValue(valueParam);
}
function getValue(ipTime) {
if (((ipTime == undefined) || (ipTime == 1)) || (m_prevValue == m_nextValue)) {
return(m_nextValue);
}
if (ipTime == 0) {
return(m_prevValue);
}
if ((m_waypointIP > 0) && (m_waypointIP < 1)) {
if (ipTime == m_waypointIP) {
return(m_waypointValue);
}
if (ipTime < m_waypointIP) {
return(m_prevValue + ((m_waypointValue - m_prevValue) * (ipTime / m_waypointIP)));
}
if (ipTime > m_waypointIP) {
return(m_waypointValue + (((m_nextValue - m_waypointValue) * (ipTime - m_waypointIP)) / (1 - m_waypointIP)));
}
}
return(m_prevValue + ((m_nextValue - m_prevValue) * ipTime));
}
var m_prevValue = 0;
var m_nextValue = 0;
var m_waypointValue = 0;
var m_waypointIP = -1;
}
Symbol 622 MovieClip [__Packages.com.midasplayer.util.Vec2D] Frame 0
class com.midasplayer.util.Vec2D
{
function Vec2D (x, y) {
if (x != undefined) {
this.x = x;
}
if (y != undefined) {
this.y = y;
}
}
function toString() {
return(((("<" + x) + ", ") + y) + ">");
}
function addition(vec) {
return(new com.midasplayer.util.Vec2D(x + vec.x, y + vec.y));
}
function subtract(vec) {
return(new com.midasplayer.util.Vec2D(x - vec.x, y - vec.y));
}
function multiply(scalar) {
return(new com.midasplayer.util.Vec2D(x * scalar, y * scalar));
}
function divide(scalar) {
return(new com.midasplayer.util.Vec2D(x / scalar, y / scalar));
}
function normalize() {
return(divide(length()));
}
function length() {
return(Math.sqrt(lengthSqr()));
}
function lengthSqr() {
return(Math.pow(x, 2) + Math.pow(y, 2));
}
function dot(vec) {
return((x * vec.x) + (y * vec.y));
}
function project(vec) {
var _local4 = dot(vec);
var _local3 = new com.midasplayer.util.Vec2D();
_local3.x = (_local4 / ((vec.x * vec.x) + (vec.y * vec.y))) * vec.x;
_local3.y = (_local4 / ((vec.x * vec.x) + (vec.y * vec.y))) * vec.y;
return(_local3);
}
var x = 0;
var y = 0;
}
Symbol 623 MovieClip [__Packages.com.midasplayer.gameCore.GameState] Frame 0
class com.midasplayer.gameCore.GameState
{
function GameState () {
}
static var NONE = -1;
static var INSTRUCTIONS = 0;
static var GAME_START = 1;
static var LEVEL_SETUP = 2;
static var LEVEL_START_PENDING = 3;
static var LEVEL_RUNNING = 4;
static var LEVEL_OVER_PENDING = 5;
static var LEVEL_OVER = 6;
static var LEVEL_SUMMARY = 7;
static var GAME_OVER_PENDING = 8;
static var GAME_OVER = 9;
static var GAME_SUMMARY = 10;
static var GAME_QUIT = 11;
}
Symbol 624 MovieClip [__Packages.com.midasplayer.gameCore.InfoScreen] Frame 0
class com.midasplayer.gameCore.InfoScreen
{
var m_okButtonText, m_clip, m_okButton, m_gameLogic, m_soundIdentifier;
function InfoScreen () {
m_okButtonText = com.midasplayer.util.I18n.getString("start");
}
function setDeleteOnExit(deleteOnExit) {
m_deleteOnExit = deleteOnExit;
}
function deleteOnExit() {
return(m_deleteOnExit);
}
function getTimePassed() {
return(m_expireTime - m_timeRemaining);
}
function getTimeRemaining() {
return(m_timeRemaining);
}
function setTimeRemaining(time) {
m_timeRemaining = time;
}
function setFps(fps) {
m_fps = fps;
}
function setLooping(looping) {
m_looping = looping;
}
function getClip() {
return(m_clip);
}
function init(parent, symbol, expireTime) {
if (symbol == undefined) {
symbol = DEFAULT_SYMBOL;
}
if (expireTime != undefined) {
m_expireTime = expireTime;
}
m_clip = parent.attachMovie(symbol, symbol + "_infoscreen", parent.getNextHighestDepth());
setOkButton(m_clip[SIGN_NAME].ok_button);
setExpireTime(expireTime);
m_startTime = getTimer();
}
function setClip(clip) {
m_clip = clip;
}
function setOkButton(okButton) {
m_okButton = okButton;
m_okButton.onPress = mx.utils.Delegate.create(this, exit);
m_okButton.onRollOver = mx.utils.Delegate.create(this, okButtonRollOver);
m_okButton.onRollOut = mx.utils.Delegate.create(this, okButtonRollOut);
}
function okButtonRollOver() {
m_okButton.gotoAndStop(2);
updateButtonText();
}
function okButtonRollOut() {
m_okButton.gotoAndStop(1);
updateButtonText();
}
function setPos(x, y) {
m_clip._x = x;
m_clip._y = y;
}
function setExitState(gameLogic, exitState) {
m_gameLogic = gameLogic;
m_exitState = exitState;
}
function getExitState() {
return(m_exitState);
}
function setExpireTime(expireTime) {
m_expireTime = expireTime;
m_startTime = getTimer();
m_timeRemaining = expireTime;
m_lastTimer = getTimer();
}
function setSound(sound, soundVolume) {
m_soundIdentifier = sound;
com.midasplayer.fx.SoundManager.play(m_soundIdentifier, soundVolume);
}
function setButtonText(textValue) {
m_okButtonText = textValue;
}
function setSignText(textFieldName, textValue) {
m_clip[SIGN_NAME][textFieldName].text = textValue;
}
function setText(textFieldName, textValue) {
m_clip[textFieldName].text = textValue;
}
function setElementVisible(name, visible) {
m_clip[name]._visible = visible;
}
function updateButtonText() {
m_okButton.text.text = m_okButtonText;
}
function update() {
if (m_clip == undefined) {
exit();
return(undefined);
}
var _local5 = (getTimer() - m_lastTimer) / 1000;
m_lastTimer = getTimer();
m_timeRemaining = m_timeRemaining - _local5;
var _local7 = m_okButtonText;
var _local4 = m_clip[SIGN_NAME][TIMER_NAME];
if (_local4 != undefined) {
_local4.gotoAndStop(m_timeRemaining - 1);
}
updateButtonText();
if (m_timeRemaining <= 0) {
exit();
}
if (m_fps != 0) {
var _local3 = m_clip;
var _local6 = (getTimer() - m_startTime) / 1000;
var _local2 = Math.floor(_local6 * m_fps);
if (m_looping) {
_local2 = (_local2 % _local3._framesloaded) + 1;
} else if (_local2 > _local3._framesloaded) {
_local2 = _local3._framesloaded;
}
_local3.gotoAndStop(_local2);
}
}
function exit() {
if (deleteOnExit() && (m_clip != undefined)) {
m_clip._visible = false;
m_clip.removeMovieClip();
trace("delete movie " + m_clip);
}
if (m_soundIdentifier != undefined) {
com.midasplayer.fx.SoundManager.stop(m_soundIdentifier);
}
m_gameLogic.infoScreenExit();
}
static var DEFAULT_SYMBOL = "info_screen";
static var SIGN_NAME = "sign";
static var ANIM_NAME = "anim";
static var TIMER_NAME = "timer";
static var OK_BUTTON_TEXT = "ok_button_text";
var m_startTime = -1;
var m_lastTimer = -1;
var m_expireTime = 10;
var m_exitState = com.midasplayer.gameCore.GameState.NONE;
var m_deleteOnExit = true;
var m_timeRemaining = -1;
var m_fps = 0;
var m_looping = true;
}
Symbol 625 MovieClip [__Packages.com.midasplayer.util.I18n] Frame 0
class com.midasplayer.util.I18n
{
static var lang;
function I18n () {
}
static function init(newLang) {
lang = newLang;
}
static function getString(name) {
var _local1 = lang.get(name);
if (_local1 == undefined) {
return(("{" + name) + "}");
}
return(_local1.toString());
}
}
Symbol 626 MovieClip [__Packages.com.midasplayer.util.Map] Frame 0
class com.midasplayer.util.Map
{
var map, lastSize;
function Map (init) {
map = new Object();
for (var _local3 in init) {
map["@" + _local3] = init[_local3];
}
lastSize = -1;
}
function put(key, value) {
map["@" + key] = value;
lastSize = -1;
}
function get(key) {
return(map["@" + key]);
}
function remove(key) {
var _local2 = map["@" + key];
delete map["@" + key];
lastSize = -1;
return(_local2);
}
function count() {
if (lastSize < 0) {
lastSize = 0;
for (var _local2 in map) {
lastSize++;
}
}
return(lastSize);
}
function size() {
return(count());
}
function clear() {
map = {};
lastSize = 0;
}
function dump() {
var _local2 = "";
for (var _local3 in map) {
_local2 = _local2 + (((_local3 + "=>") + map[_local3]) + newline);
}
trace(_local2);
}
function toArray() {
var _local2 = [];
for (var _local3 in map) {
_local2[_local2.length] = map[_local3];
}
return(_local2);
}
function keySet() {
var _local2 = [];
for (var _local3 in map) {
_local2[_local2.length] = _local3.substring(1);
}
return(_local2);
}
function foreach(fn) {
do {
if ((in map) == null) {
break;
}
var _local3 = in map;
} while (fn(_local3.substring(1), map[_local3]) != false);
do {
} while ("foreach" != null);
lastSize = -1;
}
}
Symbol 627 MovieClip [__Packages.com.midasplayer.fx.SoundManager] Frame 0
class com.midasplayer.fx.SoundManager
{
function SoundManager () {
}
static function parseGroup(group) {
return(((group == undefined) ? (DEFAULT_GROUP) : (group)));
}
static function addSoundGroup(group) {
var _local1 = soundEnabledMap.get(group);
if (_local1 == undefined) {
soundEnabledMap.put(group, {groupEnabled:isSoundEnabled(DEFAULT_GROUP)});
}
}
static function isSoundEnabled(group) {
group = parseGroup(group);
var _local1 = soundEnabledMap.get(group).groupEnabled;
if (_local1 == undefined) {
_local1 = true;
}
return(_local1);
}
static function enableSounds(enabled, group) {
group = parseGroup(group);
addSoundGroup(group);
var _local2 = (soundEnabledMap.get(group).groupEnabled = enabled);
trace(((("soundEnabled: " + isSoundEnabled(group)) + " '") + group) + "'");
if (!enabled) {
muteAll(group);
} else {
restoreMuteAll(group);
}
}
static function stopAll(group) {
sounds.foreach(function (name, soundEntry) {
soundEntry.sound.stop();
soundEntry.playStatus = false;
});
}
static function muteAll(group) {
group = parseGroup(group);
sounds.foreach(function (name, soundEntry) {
if (soundEntry.group == group) {
soundEntry.sound.setVolume(0);
}
});
}
static function restoreMuteAll(group) {
group = parseGroup(group);
sounds.foreach(function (name, soundEntry) {
if (soundEntry.group == group) {
soundEntry.sound.setVolume(soundEntry.realVol);
}
});
}
static function stop(resource) {
var _local1 = sounds.get(resource);
if (_local1 != undefined) {
_local1.sound.stop();
_local1.playStatus = false;
}
}
static function getCalibratedVolume(flashVolume) {
flashVolume = Math.min(100, flashVolume);
flashVolume = Math.max(0, flashVolume);
return(Math.ceil(Math.pow(flashVolume / 100, 1.46) * 100));
}
static function setVolume(resource, percent) {
var _local1 = sounds.get(resource);
if ((_local1 != undefined) && (_local1.playStatus == true)) {
var _local2 = getCalibratedVolume(percent);
_local1.sound.setVolume(_local2);
_local1.sound.volume = _local2;
}
}
static function isPlaying(resource) {
var _local1 = sounds.get(resource);
return((_local1 != undefined) && (_local1.playStatus == true));
}
static function play(resource, volume, isLoop, group) {
if (volume == undefined) {
volume = 100;
}
if (isLoop == undefined) {
isLoop = false;
}
volume = getCalibratedVolume(volume);
var _local1 = sounds.get(resource);
if (_local1 == undefined) {
_local1 = loadResource(resource, group);
}
if (_local1 != undefined) {
_local1.sound.setVolume((isSoundEnabled(_local1.group) ? (volume) : 0));
_local1.realVol = volume;
_local1.playStatus = true;
_local1.sound.start(0, (isLoop ? 32767 : 1));
}
}
static function loadResource(resource, group) {
group = parseGroup(group);
addSoundGroup(group);
var _local3 = _root.getNextHighestDepth();
var _local2 = new Sound(_root.createEmptyMovieClip("sm_sndhold_" + _local3, _local3));
_local2.attachSound(resource);
_local2.onSoundComplete = function () {
var _local1 = com.midasplayer.fx.SoundManager.sounds.get(resource);
_local1.playStatus = false;
};
sounds.put(resource, {realVol:100, sound:_local2, playStatus:true, group:group});
return(sounds.get(resource));
}
static var DEFAULT_GROUP = "default";
static var sounds = new com.midasplayer.util.Map();
static var soundEnabledMap = new com.midasplayer.util.Map();
}
Symbol 628 MovieClip [__Packages.com.midasplayer.util.GameDataAcquirer] Frame 0
class com.midasplayer.util.GameDataAcquirer
{
var attrib, multiplayerAttrib, trees, targetVar, dataEvent, timerFn, timer, error;
function GameDataAcquirer (variable) {
attrib = new com.midasplayer.util.Map();
multiplayerAttrib = new com.midasplayer.util.Map();
trees = new com.midasplayer.util.Map();
if (variable != undefined) {
targetVar = variable;
} else {
targetVar = "gameData";
}
}
function beginWait(fn) {
dataEvent = fn;
timerFn = function (caller) {
var _local1 = _level0[caller.targetVar];
if (((_local1 != undefined) && (_local1 != null)) && (_local1.length > 0)) {
caller.parse(_local1);
if (caller.dataEvent != undefined) {
caller.dataEvent();
}
caller.dataEvent = undefined;
clearInterval(caller.timer);
}
};
timer = setInterval(timerFn, 100, this);
}
function poll() {
if (!parsed) {
var _local2 = _level0[targetVar];
if (((_local2 != undefined) && (_local2 != null)) && (_local2.length > 0)) {
parse(_local2);
parsed = true;
return(true);
}
}
return(false);
}
function getAttributes() {
return(attrib);
}
function getSubTrees(name) {
return(trees.get(name));
}
function getGameData(name) {
return(attrib.get(name));
}
function getMultiplayerData(name) {
return(multiplayerAttrib.get(name));
}
function parse(data) {
attrib.clear();
var _local8 = new com.midasplayer.util.Map();
var _local10 = new XML();
_local10.ignoreWhite = true;
_local10.parseXML(data);
var _local4 = _local10.firstChild;
if (_local4.nodeName != "gamedata") {
error = "Bad XML (expected <gamedata>)";
return(undefined);
}
for (var _local9 in _local4.attributes) {
var _local5;
var _local2 = _local4.attributes[_local9];
if ((_local2.indexOf("[") == 0) && ((_local5 = _local2.indexOf("]")) != -1)) {
_local2 = _local2.substring(1, _local5);
if (_local2.indexOf(",") != -1) {
_local2 = _local2.split(",");
} else {
var _local7 = _local2;
_local2 = new Array();
_local2.push(_local7);
}
}
attrib.put(_local9, _local2);
}
for (var _local9 in _local4.childNodes) {
var _local3 = _local4.childNodes[_local9];
switch (_local3.nodeName) {
case "text" :
_local8.put(_local3.attributes.id, _local3.firstChild.nodeValue);
break;
case "multiplayer" :
for (var _local9 in _local3.attributes) {
multiplayerAttrib.put(_local9, _local3.attributes[_local9]);
}
break;
default :
var _local6;
_local6 = trees.get(_local3.nodeName);
if (_local6 == undefined) {
trees.put(_local3.nodeName, [_local3]);
} else {
_local6.push(_local3);
}
}
}
trace("parse(): completed");
com.midasplayer.util.I18n.init(_local8);
}
var parsed = false;
}
Symbol 629 MovieClip [__Packages.com.midasplayer.util.Random] Frame 0
class com.midasplayer.util.Random
{
var mta, mti, lastSeed;
function Random (aSeed) {
mta = new Array(N);
mti = N + 1;
if (aSeed != undefined) {
init_genrand(aSeed);
}
}
function setSeed(s) {
init_genrand(s);
}
function getSeed() {
return(lastSeed);
}
function nextInt(n) {
return((genrand_int32() & 2147483647) % n);
}
function nextFloat() {
return(next(24) / 16777216);
}
function nextDouble() {
return(next(24) / 16777216);
}
function next(bits) {
if (bits < 32) {
return(genrand_int32() & ((1 << bits) - 1));
}
return(genrand_int32());
}
function init_genrand(s) {
s = int(s);
trace("Random::init_genrand(): seed=" + s);
var _local5 = getTimer();
lastSeed = s;
mta[0] = s;
var _local2 = s;
var _local3 = new com.midasplayer.util.Integer64();
mti = 1;
while (mti < N) {
_local3.init32((_local2 >>> 30) ^ _local2);
_local3.mulu32(1812433253);
_local2 = (mta[mti] = int(_local3.lsb + mti));
mti++;
}
var _local6 = getTimer();
trace(("Random::init_genrand(): initialization ~" + (_local6 - _local5)) + "ms");
}
function genrand_int32() {
var _local3 = 0;
if (mti >= N) {
if (mti == (N + 1)) {
init_genrand(5489);
}
var _local4 = getTimer();
var _local2 = 0;
_local2 = 0;
while (_local2 < (N - M)) {
_local3 = (mta[_local2] & UPPER_MASK) | (mta[_local2 + 1] & LOWER_MASK);
mta[_local2] = (mta[_local2 + M] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
_local2++;
}
while (_local2 < (N - 1)) {
_local3 = (mta[_local2] & UPPER_MASK) | (mta[_local2 + 1] & LOWER_MASK);
mta[_local2] = (mta[_local2 + (M - N)] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
_local2++;
}
_local3 = (mta[N - 1] & UPPER_MASK) | (mta[0] & LOWER_MASK);
mta[N - 1] = (mta[M - 1] ^ (_local3 >>> 1)) ^ mag01[_local3 & 1];
mti = 0;
var _local5 = getTimer();
trace(((("Random::genrand_int32(): precalc " + N) + " new numbers ~") + (_local5 - _local4)) + "ms");
}
_local3 = mta[mti++];
_local3 = _local3 ^ (_local3 >>> 11);
_local3 = _local3 ^ ((_local3 << 7) & 2636928640);
_local3 = _local3 ^ ((_local3 << 15) & 4022730752);
_local3 = _local3 ^ (_local3 >>> 18);
return(_local3);
}
static var N = 624;
static var M = 397;
static var MATRIX_A = 2567483615;
static var UPPER_MASK = 2147483648;
static var LOWER_MASK = 2147483647;
static var mag01 = [0, 2567483615];
}
Symbol 630 MovieClip [__Packages.com.midasplayer.util.Integer64] Frame 0
class com.midasplayer.util.Integer64
{
var r, p, s;
function Integer64 (lowInt) {
r = [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]];
p = [0, 0, 0, 0, 0];
s = [0, 0, 0];
if (lowInt != undefined) {
merge(lowInt);
}
}
function init(v) {
var _local2 = 0;
while (_local2 < p.length) {
p[_local2] = v.p[_local2];
_local2++;
}
}
function init32(n) {
p[0] = n & 32767;
n = n >>> 15;
p[1] = n & 32767;
n = n >>> 15;
p[2] = n & 3;
p[3] = 0;
p[4] = 0;
}
function get lsb() {
return((p[0] | (p[1] << SH)) | ((p[2] & 3) << 30));
}
function get msb() {
return((((p[2] >> 2) | ((p[3] << SH) >> 2)) | ((p[4] << (SH * 2)) >> 2)) & 2147483647);
}
function binaryShiftLeft(step) {
var _local2 = 0;
while (_local2 < step) {
shl();
_local2++;
}
}
function binaryShiftRight(step) {
var _local4 = (step / SH) >> 0;
var _local5 = step - (_local4 * SH);
var _local2 = p.length - 1;
while (_local2 > 0) {
var _local3 = 0;
while (_local3 < _local4) {
p[_local3] = p[_local3 + 1];
_local3++;
}
p[_local2--] = 0;
}
if (_local5 > 0) {
var _local3 = 0;
while (_local3 < _local5) {
shr();
_local3++;
}
}
}
function binaryNot(o) {
p[0] = p[0] ^ o.p[0];
p[1] = p[1] ^ o.p[1];
p[2] = p[2] ^ o.p[2];
p[3] = p[3] ^ o.p[3];
p[4] = p[4] ^ o.p[4];
}
function add64(o) {
var _local4 = 0;
var _local3 = 1;
var _local2 = 0;
while ((_local3 < p.length) && (o.p[_local2] != 0)) {
_local3++;
}
_local2 = 0;
while (_local2 < _local3) {
_local4 = _local4 + (p[_local2] + o.p[_local2]);
p[_local2] = _local4 & MASK;
_local4 = _local4 >> SH;
_local2++;
}
}
function add32(num) {
var _local2 = 0;
var _local5 = num & MASK;
num = num >> SH;
var _local6 = num & MASK;
num = num >> SH;
var _local4 = num & 3;
_local2 = _local2 + (p[0] + _local5);
p[0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (p[1] + _local6);
p[1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (p[2] + _local4);
p[2] = _local2 & MASK;
}
function mulu32(num) {
var _local3 = 0;
s[0] = num & MASK;
num = num >>> 15;
s[1] = num & MASK;
num = num >>> 15;
s[2] = num & 3;
var _local2 = 0;
while (_local2 < 3) {
var _local4 = s[_local2];
_local3 = _local4 * p[0];
r[_local2][0] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (_local4 * p[1]);
r[_local2][1] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (_local4 * p[2]);
r[_local2][2] = _local3 & 3;
_local2++;
}
_local3 = r[0][0];
p[0] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + (r[0][1] + r[1][0]);
p[1] = _local3 & MASK;
_local3 = _local3 >> SH;
_local3 = _local3 + ((r[0][2] + r[1][1]) + r[2][0]);
p[2] = _local3 & 3;
p[3] = 0;
p[4] = 0;
}
function mul64(o) {
var _local2 = 0;
var _local3 = 0;
while (_local3 < 5) {
var _local4 = o.p[_local3];
_local2 = _local4 * p[0];
r[_local3][0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[1]);
r[_local3][1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[2]);
r[_local3][2] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[3]);
r[_local3][3] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (_local4 * p[4]);
r[_local3][4] = _local2 & MASK;
_local3++;
}
_local2 = r[0][0];
p[0] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (r[0][1] + r[1][0]);
p[1] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + ((r[0][2] + r[1][1]) + r[2][0]);
p[2] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + (((r[0][3] + r[1][2]) + r[2][1]) + r[3][0]);
p[3] = _local2 & MASK;
_local2 = _local2 >> SH;
_local2 = _local2 + ((((r[0][4] + r[1][3]) + r[2][2]) + r[3][1]) + r[4][0]);
p[4] = _local2 & 7;
}
function mul32(value) {
mul64(new com.midasplayer.util.Integer64(value));
}
function merge(a) {
var _local2 = 0;
while (_local2 < 3) {
p[_local2] = p[_local2] + (a & 32767);
a = a >>> 15;
_local2++;
}
return(a);
}
function shl() {
var _local5 = 0;
var _local4 = 0;
var _local2 = 0;
var _local3 = p.length;
while (_local2 < _local3) {
_local5 = (p[_local2] & 16384) >> 14;
p[_local2] = p[_local2] << 1;
p[_local2] = (p[_local2] | _local4) & 32767;
_local2++;
_local4 = _local5;
}
}
function shr() {
var _local4 = 0;
var _local3 = 0;
var _local2 = p.length - 1;
while (_local2 >= 0) {
_local4 = (p[_local2] & 1) << 14;
p[_local2] = p[_local2] >> 1;
p[_local2] = (p[_local2] | _local3) & 32767;
_local2--;
_local3 = _local4;
}
}
static var MASK = 32767;
static var SH = 15;
}
Symbol 631 MovieClip [__Packages.com.midasplayer.util.FpsCounter] Frame 0
class com.midasplayer.util.FpsCounter
{
var m_clip, m_textField;
function FpsCounter (scope) {
var _local4 = 0;
var _local3 = 0;
var _local2 = "fpsTextField";
m_clip = scope.createEmptyMovieClip("fpsCounter", scope.getNextHighestDepth());
m_clip.createTextField(_local2, m_clip.getNextHighestDepth(), _local4, _local3, 100, 30);
m_textField = m_clip[_local2];
m_textField.textColor = 16711680 /* 0xFF0000 */;
m_clip.onEnterFrame = mx.utils.Delegate.create(this, onRender);
}
function onRender() {
var _local2 = getTimer();
m_fpsCount++;
if ((getTimer() - m_lastFpsUpdateTime) >= 1000) {
var _local3 = "FPS: " + m_fpsCount;
m_lastFpsUpdateTime = _local2;
m_textField.text = _local3;
m_fpsCount = 0;
m_lastFpsUpdateTime = getTimer();
}
}
var m_fpsCount = 0;
var m_lastFpsUpdateTime = 0;
}
Symbol 632 MovieClip [__Packages.com.midasplayer.gameCore.ClientInput] Frame 0
class com.midasplayer.gameCore.ClientInput
{
var m_entries, m_time, m_type, m_tick;
function ClientInput () {
m_entries = new com.midasplayer.util.ArrayList();
m_time = new Date();
}
function setType(type) {
m_type = type;
}
function getType() {
return(m_type);
}
function setTick(tick) {
m_tick = tick;
}
function getTick() {
return(m_tick);
}
function getTime() {
return(m_time);
}
function addEntry(entry) {
m_entries.insert(entry);
}
function getNumEntries() {
return(m_entries.size());
}
function getInt(index) {
return(Number(m_entries.get(index)));
}
function toString() {
var _local3 = "";
_local3 = _local3 + "[CLIENT DATA] ";
_local3 = _local3 + ((("C:" + m_type) + " T:") + m_tick);
var _local2 = 0;
while (_local2 < m_entries.size()) {
_local3 = _local3 + ((" '" + String(m_entries.get(_local2))) + "'");
_local2++;
}
return(_local3);
}
static function parseInput(inputString) {
var _local13 = new com.midasplayer.util.ArrayList();
var _local12 = "[CDATA[";
var _local1 = 0;
var _local5 = 0;
var _local14 = 10000;
var _local8 = 0;
while (_local8 < _local14) {
_local1 = inputString.indexOf(_local12, _local1);
if (_local1 == -1) {
break;
}
_local1 = _local1 + _local12.length;
var _local4 = new com.midasplayer.gameCore.ClientInput();
_local5 = inputString.indexOf(",", _local1);
var _local9 = Number(inputString.substr(_local1, _local5 - _local1));
_local4.setType(_local9);
_local1 = _local5 + 1;
_local5 = inputString.indexOf(",", _local1);
var _local10 = inputString.substr(_local1, _local5 - _local1);
var _local3 = _local10.split(" ");
if (_local3.length > 0) {
var _local11 = Number(_local3[0]);
_local4.setTick(_local11);
_local3.splice(0, 1);
}
var _local2 = 0;
while (_local2 < _local3.length) {
var _local6 = _local3[_local2];
_local4.addEntry(_local6);
_local2++;
}
_local1 = _local5 + 1;
_local13.insert(_local4);
_local8++;
}
return(_local13);
}
}
Symbol 633 MovieClip [__Packages.com.midasplayer.oneVsHundred.GameView] Frame 0
class com.midasplayer.oneVsHundred.GameView extends com.midasplayer.gameCore.AbstractGameView
{
var m_chairEliminationOrder, m_helpScreen;
function GameView () {
super();
}
function isActiveHelp() {
return(m_activeHelp);
}
function getGameLogic() {
return(com.midasplayer.oneVsHundred.GameLogic(super.getGameLogic()));
}
function formatMoneyString(money, useCurrencySign) {
var _local3 = String(money);
var _local2 = "";
var _local1 = 0;
while (_local1 < _local3.length) {
if (((_local1 % 3) == 0) && (_local1 > 0)) {
_local2 = "," + _local2;
}
_local2 = _local3.charAt((_local3.length - 1) - _local1) + _local2;
_local1++;
}
if (useCurrencySign) {
_local2 = (com.midasplayer.util.I18n.getString("currency_sign") + " ") + _local2;
}
return(_local2);
}
function getAnswerLetter(answerSlot) {
var _local1 = new Array("A", "B", "C");
return(String(_local1[answerSlot]));
}
function onInitInfoScreen(infoScreen, currentState) {
if (currentState == com.midasplayer.gameCore.GameState.INSTRUCTIONS) {
var _local4 = 20;
if (_root.registrationEnabled == "true") {
_local4 = 40;
}
infoScreen.init(_root, "_instructionsScreen", 1000 + _local4);
infoScreen.setPos(377, 239);
updateView();
com.midasplayer.fx.SoundManager.play(SOUND_INTRO, SOUND_INTRO_VOLUME, false);
} else if (currentState == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
infoScreen.init(_root, "sign_equation_MC", 30000);
infoScreen.setPos(270, 500);
getQuestionContainer()._visible = false;
setSummaryContinue(true);
_root.gameView.onSignAppear();
} else if (currentState == com.midasplayer.gameCore.GameState.GAME_SUMMARY) {
infoScreen.init(_root, "_gameOverScreen", 10);
infoScreen.setPos(377, 340);
infoScreen.setDeleteOnExit(false);
getQuestionContainer()._visible = false;
com.midasplayer.fx.SoundManager.stop(SOUND_LOOP);
com.midasplayer.fx.SoundManager.stop(SOUND_MOB_LOOP);
if ((getGameLogic().getMobRemaining() == 0) || (getGameLogic().hasWalkedAway())) {
com.midasplayer.fx.SoundManager.play(SOUND_POSITIVE_OUTRO, SOUND_POSITIVE_OUTRO_VOLUME, false);
} else {
com.midasplayer.fx.SoundManager.play(SOUND_NEGATIVE_OUTRO, SOUND_POSITIVE_OUTRO_VOLUME, false);
}
}
}
function onUpdateInfoScreen(infoScreen, currentState) {
if (currentState == com.midasplayer.gameCore.GameState.INSTRUCTIONS) {
infoScreen.setText("instructions", com.midasplayer.util.I18n.getString("instructions"));
var _local8 = Math.round(Math.max(0, infoScreen.getTimeRemaining() - 1000));
var _local13 = com.midasplayer.util.I18n.getString("game_starts");
var _local12 = ((_local8 == 1) ? (com.midasplayer.util.I18n.getString("second")) : (com.midasplayer.util.I18n.getString("seconds")));
if ((_local8 > 1) && (infoScreen.getClip()._currentframe < INSTRUCTIONS_FADE_OUT_START)) {
infoScreen.setText("timer", (((((_local13 + " ") + com.midasplayer.util.I18n.getString("in")) + " ") + _local8) + " ") + _local12);
}
if (_local8 <= 1) {
_root.gameView.fadeOutInstructions();
}
infoScreen.getClip().ok_button.onRelease = function () {
_root.gameView.fadeOutInstructions();
_root.gameView.onButtonClick();
};
infoScreen.getClip().copyright.text = com.midasplayer.util.I18n.getString("copyright");
infoScreen.getClip().copyright_states.text = com.midasplayer.util.I18n.getString("copyright_states");
} else if (currentState == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
var _local6 = infoScreen.getClip();
if (m_moneyOrMobStartTime != 0) {
updateMobOrMoneyTimer(_local6);
}
if (m_summaryStartTime != 0) {
updateSummaryEquation(_local6);
}
var _local7 = _local6.button_container;
var _local14 = _local7.money_button;
var _local16 = _local7.mob_button;
setNumericField(getGameLogic().getScore(), _local7, "score_");
_local14.onRelease = function () {
_root.gameLogic.getInfoScreen().getClip()._visible = false;
var _local2 = _root.attachMovie("_help", "confirm_screen", _root.getNextHighestDepth());
_root.confirm_screen.help.gotoAndStop(4);
_root.confirm_screen.help.confirm_button.onRelease = function () {
if (_root.gameLogic.getState() == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
_root.gameLogic.getInfoScreen().getClip()._visible = true;
_root.gameView.setSummaryContinue(false);
_root.gameView.fadeOutMoneyOrMob();
_root.gameView.onButtonClick();
_root.gameView.onSignAppear();
}
};
_root.confirm_screen.help.cancel_button.onRelease = function () {
if (_root.gameLogic.getState() == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
_root.gameLogic.getInfoScreen().getClip()._visible = true;
_root.gameView.setSummaryContinue(true);
_root.gameView.fadeOutMoneyOrMob();
_root.gameView.onButtonClick();
_root.gameView.onSignAppear();
}
};
};
_local16.onRelease = function () {
if (_root.gameLogic.getState() == com.midasplayer.gameCore.GameState.LEVEL_SUMMARY) {
_root.gameView.setSummaryContinue(true);
_root.gameView.fadeOutMoneyOrMob();
_root.gameView.onButtonClick();
_root.gameView.onSignAppear();
}
};
} else if (currentState == com.midasplayer.gameCore.GameState.GAME_SUMMARY) {
var _local8 = Math.round(Math.max(0, infoScreen.getTimeRemaining()));
var _local9 = getGameLogic().getSpeedBonus();
var _local15 = getGameLogic().getScore() - _local9;
var _local4 = com.midasplayer.util.I18n.getString("game_over");
var _local17 = getGameLogic().getMobRemaining();
var _local5 = "";
var _local10 = 2;
if (getGameLogic().getGameOverReason() == com.midasplayer.oneVsHundred.GameLogic.GAME_OVER_TIME_OUT) {
_local4 = _local4 + (": " + com.midasplayer.util.I18n.getString("time_out"));
} else if (getGameLogic().getGameOverReason() == com.midasplayer.oneVsHundred.GameLogic.GAME_OVER_WRONG_ANSWER) {
_local4 = _local4 + (": " + com.midasplayer.util.I18n.getString("wrong_answer"));
_local5 = com.midasplayer.util.I18n.getString("beat_by_mob");
_local5 = _local5.split("X").join(String(_local17));
} else if (getGameLogic().getGameOverReason() == com.midasplayer.oneVsHundred.GameLogic.GAME_OVER_WON_MONEY) {
_local4 = com.midasplayer.util.I18n.getString("won_money");
_local10 = 1;
}
infoScreen.getClip().sign.gotoAndStop(_local10);
infoScreen.getClip().sign.title_header.text = _local4;
infoScreen.getClip().sign.mob_count.text = _local5;
infoScreen.getClip().sign.money_header.text = com.midasplayer.util.I18n.getString("money");
infoScreen.getClip().sign.money.text = formatMoneyString(_local15, true);
infoScreen.getClip().sign.bonus_header.text = com.midasplayer.util.I18n.getString("time_bonus");
infoScreen.getClip().sign.bonus.text = formatMoneyString(_local9, false);
infoScreen.getClip().sign.total_header.text = com.midasplayer.util.I18n.getString("total_score");
infoScreen.getClip().sign.total.text = formatMoneyString(getGameLogic().getScore(), false);
infoScreen.getClip().sign.timer.text = (((((com.midasplayer.util.I18n.getString("game_ends") + " ") + com.midasplayer.util.I18n.getString("in")) + " ") + _local8) + " ") + com.midasplayer.util.I18n.getString(((_local8 > 1) ? "seconds" : "second"));
infoScreen.getClip().sign.onRelease = function () {
_root.gameLogic.infoScreenExit();
};
}
}
function startSummaryEquation() {
var _local2 = getGameLogic().getInfoScreen().getClip();
_local2.stop();
m_summaryStartTime = getTimer();
m_summaryEliminationCount = 0;
}
function updateSummaryEquation(sign) {
var _local6 = Math.min(1, (getTimer() - m_summaryStartTime) / SUMMARY_EQUATION_TIME);
var _local8 = 0.2;
var _local12 = 0.9;
var _local3 = getGameLogic().getLastElimination();
var _local11 = Math.max(0, Math.min((_local6 - _local8) / (_local12 - _local8), 1));
_local3 = Math.round(_local3 * Math.sin((_local11 * Math.PI) / 2));
var _local5 = _local3 - m_summaryEliminationCount;
var _local2 = 0;
while (_local2 < _local5) {
eliminateChair(sign, _local3);
_local2++;
}
setNumericField(_local3, sign, "eliminated_");
var _local7 = getGameLogic().getMobStartSize() - m_eliminationCount;
setNumericField(_local7, sign.mob_counter, "mob_");
setNumericField(_local7, sign.mob_counter, "mob_shadow_");
var _local10 = getGameLogic().getMoneyLevel(getGameLogic().getLevel() + ((getGameLogic().getState() == com.midasplayer.gameCore.GameState.GAME_SUMMARY) ? 0 : -1));
var _local9 = _local3 * _local10;
setNumericField(_local9, sign, "level_score_");
if (_local6 >= 1) {
endSummaryEquation();
}
}
function endSummaryEquation() {
m_summaryStartTime = 0;
getGameLogic().getInfoScreen().getClip().play();
updateChairs();
com.midasplayer.fx.SoundManager.play(SOUND_MOBVALUE_UPDATE, SOUND_MOBVALUE_UPDATE_VOLUME, false);
updateView();
startMobOrMoneyTimer();
}
function setSummaryContinue(summaryContinue) {
m_summaryContinue = summaryContinue;
}
function getSummaryContinue() {
return(m_summaryContinue);
}
function startMobOrMoneyTimer() {
m_moneyOrMobStartTime = getTimer();
}
function updateMobOrMoneyTimer(sign) {
var _local6 = getTimer() - m_moneyOrMobStartTime;
var _local7 = Math.min(1, _local6 / SUMMARY_BUTTON_TIME_OUT);
var _local3 = Math.round((SUMMARY_BUTTON_TIME_OUT - _local6) / 1000);
var _local8 = Math.round((_local7 * (MONEY_OR_MOB_TIMER_END - MONEY_OR_MOB_TIMER_START)) + MONEY_OR_MOB_TIMER_START);
sign.mob_counter.gotoAndStop(_local8);
sign.button_container.header.text = com.midasplayer.util.I18n.getString("money_mob_header");
sign.button_container.timer_header.text = com.midasplayer.util.I18n.getString("money_mob_timer_header");
sign.button_container.timer.text = _local3;
_root.confirm_screen.help.timer.text = _local3;
var _local4 = false;
if (getGameLogic().getMobRemaining() == 0) {
_local4 = true;
setSummaryContinue(false);
}
if ((_local7 >= 1) || (_local4)) {
fadeOutMoneyOrMob();
}
}
function endMoneyOrMob() {
var _local2 = getGameLogic();
if (getSummaryContinue()) {
_local2.requestQuestion();
} else {
_local2.walkAway();
}
}
function fadeOutMoneyOrMob() {
m_moneyOrMobStartTime = 0;
var _local3 = getGameLogic().getInfoScreen().getClip();
_local3.gotoAndPlay(46);
_local3.mob_counter.gotoAndPlay(MONEY_OR_MOB_TIMER_END);
_root.confirm_screen.removeMovieClip();
}
function eliminateChair() {
com.midasplayer.fx.SoundManager.play(SOUND_MOB_WRONG, SOUND_MOB_WRONG_VOLUME, false);
var _local4 = Number(m_chairEliminationOrder.get(m_eliminationCount));
var _local5 = _root.background[_local4];
var _local3 = {ra:255, ga:0, ba:150};
_local3.ra = _local3.ra / 2.55;
_local3.ga = _local3.ga / 2.55;
_local3.ba = _local3.ba / 2.55;
var _local6 = new Color(_local5);
_local6.setTransform(_local3);
m_eliminationCount++;
m_summaryEliminationCount++;
}
function dimHelpChairs(numChairs) {
var _local14 = getGameLogic().getRandom();
var _local3 = m_chairEliminationOrder.subList(m_eliminationCount, 100);
var _local5 = 0;
while (_local5 < _local3.size()) {
var _local7 = _local3.get(_local5);
var _local6 = _local14.nextInt(_local3.size());
_local3.set(_local5, _local3.get(_local6));
_local3.set(_local6, _local7);
_local5++;
}
_local5 = 0;
while (_local5 < numChairs) {
var _local8 = Number(_local3.get(_local5));
var _local9 = _root.background[_local8];
var _local4 = {ra:255, ga:255, ba:0};
_local4.ra = _local4.ra / 2.55;
_local4.ga = _local4.ga / 2.55;
_local4.ba = _local4.ba / 2.55;
var _local10 = new Color(_local9);
_local10.setTransform(_local4);
_local5++;
}
}
function updateChairs() {
var _local4 = 0;
while (_local4 < getGameLogic().getMobStartSize()) {
var _local6 = Number(m_chairEliminationOrder.get(_local4));
var _local5 = _root.background[_local6];
_local5.blendMode = "overlay";
var _local3 = {ra:0, ga:150, ba:255};
_local3.ra = _local3.ra / 2.55;
_local3.ga = _local3.ga / 2.55;
_local3.ba = _local3.ba / 2.55;
if (_local4 < m_eliminationCount) {
_local3 = {ra:20, ga:20, ba:20};
}
var _local7 = new Color(_local5);
_local7.setTransform(_local3);
_local4++;
}
}
function showHelpScreen() {
var _local4 = getGameLogic();
if (_local4.getState() != com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
return(undefined);
}
if (m_helpScreen != undefined) {
return(undefined);
}
getQuestionContainer()._visible = false;
m_activeHelp = true;
m_helpScreen = _root.attachMovie("_help", "help_screen", _root.getNextHighestDepth());
var helpType = _local4.getHelpType();
var _local5;
if (helpType == 0) {
_local5 = 1;
} else if (helpType == 1) {
_local5 = 3;
}
m_helpScreen.help.gotoAndStop(_local5);
if (helpType == 0) {
var _local3 = 0;
while (_local3 < 3) {
com.midasplayer.util.TextScaler.setText(m_helpScreen.help["answer_" + _local3], _local4.getAnswerBySlot(_local3).getText(), 12);
m_helpScreen.help["button_" + _local3].helpType = helpType;
m_helpScreen.help["button_" + _local3].answerSlot = _local3;
m_helpScreen.help["button_" + _local3].onRelease = function () {
_root.gameView.onButtonClick();
_root.gameLogic.requestHelp(this.helpType, this.answerSlot);
_root.help_screen.help.gotoAndStop(2);
};
_local3++;
}
} else if (helpType == 1) {
_local4.requestHelp(helpType, -1);
}
}
function setHelpData(mobMembers, answer) {
var _local2 = "";
if (m_helpScreen.help._currentframe == 2) {
_local2 = com.midasplayer.util.I18n.getString("help_1_result");
_local2 = _local2.split("$").join(String(mobMembers));
_local2 = _local2.split("*").join(String(getAnswerLetter(answer)));
}
if (m_helpScreen.help._currentframe == 3) {
_local2 = com.midasplayer.util.I18n.getString("help_2_result");
var _local4 = answer;
var _local3 = new Array(0, 1, 2);
_local3.splice(_local4, 1);
Math.random() < 0;
var _local6 = _local3[0];
_local3[0] = _local3[1];
_local3[1] = _local6;
_local2 = _local2.split("$").join("1");
_local2 = _local2.split("*").join(getAnswerLetter(Number(_local3[0])));
_local2 = _local2.split("#").join("2");
_local2 = _local2.split("%").join(getAnswerLetter(Number(_local3[1])));
_local2 = _local2.split("\u00A4").join(getAnswerLetter(_local4));
var _local5 = getGameLogic().getAnswerBySlot(_local4);
_local5.setDisabled(true);
_local5.updateView();
}
dimHelpChairs(mobMembers);
m_helpScreen.help.text.text = _local2;
}
function updateHelp(timeRemaining) {
m_helpScreen.help.timer.text = timeRemaining;
}
function exitHelp() {
getQuestionContainer()._visible = true;
m_helpScreen.removeMovieClip();
m_helpScreen = undefined;
m_activeHelp = false;
updateChairs();
}
function hideHelpButton() {
_root.help_button._visible = false;
}
function fadeOutInstructions() {
var _local2 = getGameLogic().getInfoScreen().getClip();
if (_local2._currentframe < INSTRUCTIONS_FADE_OUT_START) {
_local2.gotoAndPlay(INSTRUCTIONS_FADE_OUT_START);
}
}
function exitInstructions() {
_root.logo._visible = true;
_root.background._visible = true;
_root.score_sign._visible = true;
_root.mob_counter._visible = true;
_root.ladder._visible = true;
_root.help_button._visible = true;
getGameLogic().requestQuestion();
}
function onInit() {
_root.logo._visible = false;
_root.background._visible = false;
_root.score_sign._visible = false;
_root.mob_counter._visible = false;
_root.ladder.gotoAndStop(1);
_root.ladder._visible = false;
_root.help_button._visible = false;
getQuestionContainer()._visible = false;
m_chairEliminationOrder = new com.midasplayer.util.ArrayList();
var _local3 = 0;
while (_local3 < 100) {
m_chairEliminationOrder.insert(_local3 + 1);
_local3++;
}
var _local6 = getGameLogic().getRandom();
_local3 = 0;
while (_local3 < 100) {
var _local5 = m_chairEliminationOrder.get(_local3);
var _local4 = _local6.nextInt(100);
m_chairEliminationOrder.set(_local3, m_chairEliminationOrder.get(_local4));
m_chairEliminationOrder.set(_local4, _local5);
_local3++;
}
trace("eliminationOrder: " + m_chairEliminationOrder.toArray());
updateChairs();
_root.help_button.onEnterFrame = function () {
var _local3 = this.hitTest(_root._xmouse, _root._ymouse);
if (((_root.gameLogic.isHelpEnabled() && (!_root.gameView.isActiveHelp())) && (this._currentframe == 1)) && (_local3)) {
this.gotoAndStop(2);
} else if (((!_root.gameLogic.isHelpEnabled()) || (_root.gameView.isActiveHelp())) || ((this._currentframe == 2) && (!_local3))) {
this.gotoAndStop(1);
}
};
_root.help_button.onRelease = function () {
if (_root.gameLogic.isHelpEnabled() && (!this.m_activeHelp)) {
_root.gameView.showHelpScreen();
_root.gameView.onButtonClick();
}
};
_root.sound_toggle.onRelease = function () {
if (com.midasplayer.fx.SoundManager.isSoundEnabled()) {
trace("Sound: off");
com.midasplayer.fx.SoundManager.enableSounds(false);
_root.sound_toggle_text.text = com.midasplayer.util.I18n.getString("sound_off");
_root.gameView.onButtonClick();
} else {
trace("Sound: on");
com.midasplayer.fx.SoundManager.enableSounds(true);
_root.sound_toggle_text.text = com.midasplayer.util.I18n.getString("sound_on");
_root.gameView.onButtonClick();
}
};
_root.sound_toggle_text.text = com.midasplayer.util.I18n.getString("sound_on");
_root.exit_game_text.text = com.midasplayer.util.I18n.getString("exit_game");
_root.exit_game.onRelease = function () {
_root.gameView.onButtonClick();
_root.gameLogic.exitButtonPush();
trace("exit game pressed");
};
_root._visible = true;
}
function onLevelSetup() {
var _local3 = 26;
if (getGameLogic().getLevel() == 0) {
_local3 = 1;
}
_root.ladder.gotoAndPlay(_local3);
m_questionVisibleTick = getGameLogic().getTickCount() + QUESTION_VISIBLE_TICK_DELAY;
m_answerUpdateTick = getGameLogic().getTickCount() + ANSWER_VISIBLE_TICK_DELAY;
m_timeWarningSounded = false;
m_summaryStartTime = 0;
m_moneyOrMobStartTime = 0;
if (getGameLogic().getMobRemaining() <= com.midasplayer.oneVsHundred.GameLogic.MOB_HELP_LIMIT) {
_root.help_button._visible = false;
}
if (!com.midasplayer.fx.SoundManager.isPlaying(SOUND_LOOP)) {
com.midasplayer.fx.SoundManager.play(SOUND_LOOP, SOUND_LOOP_VOLUME, true);
}
com.midasplayer.fx.SoundManager.stop(SOUND_MOB_LOOP);
com.midasplayer.fx.SoundManager.stop(SOUND_INTRO);
}
function onCompleteLevel() {
m_answerUpdateTick = getGameLogic().getTickCount() + ANSWER_UPDATE_TICK_DELAY;
}
function onGameOver() {
m_answerUpdateTick = getGameLogic().getTickCount() + ANSWER_UPDATE_TICK_DELAY;
}
function onTick() {
var _local2 = getGameLogic();
if (_local2.getTickCount() == m_questionVisibleTick) {
getQuestionContainer()._visible = true;
}
if (_local2.getTickCount() == m_answerUpdateTick) {
updateAnswersView();
if (_local2.getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
_local2.confirmQuestion();
}
}
if ((m_timeWarningSounded == false) && (getGameLogic().getTimeLeftPercent() < 50)) {
flashAudience();
m_timeWarningSounded = true;
}
}
function flashAudience() {
_root.background.glow.play();
com.midasplayer.fx.SoundManager.play(SOUND_TIME_WARNING, SOUND_TIME_WARNING_VOLUME, false);
}
function onRender(ipTime) {
var _local5 = getGameLogic();
var _local6 = true;
if ((_local5.getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) && (!_local5.isDisplayingHelp())) {
var _local3 = getGameLogic().getTimeLeft();
if ((_local3 <= 5000) && ((_local3 % 500) >= 250)) {
_local6 = false;
}
_root.score_sign.time.text = Math.round(_local3 / 1000);
var _local7 = getGameLogic().getTimeLeftPercent();
var _local4 = ((100 - _local7) / 100) * _root.score_sign._framesloaded;
_local4 = Math.round(_local4);
_root.score_sign.gotoAndStop(_local4);
}
_root.score_sign.time._visible = _local6;
}
function updateView() {
var _local3 = getGameLogic().getMobRemaining();
setNumericField(_local3, _root.mob_counter, "number_");
setNumericField(_local3, _root.mob_counter, "shadow_");
var _local5 = getGameLogic().getScore();
setNumericField(_local5, getScoreSignClip(), "score_");
getScoreSignClip().bonus_header.text = com.midasplayer.util.I18n.getString("bonus");
var _local4 = getGameLogic().getSpeedBonus();
setNumericField(_local4, getScoreSignClip(), "bonus_");
}
function updateAnswersView() {
getGameLogic().updateAnswersView();
if (getGameLogic().hasAnswered()) {
if (getGameLogic().isAnswerCorrect()) {
com.midasplayer.fx.SoundManager.play(SOUND_CORRECT, SOUND_CORRECT_VOLUME, false);
} else {
com.midasplayer.fx.SoundManager.play(SOUND_WRONG, SOUND_WRONG_VOLUME, false);
}
}
}
function getQuestionContainer() {
return(_root.question_container);
}
function getQuestionClip() {
return(getQuestionContainer().question);
}
function getAnswerClip(slot) {
return(getQuestionContainer()["answer_" + slot]);
}
function getScoreSignClip() {
return(_root.score_sign);
}
function setNumericField(number, parent, prefix) {
if (prefix == "bonus_") {
var _local7 = 0;
}
var _local1 = 0;
while (_local1 < 7) {
var _local2 = number;
if (_local1 > 0) {
_local2 = Math.floor(_local2 / Math.pow(10, _local1));
}
_local2 = _local2 % 10;
_local2 = _local2 + 1;
parent[prefix + _local1].gotoAndStop(_local2);
var _local3 = true;
if (_local1 > (String(number).length - 1)) {
_local3 = false;
}
parent[(prefix + "dot_") + _local1].gotoAndStop((_local3 ? 1 : 2));
parent[prefix + _local1]._visible = _local3;
_local1++;
}
}
function onAnswer() {
com.midasplayer.fx.SoundManager.stop(SOUND_LOOP);
com.midasplayer.fx.SoundManager.play(SOUND_MOB_LOOP, SOUND_MOB_LOOP_VOLUME, true);
com.midasplayer.fx.SoundManager.play(SOUND_ANSWER, SOUND_ANSWER_VOLUME, false);
}
function onLevelTimeUp() {
flashAudience();
exitHelp();
}
function onButtonClick() {
com.midasplayer.fx.SoundManager.play(SOUND_BUTTON_CLICK, SOUND_BUTTON_CLICK_VOLUME, false);
}
function onSignAppear() {
com.midasplayer.fx.SoundManager.play(SOUND_SIGN_APPEAR, SOUND_SIGN_APPEAR_VOLUME, false);
}
function showRegForm(infoScreen) {
if (_root.regform != undefined) {
return(undefined);
}
infoScreen.init(_root, "sign_signup", 30000);
var _local3 = infoScreen.getClip();
_local3._x = Stage.width / 2;
_local3._y = Stage.height / 2;
_local3.in_username.tabIndex = 1;
_local3.in_password.tabIndex = 2;
_local3.in_password2.tabIndex = 3;
_local3.in_email.tabIndex = 4;
_local3.btn_email.tabIndex = 5;
_local3.btn_check.tabIndex = 6;
_local3.btn_submit.tabIndex = 7;
_local3.btn_check.gotoAndStop(2);
_local3.btn_check.onPress = function () {
if (this._currentframe != 2) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
};
_local3.btn_email.gotoAndStop(2);
_local3.btn_email.onPress = function () {
if (this._currentframe != 2) {
this.gotoAndStop(2);
} else {
this.gotoAndStop(1);
}
};
_local3.btn_play.onRelease = function () {
com.midasplayer.fx.SoundManager.stopAll();
_root.gameLogic.requestNewSeed();
com.midasplayer.oneVsHundred.GameView.removeAllClips(_root);
_root.gameLogic = new com.midasplayer.oneVsHundred.GameLogic();
_root.gameView = new com.midasplayer.oneVsHundred.GameView();
_root.gameLogic.setGameView(_root.gameView);
_root.gameLogic.init(_root);
_root._visible = false;
};
_local3.btn_submit.form = _local3;
_local3.btn_submit.onRelease = function () {
var _local5 = this.form.in_username.text;
var _local3 = this.form.in_password.text;
var _local4 = this.form.in_password2.text;
var _local2 = this.form.in_email.text;
var _local6 = ((this.form.btn_email._currentframe == 2) ? "true" : "false");
if (_local5.length < 2) {
this.form.error_txt.text = "The username is too short.";
} else if (_local3.length < 3) {
this.form.error_txt.text = "The password is too short.";
} else if (_local3 != _local4) {
this.form.error_txt.text = "The password does not match.";
} else if (_local2.length < 6) {
this.form.error_txt.text = "Invalid email.";
} else if (_local2.indexOf("@") < 0) {
this.form.error_txt.text = "Invalid email.";
} else if (_local2.indexOf(".") < 0) {
this.form.error_txt.text = "Invalid email.";
} else if (this.form.btn_check._currentframe != 2) {
this.form.error_txt.text = "Please check the box confirming your interest in the 1 vs 100 skill game.";
this.form.btn_check.gotoAndPlay(3);
} else {
this.form.error_txt.text = "";
this.form.username = _local5;
this.form.password = _local3;
this.form.password_validation = _local4;
this.form.email = _local2;
this.form.wantsEmail = _local6;
this.form.gameType = "1vs100";
this.form.getURL("https://www5.king.com/partnerpages/nbc/submit.jsp", "_top", "POST");
}
};
}
static function removeAllClips(level) {
for (var clip in eval (level)) {
if (typeof(eval (level)[clip]) == "movieclip") {
var clipName = String(clip);
if (clipName.substr(0, 3) == "sm_") {
} else {
removeAllClips(level[clip]);
trace("removeClip: " + clipName);
eval (level)[clip].removeMovieClip();
}
}
}
}
static var SOUND_INTRO = "sound_intro";
static var SOUND_INTRO_VOLUME = 80;
static var SOUND_LOOP = "sound_loop";
static var SOUND_LOOP_VOLUME = 40;
static var SOUND_MOB_LOOP = "sound_mob_loop";
static var SOUND_MOB_LOOP_VOLUME = 40;
static var SOUND_ANSWER = "sound_answer";
static var SOUND_ANSWER_VOLUME = 60;
static var SOUND_CORRECT = "sound_correct";
static var SOUND_CORRECT_VOLUME = 70;
static var SOUND_WRONG = "sound_wrong";
static var SOUND_WRONG_VOLUME = 70;
static var SOUND_TIME_UP = "sound_time_up";
static var SOUND_TIME_UP_VOLUME = 70;
static var SOUND_BUTTON_CLICK = "sound_button_click";
static var SOUND_BUTTON_CLICK_VOLUME = 100;
static var SOUND_SIGN_APPEAR = "sound_sign_appear";
static var SOUND_SIGN_APPEAR_VOLUME = 50;
static var SOUND_MOBVALUE_UPDATE = "sound_mobvalue_update";
static var SOUND_MOBVALUE_UPDATE_VOLUME = 50;
static var SOUND_MOB_WRONG = "sound_mob_wrong";
static var SOUND_MOB_WRONG_VOLUME = 60;
static var SOUND_TIME_WARNING = "sound_time_warning";
static var SOUND_TIME_WARNING_VOLUME = 60;
static var SOUND_POSITIVE_OUTRO = "sound_positive_outro";
static var SOUND_POSITIVE_OUTRO_VOLUME = 80;
static var SOUND_NEGATIVE_OUTRO = "sound_negative_outro";
static var SOUND_NEGATIVE_OUTRO_VOLUME = 80;
static var SUMMARY_BUTTON_TIME_OUT = 10000;
static var SUMMARY_EQUATION_TIME = 6000;
var m_summaryStartTime = 0;
var m_moneyOrMobStartTime = 0;
var m_summaryContinue = false;
static var MONEY_OR_MOB_TIMER_START = 35;
static var MONEY_OR_MOB_TIMER_END = 90;
static var INSTRUCTIONS_FADE_OUT_START = 116;
var m_eliminationCount = 0;
var m_summaryEliminationCount = 0;
var m_timeWarningSounded = false;
var m_questionVisibleTick = -1000;
var m_answerUpdateTick = -1000;
static var ANSWER_UPDATE_TICK_DELAY = 20;
static var QUESTION_VISIBLE_TICK_DELAY = 15;
static var ANSWER_VISIBLE_TICK_DELAY = 30;
var m_activeHelp = false;
}
Symbol 634 MovieClip [__Packages.com.midasplayer.oneVsHundred.GameLogic] Frame 0
class com.midasplayer.oneVsHundred.GameLogic extends com.midasplayer.gameCore.AbstractGameLogic
{
var m_question, m_scorePerLevel, m_answers, m_gameView, trace, setTicksPerSecond, setPendingStateDuration, getState, addTime, getTimePerTick, addScore, getTickCount, getTicksPerSecond, getLevel, isLocalGame, getTimeLeft, getIPTime, getInfoScreen, getScore, m_infoScreen, setScore, completeLevel;
function GameLogic () {
super();
}
function getGameOverReason() {
return(m_gameOverReason);
}
function getMoneyLevel(level) {
return(MONEY_LEVEL[Math.min(level, 11)]);
}
function getSpeedBonus() {
return(m_speedBonus);
}
function addSpeedBonus(speedBonus) {
m_speedBonus = m_speedBonus + speedBonus;
}
function hasWalkedAway() {
return(m_walkAway);
}
function getRequestCount() {
return(m_requestCount);
}
function hasAnswered() {
return(m_givenAnswer != -1);
}
function isAnswerCorrect() {
return((m_givenAnswer != -1) && (m_givenAnswer == m_correctAnswer));
}
function getCorrectAnswer() {
return(m_correctAnswer);
}
function getAnswerId() {
return(m_givenAnswer);
}
function getQuestion() {
return(m_question);
}
function getQuestionText() {
return(m_question.getText());
}
function getScoreForLevel(level) {
return(Number(m_scorePerLevel.get(level)));
}
function getAnswerBySlot(answerSlot) {
return(com.midasplayer.oneVsHundred.Answer(m_answers.get(answerSlot)));
}
function getAnswerById(answerId) {
var _local2 = 0;
while (_local2 < NUM_ANSWERS) {
var _local3 = getAnswerBySlot(_local2);
if (_local3.getAnswerId() == answerId) {
return(_local3);
}
_local2++;
}
return(undefined);
}
function getMobStartSize() {
return(MOB_START_SIZE);
}
function getMobRemaining() {
return(m_mobRemaining);
}
function getLastElimination() {
return(m_lastElimination);
}
function eliminate(eliminated) {
m_mobRemaining = m_mobRemaining - eliminated;
m_lastElimination = eliminated;
trace("mob: " + m_mobRemaining);
}
function getGameView() {
return(com.midasplayer.oneVsHundred.GameView(m_gameView));
}
function onInit() {
trace("onInit!!!");
com.midasplayer.gameCore.AbstractGameLogic.DEV = false;
com.midasplayer.gameCore.AbstractGameLogic.PERFORMANCE_LOG = false;
com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME = true;
com.midasplayer.gameCore.AbstractGameLogic.LOCAL_GAME = false;
if (com.midasplayer.gameCore.AbstractGameLogic.LOCAL_GAME) {
com.midasplayer.oneVsHundred.DummyQuestions.m_gameLogic = this;
}
setTicksPerSecond(10);
setPendingStateDuration(30, 50);
m_scorePerLevel = new com.midasplayer.util.ArrayList();
m_question = new com.midasplayer.oneVsHundred.ScalingText(getGameView().getQuestionClip());
m_answers = new com.midasplayer.util.ArrayList();
var _local5 = 300;
var _local2 = 0;
while (_local2 < NUM_ANSWERS) {
var _local4 = getGameView().getAnswerClip(_local2);
var _local3 = new com.midasplayer.oneVsHundred.Answer(_local4);
_local3.setGameLogic(this);
m_answers.insert(_local3);
_local2++;
}
if (getDummySeed() == undefined) {
setDummySeed(-1);
}
}
function onSetGameData(gda) {
}
function onLevelSetup() {
trace("onLevelSetup!!!");
m_helpUsed = false;
m_givenAnswer = -1;
m_correctAnswer = -1;
}
function onTick() {
if ((getState() == com.midasplayer.gameCore.GameState.LEVEL_RUNNING) && (hasAnswered())) {
addTime(getTimePerTick());
}
if (m_helpOverTick != -1) {
updateHelp();
}
}
function onLevelTimeUp() {
answer(-1);
getGameView().onLevelTimeUp();
m_gameOverReason = GAME_OVER_TIME_OUT;
return(false);
}
function gameOver() {
addScore(getSpeedBonus());
super.gameOver();
}
function updateAnswersView() {
trace("updateAnswersView");
var _local2 = 0;
while (_local2 < NUM_ANSWERS) {
var _local3 = getAnswerBySlot(_local2);
_local3.setTextVisible(true);
_local3.updateView();
_local2++;
}
}
function startHelp(mobMembers, answer) {
getGameView().setHelpData(mobMembers, answer);
}
function isDisplayingHelp() {
return(getTickCount() < m_helpOverTick);
}
function updateHelp() {
if (isDisplayingHelp()) {
var _local2 = Math.round((m_helpOverTick - getTickCount()) / getTicksPerSecond());
getGameView().updateHelp(_local2);
} else {
m_helpOverTick = -1;
getGameView().exitHelp();
}
}
function requestQuestion() {
var _local3 = ("<question " + getGameStateString()) + "></question>";
sendRequest(_local3);
trace("SendRequest: \n" + _local3);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local2 = ((PLAYDATA_QUESTION_REQUESTED + ",") + getLevel()) + " ,=0";
fscommand ("playData", _local2);
trace("playData: " + _local2);
}
if (isLocalGame()) {
com.midasplayer.oneVsHundred.DummyQuestions.getQuestionXML();
}
}
function answer(answerId) {
if (m_givenAnswer != -1) {
trace("Answer submitted twice");
return(undefined);
}
m_givenAnswer = answerId;
var _local2 = getTimeLeft(getIPTime());
if (_local2 < 0) {
return(undefined);
}
var _local4 = ((((("<answer " + getGameStateString()) + " id=\"") + answerId) + "\" timeLeft=\"") + _local2) + "\"></answer>";
sendRequest(_local4);
trace("SendRequest: \n" + _local4);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local3 = ((((PLAYDATA_ANSWER_REQUESTED + ",") + answerId) + " ") + _local2) + " ,=0";
fscommand ("playData", _local3);
trace("playData: " + _local3);
}
if (isLocalGame()) {
com.midasplayer.oneVsHundred.DummyQuestions.getAnswerXML(m_givenAnswer);
}
}
function walkAway() {
m_walkAway = true;
getInfoScreen().exit();
gameOver();
m_gameOverReason = GAME_OVER_WON_MONEY;
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
trace("walk away");
var _local2 = ((PLAYDATA_WALK_AWAY + ",") + getScore()) + " ,=0";
fscommand ("playData", _local2);
trace("playData: " + _local2);
}
}
function exitButtonPush() {
getInfoScreen().getClip().removeMovieClip();
m_infoScreen = undefined;
setPendingStateDuration(0, 0);
setScore(0);
gameOver();
m_gameOverReason = GAME_OVER_EXIT_GAME;
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
trace("exit game");
var _local2 = ((PLAYDATA_EXIT_GAME + ", ") + getScore()) + " ,=0";
fscommand ("playData", _local2);
trace("playData: " + _local2);
}
}
function wonMillion() {
if ((getGameOverReason() == GAME_OVER_WON_MONEY) && (getMobRemaining() == 0)) {
return(true);
}
return(false);
}
function isHelpEnabled() {
if (getState() != com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
return(false);
}
if (m_helpType >= NUM_HELP) {
return(false);
}
if (getMobRemaining() <= MOB_HELP_LIMIT) {
return(false);
}
return(true);
}
function getHelpType() {
return(m_helpType);
}
function getHelpUsed() {
return(m_helpUsed);
}
function requestHelp(helpType, answer) {
if (!isHelpEnabled()) {
return(undefined);
}
if (helpType != getHelpType()) {
return(undefined);
}
if (answer == undefined) {
answer = -1;
}
addTime(HELP_TIME);
m_helpOverTick = getTickCount() + HELP_TICKS;
var _local4 = ((("<help " + getGameStateString()) + " answer=\"") + answer) + "\"></help>";
sendRequest(_local4);
trace("SendRequest: \n" + _local4);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local3 = ((((PLAYDATA_HELP_REQUESTED + ",") + 0) + " ") + 0) + " ,=0";
fscommand ("playData", _local3);
trace("playData: " + _local3);
}
m_helpType++;
m_helpUsed = true;
if (!isHelpEnabled()) {
getGameView().hideHelpButton();
}
if (isLocalGame()) {
com.midasplayer.oneVsHundred.DummyQuestions.getHelpXML(helpType, answer);
}
}
function onResponseReceived(response) {
if (com.midasplayer.gameCore.AbstractGameLogic.DEV) {
trace(("Response: " + response) + newline);
}
var _local21 = new XML(response);
var _local2 = _local21.firstChild;
if (_local2.nodeName == "question") {
var _local13 = -1;
var _local8 = -1;
var _local18;
var _local12 = new com.midasplayer.util.ArrayList();
var _local11 = new com.midasplayer.util.ArrayList();
var _local3 = _local2.firstChild;
while (_local3 != null) {
if (_local3.nodeName == "id") {
_local13 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "level") {
_local8 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "text") {
_local18 = new String(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "answer") {
var _local5 = new String(_local3.firstChild.nodeValue);
var _local4 = new Number(_local3.attributes.answerId);
_local12.insert(_local5);
_local11.insert(_local4);
}
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
setQuestion(_local18, _local12, _local11);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local19 = ((((PLAYDATA_QUESTION_RECEIVED + ",") + _local13) + " ") + _local8) + " =0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
} else if (_local2.nodeName == "help") {
var _local16;
var _local17;
var _local3 = _local2.firstChild;
while (_local3 != null) {
if (_local3.nodeName == "mobMembers") {
_local16 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "answer") {
_local17 = new Number(_local3.firstChild.nodeValue);
}
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
startHelp(_local16, _local17);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local19 = PLAYDATA_HELP_RECEIVED + ", ,=0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
} else if (_local2.nodeName == "answer") {
var _local13 = -1;
var _local8 = -1;
var _local6 = -1;
var _local9 = -1;
var _local7 = -1;
var _local22 = 0;
var _local14 = 0;
var _local23 = 0;
var _local10 = getScore();
var _local15;
var _local3 = _local2.firstChild;
while (_local3 != null) {
if (_local3.nodeName == "id") {
_local13 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "level") {
_local8 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "correct") {
_local6 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "eliminated") {
_local9 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "speedBonus") {
_local7 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "clientTimeLeft") {
_local22 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "serverTimeLeft") {
_local14 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "levelScore") {
_local23 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "totalScore") {
_local10 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "c") {
_local15 = new String(_local3.firstChild.nodeValue);
}
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
checkAnswer(_local6, _local23, _local10, _local9, _local7);
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local19 = ((((((((((((((((((((PLAYDATA_ANSWER_RECEIVED + ",") + m_givenAnswer) + " ") + _local22) + " ") + _local14) + " ") + _local23) + " ") + _local10) + " ") + _local15) + " ") + _local6) + " ") + _local13) + " ") + _local8) + " ") + _local7) + " ,=0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
} else if (_local2.nodeName == "timeOut") {
var _local22 = 0;
var _local14 = 0;
var _local23 = 0;
var _local10 = 0;
var _local3 = _local2.firstChild;
while (_local3 != null) {
if (_local3.nodeName == "totalScore") {
_local10 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "clientTimeLeft") {
_local22 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "serverTimeLeft") {
_local14 = new Number(_local3.firstChild.nodeValue);
} else if (_local3.nodeName == "c") {
var _local15 = new String(_local3.firstChild.nodeValue);
}
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
setScore(_local10);
gameOver();
m_gameOverReason = GAME_OVER_TIME_OUT;
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
trace("timed out on server");
var _local19 = ((((((PLAYDATA_SERVER_TIMEOUT + ",") + _local22) + " ") + _local14) + " ") + _local15) + " ,=0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
} else if (_local2.nodeName == "timer") {
var _local3 = _local2.firstChild;
while (_local3 != null) {
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
if (!com.midasplayer.gameCore.AbstractGameLogic.PRACTICE_GAME) {
var _local22 = getTimeLeft();
var _local19 = ((PLAYDATA_QUESTION_TIMER + ",") + _local22) + " ,=0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
} else if (_local2.nodeName == "setSeed") {
var _local3 = _local2.firstChild;
while (_local3 != null) {
checkForServerJump(_local3);
_local3 = _local3.nextSibling;
}
} else {
var _local19 = ((PLAYDATA_UNHANDLED_RESPONSE + ",") + response) + " ,=0";
fscommand ("playData", _local19);
trace("playData: " + _local19);
}
}
function checkForServerJump(aNode) {
if (aNode.nodeName == "serverJump") {
var _local1 = String(aNode.firstChild.nodeValue);
if (_local1 == "true") {
var _local2 = PLAYDATA_SERVER_JUMP + ", ,=0";
fscommand ("playData", _local2);
}
}
}
function setQuestion(questionText, answerTexts, answerIds) {
trace("setQuestion");
m_givenAnswer = -1;
m_question.setText(questionText);
var _local3 = 0;
while (_local3 < answerTexts.size()) {
var _local2 = com.midasplayer.oneVsHundred.Answer(m_answers.get(_local3));
var _local5 = String(answerTexts.get(_local3));
var _local4 = Number(answerIds.get(_local3));
_local2.clear();
_local2.setText(_local5);
_local2.setAnswerId(_local4);
_local2.setDisabled(false);
_local2.setTextVisible(false);
_local3++;
}
getInfoScreen().exit();
}
function confirmQuestion() {
var _local2 = ("<timer " + getGameStateString()) + "></timer>";
sendRequest(_local2);
trace("SendRequest: \n" + _local2);
}
function checkAnswer(correctAnswerId, levelScore, totalScore, eliminated, speedBonus) {
m_correctAnswer = correctAnswerId;
var _local2 = getAnswerById(m_correctAnswer);
_local2.setCorrect(true);
eliminate(eliminated);
if (m_givenAnswer == correctAnswerId) {
trace("CORRECT ANSWER - NEXT LEVEL!!");
trace("-- score add: " + levelScore);
completeLevel();
setScore(totalScore);
m_scorePerLevel.insert(levelScore);
addSpeedBonus(speedBonus);
} else {
setScore(totalScore);
trace("WRONG ANSWER - GAME_OVER!!");
if (m_givenAnswer != -1) {
m_gameOverReason = GAME_OVER_WRONG_ANSWER;
}
gameOver();
}
}
function sendRequest(query) {
super.sendRequest(query);
m_requestCount++;
}
function getGameStateString() {
var _local2 = "";
_local2 = _local2 + (("level=\"" + getLevel()) + "\"");
_local2 = _local2 + ((" score=\"" + getScore()) + "\"");
_local2 = _local2 + ((" speedBonus=\"" + getSpeedBonus()) + "\"");
_local2 = _local2 + ((" helpType=\"" + getHelpType()) + "\"");
_local2 = _local2 + ((" helpUsed=\"" + getHelpUsed()) + "\"");
_local2 = _local2 + ((" dummySeed=\"" + getDummySeed()) + "\"");
_local2 = _local2 + ((" rc=\"" + getRequestCount()) + "\"");
_local2 = _local2 + "";
return(_local2);
}
function infoScreenExit() {
if ((_root.registrationEnabled == "true") && (m_infoScreen.getExitState() == com.midasplayer.gameCore.GameState.GAME_QUIT)) {
getGameView().showRegForm(getInfoScreen());
} else {
super.infoScreenExit();
}
}
function getDummySeed() {
return(_root.dummySeed);
}
function setDummySeed(seed) {
_root.dummySeed = seed;
}
function requestNewSeed() {
setDummySeed(Math.round(Math.random() * 10000000));
var _local2 = ((("<newSeed " + getGameStateString()) + " seed=\"") + getDummySeed()) + "\"></newSeed>";
sendRequest(_local2);
trace("SendRequest: \n" + _local2);
}
static var NUM_ANSWERS = 3;
static var PLAYDATA_QUESTION_REQUESTED = 123;
static var PLAYDATA_QUESTION_RECEIVED = 124;
static var PLAYDATA_QUESTION_TIMER = 125;
static var PLAYDATA_ANSWER_REQUESTED = 234;
static var PLAYDATA_ANSWER_RECEIVED = 235;
static var PLAYDATA_HELP_REQUESTED = 432;
static var PLAYDATA_HELP_RECEIVED = 433;
static var PLAYDATA_WALK_AWAY = 753;
static var PLAYDATA_EXIT_GAME = 755;
static var PLAYDATA_SERVER_TIMEOUT = 777;
static var PLAYDATA_SERVER_JUMP = 666;
static var PLAYDATA_UNHANDLED_RESPONSE = 111;
static var GAME_OVER_NONE = 0;
static var GAME_OVER_TIME_OUT = 1;
static var GAME_OVER_WRONG_ANSWER = 2;
static var GAME_OVER_WON_MONEY = 3;
static var GAME_OVER_EXIT_GAME = 4;
var m_gameOverReason = GAME_OVER_NONE;
static var MONEY_LEVEL = new Array(100, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000);
static var MOB_START_SIZE = 100;
var m_mobRemaining = MOB_START_SIZE;
var m_lastElimination = 0;
var m_dummySeed = -1;
var m_speedBonus = 0;
static var MOB_HELP_LIMIT = 8;
static var NUM_HELP = 2;
var m_helpType = 0;
var m_helpUsed = false;
var m_walkAway = false;
static var HELP_TICKS = 100;
static var HELP_TIME = 10000;
var m_helpOverTick = -1;
var m_requestCount = 0;
var m_givenAnswer = -1;
var m_correctAnswer = -1;
}
Symbol 635 MovieClip [__Packages.com.midasplayer.oneVsHundred.ScalingText] Frame 0
class com.midasplayer.oneVsHundred.ScalingText
{
var m_text;
function ScalingText (clip) {
m_clip = clip;
if (m_clip == undefined) {
trace("Failed to attach clip!");
}
}
function getClip() {
return(m_clip);
}
function setPadding(padding) {
m_padding = padding;
}
function setText(text) {
m_text = text;
updateText();
}
function getText() {
return(m_text);
}
function isTextVisible() {
return(m_textVisible);
}
function setTextVisible(isVisible) {
m_textVisible = isVisible;
updateText();
}
function setFrame(frame) {
var _local2 = getClip();
_local2.gotoAndStop(frame);
updateText();
}
function getFrame() {
var _local2 = getClip();
return(_local2._currentframe);
}
function updateText() {
com.midasplayer.util.TextScaler.setText(m_clip.text, m_text, 20, m_padding);
m_clip.text._visible = m_textVisible;
}
function setPos(x, y) {
m_clip._x = x;
m_clip._y = y;
}
var m_clip = undefined;
var m_textVisible = true;
var m_padding = 20;
}
Symbol 636 MovieClip [__Packages.com.midasplayer.util.TextScaler] Frame 0
class com.midasplayer.util.TextScaler
{
function TextScaler () {
}
static function setText(textField, str, maxSize, padding) {
var _local6 = str;
var _local7 = textField._width;
var _local9 = textField._height;
if (maxSize == undefined) {
maxSize = MAX_SIZE;
}
if (padding == undefined) {
padding = 0;
}
var _local3 = maxSize;
var _local10 = 2;
textField.text = str;
while (true) {
var _local1 = new TextFormat();
_local1.size = _local3;
textField.setTextFormat(_local1);
var _local5 = textField.getTextFormat();
var _local4 = fitText(_local6, _local5, _local7, _local9, padding);
if (_local4 || (_local3 == _local10)) {
textField.text = _local6;
textField.setTextFormat(_local1);
break;
}
_local3--;
}
}
static function fitText(textString, myTextFormat, boxWidth, boxHeight, padding) {
if (textString == "") {
return(true);
}
textString = textString.split("\n\r").join(" ");
textString = textString.split("\r\n").join(" ");
textString = textString.split(newline).join(" ");
textString = textString.split("\r").join(" ");
textString = textString.split(" ").join(" ");
textString = textString.split(" ").join(" ");
textString = textString.split("\r ").join("\r");
var _local2 = myTextFormat.getTextExtent(textString, boxWidth - padding);
if (boxHeight > _local2.textFieldHeight) {
return(true);
}
return(false);
}
static var MAX_SIZE = 20;
}
Symbol 637 MovieClip [__Packages.com.midasplayer.oneVsHundred.Answer] Frame 0
class com.midasplayer.oneVsHundred.Answer extends com.midasplayer.oneVsHundred.ScalingText
{
var m_clip, setPadding, m_gameLogic, setText, setFrame, isTextVisible, getClip, getFrame;
function Answer (clip) {
super(clip);
m_clip.onRelease = mx.utils.Delegate.create(this, onRelease);
m_clip.onEnterFrame = mx.utils.Delegate.create(this, onEnterFrame);
m_clip.onRollOut = mx.utils.Delegate.create(this, onRollOut);
m_clip.onDragOut = mx.utils.Delegate.create(this, onDragOut);
updateView();
setPadding(100);
}
function setGameLogic(gameLogic) {
m_gameLogic = gameLogic;
}
function getGameLogic() {
return(m_gameLogic);
}
function setAnswerId(answerId) {
m_answerId = answerId;
}
function getAnswerId() {
return(m_answerId);
}
function setCorrect(correct) {
m_correct = correct;
}
function setDisabled(disabled) {
m_disabled = disabled;
}
function clear() {
setText("");
setAnswerId(-1);
setCorrect(false);
setDisabled(false);
setFrame(1);
}
function isSelectable() {
if (m_answerId == -1) {
return(false);
}
if (getGameLogic().getState() != com.midasplayer.gameCore.GameState.LEVEL_RUNNING) {
return(false);
}
if (getGameLogic().hasAnswered()) {
return(false);
}
if (m_disabled) {
return(false);
}
if (!isTextVisible()) {
return(false);
}
return(true);
}
function onRelease() {
if (!isSelectable()) {
return(undefined);
}
getGameLogic().answer(getAnswerId());
getGameLogic().getGameView().onAnswer();
updateView();
_root.gameView.onButtonClick();
}
function onEnterFrame() {
if (!isSelectable()) {
return(undefined);
}
var _local3 = getClip();
var _local4 = _local3.hitTest(_root._xmouse, _root._ymouse);
if ((_local3._currentframe == 1) && (_local4)) {
setFrame(2);
} else if ((_local3._currentframe == 2) && (!_local4)) {
setFrame(1);
}
}
function onRollOut() {
var _local2 = getClip();
if (_local2._currentframe == 2) {
setFrame(1);
}
}
function onDragOut() {
var _local2 = getClip();
if (_local2._currentframe == 2) {
setFrame(1);
}
}
function updateView() {
var _local2 = getClip();
if (m_correct) {
setFrame(3);
} else if ((((getFrame() == 5) && (getGameLogic().getAnswerId() == getAnswerId())) && (getAnswerId() != -1)) && (getGameLogic().getCorrectAnswer() != -1)) {
setFrame(6);
} else if ((getGameLogic().getAnswerId() == getAnswerId()) && (getAnswerId() != -1)) {
setFrame(5);
} else if (m_disabled) {
setFrame(7);
} else {
setFrame(1);
}
}
var m_answerId = -1;
var m_correct = false;
var m_disabled = false;
}
Symbol 638 MovieClip [__Packages.com.midasplayer.oneVsHundred.DummyQuestions] Frame 0
class com.midasplayer.oneVsHundred.DummyQuestions
{
static var m_gameLogic;
function DummyQuestions () {
}
static function getCorrect() {
if (m_gameLogic.getLevel() == 0) {
return(1);
}
if (m_gameLogic.getLevel() == 1) {
return(2);
}
if (m_gameLogic.getLevel() == 2) {
return(3);
}
if (m_gameLogic.getLevel() == 3) {
return(1);
}
if (m_gameLogic.getLevel() == 4) {
return(2);
}
if (m_gameLogic.getLevel() == 5) {
return(1);
}
if (m_gameLogic.getLevel() == 6) {
return(2);
}
if (m_gameLogic.getLevel() == 7) {
return(1);
}
if (m_gameLogic.getLevel() == 8) {
return(3);
}
if (m_gameLogic.getLevel() == 9) {
return(1);
}
if (m_gameLogic.getLevel() == 10) {
return(3);
}
if (m_gameLogic.getLevel() == 11) {
return(1);
}
}
static function getQuestionXML() {
var _local4 = "Default question, level: " + m_gameLogic.getLevel();
var _local3 = new Array("Default answer A", "Default answer B", "Default answer C", "Default answer D");
if (m_gameLogic.getLevel() == 0) {
_local4 = "Which lasted longer ... the fighting in the Korean War or the TV series \"MASH\"?";
_local3 = new Array("Native Americans Called Them Yellow Squash", "The Korean War", "Balance Twenty Balls On His Head");
} else if (m_gameLogic.getLevel() == 1) {
_local4 = "On what TV show did Rob Reiner play a character nicknamed Meathead?";
_local3 = new Array("Dick Van Dyke Show", "All in the Family", "Mary Tyler Moore Show");
} else if (m_gameLogic.getLevel() == 2) {
_local4 = "What friend of Peppermint Patty's was the rarely seen black kid in the comic strip \"Peanuts\"?";
_local3 = new Array("Pig Pen", "Rerun", "Franklin");
} else if (m_gameLogic.getLevel() == 3) {
_local4 = "Which rock star, and future husband, did \"One Day at a Time\" star Valerie Bertinelli first meet backstage in Shreveport, Louisiana?";
_local3 = new Array("Eddie Van Halen", "David Lee Roth", "Jon Bon Jovi");
} else if (m_gameLogic.getLevel() == 4) {
_local4 = "Crystal City, Texas, made spinach. Chester, Illinois, was home for Elzie Segar. Both towns erected statues of whom?";
_local3 = new Array("Steve Canyon", "Popeye", "Sherlock Holmes");
} else if (m_gameLogic.getLevel() == 5) {
_local4 = "Which comedy team was famous for its \"Who's On First?\" baseball routine?";
_local3 = new Array("Abbott and Costello", "Dean Martin and Jerry Lewis", "Laurel and Hardy");
} else if (m_gameLogic.getLevel() == 6) {
_local4 = "Which 22-acre prison was once called Pelican Island?";
_local3 = new Array("The Bastille", "Alcatraz", "Devil's Island");
} else if (m_gameLogic.getLevel() == 7) {
_local4 = "If you pick a peck of pickled peppers, what volume of peppers have you picked?";
_local3 = new Array("8 quarts", "8 cups", "8 bushels");
} else if (m_gameLogic.getLevel() == 8) {
_local4 = "Geena Davis is an Oscar winner and a Mensa member, and in 1999 she tried out for the Olympics in which sport?";
_local3 = new Array("Equestrian", "Diving", "Archery");
} else if (m_gameLogic.getLevel() == 9) {
_local4 = "Which game was supposedly invented by the man who fired the first Union shots during the Civil War?";
_local3 = new Array("Baseball", "Basketball", "Football");
} else if (m_gameLogic.getLevel() == 10) {
_local4 = "Of what city (and former hometown) did Gertrude Stein say, \"There is no there, there\"?";
_local3 = new Array("Milwaukee", "Houston", "Oakland");
} else if (m_gameLogic.getLevel() == 11) {
_local4 = "Who had his first gig at age 2 as a model in ads for Baskin-Robbins?";
_local3 = new Array("Sean \"Puffy\" Combs", "Leonardo Di Caprio", "Edward Norton");
}
var _local5 = "";
_local5 = _local5 + "<question>";
_local5 = _local5 + (("<text>" + _local4) + "</text>");
var _local2 = 0;
while (_local2 < 4) {
_local5 = _local5 + (((("<answer answerId=\"" + (_local2 + 1)) + "\">") + _local3[_local2]) + "</answer>");
_local2++;
}
_local5 = _local5 + "</question>";
_root.response = _local5;
return(_local5);
}
static function getAnswerXML(answer) {
var _local7 = getCorrect();
var _local4 = Math.min(m_gameLogic.getMobRemaining(), Math.round(Math.random() * 20));
if (m_gameLogic.getLevel() == 11) {
_local4 = m_gameLogic.getMobRemaining();
}
var _local3 = _local4 * m_mobValue[m_gameLogic.getLevel()];
_local3 = Math.round(_local3);
var _local6 = (_local3 * m_gameLogic.getTimeLeftPercent()) / 100;
_local6 = Math.round(_local6);
var _local5 = 0;
if (answer == _local7) {
trace("----- correct!!");
_local5 = m_gameLogic.getScore() + _local3;
if ((m_gameLogic.getMobRemaining() - _local4) == 0) {
_local5 = 1000000 /* 0x0F4240 */;
}
} else {
_local5 = m_gameLogic.getSpeedBonus();
}
var _local2 = "";
_local2 = _local2 + "<answer>";
_local2 = _local2 + (("<correct>" + _local7) + "</correct>");
_local2 = _local2 + (("<levelScore>" + _local3) + "</levelScore>");
_local2 = _local2 + (("<totalScore>" + _local5) + "</totalScore>");
_local2 = _local2 + (("<eliminated>" + _local4) + "</eliminated>");
_local2 = _local2 + (("<speedBonus>" + _local6) + "</speedBonus>");
_local2 = _local2 + "</answer>";
_root.response = _local2;
return(_local2);
}
static function getWalkAwayXML() {
var _local2 = "";
_local2 = _local2 + "<walk>";
_local2 = _local2 + (("<totalScore>" + m_gameLogic.getScore()) + "</totalScore>");
_local2 = _local2 + "</walk>";
_root.response = _local2;
return(_local2);
}
static function getHelpXML(type, answerId) {
var _local2 = "";
_local2 = _local2 + "<help>";
if (type == 0) {
_local2 = _local2 + "<mobMembers>16</mobMembers>";
_local2 = _local2 + (("<answer>" + answerId) + "</answer>");
}
if (type == 1) {
_local2 = _local2 + "<mobMembers>2</mobMembers>";
_local2 = _local2 + "<answer>1</answer>";
}
_local2 = _local2 + "</help>";
_root.response = _local2;
return(_local2);
}
static var GERMAN = false;
static var m_mobValue = new Array(100, 500, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 10000, 10000, 10000, 10000);
}