Frame 1
var _oPreloaderScreen = (new com.disney.gem.games.SavingTheDay.screens.PreloaderScreen(mcScreens.mcPreloader));
com.sarbakan.BaseDisneyController.bDEBUG = false;
new com.disney.gem.games.SavingTheDay.Controller(this, _oPreloaderScreen);
Symbol 2419 MovieClip [__Packages.com.sarbakan.BaseDisneyController] Frame 0
class com.sarbakan.BaseDisneyController
{
static var oInstance;
var mcTimeline, oPreloaderScreen, oMainBroadcaster, oFrameRate, aPopups, oTransitionManager, bSoundMuted, nLastSoundToggleTimer, bPaused, oDXDControllerWrapper, nGamePhase, oCurrentScreen, fScreenShowTransitionCallBack, fScreenHideCallBack, nLevel, nScore, bInstructionCanBeDisplayed, bInstructionActive, nLastUpdateTimer;
function BaseDisneyController (_mcTimeline, _oPreloaderScreen) {
oInstance = this;
mcTimeline = _mcTimeline;
_mcTimeline.stop();
oPreloaderScreen = _oPreloaderScreen;
oMainBroadcaster = new Object();
AsBroadcaster.initialize(oMainBroadcaster);
oMainBroadcaster.addListener(this);
if (bDEBUG) {
oFrameRate = new com.sarbakan.utils.FrameRateDisplayer(_mcTimeline, nFRAME_RATE, nGAME_STAGE_WIDTH);
oMainBroadcaster.addListener(oFrameRate);
} else {
Stage.showMenu = false;
mcTimeline._focusrect = false;
}
aPopups = new Array();
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
setDXDCallback();
} else {
initStandAloneController();
}
}
static function getInstance() {
return(oInstance);
}
function init() {
setGamePhase(nGAME_PHASE_PACKAGING);
stopScreenContainers();
oTransitionManager = new com.sarbakan.utils.TransitionManager(mcTimeline.mcTransitions);
oMainBroadcaster.addListener(oTransitionManager);
bSoundMuted = false;
nLastSoundToggleTimer = getTimer();
}
function update(_nElapsed) {
if (bPaused) {
oMainBroadcaster.broadcastMessage("onUpdatePaused", _nElapsed);
} else {
oMainBroadcaster.broadcastMessage("onUpdate", _nElapsed);
}
checkGlobalKeys();
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
bSoundMuted = oDXDControllerWrapper.isMuted();
}
}
function pause() {
if (!bPaused) {
bPaused = true;
oMainBroadcaster.broadcastMessage("onPause");
}
}
function unpause() {
if (bPaused) {
bPaused = false;
oMainBroadcaster.broadcastMessage("onUnPause");
}
}
function togglePause() {
if (bPaused) {
unpause();
} else {
pause();
}
}
function getControllerMode() {
var _local1;
if (com.disney.gem.base.BaseObject == undefined) {
_local1 = nCONTROLLER_MODE_STANDALONE;
} else {
_local1 = nCONTROLLER_MODE_DXD;
}
return(_local1);
}
function setGamePhase(_nPhase) {
nGamePhase = _nPhase;
switch (_nPhase) {
case nGAME_PHASE_PRELOADER :
mcTimeline.gotoAndStop("preloader");
break;
case nGAME_PHASE_PACKAGING :
mcTimeline.gotoAndStop("packaging");
break;
case nGAME_PHASE_INGAME :
mcTimeline.gotoAndStop("game");
}
}
function getGamePhase() {
return(nGamePhase);
}
function gameLog(_sText) {
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
oDXDControllerWrapper.gameLog(_sText);
} else {
trace(_sText);
}
}
function showScreen(_oScreenController, _bInOut, _sTransitionID, _fMidTransitionCallBack) {
if (oCurrentScreen) {
hideCurrentScreen(com.sarbakan.utils.Delegate.create(this, showScreen, _oScreenController, _bInOut), _sTransitionID);
} else {
oCurrentScreen = _oScreenController;
oCurrentScreen.setGameController(this);
if (_sTransitionID != undefined) {
fScreenShowTransitionCallBack = _fMidTransitionCallBack;
oTransitionManager.playTransition(_sTransitionID, com.sarbakan.utils.Delegate.create(this, onScreenShowTransitionMiddle, _bInOut));
} else {
oCurrentScreen.show(_bInOut);
}
oMainBroadcaster.addListener(oCurrentScreen);
}
}
function hideCurrentScreen(_fHideCallBack, _sTransition) {
fScreenHideCallBack = _fHideCallBack;
if (_sTransition != undefined) {
oTransitionManager.playTransition(_sTransition, com.sarbakan.utils.Delegate.create(oCurrentScreen, oCurrentScreen.hide, com.sarbakan.utils.Delegate.create(this, onScreenHidden)));
} else {
oCurrentScreen.hide(com.sarbakan.utils.Delegate.create(this, onScreenHidden));
}
}
function showPopup(_oPopupController, _bInOut) {
var _local5 = false;
var _local2 = aPopups.length - 1;
while (_local2 >= 0) {
var _local3 = aPopups[_local2];
if (_oPopupController.getRef() == _local3.getRef()) {
_local5 = true;
_local3.destroy();
oMainBroadcaster.removeListener(_local3);
aPopups[_local2] = _oPopupController;
break;
}
_local2--;
}
if (!_local5) {
aPopups.push(_oPopupController);
}
_oPopupController.setGameController(this);
_oPopupController.show(_bInOut);
oMainBroadcaster.addListener(_oPopupController);
}
function setLevel(_nLevel) {
nLevel = _nLevel;
}
function getLevel() {
return(nLevel);
}
function setScore(_nScore) {
nScore = _nScore;
}
function increaseScore(_nIncrement) {
nScore = nScore + _nIncrement;
}
function getScore() {
return(nScore);
}
function allowInstructions() {
bInstructionCanBeDisplayed = true;
}
function disallowInstructions() {
bInstructionCanBeDisplayed = false;
}
function showInstructions() {
if (canShowInstructions()) {
bInstructionActive = true;
showInstructionsScreen();
}
}
function hideInstructions() {
if (canHideInstructions()) {
bInstructionActive = false;
hideInstructionsScreen();
}
}
function toggleSound() {
if ((getTimer() - nLastSoundToggleTimer) >= nSOUND_TOGGLE_DELAY) {
bSoundMuted = !bSoundMuted;
nLastSoundToggleTimer = getTimer();
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
oDXDControllerWrapper.toggleSound();
} else {
toggleSoundStandalone();
}
}
}
function onPreloadingDone() {
hideCurrentScreen();
init();
}
function onGameStart() {
setLevel(1);
setScore(0);
}
function onLevelStart() {
trace("LEVEL START");
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
oDXDControllerWrapper.startLevel(nLevel, nScore);
}
}
function onLevelEnd() {
trace("LEVEL END");
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
oDXDControllerWrapper.endLevel(nLevel, nScore);
}
}
function onGameEnd() {
trace("GAME END");
if (getControllerMode() == nCONTROLLER_MODE_DXD) {
oDXDControllerWrapper.endGame(nLevel, nScore);
}
}
function onTransitionStart(_mcTransition) {
}
function onTransitionMiddle(_mcTransition) {
}
function onEnterFrame() {
var _local2 = getTimer();
update(_local2 - nLastUpdateTimer);
nLastUpdateTimer = _local2;
}
function onScreenShowTransitionMiddle(_bInOut) {
fScreenShowTransitionCallBack();
oCurrentScreen.show(_bInOut);
}
function onScreenHidden() {
oMainBroadcaster.removeListener(oCurrentScreen);
delete oCurrentScreen;
fScreenHideCallBack();
}
function setDXDCallback() {
mcTimeline.init = com.sarbakan.utils.Delegate.create(this, initDXDController);
}
function initDXDController(_oOwner) {
oDXDControllerWrapper = new com.sarbakan.DXDControllerWrapper(this, mcTimeline, _oOwner);
return(oDXDControllerWrapper);
}
function initStandAloneController() {
mcTimeline.onEnterFrame = com.sarbakan.utils.Delegate.create(this, onEnterFrame);
nLastUpdateTimer = getTimer();
initPreloader();
}
function initPreloader() {
setGamePhase(nGAME_PHASE_PRELOADER);
showScreen(oPreloaderScreen);
}
function checkGlobalKeys() {
if (Key.isDown(nKEY_INSTRUCTIONS)) {
if (!bInstructionActive) {
showInstructions();
} else {
hideInstructions();
}
}
if (Key.isDown(nKEY_SOUND)) {
toggleSound();
}
}
function toggleSoundStandalone() {
var _local2 = new Sound(mcTimeline);
if (!bSoundMuted) {
_local2.setVolume(100);
} else {
_local2.setVolume(0);
}
}
function canShowInstructions() {
return((((!bInstructionActive) && (bInstructionCanBeDisplayed)) && (!oCurrentScreen.isInOutTransitionning())) && (!oTransitionManager.isTransitionning()));
}
function canHideInstructions() {
return(((bInstructionActive && (bInstructionCanBeDisplayed)) && (!oCurrentScreen.isInOutTransitionning())) && (!oTransitionManager.isTransitionning()));
}
function showInstructionsScreen() {
}
function hideInstructionsScreen() {
}
function stopScreenContainers() {
var _local3 = [mcTimeline.mcPopups, mcTimeline.mcScreens];
var _local2 = _local3.length - 1;
while (_local2 >= 0) {
for (var _local4 in _local3[_local2]) {
_local3[_local2][_local4].stop();
}
_local2--;
}
}
static var bDEBUG = true;
static var nFRAME_RATE = 30;
static var nCONTROLLER_MODE_STANDALONE = 1;
static var nCONTROLLER_MODE_DXD = 2;
static var nGAME_PHASE_PRELOADER = 1;
static var nGAME_PHASE_PACKAGING = 2;
static var nGAME_PHASE_INGAME = 3;
static var nKEY_INSTRUCTIONS = 72;
static var nKEY_SOUND = 77;
static var nGAME_STAGE_WIDTH = 580;
static var nGAME_STAGE_HEIGHT = 400;
static var nSOUND_TOGGLE_DELAY = 100;
}
Symbol 2420 MovieClip [__Packages.com.sarbakan.utils.StateManaged] Frame 0
class com.sarbakan.utils.StateManaged
{
var mcRef, bPausable, sNextState, sState;
function StateManaged (_mcRef) {
setMC(_mcRef);
setPausable(true);
}
function setMC(_mcRef) {
mcRef = _mcRef;
}
function setPausable(_bPausable) {
bPausable = _bPausable;
}
function setState(_sState, _bInstant, _bForce) {
sNextState = _sState;
if (_bInstant) {
checkStateChange();
}
if (_bForce) {
mcRef.mcState.gotoAndPlay(1);
}
}
function getState() {
return(sState);
}
function stateStarting() {
return(mcRef.mcState._currentframe == 1);
}
function stateFinished() {
return(mcRef.mcState._currentframe == mcRef.mcState._totalframes);
}
function stateCurrentFrame() {
return(mcRef.mcState._currentframe);
}
function stateIsNot() {
var _local4 = false;
var _local3 = arguments.length - 1;
while (_local3 >= 0) {
if (arguments[_local3] == sState) {
_local4 = true;
break;
}
_local3--;
}
return(!_local4);
}
function destroy() {
delete mcRef;
}
function get Mc() {
return(mcRef);
}
function onUpdate() {
checkStateChange();
this["state_" + sState]();
}
function checkStateChange() {
if ((sNextState != undefined) && (sNextState != sState)) {
this[("state_" + sState) + "_end"]();
sState = sNextState;
sNextState = undefined;
mcRef.gotoAndStop(sState);
this[("state_" + sState) + "_init"]();
}
}
function onUpdatePaused() {
if (bPausable == false) {
onUpdate();
}
}
function onPause() {
if (bPausable) {
mcRef.mcState.stop();
}
}
function onUnPause() {
if (bPausable) {
mcRef.mcState.play();
}
}
}
Symbol 2421 MovieClip [__Packages.com.sarbakan.utils.TransitionManager] Frame 0
class com.sarbakan.utils.TransitionManager extends com.sarbakan.utils.StateManaged
{
var setPausable, mcTransitionContainer, mcTransition, fStartCallBack, fMiddleCallBack, fEndCallBack, bTransitionning, setMC, setState, stateFinished, mcRef;
function TransitionManager (_mcTransition) {
super();
setPausable(false);
mcTransitionContainer = _mcTransition;
for (var _local3 in mcTransitionContainer) {
mcTransitionContainer[_local3].stop();
}
}
function playTransition(_sTransitionID, _fMiddleCallBack, _fEndCallBack, _fStartCallBack) {
mcTransition = mcTransitionContainer["mc" + com.sarbakan.utils.MoreString.upperFirstChar(_sTransitionID)];
fStartCallBack = _fStartCallBack;
fMiddleCallBack = _fMiddleCallBack;
fEndCallBack = _fEndCallBack;
if (mcTransition == undefined) {
trace(("TransitionManager error: Unable to find mc" + com.sarbakan.utils.MoreString.upperFirstChar(_sTransitionID)) + " in transition movieclip");
} else {
bTransitionning = true;
setMC(mcTransition);
setState(sSTATE_IN);
}
}
function isTransitionning() {
return(bTransitionning);
}
function state_in() {
if (stateFinished()) {
setState(sSTATE_OUT);
fMiddleCallBack();
}
}
function state_out() {
if (stateFinished()) {
bTransitionning = false;
setState(sSTATE_HIDDEN);
fEndCallBack();
}
}
function state_in_init() {
com.sarbakan.BaseDisneyController.getInstance().onTransitionStart(mcTransition);
mcRef.btBlocker.useHandCursor = false;
fStartCallBack();
}
function state_out_init() {
com.sarbakan.BaseDisneyController.getInstance().onTransitionMiddle(mcTransition);
mcRef.btBlocker.useHandCursor = false;
}
static var sSTATE_IN = "in";
static var sSTATE_OUT = "out";
static var sSTATE_HIDDEN = "hidden";
}
Symbol 2422 MovieClip [__Packages.com.sarbakan.utils.MoreString] Frame 0
class com.sarbakan.utils.MoreString
{
function MoreString () {
}
static function pad(_sToPad, _sCharPad, _nMinLength, _sSideToPad) {
var _local1 = String(_sToPad);
while (_local1.length < _nMinLength) {
if (_sSideToPad == "RIGHT") {
_local1 = _local1 + _sCharPad;
} else {
_local1 = _sCharPad + _local1;
}
}
return(_local1);
}
static function trim(_sToTrim, _sCharTrim, _sSideToTrim) {
var _local1 = String(_sToTrim);
if (_sSideToTrim == "RIGHT") {
while (_local1.substr(_local1.length - 2, 1) == _sCharTrim) {
_local1 = _local1.slice(-1);
}
} else {
while (_local1.substr(0, 1) == _sCharTrim) {
_local1 = _local1.slice(1);
}
}
return(_local1);
}
static function replace(_sString, _sFind, _sReplace) {
return(_sString.split(_sFind).join(_sReplace));
}
static function formatTime(_nTime) {
var _local2 = _nTime;
var _local1 = Math.floor(_local2 / 60);
var _local3 = Math.round(_local2 - (_local1 * 60));
return((pad(String(_local1), "0", 2) + ":") + pad(String(_local3), "0", 2));
}
static function formatNumber(__sNumber, __nMinimumChar) {
var _local1 = String(__sNumber);
var _local3 = "";
var _local4 = _local1.length;
_local4 = _local4 / 3;
var _local5;
var _local2;
if (_local4 <= 1) {
_local5 = _local1;
if (_local5.length < __nMinimumChar) {
_local5 = "0" + _local5;
}
} else {
_local2 = _local4;
while (_local2 > 1) {
_local3 = (" " + _local1.substr(-3)) + _local3;
_local1 = _local1.substr(0, -3);
_local2--;
}
_local5 = _local1 + _local3;
if (_local5.length < __nMinimumChar) {
_local5 = "0" + _local5;
}
}
return(_local5);
}
static function upperFirstChar(_sString) {
return(_sString.substr(0, 1).toUpperCase() + _sString.substr(1));
}
static function lowerFirstChar(_sString) {
return(_sString.substr(0, 1).toLowerCase() + _sString.substr(1));
}
static function convertToBoolean(_sString) {
return(_sString.toLowerCase() == "true");
}
static function formatMoney(_nMoney, _sDelimiteur, _bDecimalOpt) {
var _local5;
var _local3;
var _local2;
var _local1;
var _local6;
if (_bDecimalOpt == undefined) {
_local6 = true;
} else {
_local6 = _bDecimalOpt;
}
_local5 = String(_nMoney).split(".");
if (_local5[1] != undefined) {
_local3 = _local5[1].substr(0, 2);
switch (_local3.length) {
case 0 :
_local3 = _local3 + "00";
break;
case 1 :
_local3 = _local3 + "0";
break;
case 2 :
break;
default :
_local3 = "00";
}
} else {
_local3 = "00";
}
_local1 = _local5[0];
_local2 = "";
while (_local1.length > 3) {
_local2 = (_sDelimiteur + _local1.substr(_local1.length - 3)) + _local2;
_local1 = _local1.substr(0, _local1.length - 3);
}
_local2 = _local1 + _local2;
if (_local6) {
return(((_local2 + ".") + _local3) + "$");
}
return(_local2 + " $");
}
static function getOrdinalSuffix(_nNumber) {
var _local2;
var _local1 = String(_nNumber);
if (((_local1.substr(-2, 2) == 11) || (_local1.substr(-2, 2) == 12)) || (_local1.substr(-2, 2) == 13)) {
_local2 = "th";
} else if (_local1.substr(-1, 1) == 1) {
_local2 = "st";
} else if (_local1.substr(-1, 1) == 2) {
_local2 = "nd";
} else if (_local1.substr(-1, 1) == 3) {
_local2 = "rd";
} else {
_local2 = "th";
}
return(_local2);
}
}
Symbol 2423 MovieClip [__Packages.com.sarbakan.DXDControllerWrapper] Frame 0
class com.sarbakan.DXDControllerWrapper extends com.disney.gem.games.BaseGameController
{
var oRealController, __owner;
function DXDControllerWrapper (_oRealController, _mcTimeline, _oOwner) {
super(_mcTimeline, _oOwner);
oRealController = _oRealController;
}
function init() {
super.init();
oRealController.init();
}
function update(_nElapsed) {
oRealController.update(_nElapsed);
}
function toggleSound() {
__owner.onToggleSound();
}
function isMuted() {
return(!__owner.__soundOn);
}
function gameLog(_sText) {
__owner.gameLog(_sText, "game");
}
}
Symbol 2424 MovieClip [__Packages.com.disney.gem.games.GameContainer] Frame 0
interface com.disney.gem.games.GameContainer
{
}
Symbol 2425 MovieClip [__Packages.com.sarbakan.utils.FrameRateDisplayer] Frame 0
class com.sarbakan.utils.FrameRateDisplayer
{
var nMovieFPS, nUpdateCounter, nAverageFps, nCurrentFPS, nUpdateCount, mcDebug, nLastGetTimer;
function FrameRateDisplayer (_mcTimeline, _nMovieFPS, _nStageWidth) {
nMovieFPS = _nMovieFPS;
nUpdateCounter = 0;
nAverageFps = 0;
nCurrentFPS = nMovieFPS;
reset();
startDebug(_mcTimeline, _nStageWidth);
}
function get fps() {
return(nCurrentFPS);
}
function onUpdate() {
if ((++nUpdateCount) == nMovieFPS) {
computeFrameRate();
updateDebug();
}
}
function onUpdatePaused() {
onUpdate();
}
function startDebug(_mcTimeline, _nStageWidth) {
mcDebug = _mcTimeline.createEmptyMovieClip("PerformanceWatcherDebug", DEBUG_DEPTH);
mcDebug._x = (_nStageWidth - DEBUG_RIGHT_MARGIN) - 400;
mcDebug._y = DEBUG_TOP_MARGIN;
mcDebug.createTextField("field", 2, 0, 0, 400, 50);
var _local2 = new TextFormat();
_local2.font = DEBUG_FONT;
_local2.size = DEBUG_FONT_SIZE;
_local2.color = DEBUG_FONT_COLOR;
_local2.align = "right";
mcDebug.field.setNewTextFormat(_local2);
mcDebug.field.selectable = false;
mcDebug.createTextField("fieldShadow", 1, 1, 1, 400, 50);
var _local3 = new TextFormat();
_local3.font = DEBUG_FONT;
_local3.size = DEBUG_FONT_SIZE;
_local3.color = DEBUG_FONT_SHADOW_COLOR;
_local3.align = "right";
mcDebug.fieldShadow.setNewTextFormat(_local3);
mcDebug.fieldShadow.selectable = false;
}
function reset() {
nUpdateCount = 0;
nLastGetTimer = getTimer();
}
function computeFrameRate() {
var _local2 = getTimer() - nLastGetTimer;
var _local3 = _local2 / 1000;
nCurrentFPS = Math.round(nMovieFPS / _local3);
reset();
}
function updateDebug() {
if (mcDebug != undefined) {
nUpdateCounter++;
var _local2 = ((nCurrentFPS + " fps (avg ") + getAverage()) + ")";
mcDebug.field.text = _local2;
mcDebug.fieldShadow.text = _local2;
}
}
function getAverage() {
nAverageFps = nAverageFps + ((nCurrentFPS - nAverageFps) * (1 / nUpdateCounter));
var _local3 = "";
var _local2 = String(nAverageFps).split(".");
if (_local2[1] == undefined) {
_local3 = nAverageFps + ".00";
} else if (_local2[1].length == 1) {
_local3 = (_local2[0] + ".0") + _local2[1];
} else {
_local3 = (_local2[0] + ".") + _local2[1].substr(0, 2);
}
return(_local3);
}
static var DEBUG_DEPTH = 123456;
static var DEBUG_RIGHT_MARGIN = 0;
static var DEBUG_TOP_MARGIN = 0;
static var DEBUG_FONT = "Verdana";
static var DEBUG_FONT_SIZE = 10;
static var DEBUG_FONT_COLOR = 16777215;
static var DEBUG_FONT_SHADOW_COLOR = 0;
}
Symbol 2426 MovieClip [__Packages.com.sarbakan.utils.ScreenController] Frame 0
class com.sarbakan.utils.ScreenController extends com.sarbakan.utils.StateManaged
{
var setMC, setState, setPausable, oController, bInOut, fHideCallBack, mcRef, sState, stateFinished;
function ScreenController (_mcRef) {
super();
setMC(_mcRef);
setState(sSTATE_HIDDEN);
setPausable(false);
}
function setGameController(_oController) {
oController = _oController;
}
function show(_bInOut) {
bInOut = _bInOut;
if (bInOut) {
setState(sSTATE_IN, true);
} else {
setState(sSTATE_IDLE, true);
}
}
function hide(_fHideCallBack, _bInOutOverride) {
fHideCallBack = _fHideCallBack;
var _local2 = bInOut;
if (_bInOutOverride != undefined) {
_local2 = _bInOutOverride;
}
if (_local2) {
setState(sSTATE_OUT);
} else {
setState(sSTATE_HIDDEN, true);
fHideCallBack();
}
}
function getRef() {
return(mcRef);
}
function isInOutTransitionning() {
return((sState == sSTATE_IN) || (sState == sSTATE_OUT));
}
function state_in() {
if (stateFinished()) {
setState(sSTATE_IDLE);
}
}
function state_out() {
if (stateFinished()) {
setState(sSTATE_HIDDEN, true);
fHideCallBack();
}
}
function state_in_init() {
mcRef.btBlocker.useHandCursor = false;
}
function state_idle_init() {
mcRef.btBlocker.useHandCursor = false;
}
function state_out_init() {
mcRef.btBlocker.useHandCursor = false;
}
static var sSTATE_HIDDEN = "hidden";
static var sSTATE_IN = "in";
static var sSTATE_IDLE = "idle";
static var sSTATE_OUT = "out";
}
Symbol 2427 MovieClip [__Packages.com.sarbakan.utils.Delegate] Frame 0
class com.sarbakan.utils.Delegate extends Object
{
var func;
function Delegate () {
super();
}
function DelegateArgs(f) {
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local3 = arguments.callee.target;
var _local4 = arguments.callee.func;
var _local2 = arguments.callee.arg;
_local2 = _local2.concat(arguments);
return(_local4.apply(_local3, _local2));
};
_local2.target = obj;
_local2.func = func;
_local2.arg = arguments.slice(2);
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 2428 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.Controller] Frame 0
class com.disney.gem.games.SavingTheDay.Controller extends com.sarbakan.BaseDisneyController
{
var soUnlockData, nNbLevels, bIncridibleUnlock, sDifficulty, nNbLives, bUseCheat, nCheatLevel, sMusicCategory, sSfxCategory, sBtnSfxCategory, mcTimeline, showScreen, allowInstructions, setLevel, setGamePhase, nLevel, oMainBroadcaster, oGame, oTransitionManager, onLevelStart, onLevelEnd, pause, oMenu, oConfirmPopup, nGamePhase, hideInstructions, disallowInstructions, showPopup, hideCurrentScreen, oCurrentScreen, unpause, sndPackMusic, sndCurrentMusic, sndIntroGameMusic, sndGameMusic, sndTransitMusic, sndLoseMusic, sndWinMusic, sndOmniStartRoll, sndOmniRoll, sndOmniMove7, sndSynShieldSparks, sndSynStartTractorBeam, sndSynTractorBeam, sndUnderDrill1;
function Controller (_mcTimeline, _oPreloaderScreen) {
super(_mcTimeline, _oPreloaderScreen);
soUnlockData = undefined;
nNbLevels = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_LEVELS;
bIncridibleUnlock = false;
sDifficulty = "Easy";
nNbLives = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_MAX_LIVES;
bUseCheat = false;
nCheatLevel = 0;
sMusicCategory = com.disney.gem.games.SavingTheDay.game_data.SoundsData.sMusicCategory;
sSfxCategory = com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory;
sBtnSfxCategory = com.disney.gem.games.SavingTheDay.game_data.SoundsData.sBtnSfxCategory;
loadUnlockData();
}
static function getInstance() {
return(com.disney.gem.games.SavingTheDay.Controller(com.sarbakan.BaseDisneyController.oInstance));
}
function init() {
super.init();
var _local3 = mcTimeline.createEmptyMovieClip("mcSoundManager", 10);
com.sarbakan.sound.SoundManager.doInit(_local3);
com.sarbakan.sound.SoundManager.setCategoryVolume(sMusicCategory, com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicMusicVolume);
com.sarbakan.sound.SoundManager.setCategoryVolume(sSfxCategory, com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicSfxVolume);
showTitleScreen();
startPackMusic();
}
function showTitleScreen(_bShowTransition) {
if (_bShowTransition) {
showScreen(new com.disney.gem.games.SavingTheDay.screens.TitleScreen(mcTimeline.mcScreens.mcTitle), true, sTRANSITION_DEFAULT);
} else {
showScreen(new com.disney.gem.games.SavingTheDay.screens.TitleScreen(mcTimeline.mcScreens.mcTitle), true);
}
allowInstructions();
}
function startNewGame(_sDifficulty) {
sDifficulty = _sDifficulty;
onGameStart();
if (!bUseCheat) {
setLevel(0);
} else {
setLevel(nCheatLevel);
bUseCheat = false;
}
startNextLevel();
}
function startNextLevel() {
setGamePhase(com.sarbakan.BaseDisneyController.nGAME_PHASE_INGAME);
setLevel(nLevel + 1);
oMainBroadcaster.addListener(oGame);
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseStartLevel), com.sarbakan.utils.Delegate.create(this, onTransitDoneStartLevel));
onLevelStart();
}
function restartLevel() {
setGamePhase(com.sarbakan.BaseDisneyController.nGAME_PHASE_INGAME);
oMainBroadcaster.addListener(oGame);
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseStartLevel), com.sarbakan.utils.Delegate.create(this, onTransitDoneStartLevel));
onLevelStart();
}
function onGameStart() {
super.onGameStart();
trace("GAME START");
nNbLives = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_MAX_LIVES;
}
function onWinLevel() {
onLevelEnd();
if (nLevel < nNbLevels) {
startNextLevel();
} else {
onGameWon();
}
}
function onLoseLevel() {
pause();
onLevelEnd();
if (nNbLives > 0) {
restartLevel();
} else {
onGameLose();
}
}
function showInstructionsScreen(_bFromMovesScreeen) {
if ((oMenu.sState == "in") || (oMenu.sState == "idle")) {
oMenu.sCloseBtn = "Help";
oMenu.hide();
} else if (oMenu.sState == "out") {
oMenu.sCloseBtn = "Help";
}
if ((oConfirmPopup.sState == "in") || (oConfirmPopup.sState == "idle")) {
oConfirmPopup.hide();
}
if ((nGamePhase == com.sarbakan.BaseDisneyController.nGAME_PHASE_INGAME) && (!_bFromMovesScreeen)) {
pause();
com.sarbakan.sound.SoundManager.doPauseAllInCat(com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory);
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseOpenHelp), com.sarbakan.utils.Delegate.create(this, onTransitDoneOpenHelp));
} else {
showScreen(new com.disney.gem.games.SavingTheDay.screens.HelpScreen(mcTimeline.mcScreens.mcHelp), true);
}
}
function hideInstructionsScreen() {
if (nGamePhase == com.sarbakan.BaseDisneyController.nGAME_PHASE_INGAME) {
hideInstructions();
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseReturnToGame), com.sarbakan.utils.Delegate.create(this, onTransitDoneReturnToGame));
} else {
hideInstructions();
disallowInstructions();
showScreen(new com.disney.gem.games.SavingTheDay.screens.DifficultyScreen(mcTimeline.mcScreens.mcDifficulty, bIncridibleUnlock), true);
}
}
function showMovesScreen() {
showScreen(new com.disney.gem.games.SavingTheDay.screens.MovesScreen(mcTimeline.mcScreens.mcMoves), true);
}
function showDifficultyScreen() {
if (nGamePhase == com.sarbakan.BaseDisneyController.nGAME_PHASE_INGAME) {
playBtnSfx("Button2");
hideInstructionsScreen();
} else {
playBtnSfx("Button1");
hideInstructionsScreen();
showScreen(new com.disney.gem.games.SavingTheDay.screens.DifficultyScreen(mcTimeline.mcScreens.mcDifficulty, bIncridibleUnlock), true);
}
}
function showWinFightPopup() {
if (sDifficulty == "Med") {
bIncridibleUnlock = true;
updateUnlockData();
}
disallowInstructions();
showPopup(new com.disney.gem.games.SavingTheDay.popups.WinFightPopup(mcTimeline.mcPopups.mcWinFight));
playWinMusic();
}
function showLevelCompletedPopup() {
showPopup(new com.disney.gem.games.SavingTheDay.popups.LevelCompletedPopup(mcTimeline.mcPopups.mcLevelCompleted), true);
}
function showLoseFightPopup() {
disallowInstructions();
showPopup(new com.disney.gem.games.SavingTheDay.popups.LoseFightPopup(mcTimeline.mcPopups.mcLoseFight));
playLoseMusic();
}
function showRemainingLivesPopup() {
showPopup(new com.disney.gem.games.SavingTheDay.popups.RemainingLivesPopup(mcTimeline.mcPopups.mcRemainingLives), true);
}
function showMoveUnlockPopup() {
showPopup(new com.disney.gem.games.SavingTheDay.popups.MoveUnlockPopup(mcTimeline.mcPopups.mcMoveUnlock));
}
function showStartFightPopup() {
disallowInstructions();
showPopup(new com.disney.gem.games.SavingTheDay.popups.StartFightPopup(mcTimeline.mcPopups.mcStartFight));
}
function onTransitionStart() {
playTransitMusic();
}
function onTransitCloseStartLevel() {
oGame.deleteObject();
hideCurrentScreen();
oGame = new com.disney.gem.games.SavingTheDay.GameEngine(this, mcTimeline.mcGame);
oGame.init();
oMainBroadcaster.broadcastMessage("initStates");
}
function onTransitDoneStartLevel() {
startIntroGameMusic();
showStartFightPopup();
}
function onTransitCloseOpenHelp() {
showScreen(new com.disney.gem.games.SavingTheDay.screens.HelpScreen(mcTimeline.mcScreens.mcHelp), true, null);
}
function onTransitDoneOpenHelp() {
startPackMusic();
}
function onTransitCloseReturnToGame() {
oCurrentScreen.hide(null, false);
delete oCurrentScreen;
}
function onTransitDoneReturnToGame() {
startGameMusic();
com.sarbakan.sound.SoundManager.doResumeAllInCat(com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory);
unpause();
}
function onTransitCloseWinGame() {
setGamePhase(com.sarbakan.BaseDisneyController.nGAME_PHASE_PACKAGING);
showScreen(new com.disney.gem.games.SavingTheDay.screens.EndScreen(mcTimeline.mcScreens.mcWin), true, null);
}
function onTransitCloseLoseGame() {
setGamePhase(com.sarbakan.BaseDisneyController.nGAME_PHASE_PACKAGING);
showScreen(new com.disney.gem.games.SavingTheDay.screens.EndScreen(mcTimeline.mcScreens.mcLose), true, null);
}
function onTransitDoneEndGame() {
startPackMusic();
}
function onGameLose() {
disallowInstructions();
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseLoseGame), com.sarbakan.utils.Delegate.create(this, onTransitDoneEndGame));
}
function onGameWon() {
disallowInstructions();
oTransitionManager.playTransition("default", com.sarbakan.utils.Delegate.create(this, onTransitCloseWinGame), com.sarbakan.utils.Delegate.create(this, onTransitDoneEndGame));
}
function giveDifficulty() {
return(sDifficulty);
}
function giveNbLives() {
return(nNbLives);
}
function removeLife() {
nNbLives--;
}
function updateUnlockData() {
soUnlockData.data.bIncridibleUnlock = bIncridibleUnlock;
soUnlockData.data.CombosLock = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock;
saveGameData();
}
function saveGameData() {
soUnlockData.flush();
}
function loadUnlockData() {
soUnlockData = SharedObject.getLocal("SavingTheDayData");
if (soUnlockData.data.bDataExist == undefined) {
initUnlockData();
}
distributeUnlockData();
}
function initUnlockData() {
soUnlockData.data.bDataExist = true;
soUnlockData.data.bIncridibleUnlock = false;
soUnlockData.data.CombosLock = {RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true};
saveGameData();
}
function distributeUnlockData() {
bIncridibleUnlock = soUnlockData.data.bIncridibleUnlock;
com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock = soUnlockData.data.CombosLock;
}
function startPackMusic() {
sndPackMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "PackMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicMusicVolume, 10000, true);
sndCurrentMusic = sndPackMusic;
}
function startIntroGameMusic() {
sndIntroGameMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "IntroGameMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicMusicVolume, 0, true);
sndCurrentMusic = sndIntroGameMusic;
}
function startGameMusic() {
sndGameMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "GameMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicMusicVolume, 10000, true);
sndCurrentMusic = sndGameMusic;
}
function playTransitMusic() {
cutCurrentMusic();
sndTransitMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "TransitMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nTransitMusicVolume, 0, false);
sndCurrentMusic = sndTransitMusic;
}
function playLoseMusic() {
cutCurrentMusic();
sndLoseMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "LoseMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nLoseMusicVolume, 0, true);
sndCurrentMusic = sndLoseMusic;
}
function playWinMusic() {
cutCurrentMusic();
sndWinMusic = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sMusicCategory, "WinMusic", com.disney.gem.games.SavingTheDay.game_data.SoundsData.nWinMusicVolume, 0, true);
sndCurrentMusic = sndWinMusic;
}
function cutCurrentMusic() {
sndCurrentMusic.setFadeRate(10);
sndCurrentMusic.doFadeTo(0);
}
function playSfx(_aSfxList) {
var _local2 = _aSfxList[Math.floor(Math.random() * _aSfxList.length)];
var _local3 = com.disney.gem.games.SavingTheDay.game_data.SoundsData[("n" + _local2) + "Volume"];
var _local4 = 0;
if (_local3 == undefined) {
_local3 = com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicSfxVolume;
}
if (com.disney.gem.games.SavingTheDay.game_data.SoundsData.oLoopSfx[_local2]) {
_local4 = 10000;
}
switch (_local2) {
case "OmniStartRoll" :
sndOmniStartRoll = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "OmniRoll" :
sndOmniRoll = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "OmniMove7" :
sndOmniMove7 = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "SynShieldSparks" :
sndSynShieldSparks = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "SynStartTractorBeam" :
sndSynStartTractorBeam = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "SynTractorBeam" :
sndSynTractorBeam = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
case "UnderDrill1" :
sndUnderDrill1 = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, true);
break;
default :
var _local6 = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sSfxCategory, _local2, _local3, _local4, false);
}
}
function stopSfx(_sSfx) {
switch (_sSfx) {
case "OmniStartRoll" :
sndOmniStartRoll.doStop();
break;
case "OmniRoll" :
sndOmniRoll.doStop();
break;
case "OmniMove7" :
sndOmniMove7.doStop();
break;
case "SynShieldSparks" :
sndSynShieldSparks.doStop();
break;
case "SynStartTractorBeam" :
sndSynStartTractorBeam.doStop();
break;
case "SynTractorBeam" :
sndSynTractorBeam.doStop();
break;
case "UnderDrill1" :
sndUnderDrill1.doStop();
break;
}
}
function playBtnSfx(_sSfx) {
var _local2 = com.disney.gem.games.SavingTheDay.game_data.SoundsData[("n" + _sSfx) + "Volume"];
if (_local2 == undefined) {
_local2 = com.disney.gem.games.SavingTheDay.game_data.SoundsData.nBasicBtnSfxVolume;
}
var _local4 = com.sarbakan.sound.SoundManager.doPlaySoundInCat(sBtnSfxCategory, _sSfx, _local2, 0, false);
}
function onSoundCompleted(_oSound) {
switch (_oSound.__get__LinkageName()) {
case "IntroGameMusic" :
if (sndCurrentMusic == sndIntroGameMusic) {
startGameMusic();
}
break;
default :
}
}
static var sTRANSITION_DEFAULT = "default";
}
Symbol 2429 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.GameEngine] Frame 0
class com.disney.gem.games.SavingTheDay.GameEngine
{
var oController, mcGame, oGameScreen;
function GameEngine (_oController, _mcGame) {
oController = _oController;
mcGame = _mcGame;
mcGame.mcHud.txtScore.text = oController.getScore();
mcGame.mcHud.txtLevel.text = oController.getLevel();
mcGame.mcHud.btMenu.onRelease = com.sarbakan.utils.Delegate.create(this, onBtMenu);
mcGame.btWin.onRelease = com.sarbakan.utils.Delegate.create(this, onBtWin);
mcGame.btLose.onRelease = com.sarbakan.utils.Delegate.create(this, onBtLose);
}
function init() {
oGameScreen = new com.disney.gem.games.SavingTheDay.screens.GameScreen(mcGame, "oGameScreen", oController);
}
function onUpdate() {
}
function onPause() {
mcGame.mcMouth.stop();
}
function onUnPause() {
mcGame.mcMouth.play();
}
function onBtLose() {
oController.onGameLose();
}
function onBtWin() {
oController.onGameWon();
}
function onBtMenu() {
oController.pause();
oController.playBtnSfx("Button1");
oController.showPopup(new com.disney.gem.games.SavingTheDay.popups.MenuPopup(oController.mcTimeline.mcPopups.mcMenu), true);
}
function deleteObject() {
oGameScreen.deleteObject();
}
static var nCHICKEN_SPEED = 4;
}
Symbol 2430 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.GameScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.GameScreen extends com.sarbakan.utils.ScreenController
{
static var oInstance;
var oController, sName, nLevel, nIndexName, oLevelData, aItemsToClean, mcLevelContainer, mcRef, oTimer;
function GameScreen (_mcRef, _sName) {
super(_mcRef);
oInstance = this;
com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions.doClassDeclaration();
oController = com.disney.gem.games.SavingTheDay.Controller.getInstance();
sName = _sName;
nLevel = oController.getLevel();
nIndexName = 1;
oLevelData = new Object();
aItemsToClean = new Array();
mcLevelContainer = mcRef[com.disney.gem.games.SavingTheDay.game_data.GeneralData.sBASE_CONTAINER];
createTimer();
setLevelData();
createScreenObjects();
oController.oMainBroadcaster.addListener(this);
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.screens.GameScreen(oInstance));
}
function setLevelData() {
oLevelData = new Object();
var _local2 = com.disney.gem.games.SavingTheDay.game_data.lvls_data.PartsData["nNbPartsLevel" + nLevel];
while (_local2 > 0) {
oLevelData["Part" + _local2] = com.disney.gem.games.SavingTheDay.game_data.lvls_data.PartsData[((("giveLevel" + nLevel) + "Part") + _local2) + "Data"]();
_local2--;
}
}
function createScreenObjects() {
for (var _local3 in oLevelData) {
for (var _local2 in oLevelData[_local3]) {
createGameObject(oLevelData[_local3][_local2]);
}
}
delete oLevelData;
}
function createTimer() {
var _local2 = {sType:"Timer", sName:"oTimer", oOwner:this, sItemClass:"Timer", mcRef:mcRef.mcTimer, sStateAtStart:"Wait", bActivatedItem:false, bLiveAttachItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:false, bPausable:true};
createGameObject(_local2);
}
function createGameObject(_oItemData) {
var _local3 = com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions.oClassPaths[_oItemData.sItemClass];
if (_local3 != undefined) {
if (mx.utils.ClassFinder.findClass(_local3) == undefined) {
trace("-----------------------------------------------------------------------------------------------------");
trace(("ERROR : The class " + _oItemData.sItemClass) + " must be declarated in ClassDeclarations.as");
trace("-----------------------------------------------------------------------------------------------------");
} else {
var _local4;
_local4 = mx.utils.ClassFinder.findClass(_local3);
_oItemData.oOwner = this;
this[_oItemData.sName] = new _local4[undefined](_oItemData);
}
aItemsToClean.push(_oItemData.sName);
} else {
trace("-----------------------------------------------------------------------------------------------------");
trace(("ERROR : The path of the " + _oItemData.sItemClass) + " class must be defined in ClassDeclarations.as");
trace("-----------------------------------------------------------------------------------------------------");
}
}
function deleteObject() {
var _local2 = aItemsToClean.length - 1;
while (_local2 >= 0) {
this[aItemsToClean[_local2]].deleteObject();
_local2--;
}
oTimer.deleteObject();
oController.oMainBroadcaster.removeListener(this);
delete oController.oGame;
}
}
Symbol 2431 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.State] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.State extends com.sarbakan.utils.StateManaged
{
var sName, sType, fDataClassDefinition, oOwner, bUseStates, bUseMovies, sStateAtStart, bPausable, bStateJustChange, nPosX, nPosY, nScaleX, nScaleY, oController, mcRef, sNextState, sState, stateCurrentFrame;
function State (_oItemData) {
super(undefined);
sName = _oItemData.sName;
sType = _oItemData.sType;
fDataClassDefinition = mx.utils.ClassFinder.findClass(com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions.oClassPaths[sType + "Data"]);
oOwner = _oItemData.oOwner;
bUseStates = _oItemData.bUseStates;
bUseMovies = _oItemData.bUseMovies;
sStateAtStart = "Idle";
bPausable = _oItemData.bPausable;
bStateJustChange = false;
nPosX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_oItemData.nPosX);
nPosY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_oItemData.nPosY);
nScaleX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_oItemData.nScaleX);
nScaleY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_oItemData.nScaleY);
oController = com.disney.gem.games.SavingTheDay.Controller.getInstance();
if (bUseStates == true) {
if (_oItemData.sStateAtStart != undefined) {
sStateAtStart = _oItemData.sStateAtStart;
}
}
oController.oMainBroadcaster.addListener(this);
}
function initStates() {
if ((mcRef != undefined) || (bUseMovies == false)) {
setState(sStateAtStart);
sStateAtStart = "";
}
}
function setState(_sState, _bValidChange) {
if (bUseStates == true) {
var _local2 = validateStateChange(_sState);
if ((_local2 == true) || (_bValidChange == false)) {
sNextState = _sState;
this[("state_" + sState) + "_end"]();
sState = _sState;
mcRef.gotoAndStop(sState);
mcRef.mcState.gotoAndStop(1);
bStateJustChange = true;
this[("state_" + sState) + "_init"]();
}
}
}
function validateStateChange(_sState) {
if (sState == undefined) {
return(true);
}
if ((fDataClassDefinition == null) || (fDataClassDefinition.oCHANGE_STATE_DATA[sState][_sState] == true)) {
return(true);
}
return(false);
}
function onPause() {
if (bPausable == true) {
if (mcRef._currentframe == 1) {
mcRef.gotoAndStop(sState);
}
mcRef.mcState.stop();
}
}
function onUpdate() {
if (bStateJustChange == true) {
mcRef.mcState.play();
bStateJustChange = false;
}
this["state_" + sState]();
controlSfx();
}
function controlSfx() {
if (com.disney.gem.games.SavingTheDay.game_data.SoundsData[sType][sState]["Fr" + stateCurrentFrame()] != undefined) {
var _local3 = stateCurrentFrame();
var _local2 = 0;
while (_local2 < com.disney.gem.games.SavingTheDay.game_data.SoundsData[sType][sState]["Fr" + _local3].length) {
oController.playSfx(com.disney.gem.games.SavingTheDay.game_data.SoundsData[sType][sState]["Fr" + _local3][_local2]);
_local2++;
}
}
}
function deleteObject() {
mcRef.removeMovieClip();
delete oOwner[sName];
oController.oMainBroadcaster.removeListener(this);
}
}
Symbol 2432 MovieClip [__Packages.mx.utils.ClassFinder] Frame 0
class mx.utils.ClassFinder
{
function ClassFinder () {
}
static function findClass(fullClassName) {
if (fullClassName == null) {
return(null);
}
var _local3 = _global;
var _local4 = fullClassName.split(".");
var _local2 = 0;
while (_local2 < _local4.length) {
_local3 = _local3[_local4[_local2]];
_local2++;
}
if (_local3 == null) {
_global.__dataLogger.logData(null, "Could not find class '<classname>'", {classname:fullClassName}, mx.data.binding.Log.BRIEF);
}
return(_local3);
}
}
Symbol 2433 MovieClip [__Packages.mx.data.binding.Log] Frame 0
class mx.data.binding.Log
{
var level, name;
function Log (logLevel, logName) {
level = ((logLevel == undefined) ? (BRIEF) : (logLevel));
name = ((name == undefined) ? "" : (name));
}
function logInfo(msg, level) {
if (level == undefined) {
level = BRIEF;
}
onLog((((getDateString() + " ") + name) + ": ") + mx.data.binding.ObjectDumper.toString(msg));
}
function logData(target, message, info, level) {
if (level == undefined) {
level = VERBOSE;
}
var _local6 = ((name.length > 0) ? ((" " + name) + ": ") : " ");
var _local4 = ((target == null) ? "" : (target + ": "));
if (_local4.indexOf("_level0.") == 0) {
_local4 = _local4.substr(8);
}
var _local3 = ((getDateString() + _local6) + _local4) + substituteIntoString(message, info, 50);
if (showDetails && (info != null)) {
_local3 = _local3 + ("\n " + mx.data.binding.ObjectDumper.toString(info));
} else {
var _local2 = 0;
while (_local2 < nestLevel) {
_local3 = " " + _local3;
_local2++;
}
}
onLog(_local3);
}
function onLog(message) {
trace(message);
}
function getDateString() {
var _local1 = new Date();
return(((((((((_local1.getMonth() + 1) + "/") + _local1.getDate()) + " ") + _local1.getHours()) + ":") + _local1.getMinutes()) + ":") + _local1.getSeconds());
}
static function substituteIntoString(message, info, maxlen, rawDataType) {
var _local9 = "";
if (info == null) {
return(message);
}
var _local11 = message.split("<");
if (_local11 == null) {
return(message);
}
_local9 = _local9 + _local11[0];
var _local7 = 1;
while (_local7 < _local11.length) {
var _local8 = _local11[_local7].split(">");
var _local5 = _local8[0].split(".");
var _local1 = info;
var _local4 = rawDataType;
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2];
if (_local3 != "") {
_local4 = mx.data.binding.FieldAccessor.findElementType(_local4, _local3);
var _local6 = new mx.data.binding.FieldAccessor(null, null, _local1, _local3, _local4, null, null);
_local1 = _local6.getValue();
}
_local2++;
}
if (typeof(_local1) != "string") {
_local1 = mx.data.binding.ObjectDumper.toString(_local1);
}
if (_local1.indexOf("_level0.") == 0) {
_local1 = _local1.substr(8);
}
if ((maxlen != null) && (_local1.length > maxlen)) {
_local1 = _local1.substr(0, maxlen) + "...";
}
_local9 = _local9 + _local1;
_local9 = _local9 + _local8[1];
_local7++;
}
var _local14 = _local9.split(">");
_local9 = _local14.join(">");
_local14 = _local9.split("<");
_local9 = _local14.join("<");
return(_local9);
}
static var NONE = -1;
static var BRIEF = 0;
static var VERBOSE = 1;
static var DEBUG = 2;
static var INFO = 2;
static var WARNING = 1;
static var ERROR = 0;
var showDetails = false;
var nestLevel = 0;
}
Symbol 2434 MovieClip [__Packages.mx.data.binding.ObjectDumper] Frame 0
class mx.data.binding.ObjectDumper
{
var inProgress;
function ObjectDumper () {
inProgress = new Array();
}
static function toString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent) {
var _local3 = new mx.data.binding.ObjectDumper();
if (maxLineLength == undefined) {
maxLineLength = 100;
}
if (indent == undefined) {
indent = 0;
}
return(_local3.realToString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent));
}
function realToString(obj, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent) {
var _local8 = 0;
while (_local8 < inProgress.length) {
if (inProgress[_local8] == obj) {
return("***");
}
_local8++;
}
inProgress.push(obj);
indent++;
var _local16 = typeof(obj);
var _local5;
if ((obj instanceof XMLNode) && (showXMLstructures != true)) {
_local5 = obj.toString();
} else if (obj instanceof Date) {
_local5 = obj.toString();
} else if (_local16 == "object") {
var _local4 = new Array();
if (obj instanceof Array) {
_local5 = "[";
var _local15 = 0;
while (_local15 < obj.length) {
_local4.push(_local15);
_local15++;
}
} else {
_local5 = "{";
for (var _local15 in obj) {
_local4.push(_local15);
}
_local4.sort();
}
var _local9 = "";
var _local3 = 0;
while (_local3 < _local4.length) {
var _local6 = obj[_local4[_local3]];
var _local7 = true;
if (typeof(_local6) == "function") {
_local7 = showFunctions == true;
}
if (typeof(_local6) == "undefined") {
_local7 = showUndefined == true;
}
if (_local7) {
_local5 = _local5 + _local9;
if (!(obj instanceof Array)) {
_local5 = _local5 + (_local4[_local3] + ": ");
}
_local5 = _local5 + realToString(_local6, showFunctions, showUndefined, showXMLstructures, maxLineLength, indent);
_local9 = ", `";
}
_local3++;
}
if (obj instanceof Array) {
_local5 = _local5 + "]";
} else {
_local5 = _local5 + "}";
}
} else if (_local16 == "function") {
_local5 = "function";
} else if (_local16 == "string") {
_local5 = ("\"" + obj) + "\"";
} else {
_local5 = String(obj);
}
if (_local5 == "undefined") {
_local5 = "-";
}
inProgress.pop();
return(replaceAll(_local5, "`", ((_local5.length < maxLineLength) ? "" : (newline + doIndent(indent)))));
}
static function replaceAll(str, from, to) {
var _local3 = str.split(from);
var _local4 = "";
var _local2 = "";
var _local1 = 0;
while (_local1 < _local3.length) {
_local4 = _local4 + (_local2 + _local3[_local1]);
_local2 = to;
_local1++;
}
return(_local4);
}
function doIndent(indent) {
var _local2 = "";
var _local1 = 0;
while (_local1 < indent) {
_local2 = _local2 + " ";
_local1++;
}
return(_local2);
}
}
Symbol 2435 MovieClip [__Packages.mx.data.binding.FieldAccessor] Frame 0
class mx.data.binding.FieldAccessor
{
var component, property, parentObj, fieldName, m_location, type, index, xpath;
function FieldAccessor (component, property, parentObj, fieldName, type, index, parentField) {
this.component = component;
this.property = property;
this.parentObj = parentObj;
this.fieldName = fieldName;
if (component == parentObj) {
m_location = undefined;
} else if (parentField.m_location == undefined) {
m_location = fieldName;
} else {
m_location = (parentField.m_location + ".") + fieldName;
}
this.type = type;
this.index = index;
}
function getValue() {
var _local2 = getFieldData();
if ((_local2 == null) && (type.value != undefined)) {
var _local3 = new mx.data.binding.TypedValue(type.value, "String");
_local3.getDefault = true;
component.getField(fieldName).setAnyTypedValue(_local3);
_local2 = _local3.value;
}
if ((isXML(_local2) && (_local2.childNodes.length == 1)) && (_local2.firstChild.nodeType == 3)) {
return(_local2.firstChild.nodeValue);
}
return(_local2);
}
function setValue(newValue, newTypedValue) {
if (newTypedValue.getDefault) {
newTypedValue.value = newValue;
} else {
if (xpath != null) {
var _local4 = getFieldData();
if (_local4 != null) {
setXMLData(_local4, newValue);
} else {
_global.__dataLogger.logData(component, "Can't assign to '<property>:<xpath>' because there is no element at the given path", this);
}
} else if (isXML(parentObj)) {
if (type.category == "attribute") {
parentObj.attributes[fieldName] = newValue;
} else if (type.category == "array") {
} else {
var _local4 = getOrCreateFieldData();
setXMLData(_local4, newValue);
}
} else {
if (parentObj == null) {
_global.__dataLogger.logData(component, "Can't set field '<property>/<location>' because the field doesn't exist", this);
}
parentObj[fieldName] = newValue;
}
component.propertyModified(property, (xpath == null) && (parentObj == component), newTypedValue.type);
}
}
static function isActionScriptPath(str) {
var _local2 = str.toLowerCase();
var _local3 = "0123456789abcdefghijklmnopqrstuvwxyz_.";
var _local1 = 0;
while (_local1 < _local2.length) {
if (-1 == _local3.indexOf(_local2.charAt(_local1))) {
return(false);
}
_local1++;
}
return(true);
}
static function createFieldAccessor(component, property, location, type, mustExist) {
if (mustExist && (component[property] == null)) {
_global.__dataLogger.logData(component, "Warning: property '<property>' does not exist", {property:property});
return(null);
}
var _local5 = new mx.data.binding.FieldAccessor(component, property, component, property, type, null, null);
if (location == null) {
return(_local5);
}
var _local7 = null;
if (location.indices != null) {
_local7 = location.indices;
location = location.path;
}
if (typeof(location) == "string") {
if (_local7 != null) {
_global.__dataLogger.logData(component, "Warning: ignoring index values for property '<property>', path '<location>'", {property:property, location:location});
}
if (isActionScriptPath(String(location))) {
location = location.split(".");
} else {
_local5.xpath = location;
return(_local5);
}
}
if (location instanceof Array) {
var _local3;
var _local10 = 0;
_local3 = 0;
while (_local3 < location.length) {
var _local2 = null;
var _local4 = location[_local3];
if (_local4 == "[n]") {
if (_local7 == null) {
_global.__dataLogger.logData(component, "Error: indices for <property>:<location> are null, but [n] appears in the location.", {property:property, location:location});
return(null);
}
_local2 = _local7[_local10++];
if (_local2 == null) {
_global.__dataLogger.logData(component, "Error: not enough index values for <property>:<location>", {property:property, location:location});
return(null);
}
}
_local5 = _local5.getChild(_local4, _local2, mustExist);
_local3++;
}
if (mustExist && (_local5.getValue() == null)) {
_global.__dataLogger.logData(component, "Warning: field <property>:<m_location> does not exist, or is null", _local5);
}
return(_local5);
}
trace("unrecognized location: " + mx.data.binding.ObjectDumper.toString(location));
return(null);
}
function getFieldAccessor() {
return(this);
}
function getChild(childName, index, mustExist) {
if (childName == ".") {
return(this);
}
var _local2 = getOrCreateFieldData(mustExist);
if (_local2 == null) {
return(null);
}
var _local4 = findElementType(type, childName);
return(new mx.data.binding.FieldAccessor(component, property, _local2, childName, _local4, index, this));
}
function getOrCreateFieldData(mustExist) {
var _local3 = getFieldData();
if (_local3 == null) {
if (mustExist) {
_global.__dataLogger.logData(component, "Warning: field <property>:<m_location> does not exist", this);
} else {
setupComplexField();
_local3 = getFieldData();
}
}
return(_local3);
}
function evaluateSubPath(obj, type) {
var path = type.path;
if (isActionScriptPath(path)) {
var tokens = path.split(".");
var i = 0;
while (i < tokens.length) {
var token = tokens[i];
if (isXML(obj)) {
obj = obj.firstChild;
while (obj != null) {
if (toLocalName(obj.nodeName) == token) {
break;
}
obj = obj.nextSibling;
}
} else {
obj = obj[token];
}
if (obj == null) {
_global.__dataLogger.logData(component, "Warning: path '<path>' evaluates to null, at '<token>' in <t.property>:<t.m_location>", {path:path, token:token, t:this});
break;
}
i++;
}
} else if (isXML(obj)) {
if (path.charAt(0) != "/") {
path = "/" + path;
}
if (obj.nodeName == null) {
obj = obj.firstChild;
} else {
path = toLocalName(obj.nodeName) + path;
}
var category = ((type.category != null) ? (type.category) : (((type.elements.length > 0) ? "complex" : "simple")));
if ((category == "simple") || (category == "attribute")) {
obj = eval ("obj" + mx.xpath.XPathAPI.getEvalString(obj, path));
} else if (category == "complex") {
obj = mx.xpath.XPathAPI.selectSingleNode(obj, path);
} else if (category == "array") {
obj = mx.xpath.XPathAPI.selectNodeList(obj, path);
}
} else {
_global.__dataLogger.logData(component, "Error: path '<path>' is an XPath. It cannot be applied to non-XML data <t.property>:<t.m_location>", {path:path, t:this});
}
return(obj);
}
function getFieldData() {
if (xpath != null) {
var _local4 = parentObj[fieldName].firstChild;
while ((_local4 != null) && (_local4.nodeType != 1)) {
_local4 = _local4.nextSibling;
}
var _local10 = mx.xpath.XPathAPI.selectSingleNode(_local4, xpath);
return(_local10);
}
if (isXML(parentObj)) {
if (type.path != null) {
return(evaluateSubPath(parentObj, type));
}
if (type.category == "attribute") {
var _local5 = parentObj.attributes;
for (var _local8 in _local5) {
if (toLocalName(_local8) == fieldName) {
return(_local5[_local8]);
}
}
return(undefined);
}
var _local3 = parentObj.firstChild;
if (type.category == "array") {
var _local6 = new Array();
while (_local3 != null) {
if (toLocalName(_local3.nodeName) == fieldName) {
_local6.push(_local3);
}
_local3 = _local3.nextSibling;
}
return(_local6);
}
while (_local3 != null) {
if (toLocalName(_local3.nodeName) == fieldName) {
return(_local3);
}
_local3 = _local3.nextSibling;
}
return(null);
}
if (fieldName == "[n]") {
var _local7;
if (index.component != null) {
var _local9 = index.component.getField(index.property, index.location);
_local7 = _local9.getAnyTypedValue(["Number"]);
_local7 = _local7.value;
} else {
_local7 = index.constant;
}
var index = Number(_local7);
if (typeof(_local7) == "undefined") {
_global.__dataLogger.logData(component, "Error: index specification '<index>' was not supplied, or incorrect, for <t.property>:<t.m_location>", {index:index, t:this});
return(null);
}
if (index.toString() == "NaN") {
_global.__dataLogger.logData(component, "Error: index value '<index>' for <t.property>:<t.m_location> is not a number", {index:index, t:this});
return(null);
}
if (!(parentObj instanceof Array)) {
_global.__dataLogger.logData(component, "Error: indexed field <property>:<m_location> is not an array", this);
return(null);
}
if ((index < 0) || (index >= parentObj.length)) {
_global.__dataLogger.logData(component, "Error: index '<index>' for <t.property>:<t.m_location> is out of bounds", {index:index, t:this});
return(null);
}
_global.__dataLogger.logData(component, "Accessing item [<index>] of <t.property>:<t.m_location>", {index:index, t:this});
return(parentObj[index]);
}
if (type.path != null) {
return(evaluateSubPath(parentObj, type));
}
return(parentObj[fieldName]);
}
static function setXMLData(obj, newValue) {
while (obj.hasChildNodes()) {
obj.firstChild.removeNode();
}
var _local2 = xmlNodeFactory.createTextNode(newValue);
obj.appendChild(_local2);
}
function setupComplexField() {
var _local2;
if (isXML(parentObj)) {
_local2 = xmlNodeFactory.createElement(fieldName);
parentObj.appendChild(_local2);
} else if (dataIsXML()) {
parentObj[fieldName] = new XML();
} else {
parentObj[fieldName] = new Object();
}
}
static function findElementType(type, name) {
var _local1 = 0;
while (_local1 < type.elements.length) {
if (type.elements[_local1].name == name) {
return(type.elements[_local1].type);
}
_local1++;
}
return(null);
}
function isXML(obj) {
return(obj instanceof XMLNode);
}
function dataIsXML() {
return(type.name == "XML");
}
static function accessField(component, fieldName, desiredTypes) {
var _local1;
_local1 = desiredTypes[fieldName];
if (_local1 == null) {
_local1 = desiredTypes.dflt;
}
if (_local1 == null) {
_local1 = desiredTypes;
}
var _local4 = component.createField("data", [fieldName]);
var _local2 = _local4.getAnyTypedValue([_local1]);
return(_local2.value);
}
static function ExpandRecord(obj, objectType, desiredTypes) {
var _local4 = new Object();
mx.data.binding.ComponentMixins.initComponent(_local4);
_local4.data = obj;
_local4.__schema = {elements:[{name:"data", type:objectType}]};
var _local2 = new Object();
if (objectType.elements.length > 0) {
var _local3 = 0;
while (_local3 < objectType.elements.length) {
var _local10 = objectType.elements[_local3].name;
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
_local3++;
}
} else if ((obj instanceof XML) || (obj instanceof XMLNode)) {
if ((obj.childNodes.length == 1) && (obj.firstChild.nodeType == 3)) {
return(obj.firstChild.nodeValue);
}
var _local5 = obj.lastChild;
while (_local5 != null) {
var _local10 = toLocalName(_local5.nodeName);
if ((_local10 != null) && (_local2[_local10] == null)) {
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
_local5 = _local5.previousSibling;
}
for (var _local10 in obj.attributes) {
if (_local2[_local10] != null) {
_global.__dataLogger.logData(null, "Warning: attribute '<name>' has same name as an element, in XML object <obj>", {name:_local10, obj:obj});
}
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
} else {
if (typeof(obj) != "object") {
return(obj);
}
for (var _local10 in obj) {
_local2[_local10] = accessField(_local4, _local10, desiredTypes);
}
}
return(_local2);
}
static function wrapArray(theArray, itemType, desiredTypes) {
var _local4 = {getItemAt:function (index) {
if ((index < 0) || (index >= this.data.length)) {
return(undefined);
}
var _local2 = this.data[index];
if (_local2 == undefined) {
return(undefined);
}
var _local3 = mx.data.binding.FieldAccessor.ExpandRecord(_local2, this.type, desiredTypes);
return(_local3);
}, getItemID:function (index) {
return(index);
}, data:theArray, type:itemType, length:theArray.length};
return(_local4);
}
static function toLocalName(nodeName) {
var _local1 = nodeName.split(":");
var _local2 = _local1[_local1.length - 1];
return(_local2);
}
static var xmlNodeFactory = new XML();
}
Symbol 2436 MovieClip [__Packages.mx.data.binding.TypedValue] Frame 0
class mx.data.binding.TypedValue
{
var value, typeName, type;
function TypedValue (value, typeName, type) {
this.value = value;
this.typeName = typeName;
this.type = type;
}
}
Symbol 2437 MovieClip [__Packages.mx.xpath.XPathAPI] Frame 0
class mx.xpath.XPathAPI
{
function XPathAPI () {
}
static function getEvalString(node, path) {
var _local7 = "";
var _local4 = null;
var _local9 = getPathSet(path);
var _local3 = _local9[0].nodeName;
var _local8;
var _local2 = node;
var _local5 = false;
if ((_local3 != undefined) && ((_local3 == "*") || (node.nodeName == _local3))) {
var _local6 = 1;
while (_local6 < _local9.length) {
_local3 = _local9[_local6].nodeName;
_local8 = _local3.indexOf("@");
if (_local8 >= 0) {
_local3 = _local3.substring(_local8 + 1);
_local5 = _local2.attributes[_local3] != undefined;
_local7 = _local7 + (".attributes." + _local3);
} else {
_local5 = false;
var _local1 = 0;
while (_local1 < _local2.childNodes.length) {
_local4 = _local2.childNodes[_local1];
if (_local4.nodeName == _local3) {
_local7 = _local7 + (".childNodes." + _local1);
_local1 = _local2.childNodes.length;
_local2 = _local4;
_local5 = true;
}
_local1++;
}
}
if (!_local5) {
return("");
}
_local6++;
}
if (!_local5) {
_local7 = "";
} else if (_local8 == -1) {
_local7 = _local7 + ".firstChild.nodeValue";
}
} else {
_local7 = "";
}
return(_local7);
}
static function selectNodeList(node, path) {
var _local2 = new Array(node);
var _local5 = getPathSet(path);
var _local4 = _local5[0];
var _local6 = _local4.__get__nodeName();
var _local1 = null;
if ((_local6 != undefined) && ((_local6 == "*") || (node.nodeName == _local6))) {
if (_local4.__get__filter().length > 0) {
_local1 = new mx.xpath.FilterStack(_local4.__get__filter());
_local2 = filterNodes(_local2, _local1);
}
if (_local2.length > 0) {
var _local3 = 1;
while (_local3 < _local5.length) {
_local4 = _local5[_local3];
_local2 = getAllChildNodesByName(_local2, _local4.__get__nodeName());
if (_local4.__get__filter().length > 0) {
_local1 = new mx.xpath.FilterStack(_local4.__get__filter());
} else {
_local1 = null;
}
if ((_local1 != null) && (_local1.__get__exprs().length > 0)) {
_local2 = filterNodes(_local2, _local1);
}
_local3++;
}
}
} else {
_local2 = new Array();
}
return(_local2);
}
static function selectSingleNode(node, path) {
var _local1 = selectNodeList(node, path);
if (_local1.length > 0) {
return(_local1[0]);
}
return(null);
}
static function setNodeValue(node, path, newValue) {
var _local1 = new Array(node);
var _local9 = getPathSet(path);
var _local7 = _local9[_local9.length - 1].nodeName;
if (_local7.charAt(0) == "@") {
_local7 = _local7.substring(1, _local7.length);
_local9.pop();
} else {
_local7 = null;
}
var _local5 = _local9[0];
var _local11 = _local5.__get__nodeName();
var _local3 = null;
if ((_local11 != undefined) && ((_local11 == "*") || (node.nodeName == _local11))) {
if (_local5.__get__filter().length > 0) {
_local3 = new mx.xpath.FilterStack(_local5.__get__filter());
_local1 = filterNodes(_local1, _local3);
}
if (_local1.length > 0) {
var _local2 = 1;
while (_local2 < _local9.length) {
_local5 = _local9[_local2];
_local1 = getAllChildNodesByName(_local1, _local5.__get__nodeName());
if (_local5.__get__filter().length > 0) {
_local3 = new mx.xpath.FilterStack(_local5.__get__filter());
} else {
_local3 = null;
}
if ((_local3 != null) && (_local3.__get__exprs().length > 0)) {
_local1 = filterNodes(_local1, _local3);
}
_local2++;
}
}
} else {
_local1 = new Array();
}
var _local4 = null;
var _local6 = null;
var _local10 = new XML();
var _local2 = 0;
while (_local2 < _local1.length) {
if (_local7 != null) {
_local1[_local2].attributes[_local7] = newValue;
} else {
_local4 = _local1[_local2];
if ((_local4.firstChild == null) || (_local4.firstChild.nodeType != 3)) {
_local6 = _local10.createTextNode(newValue);
_local4.appendChild(_local6);
} else {
_local6 = _local4.firstChild;
_local6.nodeValue = newValue;
}
}
_local2++;
}
return(_local1.length);
}
static function copyStack(toStk, fromStk) {
var _local1 = 0;
while (_local1 < fromStk.length) {
toStk.splice(_local1, 0, fromStk[_local1]);
_local1++;
}
}
static function evalExpr(expr, node) {
var _local2 = true;
if (expr.__get__attr()) {
_local2 = ((expr.__get__value() != null) ? (node.attributes[expr.__get__name()] == expr.__get__value()) : (node.attributes[expr.__get__name()] != null));
} else {
var _local3 = getChildNodeByName(node, expr.__get__name());
if (_local3 != null) {
_local2 = ((expr.__get__value() != null) ? (_local3.firstChild.nodeValue == expr.__get__value()) : true);
} else {
_local2 = false;
}
}
return(_local2);
}
static function filterNodes(nodeList, stack) {
var _local13 = new Array();
var _local2;
var _local3;
var _local9;
var _local6;
var _local10;
var _local1 = true;
var _local4;
var _local5;
var _local8 = 0;
while (_local8 < nodeList.length) {
_local5 = true;
_local2 = new Array();
_local3 = new Array();
copyStack(_local2, stack.__get__exprs());
copyStack(_local3, stack.__get__ops());
_local4 = nodeList[_local8];
while ((_local2.length > 0) && (_local5)) {
if (typeof(_local2[_local2.length - 1]) == "object") {
_local9 = mx.xpath.FilterExpr(_local2.pop());
_local1 = evalExpr(_local9, _local4);
} else {
_local10 = Boolean(_local2.pop());
_local1 = _local10;
}
if (_local3.length > 0) {
var _local7 = _local2.pop();
_local6 = _local7;
switch (_local3[_local3.length - 1]) {
case "and" :
_local1 = _local1 && (evalExpr(_local6, _local4));
_local5 = _local1;
break;
case "or" :
_local1 = _local1 || (evalExpr(_local6, _local4));
_local5 = !_local1;
}
_local3.pop();
_local2.push(_local1);
}
}
if (_local1) {
_local13.push(_local4);
}
_local8++;
}
return(_local13);
}
static function getAllChildNodesByName(nodeList, name) {
var _local5 = new Array();
var _local2;
var _local3 = 0;
while (_local3 < nodeList.length) {
_local2 = nodeList[_local3].childNodes;
if (_local2 != null) {
var _local1 = 0;
while (_local1 < _local2.length) {
if ((name == "*") || (_local2[_local1].nodeName == name)) {
_local5.push(_local2[_local1]);
}
_local1++;
}
}
_local3++;
}
return(_local5);
}
static function getChildNodeByName(node, nodeName) {
var _local2;
var _local3 = node.childNodes;
var _local1 = 0;
while (_local1 < _local3.length) {
_local2 = _local3[_local1];
if (_local2.nodeName == nodeName) {
return(_local2);
}
_local1++;
}
return(null);
}
static function getKeyValues(node, keySpec) {
var _local5 = "";
var _local3 = new mx.utils.StringTokenParser(keySpec);
var _local2 = _local3.nextToken();
var _local1;
var _local6;
while (_local2 != mx.utils.StringTokenParser.tkEOF) {
_local1 = _local3.token;
_local5 = _local5 + (" " + _local1);
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
if (_local1 == "@") {
_local2 = _local3.nextToken();
_local1 = _local3.token;
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
_local5 = _local5 + (((_local1 + "='") + node.attributes[_local1]) + "'");
}
} else if (_local1 == "/") {
_local2 = _local3.nextToken();
if (_local2 == mx.utils.StringTokenParser.tkSymbol) {
_local1 = _local3.token;
node = getChildNodeByName(node, _local1);
if (node != null) {
_local5 = _local5 + _local1;
}
}
} else if ((((_local1 != "and") && (_local1 != "or")) && (_local1 != "[")) && (_local1 != "]")) {
_local6 = getChildNodeByName(node, _local1);
if (_local6 != null) {
_local5 = _local5 + (("='" + _local6.firstChild.nodeValue) + "'");
}
}
}
if (node == null) {
trace(("Invalid keySpec specified. '" + keySpec) + "' Error.");
return("ERR");
}
_local2 = _local3.nextToken();
}
return(_local5.slice(1));
}
static function getPath(node, keySpecs) {
var _local2 = "";
var _local5 = keySpecs[node.nodeName];
if (_local5 == undefined) {
var _local8 = "";
var _local10;
for (_local10 in node.attributes) {
_local8 = _local8 + (((("@" + _local10) + "='") + node.attributes[_local10]) + "' and ");
}
var _local7 = "";
var _local1;
var _local6;
var _local4 = 0;
while (_local4 < node.childNodes.length) {
_local1 = node.childNodes[_local4];
_local6 = _local1.firstChild.nodeValue;
if (_local6 != undefined) {
_local7 = _local7 + (((_local1.nodeName + "='") + _local6) + "' and ");
}
_local4++;
}
if (_local8.length > 0) {
if (_local7.length > 0) {
_local2 = (((("/" + node.nodeName) + "[") + _local8) + _local7.substring(0, _local7.length - 4)) + "]";
} else {
_local2 = ((("/" + node.nodeName) + "[") + _local8.substring(0, _local8.length - 4)) + "]";
}
} else {
_local2 = ((("/" + node.nodeName) + "[") + _local7.substring(0, _local7.length - 4)) + "]";
}
} else {
_local2 = _local2 + (("/" + node.nodeName) + getKeyValues(node, _local5));
}
var _local1 = node.parentNode;
while (_local1.parentNode != null) {
_local5 = keySpecs[_local1.nodeName];
if (_local5 != undefined) {
_local2 = (("/" + _local1.nodeName) + getKeyValues(_local1, _local5)) + _local2;
} else {
_local2 = ("/" + _local1.nodeName) + _local2;
}
_local1 = _local1.parentNode;
}
return(_local2);
}
static function getPathSet(path) {
var _local6 = new Array();
var _local4;
var _local1;
var _local2;
var _local5;
while (path.length > 0) {
_local4 = path.lastIndexOf("/");
_local1 = path.substring(_local4 + 1);
_local2 = _local1.indexOf("[", 0);
_local5 = ((_local2 >= 0) ? (_local1.substring(_local2 + 1, _local1.length - 1)) : "");
_local1 = ((_local2 >= 0) ? (_local1.substring(0, _local2)) : (_local1));
_local6.splice(0, 0, new mx.xpath.NodePathInfo(_local1, _local5));
path = path.substring(0, _local4);
}
return(_local6);
}
}
Symbol 2438 MovieClip [__Packages.mx.xpath.NodePathInfo] Frame 0
class mx.xpath.NodePathInfo
{
function NodePathInfo (nodeName, filter) {
__nodeName = nodeName;
__filter = filter;
}
function get nodeName() {
return(__nodeName);
}
function get filter() {
return(__filter);
}
var __nodeName = null;
var __filter = null;
}
Symbol 2439 MovieClip [__Packages.mx.xpath.FilterStack] Frame 0
class mx.xpath.FilterStack
{
var __expr, __ops;
function FilterStack (filterVal) {
__expr = new Array();
__ops = new Array();
var _local2 = new mx.utils.StringTokenParser(filterVal);
var _local5 = _local2.nextToken();
var _local4;
var _local3 = _local2.__get__token();
while (_local5 != mx.utils.StringTokenParser.tkEOF) {
if (_local3 == "@") {
_local5 = _local2.nextToken();
_local3 = _local2.token;
_local4 = new mx.xpath.FilterExpr(true, _local3, null);
__expr.splice(0, 0, _local4);
if (_local2.nextToken() == mx.utils.StringTokenParser.tkSymbol) {
if (_local2.__get__token() == "=") {
_local5 = _local2.nextToken();
_local4.__set__value(_local2.token);
}
}
} else if ((_local3 == "and") || (_local3 == "or")) {
__ops.splice(0, 0, _local3);
} else if ((_local3 != ")") && (_local3 != "(")) {
_local4 = new mx.xpath.FilterExpr(false, _local3, null);
__expr.splice(0, 0, _local4);
if (_local2.nextToken() == mx.utils.StringTokenParser.tkSymbol) {
if (_local2.__get__token() == "=") {
_local5 = _local2.nextToken();
_local4.__set__value(_local2.token);
}
}
}
_local5 = _local2.nextToken();
_local3 = _local2.token;
}
}
function get exprs() {
return(__expr);
}
function get ops() {
return(__ops);
}
}
Symbol 2440 MovieClip [__Packages.mx.utils.StringTokenParser] Frame 0
class mx.utils.StringTokenParser
{
var _source, _skipChars;
function StringTokenParser (source, skipChars) {
_source = source;
_skipChars = ((skipChars == undefined) ? null : (skipChars));
}
function get token() {
return(_token);
}
function getPos() {
return(_index);
}
function nextToken() {
var _local4;
var _local2;
var _local3 = _source.length;
skipBlanks();
if (_index >= _local3) {
return(tkEOF);
}
_local2 = _source.charCodeAt(_index);
if (((((_local2 >= 65) && (_local2 <= 90)) || ((_local2 >= 97) && (_local2 <= 122))) || ((_local2 >= 192) && (_local2 <= Number.POSITIVE_INFINITY))) || (_local2 == 95)) {
_local4 = _index;
_index++;
_local2 = _source.charCodeAt(_index);
while (((((((_local2 >= 65) && (_local2 <= 90)) || ((_local2 >= 97) && (_local2 <= 122))) || ((_local2 >= 48) && (_local2 <= 57))) || ((_local2 >= 192) && (_local2 <= Number.POSITIVE_INFINITY))) || (_local2 == 95)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
_token = _source.substring(_local4, _index);
return(tkSymbol);
}
if ((_local2 == 34) || (_local2 == 39)) {
_index++;
_local4 = _index;
_local2 = _source.charCodeAt(_local4);
while (((_local2 != 34) && (_local2 != 39)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
_token = _source.substring(_local4, _index);
_index++;
return(tkString);
}
if ((_local2 == 45) || ((_local2 >= 48) && (_local2 <= 57))) {
var _local5 = tkInteger;
_local4 = _index;
_index++;
_local2 = _source.charCodeAt(_index);
while (((_local2 >= 48) && (_local2 <= 57)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
if (_index < _local3) {
if (((((((_local2 >= 48) && (_local2 <= 57)) || (_local2 == 46)) || (_local2 == 43)) || (_local2 == 45)) || (_local2 == 101)) || (_local2 == 69)) {
_local5 = tkFloat;
}
while ((((((((_local2 >= 48) && (_local2 <= 57)) || (_local2 == 46)) || (_local2 == 43)) || (_local2 == 45)) || (_local2 == 101)) || (_local2 == 69)) && (_index < _local3)) {
_index++;
_local2 = _source.charCodeAt(_index);
}
}
_token = _source.substring(_local4, _index);
return(_local5);
}
_token = _source.charAt(_index);
_index++;
return(tkSymbol);
}
function skipBlanks() {
if (_index < _source.length) {
var _local2 = _source.charAt(_index);
while ((_local2 == " ") || ((_skipChars != null) && (skipChar(_local2)))) {
_index++;
_local2 = _source.charAt(_index);
}
}
}
function skipChar(ch) {
var _local2 = 0;
while (_local2 < _skipChars.length) {
if (ch == _skipChars[_local2]) {
return(true);
}
_local2++;
}
return(false);
}
static var tkEOF = -1;
static var tkSymbol = 0;
static var tkString = 1;
static var tkInteger = 2;
static var tkFloat = 3;
var _index = 0;
var _token = "";
}
Symbol 2441 MovieClip [__Packages.mx.xpath.FilterExpr] Frame 0
class mx.xpath.FilterExpr
{
function FilterExpr (attrInit, nameInit, valueInit) {
__attr = attrInit;
__name = nameInit;
__value = valueInit;
}
function get attr() {
return(__attr);
}
function set attr(newVal) {
__attr = newVal;
//return(attr);
}
function get name() {
return(__name);
}
function set name(newVal) {
__name = newVal;
//return(name);
}
function get value() {
return(__value);
}
function set value(newVal) {
__value = newVal;
//return(value);
}
var __attr = false;
var __value = null;
var __name = null;
}
Symbol 2442 MovieClip [__Packages.mx.data.binding.DataAccessor] Frame 0
class mx.data.binding.DataAccessor
{
var dataAccessor, component, property, location, type;
function DataAccessor () {
}
function getAnyTypedValue(suggestedTypes) {
var _local3 = 0;
while (_local3 < suggestedTypes.length) {
var _local5 = getTypedValue(suggestedTypes[_local3]);
if (_local5 != null) {
return(_local5);
}
_local3++;
}
var _local5 = getTypedValue();
_local3 = 0;
while (_local3 < suggestedTypes.length) {
var _local2 = suggestedTypes[_local3];
if (_local2 == "String") {
return(new mx.data.binding.TypedValue(String(_local5.value), _local2));
}
if (_local2 == "Number") {
return(new mx.data.binding.TypedValue(Number(_local5.value), _local2));
}
if (_local2 == "Boolean") {
return(new mx.data.binding.TypedValue(Boolean(_local5.value), _local2));
}
_local3++;
}
return(_local5);
}
function setAnyTypedValue(newValue) {
var _local7 = getSettableTypes();
if ((_local7 == null) || (-1 != findString(newValue.typeName, _local7))) {
return(setTypedValue(newValue));
}
var _local3 = 0;
while (_local3 < _local7.length) {
var _local2 = _local7[_local3];
if (_local2 == "String") {
return(setTypedValue(new mx.data.binding.TypedValue(String(newValue.value), _local2)));
}
if (_local2 == "Number") {
var _local5 = Number(newValue.value);
var _local6 = setTypedValue(new mx.data.binding.TypedValue(_local5, _local2));
if (_local5.toString() == "NaN") {
return([("Failed to convert '" + newValue.value) + "' to a number"]);
}
return(_local6);
}
if (_local2 == "Boolean") {
return(setTypedValue(new mx.data.binding.TypedValue(Boolean(newValue.value), _local2)));
}
_local3++;
}
return(dataAccessor.setTypedValue(newValue));
}
function getTypedValue(requestedType) {
var _local2 = dataAccessor.getTypedValue(requestedType);
return(_local2);
}
function getGettableTypes() {
return(null);
}
function setTypedValue(newValue) {
return(dataAccessor.setTypedValue(newValue));
}
function getSettableTypes() {
return(null);
}
function findLastAccessor() {
return(((dataAccessor == null) ? this : (dataAccessor.findLastAccessor())));
}
function setupDataAccessor(component, property, location) {
this.component = component;
this.property = property;
this.location = location;
type = component.findSchema(property, location);
}
static function findString(str, arr) {
var _local3 = str.toLowerCase();
var _local1 = 0;
while (_local1 < arr.length) {
if (arr[_local1].toLowerCase() == _local3) {
return(_local1);
}
_local1++;
}
return(-1);
}
static function conversionFailed(newValue, target) {
return(((("Failed to convert to " + target) + ": '") + newValue.value) + "'");
}
}
Symbol 2443 MovieClip [__Packages.mx.data.binding.ComponentMixins] Frame 0
class mx.data.binding.ComponentMixins
{
var __refreshing, __bindings, __schema, __fieldCache, _eventDispatcher;
function ComponentMixins () {
}
function refreshFromSources() {
if (__refreshing != null) {
return(undefined);
}
__refreshing = true;
_global.__dataLogger.logData(this, "Refreshing from sources");
_global.__dataLogger.nestLevel++;
mx.data.binding.Binding.refreshFromSources(this, null, __bindings);
_global.__dataLogger.nestLevel--;
__refreshing = null;
}
function refreshDestinations() {
_global.__dataLogger.logData(this, "Refreshing Destinations");
_global.__dataLogger.nestLevel++;
mx.data.binding.Binding.refreshDestinations(this, __bindings);
_global.__dataLogger.nestLevel--;
}
function validateProperty(property, initialMessages) {
var _local4 = null;
var _local3 = getField(property);
if (_local3 != null) {
_local4 = _local3.validateAndNotify(null, null, initialMessages);
} else {
_global.__dataLogger.logData(this, "Can't validate property '<property>' because it doesn't exist", {property:property});
}
return(_local4);
}
function addBinding(binding) {
if (__bindings == undefined) {
__bindings = new Array();
}
__bindings.push(binding);
var _local3 = false;
if (binding.source.component == this) {
getField(binding.source.property, binding.source.location);
_local3 = true;
}
if (binding.dest.component == this) {
getField(binding.dest.property, binding.dest.location);
_local3 = _local3 | Object(binding).is2way;
}
if (_local3) {
var _local4 = binding.dest.component.findSchema(binding.dest.property, binding.dest.location);
if (_local4.readonly) {
binding.source.component.__setReadOnly(true);
}
}
}
static function initComponent(component) {
var _local2 = mx.data.binding.ComponentMixins.prototype;
if (component.refreshFromSources == undefined) {
component.refreshFromSources = _local2.refreshFromSources;
}
if (component.refreshDestinations == undefined) {
component.refreshDestinations = _local2.refreshDestinations;
}
if (component.validateProperty == undefined) {
component.validateProperty = _local2.validateProperty;
}
if (component.createFieldAccessor == undefined) {
component.createFieldAccessor = _local2.createFieldAccessor;
}
if (component.createField == undefined) {
component.createField = _local2.createField;
}
if (component.addBinding == undefined) {
component.addBinding = _local2.addBinding;
}
if (component.findSchema == undefined) {
component.findSchema = _local2.findSchema;
}
if (component.getField == undefined) {
component.getField = _local2.getField;
}
if (component.refreshAndValidate == undefined) {
component.refreshAndValidate = _local2.refreshAndValidate;
}
if (component.getFieldFromCache == undefined) {
component.getFieldFromCache = _local2.getFieldFromCache;
}
if (component.getBindingMetaData == undefined) {
component.getBindingMetaData = _local2.getBindingMetaData;
}
if (component.__setReadOnly == undefined) {
component.__setReadOnly = _local2.__setReadOnly;
}
if (component.__addHighPrioEventListener == undefined) {
component.__addHighPrioEventListener = _local2.__addHighPrioEventListener;
}
}
function createFieldAccessor(property, location, mustExist) {
return(mx.data.binding.FieldAccessor.createFieldAccessor(this, property, location, mx.data.binding.FieldAccessor.findElementType(__schema, property), mustExist));
}
function findSchema(property, location) {
if (typeof(location) == "string") {
if (mx.data.binding.FieldAccessor.isActionScriptPath(String(location))) {
location = location.split(".");
} else {
return(null);
}
}
var _local5 = mx.data.binding.FieldAccessor.findElementType(__schema, property);
if (location != null) {
if (location.path != null) {
location = location.path;
}
if (!(location instanceof Array)) {
return(null);
}
var _local2 = 0;
while (_local2 < location.length) {
var _local4 = location[_local2];
_local5 = mx.data.binding.FieldAccessor.findElementType(_local5, _local4);
_local2++;
}
}
return(_local5);
}
function createField(property, location) {
var _local3 = findSchema(property, location);
var _local2;
if (_local3.validation != null) {
_local2 = mx.data.binding.Binding.getRuntimeObject(_local3.validation);
} else {
_local2 = new mx.data.binding.DataType();
}
_local2.setupDataAccessor(this, property, location);
return(_local2);
}
static function deepEqual(a, b) {
if (a == b) {
return(true);
}
if (typeof(a) != typeof(b)) {
return(false);
}
if (typeof(a) != "object") {
return(false);
}
var _local3 = new Object();
for (var _local4 in a) {
if (!deepEqual(a[_local4], b[_local4])) {
return(false);
}
_local3[_local4] = 1;
}
for (var _local4 in b) {
if (_local3[_local4] != 1) {
return(false);
}
}
return(true);
}
function getFieldFromCache(property, location) {
for (var _local5 in __fieldCache) {
var _local2 = __fieldCache[_local5];
if ((_local2.property == property) && (deepEqual(_local2.location, location))) {
return(_local2);
}
}
return(null);
}
function getField(property, location) {
var _local2 = getFieldFromCache(property, location);
if (_local2 != null) {
return(_local2);
}
_local2 = createField(property, location);
if (__fieldCache == null) {
__fieldCache = new Array();
}
__fieldCache.push(_local2);
return(_local2);
}
function refreshAndValidate(property) {
_global.__dataLogger.logData(this, "Refreshing and validating " + property);
_global.__dataLogger.nestLevel++;
var _local3 = mx.data.binding.Binding.refreshFromSources(this, property, __bindings);
_local3 = validateProperty(property, _local3);
_global.__dataLogger.nestLevel--;
return(_local3 == null);
}
function getBindingMetaData(name) {
return(this["__" + name]);
}
function __setReadOnly(setting) {
if (Object(this).editable != undefined) {
Object(this).editable = !setting;
}
}
function __addHighPrioEventListener(event, handler) {
var _local3 = ((_eventDispatcher != undefined) ? (_eventDispatcher) : this);
if (_local3.__highPrioEvents == undefined) {
_local3.__highPrioEvents = new Object();
}
var _local4 = "__q_" + event;
if (_local3.__highPrioEvents[_local4] == undefined) {
_local3.__highPrioEvents[_local4] = new Array();
}
_global.ASSetPropFlags(_local3.__highPrioEvents, _local4, 1);
mx.events.EventDispatcher._removeEventListener(_local3.__highPrioEvents[_local4], event, handler);
_local3.__highPrioEvents[_local4].push(handler);
if (_local3._databinding_original_dispatchEvent == undefined) {
_local3._databinding_original_dispatchEvent = _local3.dispatchEvent;
_local3.dispatchEvent = function (eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this.dispatchQueue(this.__highPrioEvents, eventObj);
this._databinding_original_dispatchEvent(eventObj);
};
}
}
}
Symbol 2444 MovieClip [__Packages.mx.data.binding.Binding] Frame 0
class mx.data.binding.Binding
{
var is2way, dest, source, format;
function Binding (source, dest, format, is2way) {
mx.events.EventDispatcher.initialize(this);
var _local5 = this;
_local5.source = source;
_local5.dest = dest;
_local5.format = format;
_local5.is2way = is2way;
registerBinding(this);
calcShortLoc(source);
calcShortLoc(dest);
_global.__dataLogger.logData(null, ("Creating binding " + summaryString()) + (is2way ? ", 2-way" : ""), {binding:this});
_global.__dataLogger.nestLevel++;
mx.data.binding.ComponentMixins.initComponent(dest.component);
if (source.component != undefined) {
mx.data.binding.ComponentMixins.initComponent(source.component);
}
dest.component.addBinding(this);
if (source.component != undefined) {
source.component.addBinding(this);
setUpListener(source, false);
if (this.is2way) {
setUpListener(dest, true);
setUpIndexListeners(source, false);
setUpIndexListeners(dest, true);
} else {
setUpIndexListeners(source, false);
setUpIndexListeners(dest, false);
}
} else {
execute();
}
_global.__dataLogger.nestLevel--;
}
function execute(reverse) {
var _local3;
var _local4;
if (reverse) {
if (!is2way) {
_global.__dataLogger.logData(null, ("Warning: Can't execute binding " + summaryString(false)) + " in reverse, because it's not a 2 way binding", {binding:this}, mx.data.binding.Log.BRIEF);
return(["error"]);
}
_local3 = dest;
_local4 = source;
} else {
_local3 = source;
_local4 = dest;
}
_global.__dataLogger.logData(null, "Executing binding " + summaryString(reverse), {binding:this});
_global.__dataLogger.nestLevel++;
var _local10;
if (_local3.constant != undefined) {
_local10 = {value:new mx.data.binding.TypedValue(_local3.constant, "String"), getAnyTypedValue:function () {
return(this.value);
}, getTypedValue:function () {
return(this.value);
}, getGettableTypes:function () {
return(["String"]);
}};
} else {
_local10 = _local3.component.getField(_local3.property, _local3.location, true);
}
var _local18;
var _local20;
var _local12 = "";
var _local8 = _local4.component.getField(_local4.property, _local4.location);
if (format != null) {
var _local5 = getRuntimeObject(format);
if (_local5 != null) {
if (reverse) {
_local5.setupDataAccessor(_local4.component, _local4.property, _local4.location);
_local5.dataAccessor = _local8;
_local8 = _local5;
} else {
_local5.setupDataAccessor(_local3.component, _local3.property, _local3.location);
_local5.dataAccessor = _local10;
_local10 = _local5;
}
}
}
var _local14 = ((format == null) ? (_local8.getSettableTypes()) : null);
var value = _local10.getAnyTypedValue(_local14);
var _local9 = new Object();
if (_local8.type.readonly == true) {
_global.__dataLogger.logData(null, "Not executing binding because the destination is read-only", null, mx.data.binding.Log.BRIEF);
var _local6 = new Object();
_local6.type = "invalid";
_local6.property = _local4.property;
_local6.location = _local4.location;
_local6.messages = [{message:"Cannot assign to a read-only data field."}];
_local4.component.dispatchEvent(_local6);
_local9.event = _local6;
} else {
_global.__dataLogger.logData(null, "Assigning new value '<value>' (<typeName>) " + _local12, {value:value.value, typeName:value.typeName, unformattedValue:_local18, formatterFrom:_local20});
var _local13 = _local8.setAnyTypedValue(value);
_local8.validateAndNotify(_local9, false, _local13);
_local4.component.dispatchEvent({type:"bindingExecuted", binding:this});
}
if (_local9.event != null) {
if (_local3.component != null) {
var _local7 = new Object();
_local7.type = _local9.event.type;
_local7.property = _local3.property;
_local7.location = _local3.location;
_local7.messages = _local9.event.messages;
_local7.to = _local4.component;
_local3.component.dispatchEvent(_local7);
}
}
_global.__dataLogger.nestLevel--;
return(_local9.event.messages);
}
function queueForExecute(reverse) {
if (!queued) {
if (_global.__databind_executeQueue == null) {
_global.__databind_executeQueue = new Array();
}
if (_root.__databind_dispatch == undefined) {
_root.createEmptyMovieClip("__databind_dispatch", -8888);
}
_global.__databind_executeQueue.push(this);
queued = true;
this.reverse = reverse;
_root.__databind_dispatch.onEnterFrame = dispatchEnterFrame;
}
}
static function dispatchEnterFrame() {
_root.__databind_dispatch.onEnterFrame = null;
var _local4 = 0;
while (_local4 < _global.__databind_executeQueue.length) {
var _local3 = _global.__databind_executeQueue[_local4];
_local3.execute(_local3.reverse);
_local4++;
}
var _local5;
while (_local5 = _global.__databind_executeQueue.pop() , _local5 != null) {
_local5.queued = false;
_local5.reverse = false;
}
}
function calcShortLoc(endpoint) {
var _local1 = endpoint.location;
if (_local1.path != null) {
_local1 = _local1.path;
}
endpoint.loc = ((_local1 instanceof Array) ? (_local1.join(".")) : (_local1));
}
function summaryString(reverse) {
var _local2 = "<binding.dest.component>:<binding.dest.property>:<binding.dest.loc>";
var _local3 = "<binding.source.component>:<binding.source.property>:<binding.source.loc>";
if (source.constant == null) {
if (reverse == true) {
return((("from " + _local2) + " to ") + _local3);
}
return((("from " + _local3) + " to ") + _local2);
}
return("from constant '<binding.source.constant>' to " + _local2);
}
static function getRuntimeObject(info, constructorParameter) {
if (info.cls == undefined) {
info.cls = mx.utils.ClassFinder.findClass(info.className);
}
var _local3 = new info.cls(constructorParameter);
if (_local3 == null) {
_global.__dataLogger.logData(null, "Could not construct a formatter or validator - new <info.className>(<params>)", {info:info, params:constructorParameter}, mx.data.binding.Log.BRIEF);
}
for (var _local4 in info.settings) {
_local3[_local4] = info.settings[_local4];
}
return(_local3);
}
static function refreshFromSources(component, property, bindings) {
var _local5 = null;
var _local3;
_local3 = 0;
while (_local3 < bindings.length) {
var _local1 = bindings[_local3];
var _local2 = null;
if ((_local1.dest.component == component) && ((property == null) || (property == _local1.dest.property))) {
_local2 = _local1.execute();
} else if ((_local1.is2way && (_local1.source.component == component)) && ((property == null) || (property == _local1.source.property))) {
_local2 = _local1.execute(true);
}
if (_local2 != null) {
_local5 = ((_local5 == null) ? (_local2) : (_local5.concat(_local2)));
}
_local3++;
}
return(_local5);
}
static function refreshDestinations(component, bindings) {
var _local1;
_local1 = 0;
while (_local1 < bindings.length) {
var _local2 = bindings[_local1];
if (_local2.source.component == component) {
_local2.execute();
} else if (_local2.is2way && (_local2.dest.component == component)) {
_local2.execute(true);
}
_local1++;
}
_local1 = 0;
while (_local1 < component.__indexBindings.length) {
var _local3 = component.__indexBindings[_local1];
_local3.binding.execute(_local3.reverse);
_local1++;
}
}
static function okToCallGetterFromSetter() {
function setter(val) {
this.value2 = this.value;
}
function getter() {
return(5);
}
var _local2 = new Object();
_local2.addProperty("value", getter, setter);
_local2.value = 0;
var _local3 = _local2.value2 == _local2.value;
return(_local3);
}
function setUpListener(endpoint, reverse) {
var _local4 = new Object();
_local4.binding = this;
_local4.property = endpoint.property;
_local4.reverse = reverse;
_local4.immediate = okToCallGetterFromSetter();
_local4.handleEvent = function (event) {
_global.__dataLogger.logData(event.target, "Data of property '<property>' has changed. <immediate>.", this);
if (this.immediate) {
if (this.binding.executing != true) {
this.binding.executing = true;
this.binding.execute(this.reverse);
this.binding.executing = false;
}
} else {
this.binding.queueForExecute(this.reverse);
}
};
if (endpoint.event instanceof Array) {
for (var _local5 in endpoint.event) {
endpoint.component.__addHighPrioEventListener(endpoint.event[_local5], _local4);
}
} else {
endpoint.component.__addHighPrioEventListener(endpoint.event, _local4);
}
mx.data.binding.ComponentMixins.initComponent(endpoint.component);
}
function setUpIndexListeners(endpoint, reverse) {
if (endpoint.location.indices != undefined) {
var _local3 = 0;
while (_local3 < endpoint.location.indices.length) {
var _local2 = endpoint.location.indices[_local3];
if (_local2.component != undefined) {
setUpListener(_local2, reverse);
if (_local2.component.__indexBindings == undefined) {
_local2.component.__indexBindings = new Array();
}
_local2.component.__indexBindings.push({binding:this, reverse:reverse});
}
_local3++;
}
}
}
static function copyBinding(b) {
var _local1 = new Object();
_local1.source = copyEndPoint(b.source);
_local1.dest = copyEndPoint(b.dest);
_local1.format = b.format;
_local1.is2way = b.is2way;
return(_local1);
}
static function copyEndPoint(e) {
var _local1 = new Object();
_local1.constant = e.constant;
_local1.component = String(e.component);
_local1.event = e.event;
_local1.location = e.location;
_local1.property = e.property;
return(_local1);
}
static function registerScreen(screen, id) {
var symbol = screenRegistry[id];
if (symbol == null) {
screenRegistry[id] = {symbolPath:String(screen), bindings:[], id:id};
return(undefined);
}
if (symbol.symbolPath == String(screen)) {
return(undefined);
}
var instancePath = String(screen);
var i = 0;
while (i < bindingRegistry.length) {
var b = bindingRegistry[i];
var src = copyEndPoint(b.source);
var dst = copyEndPoint(b.dest);
var prefix = (symbol.symbolPath + ".");
var symbolContainsSource = (prefix == b.source.component.substr(0, prefix.length));
var symbolContainsDest = (prefix == b.dest.component.substr(0, prefix.length));
if (symbolContainsSource) {
if (symbolContainsDest) {
src.component = eval (instancePath + src.component.substr(symbol.symbolPath.length));
dst.component = eval (instancePath + dst.component.substr(symbol.symbolPath.length));
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
} else {
src.component = eval (instancePath + src.component.substr(symbol.symbolPath.length));
dst.component = eval (dst.component);
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
}
} else if (symbolContainsDest) {
src.component = eval (src.component);
dst.component = eval (instancePath + dst.component.substr(symbol.symbolPath.length));
new mx.data.binding.Binding(src, dst, b.format, b.is2way);
}
i++;
}
}
static function registerBinding(binding) {
var _local1 = copyBinding(binding);
bindingRegistry.push(_local1);
}
static function getLocalRoot(clip) {
var _local2;
var _local3 = clip._url;
while (clip != null) {
if (clip._url != _local3) {
break;
}
_local2 = clip;
clip = clip._parent;
}
return(_local2);
}
var queued = false;
var reverse = false;
static var counter = 0;
static var screenRegistry = new Object();
static var bindingRegistry = new Array();
}
Symbol 2445 MovieClip [__Packages.mx.events.EventDispatcher] Frame 0
class mx.events.EventDispatcher
{
function EventDispatcher () {
}
static function _removeEventListener(queue, event, handler) {
if (queue != undefined) {
var _local4 = queue.length;
var _local1;
_local1 = 0;
while (_local1 < _local4) {
var _local2 = queue[_local1];
if (_local2 == handler) {
queue.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
}
static function initialize(object) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = _fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchQueue(queueObj, eventObj) {
var _local7 = "__q_" + eventObj.type;
var _local4 = queueObj[_local7];
if (_local4 != undefined) {
var _local5;
for (_local5 in _local4) {
var _local1 = _local4[_local5];
var _local3 = typeof(_local1);
if ((_local3 == "object") || (_local3 == "movieclip")) {
if (_local1.handleEvent != undefined) {
_local1.handleEvent(eventObj);
}
if (_local1[eventObj.type] != undefined) {
if (exceptions[eventObj.type] == undefined) {
_local1[eventObj.type](eventObj);
}
}
} else {
_local1.apply(queueObj, [eventObj]);
}
}
}
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(this, eventObj);
}
function addEventListener(event, handler) {
var _local3 = "__q_" + event;
if (this[_local3] == undefined) {
this[_local3] = new Array();
}
_global.ASSetPropFlags(this, _local3, 1);
_removeEventListener(this[_local3], event, handler);
this[_local3].push(handler);
}
function removeEventListener(event, handler) {
var _local2 = "__q_" + event;
_removeEventListener(this[_local2], event, handler);
}
static var _fEventDispatcher = undefined;
static var exceptions = {move:1, draw:1, load:1};
}
Symbol 2446 MovieClip [__Packages.mx.data.binding.EndPoint] Frame 0
class mx.data.binding.EndPoint
{
function EndPoint () {
}
}
Symbol 2447 MovieClip [__Packages.mx.data.binding.DataType] Frame 0
class mx.data.binding.DataType extends mx.data.binding.DataAccessor
{
var errorArray, type, kind, dataAccessor, encoder, formatter, getAnyTypedValue, setAnyTypedValue, component, location, property;
function DataType () {
super();
errorArray = null;
}
function setupDataAccessor(component, property, location) {
super.setupDataAccessor(component, property, location);
type = component.findSchema(property, location);
if (type.kind != undefined) {
kind = mx.data.binding.Binding.getRuntimeObject(type.kind);
} else {
kind = new mx.data.kinds.Data();
}
kind.setupDataAccessor(component, property, location);
dataAccessor = kind;
if (type.encoder != undefined) {
encoder = mx.data.binding.Binding.getRuntimeObject(type.encoder);
encoder.setupDataAccessor(component, property, location);
encoder.dataAccessor = dataAccessor;
dataAccessor = encoder;
}
if (type.formatter != undefined) {
formatter = mx.data.binding.Binding.getRuntimeObject(type.formatter);
formatter.setupDataAccessor(component, property, location);
formatter.dataAccessor = dataAccessor;
}
}
function getAsBoolean() {
var _local2 = getAnyTypedValue(["Boolean"]);
return(_local2.value);
}
function getAsNumber() {
var _local2 = getAnyTypedValue(["Number"]);
return(_local2.value);
}
function getAsString() {
var _local2 = getAnyTypedValue(["String"]);
return(_local2.value);
}
function setAsBoolean(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "Boolean"));
}
function setAsNumber(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "Number"));
}
function setAsString(newValue) {
setAnyTypedValue(new mx.data.binding.TypedValue(newValue, "String"));
}
function validationError(errorMessage) {
if (errorArray == null) {
errorArray = new Array();
}
errorArray.push(errorMessage);
}
function validate(value) {
}
function getTypedValue(requestedType) {
var _local2;
if ((requestedType == "String") && (formatter != null)) {
_local2 = formatter.getTypedValue(requestedType);
} else {
_local2 = dataAccessor.getTypedValue(requestedType);
if (_local2.type == null) {
_local2.type = type;
}
if (_local2.typeName == null) {
_local2.typeName = type.name;
}
}
if ((_local2.typeName != requestedType) && (requestedType != null)) {
_local2 = null;
} else if (((!requestedType) && (_local2.typeName == "XML")) && (_local2.type.name == "String")) {
_local2 = null;
}
return(_local2);
}
function getGettableTypes() {
var _local2 = new Array();
var _local3 = gettableTypes();
if (_local3 != null) {
_local2 = _local2.concat(_local3);
}
if (type.name != null) {
_local2 = _local2.concat(type.name);
}
if (formatter != null) {
_local2 = _local2.concat(formatter.getGettableTypes());
}
if (_local2.length == 0) {
return(null);
}
return(_local2);
}
function setTypedValue(newValue) {
if ((newValue.typeName == "String") && (formatter != null)) {
return(formatter.setTypedValue(newValue));
}
var _local3 = dataAccessor.getSettableTypes();
if ((_local3 == null) || (-1 != mx.data.binding.DataAccessor.findString(newValue.typeName, _local3))) {
return(dataAccessor.setTypedValue(newValue));
}
return(["Can't set a value of type " + newValue.typeName]);
}
function getSettableTypes() {
var _local2 = new Array();
var _local3 = settableTypes();
if (_local3 != null) {
_local2 = _local2.concat(_local3);
}
if (type.name != null) {
_local2 = _local2.concat(type.name);
}
if (formatter != null) {
_local2 = _local2.concat(formatter.getSettableTypes());
}
if (_local2.length == 0) {
return(null);
}
return(_local2);
}
function gettableTypes() {
return(dataAccessor.getGettableTypes());
}
function settableTypes() {
return(dataAccessor.getSettableTypes());
}
function validateAndNotify(returnData, noEvent, initialMessages) {
var _local4 = false;
errorArray = null;
for (var _local6 in initialMessages) {
validationError(initialMessages[_local6]);
_local4 = true;
}
var _local7 = getTypedValue();
if ((_local7.value == null) || (_local7.value == "")) {
if (type.required == false) {
_global.__dataLogger.logData(component, "Validation of null value succeeded because field '<property>/<m_location>' is not required", this);
} else {
var _local8 = ((location == null) ? "" : (":" + String(location)));
validationError((("Required item '" + property) + _local8) + "' is missing");
_local4 = true;
}
} else {
validate(_local7.value);
_local4 = true;
}
if (_local4 && (noEvent != true)) {
var _local5 = new Object();
_local5.type = ((errorArray == null) ? "valid" : "invalid");
_local5.property = property;
_local5.location = location;
_local5.messages = errorArray;
component.dispatchEvent(_local5);
returnData.event = _local5;
}
return(errorArray);
}
}
Symbol 2448 MovieClip [__Packages.mx.data.kinds.Data] Frame 0
class mx.data.kinds.Data extends mx.data.binding.DataAccessor
{
var component, property, location;
function Data () {
super();
}
function getTypedValue(requestedType) {
var _local5;
var _local2 = getFieldAccessor().getValue();
var _local3 = null;
if (_local2 != null) {
if (_local2 instanceof Array) {
_local3 = "Array";
} else if ((_local2 instanceof XMLNode) || (_local2 instanceof XMLNode)) {
_local3 = "XML";
} else {
var _local4 = typeof(_local2);
_local3 = _local4.charAt(0).toUpperCase() + _local4.slice(1);
}
} else {
_local2 = null;
}
_local5 = new mx.data.binding.TypedValue(_local2, _local3, null);
return(_local5);
}
function getGettableTypes() {
return(null);
}
function setTypedValue(newValue) {
getFieldAccessor().setValue(newValue.value, newValue);
return(null);
}
function getSettableTypes() {
return(null);
}
function getFieldAccessor() {
return(component.createFieldAccessor(property, location, false));
}
}
Symbol 2449 MovieClip [__Packages.mx.data.binding.Formatter] Frame 0
class mx.data.binding.Formatter extends mx.data.binding.DataAccessor
{
function Formatter () {
super();
}
}
Symbol 2450 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions
{
function ClassDefinitions () {
}
static function doClassDeclaration() {
var _local19;
var _local7;
var _local6;
var _local1;
var _local17;
var _local9;
var _local20;
var _local13;
var _local2;
var _local21;
var _local23;
var _local10;
var _local24;
var _local11;
var _local26;
var _local22;
var _local25;
var _local18;
var _local14;
var _local29;
var _local27;
var _local3;
var _local15;
var _local5;
var _local16;
var _local4;
var _local8;
var _local28;
var _local12;
}
static var oClassPaths = {LiveAttachContainer:"com.disney.gem.games.SavingTheDay.game_obj.basic_class.LiveAttachContainer", ImpactManager:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager", ActivationManager:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivationManager", ScreenShaker:"com.disney.gem.games.SavingTheDay.game_obj.ScreenShaker", AllSideBlocker:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.AllSideBlocker", TopBlocker:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.TopBlocker", BottomBlocker:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.BottomBlocker", RightBlocker:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightBlocker", LeftBlocker:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftBlocker", InsideCollider:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.InsideCollider", LeftSlope:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftSlope", RightSlope:"com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightSlope", Background:"com.disney.gem.games.SavingTheDay.game_obj.Background", Parallax:"com.disney.gem.games.SavingTheDay.game_obj.Parallax", Player:"com.disney.gem.games.SavingTheDay.game_obj.Player", PlayerData:"com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData", Omnidroid:"com.disney.gem.games.SavingTheDay.game_obj.Omnidroid", OmnidroidData:"com.disney.gem.games.SavingTheDay.game_data.characters_data.OmnidroidData", OmnidroidAI:"com.disney.gem.games.SavingTheDay.game_obj.ai_class.OmnidroidAI", Syndrome:"com.disney.gem.games.SavingTheDay.game_obj.Syndrome", SyndromeData:"com.disney.gem.games.SavingTheDay.game_data.characters_data.SyndromeData", SyndromeAI:"com.disney.gem.games.SavingTheDay.game_obj.ai_class.SyndromeAI", Underminer:"com.disney.gem.games.SavingTheDay.game_obj.Underminer", UnderminerData:"com.disney.gem.games.SavingTheDay.game_data.characters_data.UnderminerData", UnderminerAI:"com.disney.gem.games.SavingTheDay.game_obj.ai_class.UnderminerAI", BigRock:"com.disney.gem.games.SavingTheDay.game_obj.BigRock", CharacterShadow:"com.disney.gem.games.SavingTheDay.game_obj.CharacterShadow", RedBeam:"com.disney.gem.games.SavingTheDay.game_obj.RedBeam", Timer:"com.disney.gem.games.SavingTheDay.game_obj.Timer"};
}
Symbol 2451 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.State
{
var sAttachName, nAttachDepth, sAttachLink, bActivatedItem, bLiveAttachItem, oController, mcContainer, sType, initStates, setState, sState, oOwner, mcRef, nPosX, nPosY, nScaleX, nScaleY;
function AttachItem (_oItemData) {
super(_oItemData);
sAttachName = _oItemData.sAttachName;
nAttachDepth = 0;
sAttachLink = _oItemData.sItemLinkage;
bActivatedItem = _oItemData.bActivatedItem;
bLiveAttachItem = _oItemData.bLiveAttachItem;
if (_oItemData.sAttachContainer == undefined) {
oController.oMainBroadcaster.broadcastMessage("setAsContainer", this);
if (mcContainer == undefined) {
trace("*****************************************************************");
trace("ERROR : No container can hold " + sType);
trace("*****************************************************************");
}
} else {
setAttachContainer(_oItemData.sAttachContainer);
}
setAttachDepth();
attachItemMovie(_oItemData);
if (bLiveAttachItem == true) {
initStates();
} else if (bActivatedItem == false) {
setState(sState);
}
}
function setAttachContainer(_sAttachContainer) {
if (_sAttachContainer != "") {
_sAttachContainer = _sAttachContainer + ".";
}
var _local4 = "";
var _local3 = oOwner.mcLevelContainer;
var _local2 = 0;
while (_local2 < _sAttachContainer.length) {
if (_sAttachContainer.substr(_local2, 1) == ".") {
if (_local3[_local4] == undefined) {
_local3.createEmptyMovieClip(_local4, _local3.getNextHighestDepth());
}
_local3 = _local3[_local4];
_local4 = "";
} else {
_local4 = _local4 + _sAttachContainer.substr(_local2, 1);
}
_local2++;
}
mcContainer = _local3;
}
function setAttachDepth() {
nAttachDepth = mcContainer.getNextHighestDepth();
}
function attachItemMovie() {
mcContainer.attachMovie(sAttachLink, sAttachName, nAttachDepth);
mcRef = mcContainer[sAttachName];
mcRef._x = nPosX;
mcRef._y = nPosY;
mcRef._xscale = nScaleX;
mcRef._yscale = nScaleY;
if ((bActivatedItem != true) && (mcRef.mcForm != undefined)) {
mcRef.mcForm.swapDepths(10);
mcRef.mcForm.removeMovieClip();
}
}
}
Symbol 2452 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.LiveAttachContainer] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.LiveAttachContainer extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem
{
var aItemsAttachIn, mcRef;
function LiveAttachContainer (_oItemData) {
super(_oItemData);
aItemsAttachIn = new Array();
copyItemsAttachIn(_oItemData.aItemsAttachIn);
}
function copyItemsAttachIn(_aItemsAttachIn) {
for (var _local3 in _aItemsAttachIn) {
aItemsAttachIn.push(_aItemsAttachIn[_local3]);
}
}
function setAsContainer(_oItem) {
var _local3 = false;
var _local2 = 0;
while ((_local3 == false) and (_local2 <= aItemsAttachIn.length)) {
if (_oItem.sType == aItemsAttachIn[_local2]) {
_local3 = true;
_oItem.mcContainer = mcRef;
}
_local2++;
}
}
}
Symbol 2453 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager
{
static var oInstance;
var oImpactBroadcaster, oSlopeImpactBroadcaster, aItemsToValidate, aImpactItemsX, aImpactItemsY, nAngleMoveImpact, sName, oOwner;
function ImpactManager (_sName, _oOwner) {
oInstance = this;
oImpactBroadcaster = new Object();
AsBroadcaster.initialize(oImpactBroadcaster);
oSlopeImpactBroadcaster = new Object();
AsBroadcaster.initialize(oSlopeImpactBroadcaster);
aItemsToValidate = new Array();
aImpactItemsX = new Array();
aImpactItemsY = new Array();
nAngleMoveImpact = 1;
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager(oInstance));
}
function addCollider(_oItem) {
oImpactBroadcaster.addListener(_oItem);
}
function removeCollider(_oItem) {
oImpactBroadcaster.removeListener(_oItem);
}
function addSlopeCollider(_oItem) {
oSlopeImpactBroadcaster.addListener(_oItem);
}
function removeSlopeCollider(_oItem) {
oSlopeImpactBroadcaster.removeListener(_oItem);
}
function addItemToValidate(_oItem) {
aItemsToValidate.push(_oItem);
}
function checkForImpact(_oMovingItem, _oCollideExceptions) {
var _local2;
var _local6;
var _local5;
var _local7;
var _local8;
var _local13;
var _local17;
var _local11 = oSlopeImpactBroadcaster._listeners.length - 1;
while (_local11 >= 0) {
_local2 = _oMovingItem.returnImpactData();
if (_local2.nMaxMoveX > 0) {
_local6 = _local2.nPosX + _local2.nMaxMoveX;
_local5 = _local2.nPosX;
} else if (_local2.nMaxMoveX < 0) {
_local6 = _local2.nPosX;
_local5 = _local2.nPosX + _local2.nMaxMoveX;
} else {
_local6 = _local2.nPosX;
_local5 = _local2.nPosX;
}
if (_local2.nMaxMoveY > 0) {
_local8 = _local2.nPosY + _local2.nMaxMoveY;
_local7 = _local2.nPosY;
} else if (_local2.nMaxMoveY < 0) {
_local8 = _local2.nPosY;
_local7 = _local2.nPosY + _local2.nMaxMoveY;
} else {
_local8 = _local2.nPosY;
_local7 = _local2.nPosY;
}
var _local12;
if (_oCollideExceptions[oSlopeImpactBroadcaster._listeners[_local11].sColliderType] == true) {
_local12 = false;
} else {
_local12 = oSlopeImpactBroadcaster._listeners[_local11].checkInReach(_local2, _local6, _local5, _local8, _local7);
}
if (_local12 == true) {
var _local10 = oSlopeImpactBroadcaster._listeners[_local11].giveSlopeData(_local2);
if ((_local13 == undefined) || ((_local10 != undefined) and (_local10.nYOnSlopeAtDest <= _local13))) {
_local13 = _local10.nYOnSlopeAtDest;
_local17 = _local10;
}
}
_local11--;
}
if (_local13 != undefined) {
if (_oMovingItem.nMaxMoveY > 0) {
var _local20 = _local13 - _oMovingItem.nPosY;
if (_local20 <= _oMovingItem.nMaxMoveY) {
_oMovingItem.nMaxMoveY = _local20;
if ((_oMovingItem.nMaxMoveX != 0) and (_local13 <= _oMovingItem.nPosY)) {
var _local18 = Math.pow(_oMovingItem.nMaxMoveX, 3) / (Math.pow(_oMovingItem.nMaxMoveX, 2) + Math.pow(_oMovingItem.nMaxMoveY, 2));
var _local19 = (_local18 / _oMovingItem.nMaxMoveX) * _oMovingItem.nMaxMoveY;
_oMovingItem.nMaxMoveX = _local18;
_oMovingItem.nMaxMoveY = _local19;
if (_local19 < 0) {
_oMovingItem.nMaxMoveY = _oMovingItem.nMaxMoveY - 1;
}
}
_oMovingItem.nRealMoveX = _oMovingItem.nMaxMoveX;
_oMovingItem.nRealMoveY = _oMovingItem.nMaxMoveY;
_local17.oItem.doImpactResult(_oMovingItem);
}
} else {
var _local20 = _local13 - _oMovingItem.nPosY;
if (_local13 <= _local2.nDestY) {
_oMovingItem.nMaxMoveY = _local20;
if ((_oMovingItem.nMaxMoveX != 0) and (_local13 <= _oMovingItem.nPosY)) {
var _local18 = Math.pow(_oMovingItem.nMaxMoveX, 3) / (Math.pow(_oMovingItem.nMaxMoveX, 2) + Math.pow(_oMovingItem.nMaxMoveY, 2));
var _local19 = (_local18 / _oMovingItem.nMaxMoveX) * _oMovingItem.nMaxMoveY;
_oMovingItem.nMaxMoveX = _local18;
_oMovingItem.nMaxMoveY = _local19;
if (_local19 < 0) {
_oMovingItem.nMaxMoveY = _oMovingItem.nMaxMoveY - 1;
}
}
_oMovingItem.nRealMoveX = _oMovingItem.nMaxMoveX;
_oMovingItem.nRealMoveY = _oMovingItem.nMaxMoveY;
_local17.oItem.doImpactResult(_oMovingItem);
}
}
}
_local2 = _oMovingItem.returnImpactData();
var _local22 = Math.abs(_local2.nMaxMoveX);
var _local21 = Math.abs(_local2.nMaxMoveY);
if (_local2.nMaxMoveX > 0) {
_local6 = _local2.nMaxMoveX + _local2.nRightHitBorder;
_local5 = _local2.nRightHitBorder;
} else if (_local2.nMaxMoveX < 0) {
_local6 = _local2.nLeftHitBorder;
_local5 = _local2.nMaxMoveX + _local2.nLeftHitBorder;
} else {
_local6 = _local2.nRightHitBorder;
_local5 = _local2.nLeftHitBorder;
}
if (_local2.nMaxMoveY > 0) {
_local8 = _local2.nMaxMoveY + _local2.nDownHitBorder;
_local7 = _local2.nDownHitBorder;
} else if (_local2.nMaxMoveY < 0) {
_local8 = _local2.nUpHitBorder;
_local7 = _local2.nMaxMoveY + _local2.nUpHitBorder;
} else {
_local8 = _local2.nDownHitBorder;
_local7 = _local2.nUpHitBorder;
}
_local6 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local6);
_local5 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local5);
_local8 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local8);
_local7 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local7);
var _local14;
if (_local2.nMaxMoveX == 0) {
_local14 = Math.abs(_local2.nMaxMoveY);
} else if (_local2.nMaxMoveY == 0) {
_local14 = Math.abs(_local2.nMaxMoveX);
} else if (Math.abs(_local2.nMaxMoveX) > Math.abs(_local2.nMaxMoveY)) {
_local14 = Math.abs(_local2.nMaxMoveX);
} else {
_local14 = Math.abs(_local2.nMaxMoveY);
}
var _local9 = new Array();
var _local4;
_local11 = oImpactBroadcaster._listeners.length - 1;
while (_local11 >= 0) {
if (oImpactBroadcaster._listeners[_local11].sName != _local2.sName) {
if (_oCollideExceptions[oImpactBroadcaster._listeners[_local11].sColliderType] == true) {
var _local12 = false;
} else {
var _local12 = oImpactBroadcaster._listeners[_local11].checkInReach(_local2, _local6, _local5, _local8, _local7);
}
if (_local12 == true) {
_local4 = oImpactBroadcaster._listeners[_local11].checkIfCanBeHit(_local2);
var _local15 = oImpactBroadcaster._listeners[_local11].confirmCanBeHit(_oMovingItem, _local4);
if (_local15 == true) {
if (Math.abs(_local4.nImpactDist) < _local14) {
_local14 = Math.abs(_local4.nImpactDist);
_local9.splice(0);
_local9.push(_local4);
} else if (Math.abs(_local4.nImpactDist) == _local14) {
_local9.push(_local4);
}
}
}
}
_local11--;
}
_local11 = _local9.length - 1;
while (_local11 >= 0) {
_local9[_local11].oItem.resolveHit(_oMovingItem, _local9[_local11]);
_local11--;
}
if (_oMovingItem.nRealMoveX > 0) {
_local6 = _oMovingItem.nRealMoveX + _local2.nRightHitBorder;
_local5 = _local2.nLeftHitBorder;
} else if (_oMovingItem.nRealMoveX < 0) {
_local6 = _local2.nRightHitBorder;
_local5 = _oMovingItem.nRealMoveX + _local2.nLeftHitBorder;
} else {
_local6 = _local2.nRightHitBorder;
_local5 = _local2.nLeftHitBorder;
}
if (_oMovingItem.nRealMoveY > 0) {
_local7 = _local2.nUpHitBorder;
_local8 = _oMovingItem.nRealMoveY + _local2.nDownHitBorder;
} else if (_oMovingItem.nRealMoveY < 0) {
_local7 = _oMovingItem.nRealMoveY + _local2.nUpHitBorder;
_local8 = _local2.nDownHitBorder;
} else {
_local8 = _local2.nDownHitBorder;
_local7 = _local2.nUpHitBorder;
}
_local11 = aItemsToValidate.length - 1;
while (_local11 >= 0) {
var _local12 = aItemsToValidate[_local11].checkInReachAfterMove(_oMovingItem, _local6, _local5, _local8, _local7);
if (_local12 == true) {
aItemsToValidate[_local11].resolveHitAfterMove(_oMovingItem, _local4);
}
_local11--;
}
aItemsToValidate.splice(0);
}
function deleteObject() {
delete oOwner[sName];
}
}
Symbol 2454 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj
{
function MathObj () {
}
static function roundNumber(_nNumber) {
var _local1 = _nNumber * 10;
var _local4 = int(_local1);
var _local3 = _local1 - _local4;
var _local2 = _local1 - _local3;
_local2 = _local2 / 10;
return(_local2);
}
}
Symbol 2455 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivationManager] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivationManager extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.State
{
static var oInstance;
var oBackground, nScrWidth, nScrHeight, nActiveDistance, nTotalWidth, nTotalHeight, nTotalScrInX, nTotalScrInY, nUpActiveLimit, nDwActiveLimit, nRActiveLimit, nLActiveLimit;
function ActivationManager (_oItemData) {
super(_oItemData);
oInstance = this;
oBackground = com.disney.gem.games.SavingTheDay.game_obj.Background.giveReference();
nScrWidth = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nSCREEN_WIDTH;
nScrHeight = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nSCREEN_HEIGHT;
nActiveDistance = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nACTIVE_DISTANCE;
setActiveLimits();
}
function state_Idle() {
doScreenBroadcast();
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivationManager(oInstance));
}
function setActiveLimits() {
nTotalWidth = oBackground.mcRef._width;
nTotalHeight = oBackground.mcRef._height;
nTotalScrInX = int(nTotalWidth / nScrWidth) + 1;
nTotalScrInY = int(nTotalHeight / nScrHeight) + 1;
nUpActiveLimit = oBackground.nPosY - nActiveDistance;
nDwActiveLimit = (oBackground.nPosY + nScrHeight) + nActiveDistance;
nRActiveLimit = (oBackground.nPosX + nScrWidth) + nActiveDistance;
nLActiveLimit = oBackground.nPosX - nActiveDistance;
}
function setScreenBroadcaster(_nScrX, _nScrY) {
this[(("oScreenBroadcaster" + _nScrX) + "_") + _nScrY] = new Object();
AsBroadcaster.initialize(this[(("oScreenBroadcaster" + _nScrX) + "_") + _nScrY]);
}
function doScreenBroadcast() {
var _local3 = int(oBackground.nPosX / nScrWidth) * -1;
if (oBackground.nPosX < 0) {
_local3++;
}
var _local2 = int(oBackground.nPosY / nScrHeight) * -1;
if (oBackground.nPosY < 0) {
_local2++;
}
this[(("oScreenBroadcaster" + (_local3 - 1)) + "_") + (_local2 - 1)].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + _local3) + "_") + (_local2 - 1)].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + (_local3 + 1)) + "_") + (_local2 - 1)].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + (_local3 - 1)) + "_") + _local2].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + _local3) + "_") + _local2].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + (_local3 + 1)) + "_") + _local2].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + (_local3 - 1)) + "_") + (_local2 + 1)].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + _local3) + "_") + (_local2 + 1)].broadcastMessage("checkActivate");
this[(("oScreenBroadcaster" + (_local3 + 1)) + "_") + (_local2 + 1)].broadcastMessage("checkActivate");
}
function addToBroadcast(_oItem, _nXCorner, _nYCorner) {
var _local3 = int(_nXCorner / nScrWidth) + 1;
var _local2 = int(_nYCorner / nScrHeight) + 1;
if (_nXCorner < 0) {
_local3 = _local3 - 2;
}
if (_nYCorner < 0) {
_local2 = _local2 - 2;
}
var _local4 = (("oScreenBroadcaster" + _local3) + "_") + _local2;
if (this[_local4] == undefined) {
setScreenBroadcaster(_local3, _local2);
}
this[_local4].addListener(_oItem);
return(_local4);
}
function removeToBroadcast(_oItem, _sBroadcasterName) {
this[_sBroadcasterName].removeListener(_oItem);
if (this[_sBroadcasterName]._listeners.length == 0) {
delete this[_sBroadcasterName];
}
}
}
Symbol 2456 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Background] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Background extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem
{
static var oInstance;
var nLeftScreenX, nRightScreenX, nTopScreenY, nBottomScreenY, nCenterX, nCenterY, nLeftBound, nRightBound, nTopBound, nBottomBound, nRightBorder, nLeftBorder, nOutsideCenterZoneWidth, nCenterZoneLeftLimit, nCenterZoneRightLimit, nWallZoneWidth, nWallZoneLeftLimit, nWallZoneRightLimit, nBasicLagValue, nLagValue, nMinFollowDist, nPanSpdUpValue, nPanSpdDownValue, aPanData, sPanDirectionX, sPanDirectionY, nMaxSpdX, nMaxSpdY, nSpdUpX, nSpdUpY, nSpdX, nSpdY, nPosX, mcRef, nPosY, oItemToShow, sAttachName, mcContainer, oController, setState, sState, sName, oOwner;
function Background (_oItemData) {
super(_oItemData);
oInstance = this;
nLeftScreenX = 0;
nRightScreenX = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nSCREEN_WIDTH;
nTopScreenY = 0;
nBottomScreenY = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nSCREEN_HEIGHT;
nCenterX = nRightScreenX / 2;
nCenterY = nBottomScreenY / 2;
nLeftBound = 0;
nRightBound = 0;
nTopBound = 0;
nBottomBound = 0;
nRightBorder = nRightScreenX;
nLeftBorder = 0;
nOutsideCenterZoneWidth = 500;
nCenterZoneLeftLimit = nOutsideCenterZoneWidth;
nCenterZoneRightLimit = 0;
nWallZoneWidth = 0;
nWallZoneLeftLimit = 0;
nWallZoneRightLimit = 0;
nBasicLagValue = 6;
nLagValue = 0;
nMinFollowDist = 0.5;
nPanSpdUpValue = 0;
nPanSpdDownValue = 0;
aPanData = new Array();
sPanDirectionX = "";
sPanDirectionY = "";
nMaxSpdX = 0;
nMaxSpdY = 0;
nSpdUpX = 0;
nSpdUpY = 0;
nSpdX = 0;
nSpdY = 0;
setBounds();
setWallZones();
mcRef._x = nPosX;
mcRef._y = nPosY;
}
function state_WaitForPlayer() {
if (oItemToShow == undefined) {
setItemToShow(com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference());
if (oItemToShow != undefined) {
showItem();
switchToLagMode(nBasicLagValue);
}
}
}
function state_PreciseShowMode() {
showItem();
}
function state_LagShowMode() {
var _local6 = false;
var _local8 = oItemToShow.nPosX + nPosX;
var _local2 = nCenterX - _local8;
if (oItemToShow.nScreenGap != undefined) {
if (oItemToShow.sDirection == "Right") {
_local2 = _local2 - oItemToShow.nScreenGap;
} else {
_local2 = _local2 + oItemToShow.nScreenGap;
}
}
var _local4 = _local2 / nLagValue;
if ((Math.abs(_local4) <= nMinFollowDist) || (Math.abs(_local2) <= Math.abs(_local4))) {
_local4 = 0;
_local6 = true;
nSpdX = 0;
}
var _local9 = false;
var _local7 = oItemToShow.nPosY + nPosY;
var _local5 = nCenterY - _local7;
var _local3 = _local5 / nLagValue;
if ((Math.abs(_local3) <= nMinFollowDist) || (Math.abs(_local5) <= Math.abs(_local3))) {
_local3 = 0;
_local9 = true;
nSpdY = 0;
}
nPosX = nPosX + _local4;
nPosY = nPosY + _local3;
checkBounds();
mcRef._x = int(nPosX);
mcRef._y = int(nPosY);
}
function state_FreeMode() {
nPosX = nPosX + nSpdX;
nPosY = nPosY + nSpdY;
checkBounds();
mcRef._x = int(nPosX);
mcRef._y = int(nPosY);
if (Math.abs(nSpdX) < Math.abs(nMaxSpdX)) {
nSpdX = nSpdX + nSpdUpX;
if (Math.abs(nSpdX) > Math.abs(nMaxSpdX)) {
nSpdX = nMaxSpdX;
}
}
if (Math.abs(nSpdY) < Math.abs(nMaxSpdY)) {
nSpdY = nSpdY + nSpdUpY;
if (Math.abs(nSpdY) > Math.abs(nMaxSpdY)) {
nSpdY = nMaxSpdY;
}
}
}
function state_PanShowMode() {
var _local4 = false;
var _local10 = oItemToShow.nPosX + nPosX;
var _local6 = nCenterX - _local10;
if (oItemToShow.nScreenGap != undefined) {
if (oItemToShow.sDirection == "Right") {
_local6 = _local6 - oItemToShow.nScreenGap;
} else {
_local6 = _local6 + oItemToShow.nScreenGap;
}
}
var _local3 = _local6 / nPanSpdDownValue;
if (_local3 > 0) {
nSpdX = nSpdX + nPanSpdUpValue;
sPanDirectionX = "Right";
if (_local3 > nSpdX) {
_local3 = nSpdX;
}
} else {
sPanDirectionX = "Left";
nSpdX = nSpdX - nPanSpdUpValue;
if (_local3 < nSpdX) {
_local3 = nSpdX;
}
}
if ((Math.abs(_local3) <= nMinFollowDist) || (Math.abs(_local6) <= Math.abs(_local3))) {
_local3 = 0;
_local4 = true;
nSpdX = 0;
}
var _local5 = false;
var _local9 = oItemToShow.nPosY + nPosY;
var _local7 = nCenterY - _local9;
var _local2 = _local7 / nPanSpdDownValue;
if (_local2 > 0) {
nSpdY = nSpdY + nPanSpdUpValue;
sPanDirectionY = "Down";
if (_local2 > nSpdY) {
_local2 = nSpdY;
}
} else {
nSpdY = nSpdY - nPanSpdUpValue;
sPanDirectionY = "Up";
if (_local2 < nSpdY) {
_local2 = nSpdY;
}
}
if ((Math.abs(_local2) <= nMinFollowDist) || (Math.abs(_local7) <= Math.abs(_local2))) {
_local2 = 0;
_local5 = true;
nSpdY = 0;
}
if ((_local3 != 0) || (_local2 != 0)) {
nPosX = nPosX + _local3;
nPosY = nPosY + _local2;
var _local8 = checkBounds();
if ((_local4 == false) && (_local8[0] == true)) {
_local4 = true;
}
if ((_local5 == false) && (_local8[1] == true)) {
_local5 = true;
}
mcRef._x = int(nPosX);
mcRef._y = int(nPosY);
}
if ((_local4 == true) && (_local5 == true)) {
setPanAction();
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Background(oInstance));
}
function setBounds() {
nLeftBound = mcContainer[sAttachName].mcLeftDownBounds._x;
nRightBound = mcContainer[sAttachName].mcRightUpBounds._x;
nTopBound = mcContainer[sAttachName].mcRightUpBounds._y;
nBottomBound = mcContainer[sAttachName].mcLeftDownBounds._y;
mcContainer[sAttachName].mcLeftDownBounds.swapDepths(10);
mcContainer[sAttachName].mcLeftDownBounds.removeMovieClip();
mcContainer[sAttachName].mcRightUpBounds.swapDepths(10);
mcContainer[sAttachName].mcRightUpBounds.removeMovieClip();
nCenterZoneRightLimit = nRightBound - nOutsideCenterZoneWidth;
}
function setWallZones() {
switch (oController.getLevel()) {
case 1 :
nWallZoneLeftLimit = 71;
nWallZoneRightLimit = 1711;
break;
case 2 :
nWallZoneLeftLimit = 131;
nWallZoneRightLimit = 1693;
break;
case 3 :
nWallZoneLeftLimit = 133;
nWallZoneRightLimit = 1566;
}
}
function giveCurrentZone(_nPosX) {
var _local2;
if (_nPosX <= nCenterZoneLeftLimit) {
_local2 = "Left";
} else if (_nPosX >= nCenterZoneRightLimit) {
_local2 = "Right";
} else {
_local2 = "Central";
}
return(_local2);
}
function giveCentralPosition() {
var _local2 = Math.floor(Math.random() * (nCenterZoneRightLimit - nCenterZoneLeftLimit)) + nCenterZoneLeftLimit;
return(_local2);
}
function giveRightPosition() {
var _local2 = Math.floor(Math.random() * nOutsideCenterZoneWidth) + nCenterZoneRightLimit;
return(_local2);
}
function giveLeftPosition() {
var _local2 = Math.floor(Math.random() * nCenterZoneLeftLimit) + 1;
return(_local2);
}
function showItem() {
var _local4 = oItemToShow.nPosX + nPosX;
var _local2 = nCenterX - _local4;
if (oItemToShow.nScreenGap != undefined) {
if (oItemToShow.sDirection == "Right") {
_local2 = _local2 - oItemToShow.nScreenGap;
} else {
_local2 = _local2 + oItemToShow.nScreenGap;
}
}
var _local7 = _local2;
var _local3 = oItemToShow.nPosY + nPosY;
var _local5 = nCenterY - _local3;
var _local6 = _local5;
nPosX = nPosX + _local7;
nPosY = nPosY + _local6;
checkBounds();
mcRef._x = int(nPosX);
mcRef._y = int(nPosY);
}
function setItemToShow(_oItemToShow) {
oItemToShow = _oItemToShow;
}
function switchToPreciseMode() {
if (aPanData.length > 0) {
trace("****************************************************************");
trace("WARNING : Current paning action is not completed");
trace("****************************************************************");
aPanData.splie(0);
}
setState("PreciseShowMode");
}
function switchToLagMode(_nLagValue) {
if (aPanData.length > 0) {
trace("****************************************************************");
trace("WARNING : Current paning action is not completed");
trace("****************************************************************");
aPanData.splie(0);
}
if (_nLagValue != undefined) {
nLagValue = _nLagValue;
} else {
nLagValue = nBasicLagValue;
}
setState("LagShowMode");
}
function switchToFreeMode(_nSpdX, _nMaxSpdX, _nSpdUpX, _nSpdY, _nMaxSpdY, _nSpdUpY) {
if (aPanData.length > 0) {
trace("****************************************************************");
trace("WARNING : Current paning action is not completed");
trace("****************************************************************");
aPanData.splie(0);
}
nSpdX = _nSpdX;
nMaxSpdX = _nMaxSpdX;
nSpdUpX = _nSpdUpX;
if (_nSpdY != undefined) {
nSpdY = _nSpdY;
nMaxSpdY = _nMaxSpdY;
nSpdUpY = _nSpdUpY;
} else {
nSpdY = 0;
nMaxSpdY = 0;
nSpdUpY = 0;
}
setState("FreeMode");
}
function addPanData(_oPanData) {
aPanData.push(_oPanData);
}
function switchToPanMode() {
setPanAction();
}
function setPanAction() {
if (aPanData.length > 0) {
var _local2 = aPanData[0];
aPanData.splice(0, 1);
setItemToShow(_local2.oItemToShow);
switch (_local2.sNextMode) {
case "Pan" :
nPanSpdUpValue = _local2.nPanSpdUpValue;
nPanSpdDownValue = _local2.nPanSpdDownValue;
setState("PanShowMode");
break;
case "Lag" :
switchToLagMode(_local2.nLagValue);
break;
case "Precise" :
switchToPreciseMode();
break;
}
} else {
trace("****************************************************************");
trace("ERROR : Data must be set in aPanData before switch to pan mode");
trace("****************************************************************");
}
}
function checkBounds() {
var _local2 = false;
var _local3 = false;
var _local4 = nPosX + nLeftBound;
var _local5 = nPosX + nRightBound;
var _local7 = nPosY + nTopBound;
var _local6 = nPosY + nBottomBound;
if (_local4 > nLeftScreenX) {
nPosX = nPosX + (nLeftScreenX - _local4);
_local2 = true;
} else if (_local5 < nRightScreenX) {
nPosX = nPosX + (nRightScreenX - _local5);
_local2 = true;
}
if (_local7 > nTopScreenY) {
nPosY = nPosY + (nTopScreenY - _local7);
_local3 = true;
} else if (_local6 < nBottomScreenY) {
nPosY = nPosY + (nBottomScreenY - _local6);
_local3 = true;
}
return([_local2, _local3]);
}
function onUpdatePaused() {
if (sState == "WaitForPlayer") {
state_WaitForPlayer();
}
}
function checkInGameScreen(_nItemX) {
var _local2 = nLeftBorder - nPosX;
var _local3 = nRightBorder - nPosX;
if ((_nItemX >= _local2) && (_nItemX <= _local3)) {
return(true);
}
return(false);
}
function deleteObject() {
mcRef.removeMovieClip();
delete oOwner[sName];
oController.oMainBroadcaster.removeListener(this);
}
}
Symbol 2457 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.GeneralData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.GeneralData
{
function GeneralData () {
}
static var nMUS_PACK_VOLUME = 25;
static var nMUS_GAME_VOLUME = 17;
static var nBUTTON_CLIC1_VOLUME = 100;
static var nSCREEN_WIDTH = 580;
static var nSCREEN_HEIGHT = 410;
static var nUSE_ACTIVATION_SYS = false;
static var nACTIVE_DISTANCE = 100;
static var sBASE_CONTAINER = "mcLevelContainer";
static var nGRAVITY_STRENGTH = 1.8;
static var nNB_LEVELS = 3;
static var nNB_ROUNDS_TO_WIN = 3;
static var nNB_MAX_LIVES = 5;
static var oPTS_DATA = {BasicAttack:10, ComboAttack1:50, ComboAttack2:75, ComboAttack3:100, WinRound:150, WinLevel:200};
static var oTIME_BONUS_DATA = {Easy:{nFactor1:1.4, nFactor2:125, nMaxBonus:10000}, Med:{nFactor1:1.4, nFactor2:125, nMaxBonus:30000}, Hard:{nFactor1:1.4, nFactor2:125, nMaxBonus:60000}};
}
Symbol 2458 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivatedItem] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivatedItem extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem
{
var bActivatedItem, oActivationManager, oBackground, bAnimatedItem, nMinBoundX, nMinBoundY, setState, sState, oBounds, mcRef, nPosX, nPosY, nDistUpSide, nDistDownSide, nDistRightSide, nDistLeftSide, sLUBroadcaster, sRUBroadcaster, sLDBroadcaster, sRDBroadcaster, oController, bIsCollider, oImpactManager, attachItemMovie, sType;
function ActivatedItem (_oItemData) {
super(_oItemData);
if (bActivatedItem == true) {
oActivationManager = com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivationManager.giveReference();
oBackground = com.disney.gem.games.SavingTheDay.game_obj.Background.giveReference();
bAnimatedItem = _oItemData.bAnimatedItem;
if (_oItemData.nMinBoundX != undefined) {
nMinBoundX = _oItemData.nMinBoundX;
} else {
nMinBoundX = 0;
}
if (_oItemData.nMinBoundY != undefined) {
nMinBoundY = _oItemData.nMinBoundY;
} else {
nMinBoundY = 0;
}
setState(sState);
setBounds();
}
}
function setBounds() {
oBounds = mcRef.getBounds(mcRef._parent);
if (oBounds.xMin > (nPosX - nMinBoundX)) {
oBounds.xMin = nPosX - nMinBoundX;
}
if (oBounds.xMax < (nPosX + nMinBoundX)) {
oBounds.xMax = nPosX + nMinBoundX;
}
if (oBounds.yMin > (nPosY - nMinBoundY)) {
oBounds.yMin = nPosY - nMinBoundY;
}
if (oBounds.yMax < (nPosY + nMinBoundY)) {
oBounds.yMax = nPosY + nMinBoundY;
}
nDistUpSide = nPosY - oBounds.yMin;
nDistDownSide = oBounds.yMax - nPosY;
nDistRightSide = oBounds.xMax - nPosX;
nDistLeftSide = nPosX - oBounds.xMin;
if (mcRef.mcForm != undefined) {
mcRef.mcForm.swapDepths(10);
mcRef.mcForm.removeMovieClip();
}
}
function addActivateBroadcast() {
sLUBroadcaster = oActivationManager.addToBroadcast(this, oBounds.xMin, oBounds.yMin);
sRUBroadcaster = oActivationManager.addToBroadcast(this, oBounds.xMax, oBounds.yMin);
sLDBroadcaster = oActivationManager.addToBroadcast(this, oBounds.xMin, oBounds.yMax);
sRDBroadcaster = oActivationManager.addToBroadcast(this, oBounds.xMax, oBounds.yMax);
}
function checkDesactivate() {
if (bAnimatedItem == true) {
setBounds();
}
var _local3 = nPosX + oBackground.nPosX;
var _local2 = nPosY + oBackground.nPosY;
var _local5 = _local3 - nDistLeftSide;
var _local6 = _local3 + nDistRightSide;
var _local4 = _local2 - nDistUpSide;
var _local7 = _local2 + nDistDownSide;
if ((((_local6 < oActivationManager.nLActiveLimit) || (_local5 > oActivationManager.nRActiveLimit)) || (_local7 < oActivationManager.nUpActiveLimit)) || (_local4 > oActivationManager.nDwActiveLimit)) {
desactivateItem();
}
}
function desactivateItem() {
mcRef.removeMovieClip();
oController.oMainBroadcaster.removeListener(this);
addActivateBroadcast();
if (bIsCollider == true) {
oImpactManager.removeCollider(this);
}
}
function checkActivate() {
var _local3 = nPosX + oBackground.nPosX;
var _local2 = nPosY + oBackground.nPosY;
var _local5 = _local3 - nDistLeftSide;
var _local6 = _local3 + nDistRightSide;
var _local4 = _local2 - nDistUpSide;
var _local7 = _local2 + nDistDownSide;
if ((((_local6 < oActivationManager.nLActiveLimit) || (_local5 > oActivationManager.nRActiveLimit)) || (_local7 < oActivationManager.nUpActiveLimit)) || (_local4 > oActivationManager.nDwActiveLimit)) {
} else {
activateItem();
}
}
function activateItem() {
attachItemMovie();
setBounds();
oActivationManager.removeToBroadcast(this, sLUBroadcaster);
oActivationManager.removeToBroadcast(this, sRUBroadcaster);
oActivationManager.removeToBroadcast(this, sLDBroadcaster);
oActivationManager.removeToBroadcast(this, sRDBroadcaster);
setState(sState);
oController.oMainBroadcaster.addListener(this);
}
function onUpdate() {
super.onUpdate();
if (com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ActivationData.oCHECK_DESACTIVATE_DATA[sType][sState] == true) {
checkDesactivate();
}
}
}
Symbol 2459 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ActivationData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ActivationData
{
function ActivationData () {
}
static var oCHECK_DESACTIVATE_DATA = {AllSideBlocker:{Idle:true}, TopBlocker:{Idle:true}, BottomBlocker:{Idle:true}, RightBlocker:{Idle:true}, LeftBlocker:{Idle:true}};
}
Symbol 2460 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ActivatedItem
{
var oImpactManager, bIsCollider, oCollideExceptions, sColliderType, nUpBorder, nScaleY, mcRef, nRightBorder, nScaleX, nDownBorder, nLeftBorder, nUpHitBorder, nDownHitBorder, nLeftHitBorder, nRightHitBorder, nMaxMoveY, nPosY, nMaxMoveX, nPosX, sName;
function ColliderItem (_oItemData) {
super(_oItemData);
oImpactManager = com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager.giveReference();
bIsCollider = true;
oCollideExceptions = new Object();
sColliderType = _oItemData.sType;
}
function attachItemMovie() {
super.attachItemMovie();
if (oImpactManager == undefined) {
oImpactManager = com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ImpactManager.giveReference();
}
setAsCollider();
}
function setAsCollider() {
nUpBorder = (mcRef.mcRightUpBorder._y * nScaleY) / 100;
nRightBorder = (mcRef.mcRightUpBorder._x * nScaleX) / 100;
nDownBorder = (mcRef.mcLeftDownBorder._y * nScaleY) / 100;
nLeftBorder = (mcRef.mcLeftDownBorder._x * nScaleX) / 100;
nUpBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpBorder);
nRightBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightBorder);
nDownBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownBorder);
nLeftBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftBorder);
mcRef.mcLeftDownBorder.swapDepths(10);
mcRef.mcLeftDownBorder.removeMovieClip();
mcRef.mcRightUpBorder.swapDepths(10);
mcRef.mcRightUpBorder.removeMovieClip();
oImpactManager.addCollider(this);
}
function returnImpactData() {
setHitBorders();
var _local2 = {sName:sName, sColliderType:sColliderType, nPosX:nPosX, nPosY:nPosY, nMaxMoveX:nMaxMoveX, nMaxMoveY:nMaxMoveY, nDestX:nPosX + nMaxMoveX, nDestY:nPosY + nMaxMoveY, nRightBorder:nRightBorder, nLeftBorder:nLeftBorder, nDownBorder:nDownBorder, nUpBorder:nUpBorder, nRightHitBorder:nRightHitBorder, nLeftHitBorder:nLeftHitBorder, nDownHitBorder:nDownHitBorder, nUpHitBorder:nUpHitBorder};
return(_local2);
}
function setHitBorders() {
nRightHitBorder = nPosX + nRightBorder;
nLeftHitBorder = nPosX + nLeftBorder;
nDownHitBorder = nPosY + nDownBorder;
nUpHitBorder = nPosY + nUpBorder;
nRightHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightHitBorder);
nLeftHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftHitBorder);
nDownHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownHitBorder);
nUpHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpHitBorder);
}
function checkInReach(_oMovingData, _nRightMoveBorder, _nLeftMoveBorder, _nDownMoveBorder, _nUpMoveBorder) {
var _local3 = false;
_oMovingData.bInXReach = false;
_oMovingData.bInYReach = false;
var _local4 = _oMovingData.sColliderType;
if (com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition[_local4][sColliderType] == true) {
setHitBorders();
if (_oMovingData.nMaxMoveX > 0) {
if ((nLeftHitBorder >= _nLeftMoveBorder) and (nLeftHitBorder <= _nRightMoveBorder)) {
_oMovingData.bInXReach = true;
_local3 = true;
}
} else if (_oMovingData.nMaxMoveX < 0) {
if ((nRightHitBorder <= _nRightMoveBorder) and (nRightHitBorder >= _nLeftMoveBorder)) {
_oMovingData.bInXReach = true;
_local3 = true;
}
}
if (_oMovingData.nMaxMoveY > 0) {
if ((nUpHitBorder >= _nUpMoveBorder) and (nUpHitBorder <= _nDownMoveBorder)) {
_oMovingData.bInYReach = true;
_local3 = true;
}
} else if (_oMovingData.nMaxMoveY < 0) {
if ((nDownHitBorder <= _nDownMoveBorder) and (nDownHitBorder >= _nUpMoveBorder)) {
_oMovingData.bInYReach = true;
_local3 = true;
}
}
}
return(_local3);
}
function checkIfCanBeHit(_oMovingData) {
var _local15 = false;
var _local16 = false;
var _local4;
var _local3;
var _local8;
var _local7;
var _local12;
var _local11;
var _local17 = new Object();
if ((_oMovingData.bInXReach == true) and (_oMovingData.nMaxMoveX != 0)) {
if (_oMovingData.nMaxMoveX > 0) {
_local4 = nLeftHitBorder - _oMovingData.nRightHitBorder;
_local4 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local4);
_local12 = "Left";
if (_local4 < 0) {
_local4 = 0;
}
} else if (_oMovingData.nMaxMoveX < 0) {
_local4 = nRightHitBorder - _oMovingData.nLeftHitBorder;
_local4 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local4);
_local12 = "Right";
if (_local4 > 0) {
_local4 = 0;
}
}
_local8 = _local4 / _oMovingData.nMaxMoveX;
if (_local8 < 0) {
_local8 = 0;
}
var _local18 = _oMovingData.nPosX + _local4;
_local18 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local18);
var _local13 = _oMovingData.nPosY + (_oMovingData.nMaxMoveY * _local8);
_local13 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local13);
if (((_local13 + _oMovingData.nDownBorder) > nUpHitBorder) and ((_local13 + _oMovingData.nUpBorder) < nDownHitBorder)) {
_local15 = true;
}
}
if ((_oMovingData.bInYReach == true) and (_oMovingData.nMaxMoveY != 0)) {
if (_oMovingData.nMaxMoveY > 0) {
_local3 = nUpHitBorder - _oMovingData.nDownHitBorder;
_local3 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local3);
_local11 = "Up";
if (_local3 < 0) {
_local3 = 0;
}
} else if (_oMovingData.nMaxMoveY < 0) {
_local3 = nDownHitBorder - _oMovingData.nUpHitBorder;
_local3 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local3);
_local11 = "Down";
if (_local3 > 0) {
_local3 = 0;
}
}
_local7 = _local3 / _oMovingData.nMaxMoveY;
if (_local7 < 0) {
_local7 = 0;
}
var _local19 = _oMovingData.nPosY + _local3;
_local19 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local19);
var _local14 = _oMovingData.nPosX + (_oMovingData.nMaxMoveX * _local7);
_local14 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_local14);
if (((_local14 + _oMovingData.nRightBorder) > nLeftHitBorder) and ((_local14 + _oMovingData.nLeftBorder) < nRightHitBorder)) {
_local16 = true;
}
}
if ((_local15 == true) || (_local16 == true)) {
var _local9;
var _local10;
var _local5;
var _local6;
if ((_local15 == true) and (_local16 == true)) {
if (_local3 < _local4) {
_local9 = _local3;
_local10 = _local7;
_local5 = "Y";
_local6 = _local11;
} else if (_local3 > _local4) {
_local9 = _local4;
_local10 = _local8;
_local5 = "X";
_local6 = _local12;
} else if (random(100) < 50) {
_local9 = _local4;
_local10 = _local8;
_local5 = "X";
_local6 = _local12;
} else {
_local9 = _local3;
_local10 = _local7;
_local5 = "Y";
_local6 = _local11;
}
} else if (_local15 == true) {
_local9 = _local4;
_local10 = _local8;
_local5 = "X";
_local6 = _local12;
} else {
_local9 = _local3;
_local10 = _local7;
_local5 = "Y";
_local6 = _local11;
}
_local17 = {oItem:this, nImpactDist:_local9, nMovePercent:_local10, sImpactAxis:_local5, sImpactSide:_local6};
}
return(_local17);
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
trace("********************************************************************************");
trace("ERROR : Do not use Collider Class directly. This class need ");
trace(" to be use as an extended class. Many function within");
trace(" it need to be overwrite because they are specific to the created item");
trace("********************************************************************************");
}
function validateMove() {
oImpactManager.checkForImpact(this, oCollideExceptions);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
trace("********************************************************************************");
trace("ERROR : Do not use Collider Class directly. This class need ");
trace(" to be use as an extended class. Many function within");
trace(" it need to be overwrite because they are specific to the created item");
trace("********************************************************************************");
}
function resolveHitAfterMove(_oMovingItem, _oImpactCheckResult) {
trace("********************************************************************************");
trace("ERROR : Do not use Collider Class directly. This class need ");
trace(" to be use as an extended class. Many function within");
trace(" it need to be overwrite because they are specific to the created item");
trace("********************************************************************************");
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
trace("********************************************************************************");
trace("ERROR : Do not use Collider Class directly. This class need ");
trace(" to be use as an extended class. Many function within");
trace(" it need to be overwrite because they are specific to the created item");
trace("********************************************************************************");
}
function deleteObject() {
oImpactManager.removeCollider(this);
super.deleteObject();
}
}
Symbol 2461 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition
{
function ImpactDefinition () {
}
static var Player = {AllSideBlocker:true, TopBlocker:true, BottomBlocker:true, RightBlocker:true, LeftBlocker:true, RightSlope:true, LeftSlope:true, RedBeam:true};
static var Omnidroid = {AllSideBlocker:true, TopBlocker:true, BottomBlocker:true, RightBlocker:true, LeftBlocker:true, RightSlope:true, LeftSlope:true, BigRock:true};
static var Syndrome = {AllSideBlocker:true, TopBlocker:true, BottomBlocker:true, RightBlocker:true, LeftBlocker:true, RightSlope:true, LeftSlope:true, BigRock:true};
static var Underminer = {AllSideBlocker:true, TopBlocker:true, BottomBlocker:true, RightBlocker:true, LeftBlocker:true, RightSlope:true, LeftSlope:true, BigRock:true};
static var BigRock = {AllSideBlocker:true, RightBlocker:true, LeftBlocker:true, Omnidroid:true, Syndrome:true, Underminer:true};
static var RedBeam = {AllSideBlocker:true, RightBlocker:true, LeftBlocker:true, Player:true, BigRock:true};
}
Symbol 2462 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.AllSideBlocker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.AllSideBlocker extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
function AllSideBlocker (_oItemData) {
super(_oItemData);
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
return(true);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactAxis == "Y") {
_oMovingItem.nRealMoveY = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveY = 0;
_oMovingItem.nRealMoveX = 0;
} else if (_oImpactCheckResult.sImpactAxis == "X") {
_oMovingItem.nRealMoveX = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveX = 0;
_oMovingItem.nRealMoveY = 0;
}
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Up") {
_oMovingItem.setHitGround();
} else if (_oImpactCheckResult.sImpactSide == "Down") {
_oMovingItem.setHitTop();
} else {
_oMovingItem.setHitWall();
}
}
}
Symbol 2463 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.Character] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.Character extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.AllSideBlocker
{
var oScreenShaker, oBackground, oGameScreen, oTimer, nMaxHealth, oController, fDataClassDefinition, nHealth, sDirection, nMaxRunSpd, nMinRunSpd, nSpdXAcceleration, nSpdXDeceleration, nMaxMoveBackSpd, nMaxJumpSpdX, nMinJumpSpdX, nMaxJumpSpdY, nMinJumpSpdY, nMaxFallSpdY, nMinFallSpdY, nJumpSpdYDeceleration, nFallSpdYAcceleration, nSpdX, nSpdY, nNbRoundsWon, bWinFight, stateFinished, oOpponent, setState, oHud, sType, nPosY, nPosX, nUpBorderCrouched, nScaleY, mcRef, nRightBorderCrouched, nScaleX, nDownBorderCrouched, nLeftBorderCrouched, sState, nRightHitBorder, nLeftHitBorder, nDownHitBorder, nUpHitBorder, nRightBorder, nLeftBorder, nDownBorder, nUpBorder, nMaxMoveX, nMaxMoveY, nRealMoveX, nRealMoveY, validateMove;
function Character (_oItemData) {
super(_oItemData);
oScreenShaker = com.disney.gem.games.SavingTheDay.game_obj.ScreenShaker.giveReference();
oBackground = com.disney.gem.games.SavingTheDay.game_obj.Background.giveReference();
oGameScreen = com.disney.gem.games.SavingTheDay.screens.GameScreen.giveReference();
oTimer = com.disney.gem.games.SavingTheDay.game_obj.Timer.giveReference();
nMaxHealth = fDataClassDefinition.oMAX_HEALTH_DATA["nMax" + oController.giveDifficulty()];
nHealth = nMaxHealth;
sDirection = fDataClassDefinition.sStartDirection;
nMaxRunSpd = fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd;
nMinRunSpd = fDataClassDefinition.oSPEEDS_DATA.nMinRunSpd;
nSpdXAcceleration = fDataClassDefinition.oSPEEDS_DATA.nSpdXAcceleration;
nSpdXDeceleration = fDataClassDefinition.oSPEEDS_DATA.nSpdXDeceleration;
nMaxMoveBackSpd = fDataClassDefinition.oSPEEDS_DATA.nMaxMoveBackSpd;
nMaxJumpSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxJumpSpdX;
nMinJumpSpdX = fDataClassDefinition.oSPEEDS_DATA.nMinJumpSpdX;
nMaxJumpSpdY = fDataClassDefinition.oSPEEDS_DATA.nMaxJumpSpdY;
nMinJumpSpdY = fDataClassDefinition.oSPEEDS_DATA.nMinJumpSpdY;
nMaxFallSpdY = fDataClassDefinition.oSPEEDS_DATA.nMaxFallSpdY;
nMinFallSpdY = fDataClassDefinition.oSPEEDS_DATA.nMinFallSpdY;
nJumpSpdYDeceleration = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nGRAVITY_STRENGTH;
nFallSpdYAcceleration = com.disney.gem.games.SavingTheDay.game_data.GeneralData.nGRAVITY_STRENGTH;
nSpdX = 0;
nSpdY = 0;
nNbRoundsWon = 0;
bWinFight = false;
createShadow();
}
function state_Die_init() {
oBackground.setItemToShow(this);
oBackground.switchToLagMode();
oTimer.startWait();
}
function state_Die() {
if (stateFinished()) {
var _local2 = oOpponent.winRound();
if (_local2) {
setState("Dead");
} else {
setState("WaitForHealth");
}
}
}
function state_Dead_init() {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
}
function state_Dead() {
if (oBackground.oItemToShow != oOpponent) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
}
}
function state_WaitForHealth_init() {
oController.playSfx(["RefreshLife"]);
nHealth = nMaxHealth;
}
function state_WaitForHealth() {
if (oHud.nHealthShow == nHealth) {
setState("Rebirth");
}
}
function state_Rebirth() {
if (stateFinished()) {
lockControls();
oController.showStartFightPopup();
setState("Idle");
}
}
function createShadow() {
var _local2 = {nScaleX:100, nScaleY:100, nPosX:nPosX, nPosY:nPosY, sAttachName:("mc" + sType) + "Shadow", sItemClass:"CharacterShadow", sItemLinkage:sType + "Shadow", sType:"CharacterShadow", sName:("o" + sType) + "Shadow", bActivatedItem:false, bLiveAttachItem:true, bAnimatedItem:false, bUseStates:false, bUseMovies:true, bPausable:false, oCharacter:this};
if (sDirection == "Right") {
_local2.sDirection = "Right";
} else {
_local2.sDirection = "Left";
}
oGameScreen.createGameObject(_local2);
}
function setAsCollider() {
nUpBorderCrouched = (mcRef.mcRightUpBorderCrouched._y * nScaleY) / 100;
nRightBorderCrouched = (mcRef.mcRightUpBorderCrouched._x * nScaleX) / 100;
nDownBorderCrouched = (mcRef.mcLeftDownBorder._y * nScaleY) / 100;
nLeftBorderCrouched = (mcRef.mcLeftDownBorder._x * nScaleX) / 100;
nUpBorderCrouched = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpBorderCrouched);
nRightBorderCrouched = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightBorderCrouched);
nDownBorderCrouched = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownBorderCrouched);
nLeftBorderCrouched = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftBorderCrouched);
mcRef.mcRightUpBorderCrouched.swapDepths(10);
mcRef.mcRightUpBorderCrouched.removeMovieClip();
super.setAsCollider();
}
function setHitBorders() {
var _local2 = fDataClassDefinition.oBORDERS_SETS_DATA[sState];
switch (_local2) {
case "Crouched" :
nRightHitBorder = nPosX + nRightBorderCrouched;
nLeftHitBorder = nPosX + nLeftBorderCrouched;
nDownHitBorder = nPosY + nDownBorderCrouched;
nUpHitBorder = nPosY + nUpBorderCrouched;
break;
default :
nRightHitBorder = nPosX + nRightBorder;
nLeftHitBorder = nPosX + nLeftBorder;
nDownHitBorder = nPosY + nDownBorder;
nUpHitBorder = nPosY + nUpBorder;
}
nRightHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightHitBorder);
nLeftHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftHitBorder);
nDownHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownHitBorder);
nUpHitBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpHitBorder);
}
function setMaxMove() {
nMaxMoveX = nSpdX;
nMaxMoveY = nSpdY;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
}
function makeMoving() {
while ((nMaxMoveX != 0) || (nMaxMoveY != 0)) {
validateMove();
nPosX = nPosX + nRealMoveX;
mcRef._x = nPosX;
nPosY = nPosY + nRealMoveY;
mcRef._y = nPosY;
if (nMaxMoveX == nRealMoveX) {
nMaxMoveX = 0;
} else if (nMaxMoveX != 0) {
nMaxMoveX = nMaxMoveX - nRealMoveX;
}
if (nMaxMoveY == nRealMoveY) {
nMaxMoveY = 0;
} else if (nMaxMoveY != 0) {
nMaxMoveY = nMaxMoveY - nRealMoveY;
}
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
}
}
function changeDirection() {
if (sDirection == "Right") {
sDirection = "Left";
} else {
sDirection = "Right";
}
mcRef._xscale = mcRef._xscale - (mcRef._xscale * 2);
}
function checkOpponentSide(_bCheckForState) {
if ((fDataClassDefinition.oCHANGE_DIRECTION_DATA[sState] == true) || (_bCheckForState == false)) {
if ((oOpponent.nPosX < nPosX) && (sDirection == "Right")) {
changeDirection();
} else if ((oOpponent.nPosX > nPosX) && (sDirection == "Left")) {
changeDirection();
}
}
}
function checkFacingOpponent() {
var _local2 = false;
if (sDirection == "Right") {
if (oOpponent.nPosX >= nPosX) {
_local2 = true;
}
} else if (oOpponent.nPosX <= nPosX) {
_local2 = true;
}
return(_local2);
}
function setAttackData(_sAttackType) {
var _local2 = new Object();
_local2.sAttackType = _sAttackType;
_local2.sDirection = sDirection;
_local2.oReachLimits = setAttackReachXLimits(_sAttackType);
return(_local2);
}
function setAttackReachXLimits(_sAttackType) {
var _local4 = calculSlidingDist(_sAttackType, Math.abs(nSpdX));
var _local2 = new Object();
if (sDirection == "Right") {
_local2.nLeftReachLimit = nPosX + fDataClassDefinition.oATTACK_DATA[_sAttackType].nNearXHit;
_local2.nRightReachLimit = (nPosX + fDataClassDefinition.oATTACK_DATA[_sAttackType].nFarXHit) + _local4;
} else {
_local2.nLeftReachLimit = (nPosX - fDataClassDefinition.oATTACK_DATA[_sAttackType].nFarXHit) - _local4;
_local2.nRightReachLimit = nPosX - fDataClassDefinition.oATTACK_DATA[_sAttackType].nNearXHit;
}
return(_local2);
}
function checkInAttackReach(_oReachLimits) {
if ((nLeftHitBorder <= _oReachLimits.nRightReachLimit) && (nRightHitBorder >= _oReachLimits.nLeftReachLimit)) {
return(true);
}
return(false);
}
function calculSlidingDist(_sAttackType, _nSlideSpd) {
var _local4 = fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrHit.nReachDestFr;
var _local3 = 0;
var _local6;
var _local5 = 0;
while ((_nSlideSpd > 0) && ((_local5 < _local4) || (_local4 == undefined))) {
_local6 = 0;
_nSlideSpd = _nSlideSpd - nSpdXDeceleration;
_local3 = _local3 + _nSlideSpd;
if (_nSlideSpd < _local6) {
_local3 = _local3 - _nSlideSpd;
_nSlideSpd = 0;
}
_local5++;
}
return(_local3);
}
function checkHitOpponent(_sAttackType) {
var _local3 = false;
if ((oOpponent.fDataClassDefinition.oCANT_BE_HIT_DATA[oOpponent.getState()] != true) || (oOpponent.fDataClassDefinition.oCANT_BE_HIT_DATA.oExceptions[_sAttackType][oOpponent.getState()] == true)) {
var _local6 = oOpponent.checkAttackCanHit(_sAttackType);
if (_local6 == true) {
var _local5 = mcRef.mcState._currentframe;
var _local4 = new Object();
if ((fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrHit["Fr" + _local5] == true) || (fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrHit.AllFrames == true)) {
_local4 = setHitZone(_sAttackType);
_local3 = oOpponent.checkIfGetHit(_local4, _sAttackType);
}
}
}
if (mcRef.mcState._currentframe == fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrHit.nLastFrHit) {
oOpponent.onAttackCompleted();
}
return(_local3);
}
function setHitZone(_sAttackType) {
var _local2 = new Object();
if (sDirection == "Right") {
_local2.nLeftBorder = nPosX + fDataClassDefinition.oATTACK_DATA[_sAttackType].nNearXHit;
_local2.nRightBorder = nPosX + fDataClassDefinition.oATTACK_DATA[_sAttackType].nFarXHit;
} else {
_local2.nLeftBorder = nPosX - fDataClassDefinition.oATTACK_DATA[_sAttackType].nFarXHit;
_local2.nRightBorder = nPosX - fDataClassDefinition.oATTACK_DATA[_sAttackType].nNearXHit;
}
_local2.nDownBorder = nPosY + fDataClassDefinition.oATTACK_DATA[_sAttackType].nNearYHit;
_local2.nUpBorder = nPosY + fDataClassDefinition.oATTACK_DATA[_sAttackType].nFarYHit;
return(_local2);
}
function checkAttackCanHit(_sAttackType) {
if (fDataClassDefinition.oCANT_BE_HIT_DATA.oOnAttack[_sAttackType][sState] != true) {
return(true);
}
var _local2 = setAttackReachXLimits(sState);
var _local3 = oOpponent.checkInAttackReach(_local2);
if ((!_local3) && (_sAttackType != "SuperThrow")) {
return(true);
}
return(false);
}
function checkIfCanBeHit(_oMovingData) {
var _local3 = new Object();
if (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true) {
_local3 = super.checkIfCanBeHit(_oMovingData);
}
return(_local3);
}
function checkIfGetHit(_oHitZone, _sAttackType) {
var _local2 = checkInHitZone(_oHitZone);
if (_local2 == true) {
getHit(_sAttackType);
}
return(_local2);
}
function checkInHitZone(_oHitZone) {
var _local2 = false;
setHitBorders();
if ((((_oHitZone.nLeftBorder <= nRightHitBorder) && (_oHitZone.nRightBorder >= nLeftHitBorder)) && (_oHitZone.nUpBorder <= nDownHitBorder)) && (_oHitZone.nDownBorder >= nUpHitBorder)) {
_local2 = true;
}
return(_local2);
}
function getHit(_sAttackType) {
trace("*************************************************************************************");
trace("WARNING : The function getHit must be overwrite in the class who extends this one");
trace("*************************************************************************************");
}
function looseHealth(_sAttackType, _sDammageModifier) {
var _local2 = oOpponent.fDataClassDefinition.oATTACK_DATA[_sAttackType].nDammage;
if (_sDammageModifier == "Half") {
_local2 = int(_local2 / 2);
}
nHealth = nHealth - _local2;
if (nHealth < 0) {
nHealth = 0;
}
}
function winRound() {
nNbRoundsWon++;
oController.playSfx(["WinRound1"]);
oHud.showRoundsWon();
if (nNbRoundsWon == com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_ROUNDS_TO_WIN) {
bWinFight = true;
}
return(bWinFight);
}
function lockControls() {
}
function unlockControls() {
}
function onUpdate() {
checkMoveLimits();
super.onUpdate();
}
function checkMoveLimits() {
if ((nPosX + nLeftBorder) < oGameScreen.nLeftMoveLimit) {
nPosX = (oGameScreen.nLeftMoveLimit - nLeftBorder) + 1;
mcRef._x = nPosX;
} else if ((nPosX + nRightBorder) > oGameScreen.nRightMoveLimit) {
nPosX = (oGameScreen.nRightMoveLimit - nRightBorder) - 1;
mcRef._x = nPosX;
}
}
function deleteObject() {
oHud.deleteObject();
super.deleteObject();
}
}
Symbol 2464 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.ScreenShaker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.ScreenShaker extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.State
{
static var oInstance;
var oScreen, mcScreen, nScreenStartX, nScreenStartY, aShakeEvents, sShakeDirX, sShakeDirY;
function ScreenShaker (_oItemData) {
super(_oItemData);
oInstance = this;
oScreen = com.disney.gem.games.SavingTheDay.screens.GameScreen.giveReference();
mcScreen = oScreen.mcLevelContainer;
nScreenStartX = mcScreen._x;
nScreenStartY = mcScreen._y;
aShakeEvents = new Array();
sShakeDirX = "Right";
sShakeDirY = "Up";
}
function state_ControlShakes() {
var _local2 = aShakeEvents.length - 1;
while (_local2 > -1) {
var _local3 = makeShakeScreen(aShakeEvents[_local2]);
if (_local3 == true) {
aShakeEvents.splice(_local2, 1);
}
_local2--;
}
if (sShakeDirX == "Right") {
sShakeDirX = "Left";
} else {
sShakeDirX = "Right";
}
if (sShakeDirY == "Up") {
sShakeDirY = "Down";
} else {
sShakeDirY = "Up";
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.ScreenShaker(oInstance));
}
function setShake(_oShakeData) {
_oShakeData.nCurrentStr = 0;
_oShakeData.sShakeStatus = "In";
if (_oShakeData.sAxis == "X") {
if (Math.random() < 0.5) {
_oShakeData.sShakeStartDir = "Right";
} else {
_oShakeData.sShakeStartDir = "Left";
}
} else if (Math.random() < 0.5) {
_oShakeData.sShakeStartDir = "Up";
} else {
_oShakeData.sShakeStartDir = "Down";
}
_oShakeData.sShakeDir = _oShakeData.sShakeStartDir;
aShakeEvents.push(_oShakeData);
}
function makeShakeScreen(_oShakeEvent) {
var _local3 = false;
if (_oShakeEvent.sShakeStatus == "In") {
if (_oShakeEvent.nCurrentStr == 0) {
if ((_oShakeEvent.sAxis == "X") && (_oShakeEvent.sShakeStartDir == sShakeDirX)) {
_oShakeEvent.nCurrentStr = _oShakeEvent.nStartStr;
} else if ((_oShakeEvent.sAxis == "Y") && (_oShakeEvent.sShakeStartDir == sShakeDirY)) {
_oShakeEvent.nCurrentStr = _oShakeEvent.nStartStr;
}
} else {
if (_oShakeEvent.nCurrentStr < _oShakeEvent.nMaxStr) {
if (_oShakeEvent.sShakeDir == _oShakeEvent.sShakeStartDir) {
_oShakeEvent.nCurrentStr = _oShakeEvent.nCurrentStr * _oShakeEvent.nStrIn;
if (_oShakeEvent.nCurrentStr > _oShakeEvent.nMaxStr) {
_oShakeEvent.nCurrentStr = _oShakeEvent.nMaxStr;
}
}
}
if ((_oShakeEvent.sShakeDir == _oShakeEvent.sShakeStartDir) && (_oShakeEvent.nCurrentStr == _oShakeEvent.nMaxStr)) {
if (_oShakeEvent.nTimeMaxStr > 0) {
_oShakeEvent.sShakeStatus = "AtMax";
} else {
_oShakeEvent.sShakeStatus = "Out";
}
}
}
} else if (_oShakeEvent.sShakeStatus == "AtMax") {
if (_oShakeEvent.sShakeDir == _oShakeEvent.sShakeStartDir) {
_oShakeEvent.nTimeMaxStr--;
if (_oShakeEvent.nTimeMaxStr == 0) {
_oShakeEvent.sShakeStatus = "Out";
}
}
} else if (_oShakeEvent.nCurrentStr > 0) {
if (_oShakeEvent.sShakeDir == _oShakeEvent.sShakeStartDir) {
_oShakeEvent.nCurrentStr = _oShakeEvent.nCurrentStr / _oShakeEvent.nStrOut;
if (_oShakeEvent.nCurrentStr < 0.5) {
_oShakeEvent.nCurrentStr = 0;
_local3 = true;
}
}
}
if (_oShakeEvent.nCurrentStr != 0) {
if (_oShakeEvent.sAxis == "X") {
if (_oShakeEvent.sShakeDir == "Right") {
mcScreen._x = mcScreen._x + _oShakeEvent.nCurrentStr;
_oShakeEvent.sShakeDir = "Left";
} else {
mcScreen._x = mcScreen._x - _oShakeEvent.nCurrentStr;
_oShakeEvent.sShakeDir = "Right";
}
} else if (_oShakeEvent.sShakeDir == "Up") {
mcScreen._y = mcScreen._y - _oShakeEvent.nCurrentStr;
_oShakeEvent.sShakeDir = "Down";
} else {
mcScreen._y = mcScreen._y + _oShakeEvent.nCurrentStr;
_oShakeEvent.sShakeDir = "Up";
}
}
return(_local3);
}
}
Symbol 2465 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Player] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Player extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.Character
{
static var oInstance;
var oControls, nIndexRockName, nScreenGap, nPulledSpd, bShoulderBlocked, nNbCombosHurt, nMaxCombosHurt, bAttackDontHit, nSpdX, bWinFight, oBackground, nPosX, setState, stateFinished, sDirection, nMaxMoveBackSpd, nSpdY, nMaxJumpSpdY, oOpponent, setAttackData, checkHitOpponent, checkOpponentSide, fDataClassDefinition, mcRef, oScreenShaker, oController, nHealth, oHud, sState, checkFacingOpponent, checkInHitZone, nLeftHitBorder, nRightHitBorder, looseHealth, changeDirection, nPosY, oGameScreen, nMaxRunSpd, nSpdXAcceleration, nMinJumpSpdX, nSpdXDeceleration, nMaxJumpSpdX, nMinFallSpdY, nJumpSpdYDeceleration, nMinJumpSpdY, nMaxFallSpdY, nFallSpdYAcceleration, getState, checkAttackCanHit, sColliderType, setMaxMove, makeMoving, nNbRoundsWon;
function Player (_oItemData) {
super(_oItemData);
oInstance = this;
oControls = com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.CtrlsDispatcher.setControls(this);
nIndexRockName = 1;
nScreenGap = 150;
nPulledSpd = 0;
bShoulderBlocked = false;
nNbCombosHurt = 0;
nMaxCombosHurt = 3;
bAttackDontHit = true;
createHud();
lockControls();
}
function state_Idle() {
nSpdX = 0;
if (bWinFight) {
if ((oBackground.oItemToShow == this) && (oBackground.checkInGameScreen(nPosX) == true)) {
setState("Win");
}
}
}
function state_StartRun() {
if (stateFinished()) {
setState("Run");
}
}
function state_Run() {
}
function state_EndRun() {
if (stateFinished()) {
setState("Idle");
}
}
function state_MoveBack_init() {
if (sDirection == "Right") {
nSpdX = -nMaxMoveBackSpd;
} else {
nSpdX = nMaxMoveBackSpd;
}
}
function state_MoveBack() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartCrouch() {
if (stateFinished()) {
setState("Crouched");
}
}
function state_Crouched() {
}
function state_EndCrouch() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartBlock() {
if (stateFinished()) {
setState("Block");
}
}
function state_Block() {
}
function state_BlockHit() {
if (stateFinished()) {
setState("EndBlock");
}
}
function state_EndBlock() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJump_init() {
nSpdY = nMaxJumpSpdY;
}
function state_StartJump() {
if (stateFinished()) {
setState("Jump");
}
}
function state_Jump() {
}
function state_StartFall() {
if (stateFinished()) {
setState("Fall");
}
}
function state_Fall() {
}
function state_Land() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Punch_init() {
oOpponent.setIncomingAttack(setAttackData("Punch"));
}
function state_Punch() {
checkHitOpponent("Punch");
if (stateFinished()) {
setState("Idle");
}
}
function state_CrouchPunch_init() {
oOpponent.setIncomingAttack(setAttackData("CrouchPunch"));
}
function state_CrouchPunch() {
checkHitOpponent("CrouchPunch");
if (stateFinished()) {
checkOpponentSide(false);
if (oControls.bDownPress == true) {
setState("Crouched");
} else {
setState("EndCrouch");
}
}
}
function state_StartJumpKick_init() {
if (sDirection == "Right") {
nSpdX = fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdX;
} else {
nSpdX = -fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdX;
}
nSpdY = fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdY;
oOpponent.setIncomingAttack(setAttackData("JumpKick"));
}
function state_StartJumpKick() {
var _local2 = checkHitOpponent("JumpKick");
if (_local2 == true) {
setJumpKickBlock();
}
if (stateFinished()) {
setState("EndJumpKick");
}
}
function state_EndJumpKick() {
var _local2 = checkHitOpponent("JumpKick");
if (_local2 == true) {
setJumpKickBlock();
}
}
function state_JumpKickBlock() {
}
function state_RapidPunch_init() {
bAttackDontHit = true;
oOpponent.setIncomingAttack(setAttackData("RapidPunch"));
}
function state_RapidPunch() {
var _local2 = checkHitOpponent("RapidPunch");
if (_local2) {
bAttackDontHit = false;
}
if (stateFinished()) {
setState("Idle");
}
}
function state_RapidPunch_end() {
if (bAttackDontHit) {
resetComboInRow();
}
}
function state_BackflipKick_init() {
nSpdX = 0;
bAttackDontHit = true;
oOpponent.setIncomingAttack(setAttackData("BackflipKick"));
}
function state_BackflipKick() {
var _local2 = checkHitOpponent("BackflipKick");
if (_local2) {
bAttackDontHit = false;
}
if (mcRef.mcState._currentframe == fDataClassDefinition.oATTACK_DATA.BackflipKick.nFrSetSpd) {
if (sDirection == "Right") {
nSpdX = -fDataClassDefinition.oATTACK_DATA.BackflipKick.nSpdX;
} else {
nSpdX = fDataClassDefinition.oATTACK_DATA.BackflipKick.nSpdX;
}
}
if (stateFinished()) {
setState("Idle");
}
}
function state_BackflipKick_end() {
if (bAttackDontHit) {
resetComboInRow();
}
}
function state_HyperUppercut_init() {
bAttackDontHit = true;
oOpponent.setIncomingAttack(setAttackData("HyperUppercut"));
}
function state_HyperUppercut() {
var _local2 = checkHitOpponent("HyperUppercut");
if (_local2) {
bAttackDontHit = false;
}
if (stateFinished()) {
setState("Idle");
}
}
function state_HyperUppercut_end() {
if (bAttackDontHit) {
resetComboInRow();
}
}
function state_ProximityAttack_init() {
bAttackDontHit = true;
oOpponent.bProximityAttackOn = true;
oOpponent.setIncomingAttack(setAttackData("ProximityAttack"));
}
function state_ProximityAttack() {
var _local2 = checkHitOpponent("ProximityAttack");
if (_local2) {
bAttackDontHit = false;
}
if (fDataClassDefinition.oATTACK_DATA.ProximityAttack.oFrHit["Fr" + mcRef.mcState._currentframe] == true) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:9, nMaxStr:12, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.5});
}
if (stateFinished()) {
setState("Idle");
}
}
function state_ProximityAttack_end() {
oOpponent.bProximityAttackOn = false;
if (bAttackDontHit) {
resetComboInRow();
}
}
function state_ShoulderTackle_init() {
if (!bShoulderBlocked) {
if (sDirection == "Right") {
nSpdX = fDataClassDefinition.oATTACK_DATA.ShoulderTackle.nSpdX;
} else {
nSpdX = -fDataClassDefinition.oATTACK_DATA.ShoulderTackle.nSpdX;
}
}
bAttackDontHit = true;
oOpponent.setIncomingAttack(setAttackData("ShoulderTackle"));
}
function state_ShoulderTackle() {
var _local2 = checkHitOpponent("ShoulderTackle");
if (_local2) {
bAttackDontHit = false;
}
if (stateFinished()) {
setState("Idle");
}
}
function state_ShoulderTackle_end() {
if (bAttackDontHit) {
resetComboInRow();
}
bShoulderBlocked = false;
}
function state_SuperThrow_init() {
bAttackDontHit = true;
nSpdX = 0;
}
function state_SuperThrow() {
mcRef.mcState.mcRock.gotoAndStop(oController.getLevel());
if (mcRef.mcState._currentframe < fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch) {
oOpponent.setIncomingAttack(setBigRockAttackData());
}
if (mcRef.mcState._currentframe == 3) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:1, nMaxStr:5, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.5});
} else if (mcRef.mcState._currentframe == 13) {
oScreenShaker.setShake({sAxis:"X", nStartStr:15, nMaxStr:15, nTimeMaxStr:0, nStrIn:1.5, nStrOut:8});
oScreenShaker.setShake({sAxis:"Y", nStartStr:15, nMaxStr:15, nTimeMaxStr:0, nStrIn:1.5, nStrOut:8});
} else if (mcRef.mcState._currentframe == fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch) {
launchBigRock();
} else if (stateFinished()) {
setState("Idle");
}
}
function state_Pulled() {
}
function state_Hurt() {
if (stateFinished()) {
setState("EndHurt");
}
}
function state_EndHurt() {
if (stateFinished()) {
setState("Idle");
}
}
function state_PropelUpHurt() {
if (stateFinished()) {
setState("PropelUpStartFall");
}
}
function state_PropelUpStartFall() {
if (stateFinished()) {
setState("PropelUpFall");
}
}
function state_PropelUpFall() {
}
function state_PropelUpCrash_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:7, nMaxStr:7, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_PropelUpCrash() {
if (stateFinished()) {
if (nHealth > 0) {
setState("GetUp");
} else {
setState("Die");
}
}
}
function state_PropelBackHurt() {
if (stateFinished()) {
setState("PropelBackStartFall");
}
}
function state_PropelBackStartFall() {
if (stateFinished()) {
setState("PropelBackFall");
}
}
function state_PropelBackFall() {
}
function state_PropelBackCrash_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:4, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_PropelBackCrash() {
if (stateFinished()) {
if (nHealth > 0) {
setState("GetUp");
} else {
setState("Die");
}
}
}
function state_HurtWall_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:4, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_HurtWall() {
if (stateFinished()) {
setState("HurtWallSlide");
}
}
function state_HurtWallSlide() {
}
function state_HurtWallLand() {
if (stateFinished()) {
setState("EndHurtWall");
}
}
function state_EndHurtWall() {
if (stateFinished()) {
setState("Idle");
}
}
function state_GetUp() {
if (stateFinished()) {
oBackground.switchToLagMode();
setState("EndGetUp");
}
}
function state_EndGetUp() {
if (stateFinished()) {
oBackground.switchToLagMode();
setState("Idle");
}
}
function state_Win_init() {
oController.showWinFightPopup();
}
function state_Win() {
if (stateFinished()) {
oController.pause();
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Player(oInstance));
}
function createHud() {
var _local2 = {oOwner:this, sName:"oHud", mcRef:oController.mcTimeline.mcGame.mcHud.mcPlayerHud, sStateAtStart:"ShowHealth"};
oHud = new com.disney.gem.games.SavingTheDay.game_obj.PlayerHud(_local2);
}
function reactToControls() {
switch (sState) {
case "StartRun" :
case "Run" :
if ((sDirection == "Right") && (oControls.bRightPress == false)) {
setState("EndRun");
} else if ((sDirection == "Left") && (oControls.bLeftPress == false)) {
setState("EndRun");
}
break;
case "Crouched" :
if (oControls.bDownPress == false) {
setState("EndCrouch");
}
break;
}
if ((oControls.bActionPress == true) and (oControls.bActionRelease == true)) {
if ((((sState == "StartJump") || (sState == "Jump")) || (sState == "StartFall")) || (sState == "Fall")) {
setState("StartJumpKick");
} else if (oControls.bDownPress == true) {
setState("CrouchPunch");
} else {
setState("Punch");
}
} else if ((oControls.bUpPress == true) && (oControls.bUpRelease == true)) {
checkOpponentSide(false);
setState("StartJump");
} else if (oControls.bDownPress == true) {
setState("StartCrouch");
} else if ((oControls.bRightPress == true) and (oControls.bLeftPress == false)) {
if (sDirection == "Right") {
setState("StartRun");
} else {
setState("MoveBack");
}
} else if ((oControls.bLeftPress == true) and (oControls.bRightPress == false)) {
if (sDirection == "Left") {
setState("StartRun");
} else {
setState("MoveBack");
}
}
}
function checkToBlock(_sAttackType) {
if (fDataClassDefinition.oCAN_BLOCK_STATES_DATA[sState] == true) {
var _local5 = checkFacingOpponent();
if (_local5 == true) {
if (((sDirection == "Right") && (oControls.bLeftPress == true)) || ((sDirection == "Left") && (oControls.bRightPress == true))) {
var _local4 = oOpponent.setHitZone(_sAttackType);
var _local3 = checkInHitZone(_local4);
if (_local3) {
switch (_sAttackType) {
case "Roll" :
if (oOpponent.sDirection == "Right") {
if (nLeftHitBorder <= (oOpponent.nPosX + (oOpponent.nSpdX * 8))) {
nSpdX = 0;
setState("StartBlock");
}
} else if (nRightHitBorder >= (oOpponent.nPosX + (oOpponent.nSpdX * 8))) {
nSpdX = 0;
setState("StartBlock");
}
break;
case "JumpKick" :
nSpdX = 0;
setState("StartBlock");
break;
default :
if (oOpponent.checkCanBlockFr(_sAttackType) != true) {
break;
}
nSpdX = 0;
setState("StartBlock");
}
} else {
switch (_sAttackType) {
case "JumpKick" :
case "JumpScratch" :
case "SlidingSlash" :
nSpdX = 0;
setState("StartBlock");
break;
}
}
}
}
}
}
function checkToBlockRedBeam(_oRedBeam) {
if (fDataClassDefinition.oCAN_BLOCK_STATES_DATA[sState] == true) {
var _local2 = false;
if (sDirection != _oRedBeam.sDirection) {
_local2 = true;
}
if (_oRedBeam) {
if (((sDirection == "Right") && (oControls.bLeftPress == true)) || ((sDirection == "Left") && (oControls.bRightPress == true))) {
if (Math.abs(nPosX - _oRedBeam.nPosX) <= oOpponent.fDataClassDefinition.oATTACK_DATA.RedBeam.nDistToBlock) {
nSpdX = 0;
setState("StartBlock");
}
}
}
}
}
function checkEndToBlock(_sAttackType) {
if ((sState == "StartBlock") || (sState == "Block")) {
if (oOpponent.checkCanEndBlock(_sAttackType)) {
setState("EndBlock");
}
}
}
function getHit(_sAttackType) {
var _local4 = oOpponent.fDataClassDefinition.oATTACK_DATA[_sAttackType].bCantBeBlock;
if ((_local4 == true) && (sState == "Block")) {
looseHealth(_sAttackType, "Half");
resetComboInRow();
}
if ((_local4 != true) && ((((sState == "StartBlock") || (sState == "Block")) || (sState == "BlockHit")) || (sState == "EndBlock"))) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nBlockPropelSpdX;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if (sState == "BlockHit") {
mcRef.mcState.gotoAndPlay(1);
} else {
setState("BlockHit");
}
} else {
checkLaunchRockAtGetHit();
if ((_sAttackType == "Slam") || (_sAttackType == "Spin")) {
oController.playSfx(["HitMetal1", "HitMetal2", "HitMetal3"]);
oController.playSfx(["HitMetal1", "HitMetal2", "HitMetal3"]);
} else if (_sAttackType == "EnergyPunch") {
oController.playSfx(["ElectricSpark3"]);
}
looseHealth(_sAttackType, "Full");
resetComboInRow();
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].bDontAffectDirection != true) {
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].bPropelInvert == true) {
if (oOpponent.sDirection == "Right") {
if (sDirection == "Left") {
changeDirection();
}
} else if (sDirection == "Right") {
changeDirection();
}
} else if (oOpponent.sDirection == "Right") {
if (sDirection == "Right") {
changeDirection();
}
} else if (sDirection == "Left") {
changeDirection();
}
}
var _local3 = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].sGetHitState;
if (_local3 != "Hurt") {
oBackground.setItemToShow(this);
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag != undefined) {
oBackground.switchToLagMode(fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag);
} else {
oBackground.switchToLagMode();
}
}
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdX;
nSpdY = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdY;
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe] != undefined) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe];
}
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if ((_local3 == "Hurt") && (sState == "Hurt")) {
mcRef.mcState.gotoAndPlay(1);
} else {
if ((_local3 == "Hurt") && ((((((((nHealth <= 0) || (sState == "StartJump")) || (sState == "Jump")) || (sState == "StartFall")) || (sState == "Fall")) || (sState == "StartJumpKick")) || (sState == "EndJumpKick")) || (sState == "JumpKickBlock"))) {
_local3 = "PropelUpHurt";
}
setState(_local3);
}
}
if (nHealth <= 0) {
oOpponent.lockControls();
}
oOpponent.clearIncomingAttack();
}
function checkLaunchRockAtGetHit() {
if ((sState == "SuperThrow") && (mcRef.mcState.mcRock != undefined)) {
var _local2 = {nScaleX:100, nScaleY:100, nPosY:nPosY + mcRef.mcState.mcRock._x, sAttachName:"mcBigRock" + nIndexRockName, sItemClass:"BigRock", sItemLinkage:"BigRockLvl" + oController.getLevel(), sType:"BigRock", sName:"oBigRock" + nIndexRockName, sStateAtStart:"Explode", nBaseSpdX:0, bActivatedItem:false, bLiveAttachItem:true, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true};
if (sDirection == "Right") {
_local2.nPosX = nPosX + mcRef.mcState.mcRock._x;
_local2.sDirection = "Right";
} else {
_local2.nPosX = nPosX - mcRef.mcState.mcRock._x;
_local2.sDirection = "Left";
}
nIndexRockName++;
oGameScreen.createGameObject(_local2);
}
}
function setJumpKickBlock() {
nSpdX = nSpdX * -1;
nSpdY = nSpdY * -1;
setState("JumpKickBlock");
}
function setPropelHurt(_nPropulsionStrX, _nPropulsionStrY) {
if (oOpponent.sDirection == "Right") {
if (sDirection == "Right") {
changeDirection();
}
nSpdX = _nPropulsionStrX;
} else {
if (sDirection == "Left") {
changeDirection();
}
nSpdX = -_nPropulsionStrX;
}
if (_nPropulsionStrY != 0) {
nSpdY = _nPropulsionStrY;
setState("PropelUpHurt");
} else {
setState("PropelBackHurt");
}
}
function setSpdX() {
switch (sState) {
case "Idle" :
case "PropelUpCrash" :
nSpdX = 0;
break;
case "PropelUpHurt" :
case "PropelUpStartFall" :
case "ProperUpFall" :
case "PropelBackHurt" :
case "PropelBackStartFall" :
case "ProperBackFall" :
break;
case "StartRun" :
case "Run" :
if (sDirection == "Right") {
if (nSpdX < nMaxRunSpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxRunSpd) {
nSpdX = nMaxRunSpd;
}
} else if (nSpdX > (-nMaxRunSpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxRunSpd)) {
nSpdX = -nMaxRunSpd;
}
break;
case "StartJump" :
case "Jump" :
case "StartFall" :
case "Fall" :
if ((oControls.bRightPress == true) and (oControls.bLeftPress == false)) {
if (nSpdX == 0) {
nSpdX = nMinJumpSpdX;
} else if (nSpdX < 0) {
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX > 0) {
nSpdX = 0;
}
} else if (nSpdX < nMaxJumpSpdX) {
nSpdX = nSpdX + nSpdXAcceleration;
if (nSpdX > nMaxJumpSpdX) {
nSpdX = nMaxJumpSpdX;
}
} else if (nSpdX > nMaxJumpSpdX) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < nMaxJumpSpdX) {
nSpdX = nMaxJumpSpdX;
}
}
} else if ((oControls.bRightPress == false) and (oControls.bLeftPress == true)) {
if (nSpdX == 0) {
nSpdX = -nMinJumpSpdX;
} else if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else if (nSpdX > (-nMaxJumpSpdX)) {
nSpdX = nSpdX - nSpdXAcceleration;
if (nSpdX < (-nMaxJumpSpdX)) {
nSpdX = -nMaxJumpSpdX;
}
} else if (nSpdX < (-nMaxJumpSpdX)) {
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX > (-nMaxJumpSpdX)) {
nSpdX = -nMaxJumpSpdX;
}
}
} else if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else if (nSpdX < 0) {
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX > 0) {
nSpdX = 0;
}
}
break;
case "ShoulderTackle" :
if (bShoulderBlocked) {
if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else if (nSpdX < 0) {
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX > 0) {
nSpdX = 0;
}
}
} else {
nSpdX = nSpdX / fDataClassDefinition.oATTACK_DATA.ShoulderTackle.nDeceleration;
if (nSpdX > 0) {
if (nSpdX < 1) {
nSpdX = 0;
}
} else if (nSpdX < 0) {
if (nSpdX > -1) {
nSpdX = 0;
}
}
}
break;
case "Pulled" :
if (sDirection == "Right") {
nSpdX = nPulledSpd;
} else {
nSpdX = -nPulledSpd;
}
break;
default :
if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else {
if (nSpdX >= 0) {
break;
}
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX <= 0) {
break;
}
nSpdX = 0;
}
}
nSpdX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdX);
}
function setSpdY() {
switch (sState) {
case "Pulled" :
var _local3 = Math.abs(oOpponent.nPosY - nPosY);
var _local4 = Math.abs(oOpponent.nPosX - nPosX);
var _local2 = (_local3 / _local4) + 0.5;
nSpdY = Math.abs(nPulledSpd) * _local2;
break;
default :
if (nSpdY == 0) {
nSpdY = nMinFallSpdY;
} else if (nSpdY < 0) {
nSpdY = nSpdY / nJumpSpdYDeceleration;
if (nSpdY >= nMinJumpSpdY) {
setState("StartFall");
nSpdY = 0;
}
} else {
if (nSpdY >= nMaxFallSpdY) {
break;
}
nSpdY = nSpdY * nFallSpdYAcceleration;
if (nSpdY <= nMaxFallSpdY) {
break;
}
nSpdY = nMaxFallSpdY;
}
}
nSpdY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdY);
}
function launchComboAttack(_sComboType) {
if (_sComboType != "SuperThrow") {
oOpponent.setIncomingAttack(setAttackData(_sComboType));
}
switch (_sComboType) {
case "RapidPunch" :
setState("RapidPunch");
break;
case "BackflipKick" :
setState("BackflipKick");
break;
case "HyperUppercut" :
setState("HyperUppercut");
break;
case "ProximityAttack" :
setState("ProximityAttack");
break;
case "ShoulderTackle" :
setState("ShoulderTackle");
break;
case "SuperThrow" :
setState("SuperThrow");
break;
}
}
function setHitGround() {
nSpdY = 0;
if ((sState == "PropelUpStartFall") || (sState == "PropelUpFall")) {
setState("PropelUpCrash");
} else if ((sState == "PropelBackStartFall") || (sState == "PropelBackFall")) {
setState("PropelBackCrash");
} else if (sState == "HurtWallSlide") {
setState("HurtWallLand");
} else {
setState("Land");
}
}
function setHitWall() {
if (((sState == "PropelBackHurt") || (sState == "PropelBackStartFall")) || (sState == "PropelBackFall")) {
oScreenShaker.setShake({sAxis:"X", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
oScreenShaker.setShake({sAxis:"Y", nStartStr:10, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
if (nHealth > 0) {
setState("HurtWall");
} else {
setState("PropelBackCrash");
}
}
nSpdX = 0;
}
function calculSlidingDist(_sAttackType, _nSlideSpd) {
var _local5 = fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrHit.nReachDestFr;
var _local4 = 0;
var _local3;
var _local6 = 0;
while ((_nSlideSpd > 0) && ((_local6 < _local5) || (_local5 == undefined))) {
switch (sState) {
case "ShoulderTackle" :
if (bShoulderBlocked) {
_local3 = 0;
_nSlideSpd = _nSlideSpd - nSpdXDeceleration;
} else {
_local3 = 1;
_nSlideSpd = _nSlideSpd / fDataClassDefinition.oATTACK_DATA.ShoulderTackle.nDeceleration;
_nSlideSpd = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(_nSlideSpd);
}
break;
default :
_local3 = 0;
_nSlideSpd = _nSlideSpd - nSpdXDeceleration;
}
_local4 = _local4 + _nSlideSpd;
if (_nSlideSpd < _local3) {
_local4 = _local4 - _nSlideSpd;
_nSlideSpd = 0;
}
_local6++;
}
return(_local4);
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
switch (_oMovingItem.sType) {
case "RedBeam" :
if (fDataClassDefinition.oCANT_BE_HIT_DATA[getState()] != true) {
var _local2 = checkAttackCanHit("RedBeam");
if (_local2 == true) {
getHit("RedBeam");
}
_oMovingItem.doHit(sColliderType);
}
break;
default :
}
}
function setBigRockAttackData() {
var _local2 = new Object();
_local2.sAttackType = "SuperThrow";
_local2.sDirection = sDirection;
_local2.nFrAttack = mcRef.mcState._currentframe;
if (sDirection == "Right") {
_local2.nRockPosX = nPosX + fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockDistX;
} else {
_local2.nRockPosX = nPosX - fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockDistX;
}
_local2.nRockSpdX = fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockSpdX;
_local2.nRockHitDist = fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockHitDist;
return(_local2);
}
function launchBigRock() {
var _local2 = {nScaleX:100, nScaleY:100, nPosY:nPosY + fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockDistY, sAttachName:"mcBigRock" + nIndexRockName, sItemClass:"BigRock", sItemLinkage:"BigRockLvl" + oController.getLevel(), sType:"BigRock", sName:"oBigRock" + nIndexRockName, nBaseSpdX:fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockSpdX, bActivatedItem:false, bLiveAttachItem:true, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true};
if (sDirection == "Right") {
_local2.nPosX = nPosX + fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockDistX;
_local2.sDirection = "Right";
} else {
_local2.nPosX = nPosX - fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockDistX;
_local2.sDirection = "Left";
}
nIndexRockName++;
oGameScreen.createGameObject(_local2);
}
function lockControls() {
oControls.lockControls();
}
function unlockControls() {
oControls.unlockControls();
}
function onUpdate() {
if (oOpponent == undefined) {
oOpponent = fDataClassDefinition.setOpponent(oController.getLevel());
}
reactToControls();
setSpdX();
setSpdY();
setMaxMove();
makeMoving();
if (sState == "Pulled") {
oOpponent.setBeamWidth();
}
checkOpponentSide();
super.onUpdate();
}
function onAttackHurt(_sAttackType) {
var _local2;
if (fDataClassDefinition.oATTACK_DATA[_sAttackType].sValueType == "Basic") {
resetComboInRow();
_local2 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oPTS_DATA.BasicAttack;
} else {
nNbCombosHurt++;
if (nNbCombosHurt > nMaxCombosHurt) {
nNbCombosHurt = nMaxCombosHurt;
}
_local2 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oPTS_DATA["ComboAttack" + nNbCombosHurt];
}
oController.increaseScore(_local2);
oHud.showScore();
checkToUnlockMove();
}
function winRound() {
nNbRoundsWon++;
oController.playSfx(["WinRound1"]);
oHud.showRoundsWon();
if (nNbRoundsWon == com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_ROUNDS_TO_WIN) {
bWinFight = true;
}
if (nNbRoundsWon == com.disney.gem.games.SavingTheDay.game_data.GeneralData.nNB_ROUNDS_TO_WIN) {
addPtsOnWin("Level");
} else {
addPtsOnWin("Round");
}
return(bWinFight);
}
function addPtsOnWin(_sWinType) {
var _local2;
if (_sWinType == "Round") {
_local2 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oPTS_DATA.WinRound;
} else {
_local2 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oPTS_DATA.WinLevel;
}
oController.increaseScore(_local2);
oHud.showScore();
checkToUnlockMove();
}
function recieveTimeBonus(_nTimeBonus) {
oController.increaseScore(_nTimeBonus);
oHud.showScore();
checkToUnlockMove();
}
function resetComboInRow() {
nNbCombosHurt = 0;
}
function checkToUnlockMove() {
if (fDataClassDefinition.oCOMBOS_DATA.CombosLock.SuperThrow) {
var _local2 = false;
var _local3 = oController.getScore();
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.SuperThrow.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.SuperThrow)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.SuperThrow = false;
_local2 = true;
}
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.ShoulderTackle.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.ShoulderTackle)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.ShoulderTackle = false;
_local2 = true;
}
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.ProximityAttack.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.ProximityAttack)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.ProximityAttack = false;
_local2 = true;
}
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.HyperUppercut.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.HyperUppercut)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.HyperUppercut = false;
_local2 = true;
}
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.BackflipKick.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.BackflipKick)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.BackflipKick = false;
_local2 = true;
}
if ((_local3 >= fDataClassDefinition.oATTACK_DATA.RapidPunch.nUnlockPts) && (fDataClassDefinition.oCOMBOS_DATA.CombosLock.RapidPunch)) {
fDataClassDefinition.oCOMBOS_DATA.CombosLock.RapidPunch = false;
_local2 = true;
}
if (_local2) {
oController.playSfx(["UnlockMove2"]);
oController.showMoveUnlockPopup();
oController.updateUnlockData();
}
}
}
function deleteObject() {
oControls.deleteObject();
super.deleteObject();
}
}
Symbol 2466 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.CtrlsDispatcher] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.CtrlsDispatcher
{
function CtrlsDispatcher () {
}
static function setControls(_oCharacter) {
var _local1;
switch (_oCharacter.sType) {
case "Player" :
_local1 = new com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.PlayerControls("oControls", _oCharacter);
break;
default :
}
return(_local1);
}
}
Symbol 2467 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.PlayerControls] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.character_ctrls.PlayerControls
{
var oController, oPlayer, sName, oOwner, bControlsLock, nRightKey, nLeftKey, nUpKey, nDownKey, nActionKey, bRightPress, bRightRelease, bLeftPress, bLeftRelease, bUpPress, bUpRelease, bDownPress, bDownRelease, bActionPress, bActionRelease, bComboRightPress, bComboRightRelease, bComboLeftPress, bComboLeftRelease, bComboUpPress, bComboUpRelease, bComboDownPress, bComboDownRelease, bComboActionPress, bComboActionRelease, sComboSet, nIndexInCombo, nMaxTimeBetweenKeys, nTimeForNextKey, oCombosData;
function PlayerControls (_sName, _oOwner) {
oController = com.disney.gem.games.SavingTheDay.Controller.getInstance();
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
sName = _sName;
oOwner = _oOwner;
bControlsLock = false;
nRightKey = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oKEYS_DATA.nRIGHT_KEY;
nLeftKey = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oKEYS_DATA.nLEFT_KEY;
nUpKey = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oKEYS_DATA.nUP_KEY;
nDownKey = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oKEYS_DATA.nDOWN_KEY;
nActionKey = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oKEYS_DATA.nACTION_KEY;
bRightPress = false;
bRightRelease = true;
bLeftPress = false;
bLeftRelease = true;
bUpPress = false;
bUpRelease = true;
bDownPress = false;
bDownRelease = true;
bActionPress = false;
bActionRelease = true;
bComboRightPress = false;
bComboRightRelease = true;
bComboLeftPress = false;
bComboLeftRelease = true;
bComboUpPress = false;
bComboUpRelease = true;
bComboDownPress = false;
bComboDownRelease = true;
bComboActionPress = false;
bComboActionRelease = true;
sComboSet = "";
nIndexInCombo = 0;
nMaxTimeBetweenKeys = 5;
nTimeForNextKey = 0;
copyCombosData();
oController.oMainBroadcaster.addListener(this);
}
function copyCombosData() {
oCombosData = new Object();
oCombosData.RightCombos = new Object();
for (var _local3 in com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.RightCombos) {
oCombosData.RightCombos[com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.RightCombos[_local3].sName] = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.RightCombos[_local3];
}
oCombosData.LeftCombos = new Object();
for (var _local2 in com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.LeftCombos) {
oCombosData.LeftCombos[com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.LeftCombos[_local2].sName] = com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.LeftCombos[_local2];
}
}
function controlKeys() {
if (bControlsLock == false) {
if (Key.isDown(nRightKey)) {
if (bRightPress == false) {
bRightPress = true;
validateKeyInCombo("RIGHT");
} else {
bRightRelease = false;
}
} else {
bRightPress = false;
bRightRelease = true;
}
if (Key.isDown(nLeftKey)) {
if (bLeftPress == false) {
bLeftPress = true;
validateKeyInCombo("LEFT");
} else {
bLeftRelease = false;
}
} else {
bLeftPress = false;
bLeftRelease = true;
}
if (Key.isDown(nUpKey)) {
if (bUpPress == false) {
bUpPress = true;
validateKeyInCombo("UP");
} else {
bUpRelease = false;
}
} else {
bUpPress = false;
bUpRelease = true;
}
if (Key.isDown(nDownKey)) {
if (bDownPress == false) {
bDownPress = true;
validateKeyInCombo("DOWN");
} else {
bDownRelease = false;
}
} else {
bDownPress = false;
bDownRelease = true;
}
if (Key.isDown(nActionKey)) {
if (bActionPress == false) {
bActionPress = true;
validateKeyInCombo("ACTION");
} else {
bActionRelease = false;
}
} else {
bActionPress = false;
bActionRelease = true;
}
} else {
resetControls();
}
}
function controlCombosCreation() {
if (nTimeForNextKey > 0) {
nTimeForNextKey--;
if (nTimeForNextKey == 0) {
resetCombosCreation();
}
}
}
function validateKeyInCombo(_sKey) {
var _local2 = 0;
if (oPlayer.sDirection == "Right") {
if (sComboSet == "LeftCombos") {
resetCombosCreation();
}
sComboSet = "RightCombos";
} else {
if (sComboSet == "RightCombos") {
resetCombosCreation();
}
sComboSet = "LeftCombos";
}
for (var _local4 in oCombosData[sComboSet]) {
if ((oCombosData[sComboSet][_local4].aKeysDefinition[nIndexInCombo] == _sKey) and (oCombosData[sComboSet][_local4].bComboInProgress == true)) {
_local2++;
} else {
oCombosData[sComboSet][_local4].bComboInProgress = false;
}
}
if (_local2 > 0) {
advanceInCombos(sComboSet);
} else {
resetCombosCreation();
}
}
function advanceInCombos(_sComboSet) {
nIndexInCombo++;
nTimeForNextKey = nMaxTimeBetweenKeys;
for (var _local3 in oCombosData[_sComboSet]) {
if (((oCombosData[_sComboSet][_local3].aKeysDefinition[nIndexInCombo] == undefined) and (oCombosData[_sComboSet][_local3].bComboInProgress == true)) and (oPlayer.fDataClassDefinition.oCOMBOS_DATA.CombosLock[oCombosData[_sComboSet][_local3].sName] == false)) {
oPlayer.launchComboAttack(oCombosData[_sComboSet][_local3].sName);
resetCombosCreation();
}
}
}
function resetCombosCreation() {
nIndexInCombo = 0;
nTimeForNextKey = 0;
for (var _local3 in oCombosData.RightCombos) {
oCombosData.RightCombos[_local3].bComboInProgress = true;
}
for (var _local2 in oCombosData.LeftCombos) {
oCombosData.LeftCombos[_local2].bComboInProgress = true;
}
}
function resetControls() {
bRightPress = false;
bRightRelease = true;
bLeftPress = false;
bLeftRelease = true;
bUpPress = false;
bUpRelease = true;
bDownPress = false;
bDownRelease = true;
bActionPress = false;
bActionRelease = true;
}
function onUpdate() {
controlKeys();
controlCombosCreation();
}
function lockControls() {
bControlsLock = true;
}
function unlockControls() {
bControlsLock = false;
}
function onUpdatePaused() {
}
function deleteObject() {
delete oOwner[sName];
oController.oMainBroadcaster.removeListener(this);
}
}
Symbol 2468 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData
{
function PlayerData () {
}
static function setOpponent(_nCurrentLevel) {
var _local1;
switch (_nCurrentLevel) {
case 1 :
_local1 = com.disney.gem.games.SavingTheDay.game_obj.Omnidroid.giveReference();
break;
case 2 :
_local1 = com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference();
break;
case 3 :
_local1 = com.disney.gem.games.SavingTheDay.game_obj.Underminer.giveReference();
break;
}
return(_local1);
}
static var oKEYS_DATA = {nRIGHT_KEY:39, nLEFT_KEY:37, nUP_KEY:38, nDOWN_KEY:40, nACTION_KEY:32};
static var oCHANGE_STATE_DATA = {Idle:{StartBlock:true, BlockHit:true, StartRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true, Win:true}, StartBlock:{Block:true, BlockHit:true, EndBlock:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Block:{BlockHit:true, EndBlock:true, StartCrouch:true, StartJump:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndBlock:{Idle:true, StartBlock:true, BlockHit:true, StartRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, BlockHit:{Block:true, EndBlock:true}, StartRun:{StartBlock:true, BlockHit:true, Run:true, EndRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, Run:{StartBlock:true, BlockHit:true, EndRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, EndRun:{StartBlock:true, BlockHit:true, Idle:true, StartRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, MoveBack:{StartBlock:true, BlockHit:true, Idle:true, StartRun:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, StartCrouch:{Crouched:true, StartRun:true, MoveBack:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, Crouched:{EndCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, EndCrouch:{Idle:true, StartRun:true, StartCrouch:true, MoveBack:true, StartJump:true, StartBlock:true, BlockHit:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, StartJump:{StartJumpKick:true, Jump:true, StartFall:true, Pulled:true, PropelUpHurt:true, PropelBackHurt:true}, Jump:{StartJumpKick:true, StartFall:true, Pulled:true, PropelUpHurt:true, PropelBackHurt:true}, StartFall:{StartJumpKick:true, Fall:true, Pulled:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, Fall:{StartJumpKick:true, Pulled:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, Land:{StartBlock:true, BlockHit:true, Idle:true, StartRun:true, MoveBack:true, StartJump:true, StartCrouch:true, MoveBack:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, Kick:true, CrouchPunch:true}, Pulled:{Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Idle:true}, Hurt:{EndHurt:true}, EndHurt:{Idle:true, PropelUpHurt:true, PropelBackHurt:true, PropelBackCrash:true, Die:true}, PropelUpHurt:{PropelUpStartFall:true}, PropelUpStartFall:{PropelUpFall:true, PropelUpCrash:true}, PropelUpFall:{PropelUpCrash:true}, PropelUpCrash:{GetUp:true, Die:true}, PropelBackHurt:{HurtWall:true, PropelBackStartFall:true}, PropelBackStartFall:{HurtWall:true, PropelBackFall:true, PropelBackCrash:true}, PropelBackFall:{HurtWall:true, PropelBackCrash:true}, PropelBackCrash:{GetUp:true, Die:true}, HurtWall:{HurtWallSlide:true}, HurtWallSlide:{HurtWallLand:true}, HurtWallLand:{EndHurtWall:true}, EndHurtWall:{Idle:true, StartBlock:true, BlockHit:true, StartRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true, Win:true}, GetUp:{EndGetUp:true}, EndGetUp:{Idle:true, StartBlock:true, BlockHit:true, StartRun:true, MoveBack:true, StartCrouch:true, StartJump:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Punch:true, CrouchPunch:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true, Win:true}, StartJumpKick:{EndJumpKick:true, JumpKickBlock:true, Land:true, Pulled:true, PropelUpHurt:true, PropelBackHurt:true}, EndJumpKick:{JumpKickBlock:true, Land:true, Pulled:true, PropelUpHurt:true, PropelBackHurt:true}, JumpKickBlock:{Pulled:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, Punch:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, RapidPunch:true}, CrouchPunch:{Crouched:true, EndCrouch:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, RapidPunch:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, BackflipKick:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, HyperUppercut:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, ProximityAttack:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, ShoulderTackle:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, SuperThrow:{Idle:true, Pulled:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Die:{Dead:true, WaitForHealth:true}, WaitForHealth:{Rebirth:true}, Rebirth:{Idle:true}};
static var oMAX_HEALTH_DATA = {nMaxEasy:200, nMaxMed:150, nMaxHard:100};
static var sStartDirection = "Right";
static var oBORDERS_SETS_DATA = {StartCrouch:"Crouched", Crouched:"Crouched", CrouchPunch:"Crouched"};
static var oCHANGE_DIRECTION_DATA = {Idle:true, StartRun:true, EndRun:true, StartCrouch:true, Land:true, StartBlock:true, Block:true, BlockHit:true, EndBlock:true};
static var oCAN_BLOCK_STATES_DATA = {Idle:true, StartRun:true, Run:true, EndRun:true, MoveBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true, EndGetUp:true, EndHurtWall:true};
static var oCANT_BE_HIT_DATA = {Hurt:true, EndHurt:true, PropelUpHurt:true, PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true, PropelBackHurt:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true, HurtWall:true, HurtWallSlide:true, HurtWallLand:true, EndHurtWall:true, GetUp:true, Die:true, WaitForHealth:true, Rebirth:true, Dead:true, oExceptions:{RapidPunch:{Hurt:true}}, oOnAttack:{Crush:{JumpKick:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, SuperThrow:true}, Slam:{CrouchPunch:true, BackflipKick:true, ProximityAttack:true, ShoulderTackle:true}, Stomp:{HyperUppercut:true}, Spin:{BackflipKick:true, ProximityAttack:true, ShoulderTackle:true}, Roll:{HyperUppercut:true, ShoulderTackle:true}, EnergyBlast:{CrouchPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, EnergyPunch:{JumpKick:true, BackflipKick:true, ProximityAttack:true, SuperThrow:true}, EnergyBurst:{BackflipKick:true}, JumpKick:{JumpKick:true, BackflipKick:true, HyperUppercut:true, SuperThrow:true}, TractorBeam:{Punch:true, CrouchPunch:true, JumpKick:true, RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true}, RedBeam:{JumpKick:true, BackflipKick:true, ShoulderTackle:true}, Slash:{JumpKick:true, BackflipKick:true, HuperUppercut:true, ProximityAttack:true, ShoulderTackle:true}, PropelClaw:{CrouchPunch:true, RapidPunch:true, ProximityAttack:true}, JumpScratch:{BackflipKick:true, HuperUppercut:true, SuperThrow:true}, EarthBend:{JumpKick:true, SuperThrow:true}, Drill:{}, SlidingSlash:{HuperUppercut:true, ProximityAttack:true}}};
static var oSPEEDS_DATA = {nMaxRunSpd:20, nMinRunSpd:1, nSpdXAcceleration:2, nSpdXDeceleration:2, nMaxMoveBackSpd:25, nMaxJumpSpdX:12, nMinJumpSpdX:1, nMaxJumpSpdY:-150, nMinJumpSpdY:-1, nMaxFallSpdY:40, nMinFallSpdY:1};
static var oCOMBOS_DATA = {CombosLock:{RapidPunch:true, BackflipKick:true, HyperUppercut:true, ProximityAttack:true, ShoulderTackle:true, SuperThrow:true}, RightCombos:{RapidPunch:{sName:"RapidPunch", bComboInProgress:true, aKeysDefinition:["RIGHT", "RIGHT", "RIGHT", "ACTION"]}, BackflipKick:{sName:"BackflipKick", bComboInProgress:true, aKeysDefinition:["LEFT", "ACTION"]}, HyperUppercut:{sName:"HyperUppercut", bComboInProgress:true, aKeysDefinition:["DOWN", "RIGHT", "ACTION"]}, ProximityAttack:{sName:"ProximityAttack", bComboInProgress:true, aKeysDefinition:["DOWN", "DOWN", "ACTION"]}, ShoulderTackle:{sName:"ShoulderTackle", bComboInProgress:true, aKeysDefinition:["RIGHT", "RIGHT", "ACTION"]}, SuperThrow:{sName:"SuperThrow", bComboInProgress:true, aKeysDefinition:["LEFT", "DOWN", "RIGHT", "ACTION"]}}, LeftCombos:{RapidPunch:{sName:"RapidPunch", bComboInProgress:true, aKeysDefinition:["LEFT", "LEFT", "LEFT", "ACTION"]}, BackflipKick:{sName:"BackflipKick", bComboInProgress:true, aKeysDefinition:["RIGHT", "ACTION"]}, HyperUppercut:{sName:"HyperUppercut", bComboInProgress:true, aKeysDefinition:["DOWN", "LEFT", "ACTION"]}, ProximityAttack:{sName:"ProximityAttack", bComboInProgress:true, aKeysDefinition:["DOWN", "DOWN", "ACTION"]}, ShoulderTackle:{sName:"ShoulderTackle", bComboInProgress:true, aKeysDefinition:["LEFT", "LEFT", "ACTION"]}, SuperThrow:{sName:"SuperThrow", bComboInProgress:true, aKeysDefinition:["RIGHT", "DOWN", "LEFT", "ACTION"]}}};
static var oATTACK_REACT_DATA = {Slam:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:20, nPropelSpdX:30, nPropelSpdY:-350, nCamLag:4}, Spin:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:10, nPropelSpdX:30, nPropelSpdY:0, nCamLag:4}, Crush:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:15, nPropelSpdX:10, nPropelSpdY:-20}, Stomp:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:0, nPropelSpdY:-60, bDontAffectDirection:true}, Roll:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:-60}, EnergyBlast:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, EnergyPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, EnergyBurst:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:20, nPropelSpdX:20, nPropelSpdY:-60, bDontAffectDirection:true}, JumpKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, TractorBeam:{sGetHitState:"Pulled", nBlockPropelSpdX:0, nPropelSpdX:0, nPropelSpdY:0}, RedBeam:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, Slash:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, PropelClaw:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:15, nPropelSpdY:-300, nCamLag:7}, JumpScratch:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0, bPropelInvert:true}, EarthBend:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:-30}, Drill:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:5, nPropelSpdX:5, nPropelSpdY:-50}, SlidingSlash:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:15, nPropelSpdY:-300, nCamLag:7}};
static var oATTACK_DATA = {Punch:{sAttackType:"Punch", sValueType:"Basic", oFrHit:{Fr4:true, Fr5:true, nReachDestFr:5}, nNearXHit:0, nFarXHit:155, nNearYHit:-65, nFarYHit:-165, nDammage:5}, CrouchPunch:{sAttackType:"CrouchPunch", sValueType:"Basic", oFrHit:{Fr5:true, Fr6:true, nReachDestFr:6}, nNearXHit:0, nFarXHit:125, nNearYHit:0, nFarYHit:-98, nDammage:5}, JumpKick:{sAttackType:"JumpKick", sValueType:"Basic", nSpdX:25, nSpdY:0, oFrHit:{AllFrames:true, nReachDestFr:10}, nNearXHit:0, nFarXHit:73, nNearYHit:-21, nFarYHit:-45, nDammage:5}, RapidPunch:{sAttackType:"RapidPunch", sValueType:"Combo", oFrHit:{Fr3:true, Fr7:true, Fr11:true, Fr15:true, Fr19:true, Fr23:true, Fr27:true, Fr31:true, Fr35:true, nReachDestFr:35}, nNearXHit:0, nFarXHit:118, nNearYHit:-92, nFarYHit:-153, nDammage:2, nUnlockPts:500}, BackflipKick:{sAttackType:"BackflipKick", sValueType:"Combo", nFrSetSpd:6, nSpdX:25, oFrHit:{Fr10:true, Fr11:true}, nNearXHit:0, nFarXHit:162, nNearYHit:-115, nFarYHit:-250, nDammage:5, nUnlockPts:1000}, HyperUppercut:{sAttackType:"HyperUppercut", sValueType:"Combo", oFrHit:{Fr7:true, Fr8:true, Fr9:true, Fr10:true, Fr11:true, Fr12:true, Fr13:true, nReachDestFr:7}, nNearXHit:-35, nFarXHit:105, nNearYHit:-32, nFarYHit:-182, nDammage:15, nUnlockPts:2500}, ProximityAttack:{sAttackType:"ProximityAttack", sValueType:"Combo", oFrHit:{Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, Fr19:true, Fr20:true, Fr21:true, Fr22:true, Fr23:true, Fr24:true, nReachDestFr:14}, nNearXHit:-195, nFarXHit:195, nNearYHit:10, nFarYHit:-10, nDammage:15, nUnlockPts:4000}, ShoulderTackle:{sAttackType:"ShoulderTackle", sValueType:"Combo", nSpdX:200, nDeceleration:2, oFrHit:{Fr1:true, Fr2:true, Fr3:true, Fr4:true, Fr5:true, Fr6:true, Fr7:true, Fr8:true, nReachDestFr:8}, nNearXHit:0, nFarXHit:84, nNearYHit:0, nFarYHit:-115, nDammage:15, nUnlockPts:6000}, SuperThrow:{sAttackType:"SuperThrow", sValueType:"Combo", nFrLaunch:23, nRockDistX:159, nRockDistY:-98, nRockSpdX:40, nRockHitDist:70, nDammage:10, nUnlockPts:8000}};
}
Symbol 2469 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.ComputerCharacter] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.ComputerCharacter extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.Character
{
var bProximityAttackOn, bWinFight, oBackground, nPosX, setState, stateFinished, nHealth, oAI, oScreenShaker, mcRef, oOpponent, oController, sType, oHud, sState, looseHealth, fDataClassDefinition, nSpdX, sDirection, changeDirection, nSpdY, nRightBorder, nRightHitBorder, nLeftHitBorder, setMaxMove, makeMoving, checkOpponentSide;
function ComputerCharacter (_oItemData) {
super(_oItemData);
bProximityAttackOn = false;
createAI();
createHud();
lockControls();
}
function state_Idle() {
if (bWinFight) {
if ((oBackground.oItemToShow == this) && (oBackground.checkInGameScreen(nPosX) == true)) {
setState("Win");
}
}
}
function state_Hurt() {
if (stateFinished()) {
if (!bProximityAttackOn) {
setState("EndHurt");
}
}
}
function state_EndHurt() {
if (stateFinished()) {
if (nHealth > 0) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("Idle");
}
} else {
setState("Die");
}
}
}
function state_PropelUpHurt() {
if (stateFinished()) {
setState("PropelUpStartFall");
}
}
function state_PropelUpStartFall() {
if (stateFinished()) {
setState("PropelUpFall");
}
}
function state_PropelUpFall() {
}
function state_PropelUpCrash_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:7, nMaxStr:7, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_PropelUpCrash() {
if ((mcRef.mcState._currentframe == 16) && (nHealth > 0)) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
} else if (stateFinished()) {
if (nHealth > 0) {
setState("GetUp");
} else {
setState("Die");
}
}
}
function state_PropelBackHurt() {
if (stateFinished()) {
setState("PropelBackStartFall");
}
}
function state_PropelBackStartFall() {
if (stateFinished()) {
setState("PropelBackFall");
}
}
function state_PropelBackFall() {
}
function state_PropelBackCrash_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:4, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_PropelBackCrash() {
if ((mcRef.mcState._currentframe == 16) && (nHealth > 0)) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
} else if (stateFinished()) {
if (nHealth > 0) {
setState("GetUp");
} else {
setState("Die");
}
}
}
function state_HurtWall_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:4, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.5, nStrOut:1.7});
}
function state_HurtWall() {
if (stateFinished()) {
setState("HurtWallSlide");
}
}
function state_HurtWallSlide() {
}
function state_HurtWallLand() {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
if (stateFinished()) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("EndHurtWall");
}
}
}
function state_EndHurtWall() {
if (stateFinished()) {
setState("Idle");
}
}
function state_GetUp() {
if (stateFinished()) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("EndGetUp");
}
}
}
function state_EndGetUp() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartBlock() {
if (stateFinished()) {
setState("Block");
}
}
function state_BlockHit() {
if (stateFinished()) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("Block");
}
}
}
function state_Block() {
}
function state_EndBlock() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Rebirth() {
if (stateFinished()) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
lockControls();
oController.showStartFightPopup();
setState("Idle");
}
}
function state_Win_init() {
oController.showLoseFightPopup();
}
function state_Win() {
if (stateFinished()) {
oController.pause();
}
}
function createAI() {
var _local2 = com.disney.gem.games.SavingTheDay.game_data.ClassDefinitions.oClassPaths[sType + "AI"];
var _local3 = mx.utils.ClassFinder.findClass(_local2);
oAI = new _local3[undefined](this);
}
function createHud() {
var _local2 = {oOwner:this, sName:"oHud", mcRef:oController.mcTimeline.mcGame.mcHud.mcOpponentHud, sStateAtStart:"ShowHealth", sOwnerType:sType};
oHud = new com.disney.gem.games.SavingTheDay.game_obj.OpponentHud(_local2);
}
function getHit(_sAttackType) {
var _local4 = oOpponent.fDataClassDefinition.oATTACK_DATA[_sAttackType].bCantBeBlock;
if ((_local4 == true) && (sState == "Block")) {
looseHealth(_sAttackType, "Half");
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
}
if ((_local4 != true) && ((((sState == "StartBlock") || (sState == "Block")) || (sState == "BlockHit")) || (sState == "EndBlock"))) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nBlockPropelSpdX;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if (sState == "BlockHit") {
mcRef.mcState.gotoAndPlay(1);
} else {
setState("BlockHit");
}
oAI.sCurrentAction = "Block";
if ((_sAttackType == "ShoulderTackle") && (Math.abs(oOpponent.nSpdX) > Math.abs(nSpdX))) {
oOpponent.bShoulderBlocked = true;
oOpponent.nSpdX = nSpdX / 4;
}
oOpponent.resetComboInRow();
} else {
if ((_sAttackType == "HyperUppercut") || (_sAttackType == "ShoulderTackle")) {
oController.playSfx(["Boom1", "Boom2", "Boom3", "Boom4"]);
}
looseHealth(_sAttackType, "Full");
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
if (oOpponent.sDirection == "Right") {
if (sDirection == "Right") {
changeDirection();
}
} else if (sDirection == "Left") {
changeDirection();
}
var _local3 = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].sGetHitState;
if (_local3 != "Hurt") {
oBackground.setItemToShow(this);
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag != undefined) {
oBackground.switchToLagMode(fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag);
} else {
oBackground.switchToLagMode();
}
}
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdX;
nSpdY = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdY;
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe] != undefined) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe];
}
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if ((_local3 == "Hurt") && (sState == "Hurt")) {
mcRef.mcState.gotoAndPlay(1);
} else {
setState(_local3);
}
}
if (nHealth <= 0) {
oOpponent.lockControls();
}
}
function checkInWallZone() {
var _local2;
if (Math.abs(nPosX - oOpponent.nPosX) <= (fDataClassDefinition.nExitWallPlayerDist + nRightBorder)) {
if (nRightHitBorder >= oBackground.nWallZoneRightLimit) {
_local2 = "Right";
} else if (nLeftHitBorder <= oBackground.nWallZoneLeftLimit) {
_local2 = "Left";
} else {
_local2 = "Outside";
}
} else {
_local2 = "Outside";
}
return(_local2);
}
function setSpdX() {
trace("*************************************************************************************");
trace("WARNING : The function setSpdX must be overwrite in the class who extends this one");
trace("*************************************************************************************");
}
function setSpdY() {
trace("*************************************************************************************");
trace("WARNING : The function setSpdY must be overwrite in the class who extends this one");
trace("*************************************************************************************");
}
function setIncomingAttack(_oIncomingAttackData) {
oAI.setIncomingAttack(_oIncomingAttackData);
}
function clearIncomingAttack() {
oAI.clearIncomingAttack();
}
function stopWaitBigRock() {
oAI.stopWaitBigRock();
}
function forceEndCrouch() {
oAI.forceEndCrouch();
}
function modifRockTimeCrouch() {
oAI.modifRockTimeCrouch();
}
function onAttackCompleted() {
oAI.onAttackCompleted();
}
function checkCanBlockFr(_sAttackType) {
var _local2 = mcRef.mcState._currentframe;
var _local3 = false;
if ((_local2 >= fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrCanBlock.nFrStart) && (_local2 <= fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrCanBlock.nFrEnd)) {
_local3 = true;
}
return(_local3);
}
function checkCanEndBlock(_sAttackType) {
var _local2 = false;
switch (_sAttackType) {
case "Forced" :
_local2 = true;
break;
case "JumpKick" :
if ((((sState != "StartJump") && (sState != "Jump")) && (sState != "StartJumpKick")) && (sState != "EndJumpKick")) {
_local2 = true;
}
break;
default :
var _local3 = mcRef.mcState._currentframe;
if (_local3 <= fDataClassDefinition.oATTACK_DATA[_sAttackType].oFrCanBlock.nFrEnd) {
break;
}
_local2 = true;
}
return(_local2);
}
function lockControls() {
oAI.bControlsLock = true;
}
function unlockControls() {
oAI.bControlsLock = false;
}
function onUpdate() {
if (oOpponent == undefined) {
oOpponent = fDataClassDefinition.setOpponent();
}
oAI.controlActions();
setSpdX();
setSpdY();
setMaxMove();
makeMoving();
checkOpponentSide();
super.onUpdate();
}
function deleteObject() {
delete oAI;
super.deleteObject();
}
}
Symbol 2470 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.basic_class.CharacterHud] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.basic_class.CharacterHud extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.State
{
var mcRef, sState, nHealthShow, oOwner, nHealthDownSpd, nHealthUpSpd;
function CharacterHud (_oItemData) {
super(_oItemData);
mcRef = _oItemData.mcRef;
sState = _oItemData.sStateAtStart;
nHealthShow = oOwner.nHealth;
nHealthDownSpd = 1;
nHealthUpSpd = 2;
initDisplay();
}
function state_ShowHealth() {
if (nHealthShow < oOwner.nHealth) {
nHealthShow = nHealthShow + nHealthUpSpd;
if (nHealthShow > oOwner.nHealth) {
nHealthShow = oOwner.nHealth;
}
} else if (nHealthShow > oOwner.nHealth) {
nHealthShow = nHealthShow - nHealthDownSpd;
if (nHealthShow < oOwner.nHealth) {
nHealthShow = oOwner.nHealth;
}
}
var _local2 = int((nHealthShow * 100) / oOwner.nMaxHealth);
mcRef.mcHealth.gotoAndStop(_local2 + 1);
}
function initDisplay() {
state_ShowHealth();
showRoundsWon();
}
function showRoundsWon() {
mcRef.mcRoundsWon.gotoAndStop(oOwner.nNbRoundsWon + 1);
}
}
Symbol 2471 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.OpponentHud] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.OpponentHud extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.CharacterHud
{
var mcRef, oOwner;
function OpponentHud (_oItemData) {
super(_oItemData);
}
function initDisplay() {
super.initDisplay();
mcRef.mcFaces.gotoAndStop(oOwner.sType);
}
}
Symbol 2472 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Omnidroid] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Omnidroid extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.ComputerCharacter
{
static var oInstance;
var nSideJumpSpdX, fDataClassDefinition, nSpinSpdX, nMaxRollSpd, nMinRollSpd, nRollSpdXAcceleration, stateFinished, setState, oOpponent, checkHitOpponent, checkOpponentSide, sDirection, nSpdX, mcRef, oScreenShaker, oCollideExceptions, setAttackReachXLimits, oBackground, nPosX, sNextState, oController, stateCurrentFrame, nHealth, checkInWallZone, oAI, mcHead, sState, nMaxRunSpd, nSpdXAcceleration, nSpdXDeceleration, nSpdY, nMinFallSpdY, nJumpSpdYDeceleration, nMinJumpSpdY, nMaxFallSpdY, nFallSpdYAcceleration, nMaxMoveX, nMaxMoveY, nRealMoveX, nRealMoveY, makeMoving, getState, checkAttackCanHit, getHit, sColliderType;
function Omnidroid (_oItemData) {
super(_oItemData);
oInstance = this;
nSideJumpSpdX = fDataClassDefinition.oSPEEDS_DATA.nSideJumpSpdX;
nSpinSpdX = fDataClassDefinition.oSPEEDS_DATA.nSpinSpdX;
nMaxRollSpd = fDataClassDefinition.oSPEEDS_DATA.nMaxRollSpd;
nMinRollSpd = fDataClassDefinition.oSPEEDS_DATA.nMinRollSpd;
nRollSpdXAcceleration = fDataClassDefinition.oSPEEDS_DATA.nRollSpdXAcceleration;
}
function state_StartWalk() {
if (stateFinished()) {
setState("Walk");
}
}
function state_Walk() {
}
function state_EndWalk() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartMoveBack() {
if (stateFinished()) {
setState("MoveBack");
}
}
function state_MoveBack() {
}
function state_Slam() {
oOpponent.checkToBlock("Slam");
checkHitOpponent("Slam");
oOpponent.checkEndToBlock("Slam");
if (stateFinished()) {
setState("EndSlam");
}
}
function state_EndSlam() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Spin() {
oOpponent.checkToBlock("Spin");
var _local2 = checkHitOpponent("Spin");
if (_local2 == true) {
checkOpponentSide(false);
if (sDirection == "Right") {
nSpdX = -nSpinSpdX;
} else {
nSpdX = nSpinSpdX;
}
}
oOpponent.checkEndToBlock("Spin");
if (mcRef.mcState._currentframe == 14) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
} else if (stateFinished()) {
setState("EndSpin");
}
}
function state_EndSpin() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Crush() {
oOpponent.checkToBlock("Crush");
checkHitOpponent("Crush");
oOpponent.checkEndToBlock("Crush");
if (mcRef.mcState._currentframe == 8) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
} else if (stateFinished()) {
setState("EndCrush");
}
}
function state_EndCrush() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJump() {
if (stateFinished()) {
setState("Jump");
}
}
function state_Jump_init() {
oCollideExceptions.BigRock = true;
}
function state_Jump() {
if (stateFinished()) {
moveToFallPosition();
setState("Fall");
}
}
function state_Fall() {
if (stateFinished()) {
setState("Stomp");
}
}
function state_Fall_end() {
oCollideExceptions.BigRock = false;
}
function state_Stomp_init() {
var _local3 = setAttackReachXLimits("Stomp");
var _local2 = oOpponent.checkInAttackReach(_local3);
if (_local2 == false) {
setState("Land");
}
}
function state_Stomp() {
checkHitOpponent("Stomp");
if (mcRef.mcState._currentframe == 1) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:10, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:5});
} else if (stateFinished()) {
setState("SideJump");
}
}
function state_Land() {
if (mcRef.mcState._currentframe == 1) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:5, nMaxStr:5, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2});
} else if (stateFinished()) {
setState("Idle");
}
}
function state_SideJump_init() {
var _local2 = oBackground.giveCurrentZone(nPosX);
if (_local2 == "Left") {
nSpdX = nSideJumpSpdX;
if (oOpponent.nPosX > nPosX) {
nSpdX = nSpdX * 1.3;
}
} else if (_local2 == "Right") {
nSpdX = -nSideJumpSpdX;
if (oOpponent.nPosX < nPosX) {
nSpdX = nSpdX * 1.3;
}
} else if (oOpponent.nPosX < nPosX) {
nSpdX = nSideJumpSpdX;
} else {
nSpdX = -nSideJumpSpdX;
}
checkOpponentSide(false);
}
function state_SideJump() {
if (mcRef.mcState._currentframe == 15) {
oScreenShaker.setShake({sAxis:"Y", nStartStr:5, nMaxStr:5, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2});
} else if (stateFinished()) {
setState("Idle");
}
}
function state_StartRoll() {
oOpponent.checkToBlock("Roll");
checkHitOpponent("Roll");
oOpponent.checkEndToBlock("Roll");
if (stateFinished()) {
setState("Roll");
}
}
function state_StartRoll_end() {
if ((sNextState != "Roll") && (sNextState != "EndRoll")) {
oController.stopSfx("OmniStartRoll");
oController.stopSfx("OmniRoll");
oController.stopSfx("OmniMove7");
}
}
function state_Roll_init() {
checkOpponentSide(false);
if (sDirection == "Right") {
nSpdX = nMinRollSpd;
} else {
nSpdX = -nMinRollSpd;
}
}
function state_Roll() {
oOpponent.checkToBlock("Roll");
checkHitOpponent("Roll");
oOpponent.checkEndToBlock("Roll");
}
function state_Roll_end() {
if (sNextState != "EndRoll") {
oController.stopSfx("OmniStartRoll");
oController.stopSfx("OmniRoll");
oController.stopSfx("OmniMove7");
}
}
function state_EndRoll() {
if (stateCurrentFrame() == 3) {
oController.stopSfx("OmniMove7");
} else if (stateCurrentFrame() == 5) {
oController.stopSfx("OmniRoll");
} else if (stateFinished()) {
setState("Idle");
}
}
function state_EndRoll_end() {
if ((sNextState != "Roll") && (sNextState != "EndRoll")) {
oController.stopSfx("OmniStartRoll");
oController.stopSfx("OmniRoll");
oController.stopSfx("OmniMove7");
}
}
function state_PropelUpCrash() {
if ((mcRef.mcState._currentframe == 16) && (nHealth > 0)) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
} else if (stateFinished()) {
if (nHealth > 0) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("Idle");
}
} else {
setState("Die");
}
}
}
function state_PropelBackCrash() {
if ((mcRef.mcState._currentframe == 16) && (nHealth > 0)) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oOpponent, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oOpponent, nLagValue:6});
oBackground.switchToPanMode();
} else if (stateFinished()) {
if (nHealth > 0) {
var _local2 = false;
var _local3 = checkInWallZone();
if (_local3 != "Outside") {
_local2 = oAI.checkIfExitWall(_local3);
}
if (!_local2) {
setState("Idle");
}
} else {
setState("Die");
}
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Omnidroid(oInstance));
}
function setHead(_mcHead) {
mcHead = _mcHead;
}
function setSpdX() {
switch (sState) {
case "Idle" :
case "PropelUpCrash" :
nSpdX = 0;
break;
case "PropelUpHurt" :
case "PropelUpStartFall" :
case "ProperUpFall" :
case "PropelBackHurt" :
case "PropelBackStartFall" :
case "ProperBackFall" :
break;
case "StartWalk" :
case "Walk" :
if (sDirection == "Right") {
if (nSpdX < nMaxRunSpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxRunSpd) {
nSpdX = nMaxRunSpd;
}
} else if (nSpdX > (-nMaxRunSpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxRunSpd)) {
nSpdX = -nMaxRunSpd;
}
break;
case "Roll" :
if (sDirection == "Right") {
if (nSpdX < nMaxRollSpd) {
nSpdX = nSpdX + nRollSpdXAcceleration;
} else if (nSpdX > nMaxRollSpd) {
nSpdX = nMaxRollSpd;
}
} else if (nSpdX > (-nMaxRollSpd)) {
nSpdX = nSpdX - nRollSpdXAcceleration;
} else if (nSpdX < (-nMaxRollSpd)) {
nSpdX = -nMaxRollSpd;
}
break;
case "MoveBack" :
if (sDirection == "Left") {
if (nSpdX < nMaxRunSpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxRunSpd) {
nSpdX = nMaxRunSpd;
}
} else if (nSpdX > (-nMaxRunSpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxRunSpd)) {
nSpdX = -nMaxRunSpd;
}
break;
default :
if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else {
if (nSpdX >= 0) {
break;
}
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX <= 0) {
break;
}
nSpdX = 0;
}
}
nSpdX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdX);
}
function setSpdY() {
if (nSpdY == 0) {
nSpdY = nMinFallSpdY;
} else if (nSpdY < 0) {
nSpdY = nSpdY / nJumpSpdYDeceleration;
if (nSpdY >= nMinJumpSpdY) {
nSpdY = 0;
}
} else if (nSpdY < nMaxFallSpdY) {
nSpdY = nSpdY * nFallSpdYAcceleration;
if (nSpdY > nMaxFallSpdY) {
nSpdY = nMaxFallSpdY;
}
}
nSpdY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdY);
}
function moveToFallPosition() {
if (oAI.sCurrentAction == "Stomp") {
nMaxMoveX = (oOpponent.nPosX - nPosX) + oOpponent.nSpdX;
} else {
nMaxMoveX = oAI.nMoveAwayDest - nPosX;
}
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
makeMoving();
}
function setHitGround() {
nSpdY = 0;
if ((sState == "PropelUpStartFall") || (sState == "PropelUpFall")) {
setState("PropelUpCrash");
} else if ((sState == "PropelBackStartFall") || (sState == "PropelBackFall")) {
setState("PropelBackCrash");
}
}
function setHitWall() {
if ((((sState == "PropelBackHurt") || (sState == "PropelBackStartFall")) || (sState == "PropelBackFall")) || (sState == "Roll")) {
oScreenShaker.setShake({sAxis:"X", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
oScreenShaker.setShake({sAxis:"Y", nStartStr:10, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
setState("PropelBackCrash");
} else if (oAI.sCurrentAction == "MoveBack") {
setState("Idle");
oAI.forceAction();
}
oAI.reactToHitWall();
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
switch (_oMovingItem.sType) {
case "BigRock" :
if (((fDataClassDefinition.oCANT_BE_HIT_DATA[getState()] != true) || (sState == "StartRoll")) || (sState == "Roll")) {
var _local2 = checkAttackCanHit("SuperThrow");
if (_local2 == true) {
getHit("SuperThrow");
} else {
oOpponent.resetComboInRow();
}
_oMovingItem.doHit(sColliderType);
}
break;
default :
}
}
function onPause() {
super.onPause();
mcHead.stop();
}
function onUnPause() {
super.onUnPause();
mcHead.play();
}
}
Symbol 2473 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Syndrome] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Syndrome extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.ComputerCharacter
{
static var oInstance;
var nMaxFlySpd, fDataClassDefinition, nMinFlySpd, nShortJumpBackModX, nShortJumpBackModY, nLongJumpBackModY, nMinFlyBackSpd, nMaxFlyBackSpd, nFlyBackDeceleration, mcBody, nIndexBeamName, stateFinished, setState, nSpdX, sDirection, nMaxMoveX, nPosX, oAI, nMaxMoveY, nRealMoveX, nRealMoveY, makeMoving, oOpponent, checkHitOpponent, mcRef, oScreenShaker, nSpdY, nMaxJumpSpdY, nMaxJumpSpdX, sNextState, oController, sState, looseHealth, changeDirection, oBackground, nHealth, nMaxRunSpd, nSpdXAcceleration, nSpdXDeceleration, nMinFallSpdY, nJumpSpdYDeceleration, nMinJumpSpdY, nMaxFallSpdY, nFallSpdYAcceleration, nPosY, oGameScreen, getState, checkAttackCanHit, sColliderType;
function Syndrome (_oItemData) {
super(_oItemData);
oInstance = this;
nMaxFlySpd = fDataClassDefinition.oSPEEDS_DATA.nMaxFlySpd;
nMinFlySpd = fDataClassDefinition.oSPEEDS_DATA.nMinFlySpd;
nShortJumpBackModX = fDataClassDefinition.oSPEEDS_DATA.nShortJumpBackModX;
nShortJumpBackModY = fDataClassDefinition.oSPEEDS_DATA.nShortJumpBackModY;
nLongJumpBackModY = fDataClassDefinition.oSPEEDS_DATA.nLongJumpBackModY;
nMinFlyBackSpd = fDataClassDefinition.oSPEEDS_DATA.nMinFlyBackSpd;
nMaxFlyBackSpd = fDataClassDefinition.oSPEEDS_DATA.nMaxFlyBackSpd;
nFlyBackDeceleration = fDataClassDefinition.oSPEEDS_DATA.nFlyBackDeceleration;
mcBody = undefined;
nIndexBeamName = 1;
}
function state_StartWalk() {
if (stateFinished()) {
setState("Walk");
}
}
function state_Walk() {
}
function state_EndWalk_init() {
if ((nSpdX > 0) && (nSpdX > fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd)) {
nSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
} else if ((nSpdX < 0) && (nSpdX < (-fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd))) {
nSpdX = -fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
}
}
function state_EndWalk() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartFly() {
if (stateFinished()) {
setState("Fly");
}
}
function state_Fly() {
}
function state_StartFlyBack_init() {
if (sDirection == "Right") {
nSpdX = -nMaxFlyBackSpd;
} else {
nSpdX = nMaxFlyBackSpd;
}
}
function state_StartFlyBack() {
if (Math.abs(nSpdX) <= nMinFlyBackSpd) {
setState("EndFlyBack");
} else if (stateFinished()) {
setState("FlyBack");
}
}
function state_FlyBack() {
if (Math.abs(nSpdX) <= nMinFlyBackSpd) {
setState("EndFlyBack");
}
}
function state_EndFlyBack() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartCrouch() {
if (stateFinished()) {
setState("Crouched");
}
}
function state_Crouched() {
}
function state_EndCrouch() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Disappear() {
if (stateFinished()) {
setState("Appear");
}
}
function state_Appear_init() {
nMaxMoveX = oAI.nTeleportDest - nPosX;
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
makeMoving();
}
function state_Appear() {
if (stateFinished()) {
setState("EndAppear");
}
}
function state_EndAppear() {
if (stateFinished()) {
setState("Idle");
}
}
function state_EnergyBlast() {
oOpponent.checkToBlock("EnergyBlast");
checkHitOpponent("EnergyBlast");
oOpponent.checkEndToBlock("EnergyBlast");
if (stateFinished()) {
setState("EndEnergyBlast");
}
}
function state_EndEnergyBlast() {
if (stateFinished()) {
setState("Idle");
}
}
function state_EnergyPunch() {
oOpponent.checkToBlock("EnergyPunch");
checkHitOpponent("EnergyPunch");
oOpponent.checkEndToBlock("EnergyPunch");
if (stateFinished()) {
setState("EndEnergyPunch");
}
}
function state_EndEnergyPunch() {
if (stateFinished()) {
setState("Idle");
}
}
function state_EnergyBurst() {
oOpponent.checkToBlock("EnergyBurst");
checkHitOpponent("EnergyBurst");
oOpponent.checkEndToBlock("EnergyBurst");
if (mcRef.mcState._currentframe == 5) {
oScreenShaker.setShake({sAxis:"X", nStartStr:2, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
oScreenShaker.setShake({sAxis:"Y", nStartStr:1, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
} else if (stateFinished()) {
setState("EndEnergyBurst");
}
}
function state_EndEnergyBurst() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJump_init() {
if (oAI.sCurrentAction == "JumpKick") {
nSpdX = int((Math.abs(nPosX - oOpponent.nPosX) - fDataClassDefinition.oATTACK_DATA.JumpKick.nLandModifier) / fDataClassDefinition.oATTACK_DATA.JumpKick.nNbJumpFr);
nSpdY = nMaxJumpSpdY;
if (sDirection == "Left") {
nSpdX = nSpdX * -1;
}
} else if (oAI.sCurrentAction == "ShortJumpBack") {
nSpdX = nMaxJumpSpdX * nShortJumpBackModX;
nSpdY = nMaxJumpSpdY * nShortJumpBackModY;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
} else if (oAI.sCurrentAction == "LongJumpBack") {
nSpdX = nMaxFlyBackSpd;
nSpdY = nMaxJumpSpdY * nLongJumpBackModY;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
}
}
function state_StartJump() {
if (oAI.sCurrentAction == "JumpKick") {
oOpponent.checkToBlock("JumpKick");
var _local2 = checkHitOpponent("JumpKick");
oOpponent.checkEndToBlock("JumpKick");
}
if (stateFinished()) {
setState("Jump");
}
}
function state_Jump() {
if (oAI.sCurrentAction == "JumpKick") {
oOpponent.checkToBlock("JumpKick");
var _local2 = checkHitOpponent("JumpKick");
oOpponent.checkEndToBlock("JumpKick");
}
}
function state_StartFall() {
if (stateFinished()) {
setState("Fall");
}
}
function state_Fall() {
}
function state_Land_init() {
oOpponent.checkEndToBlock("Forced");
if ((nSpdX > 0) && (nSpdX > fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd)) {
nSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd;
} else if ((nSpdX < 0) && (nSpdX < (-fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd))) {
nSpdX = -fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd;
}
}
function state_Land() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJumpKick_init() {
if (sDirection == "Right") {
nSpdX = fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdX;
} else {
nSpdX = -fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdX;
}
nSpdY = fDataClassDefinition.oATTACK_DATA.JumpKick.nSpdY;
}
function state_StartJumpKick() {
oOpponent.checkToBlock("JumpKick");
var _local2 = checkHitOpponent("JumpKick");
oOpponent.checkEndToBlock("JumpKick");
if (_local2 == true) {
setJumpKickBlock();
}
if (stateFinished()) {
setState("EndJumpKick");
}
}
function state_StartJumpKick_end() {
oOpponent.checkEndToBlock("Forced");
}
function state_EndJumpKick() {
oOpponent.checkToBlock("JumpKick");
var _local2 = checkHitOpponent("JumpKick");
oOpponent.checkEndToBlock("JumpKick");
if (_local2 == true) {
setJumpKickBlock();
}
}
function state_EndJumpKick_end() {
oOpponent.checkEndToBlock("Forced");
}
function state_JumpKickBlock_init() {
if (sDirection == "Right") {
nSpdX = -fDataClassDefinition.oATTACK_DATA.JumpKick.nBounceSpdX;
} else {
nSpdX = fDataClassDefinition.oATTACK_DATA.JumpKick.nBounceSpdX;
}
}
function state_JumpKickBlock() {
}
function state_TractorBeam_init() {
if ((nSpdX > 0) && (nSpdX > fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd)) {
nSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
} else if ((nSpdX < 0) && (nSpdX < (-fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd))) {
nSpdX = -fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
}
}
function state_TractorBeam() {
oOpponent.checkToBlock("TractorBeam");
var _local2 = checkHitOpponent("TractorBeam");
oOpponent.checkEndToBlock("TractorBeam");
setTractorBeam(_local2);
if (stateFinished()) {
if ((((_local2 && (oOpponent.sState != "StartBlock")) && (oOpponent.sState != "Block")) && (oOpponent.sState != "BlockHit")) && (oOpponent.sState != "EndBlock")) {
setState("StartPull");
} else {
oAI.flushActionsSet();
setState("EndTractorBeam");
}
}
}
function state_TractorBeam_end() {
if (((sNextState != "TractorBeam") && (sNextState != "StartPull")) && (sNextState != "Pull")) {
oController.stopSfx("SynStartTractorBeam");
oController.stopSfx("SynTractorBeam");
}
}
function state_EndTractorBeam() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartPull_init() {
setTractorBeam(true);
}
function state_StartPull() {
setTractorBeam(true);
if (stateFinished()) {
setState("Pull");
}
}
function state_StartPull_end() {
if (((sNextState != "TractorBeam") && (sNextState != "StartPull")) && (sNextState != "Pull")) {
oController.stopSfx("SynStartTractorBeam");
oController.stopSfx("SynTractorBeam");
}
}
function state_Pull_init() {
setTractorBeam(true);
}
function state_Pull() {
setTractorBeam(true);
}
function state_Pull_end() {
if (((sNextState != "TractorBeam") && (sNextState != "StartPull")) && (sNextState != "Pull")) {
oController.stopSfx("SynStartTractorBeam");
oController.stopSfx("SynTractorBeam");
}
}
function state_RedBeam_init() {
nSpdX = 0;
}
function state_RedBeam() {
if (mcRef.mcState._currentframe == fDataClassDefinition.oATTACK_DATA.RedBeam.nFrLaunch) {
launchRedBeam();
} else if (stateFinished()) {
setState("EndRedBeam");
}
}
function state_EndRedBeam() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartBlock_end() {
if ((((sNextState != "StartBlock") && (sNextState != "Block")) && (sNextState != "BlockHit")) && (sNextState != "EndBlock")) {
oController.stopSfx("SynShieldSparks");
}
}
function state_BlockHit_end() {
if ((((sNextState != "StartBlock") && (sNextState != "Block")) && (sNextState != "BlockHit")) && (sNextState != "EndBlock")) {
oController.stopSfx("SynShieldSparks");
}
}
function state_Block_end() {
if ((((sNextState != "StartBlock") && (sNextState != "Block")) && (sNextState != "BlockHit")) && (sNextState != "EndBlock")) {
oController.stopSfx("SynShieldSparks");
}
}
function state_EndBlock_end() {
if ((((sNextState != "StartBlock") && (sNextState != "Block")) && (sNextState != "BlockHit")) && (sNextState != "EndBlock")) {
oController.stopSfx("SynShieldSparks");
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Syndrome(oInstance));
}
function setBody(_mcBody) {
mcBody = _mcBody;
setBodyDirection();
}
function setJumpKickBlock() {
nSpdX = nSpdX * -1;
nSpdY = nSpdY * -1;
setState("JumpKickBlock");
}
function getHit(_sAttackType) {
var _local4 = oOpponent.fDataClassDefinition.oATTACK_DATA[_sAttackType].bCantBeBlock;
if ((_local4 == true) && (sState == "Block")) {
looseHealth(_sAttackType, "Half");
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
}
if ((_local4 != true) && ((((sState == "StartBlock") || (sState == "Block")) || (sState == "BlockHit")) || (sState == "EndBlock"))) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nBlockPropelSpdX;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if (sState == "BlockHit") {
mcRef.mcState.gotoAndPlay(1);
} else {
setState("BlockHit");
}
oAI.sCurrentAction = "Block";
if ((_sAttackType == "ShoulderTackle") && (Math.abs(oOpponent.nSpdX) > Math.abs(nSpdX))) {
oOpponent.bShoulderBlocked = true;
oOpponent.nSpdX = nSpdX / 4;
}
oOpponent.resetComboInRow();
} else {
looseHealth(_sAttackType, "Full");
if ((_sAttackType == "HyperUppercut") || (_sAttackType == "ShoulderTackle")) {
oController.playSfx(["Boom1", "Boom2", "Boom3", "Boom4"]);
}
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].bDontAffectDirection != true) {
if (oOpponent.sDirection == "Right") {
if (sDirection == "Right") {
changeDirection();
}
} else if (sDirection == "Left") {
changeDirection();
}
}
var _local3 = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].sGetHitState;
if (_local3 != "Hurt") {
oBackground.setItemToShow(this);
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag != undefined) {
oBackground.switchToLagMode(fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag);
} else {
oBackground.switchToLagMode();
}
}
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdX;
nSpdY = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdY;
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe] != undefined) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe];
}
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if ((_local3 == "Hurt") && (sState == "Hurt")) {
if (nHealth <= 0) {
_local3 = "PropelUpHurt";
setState(_local3);
} else {
mcRef.mcState.gotoAndPlay(1);
}
} else {
if ((_local3 == "Hurt") && ((((((((nHealth <= 0) || (sState == "StartJump")) || (sState == "Jump")) || (sState == "StartFall")) || (sState == "Fall")) || (sState == "StartJumpKick")) || (sState == "EndJumpKick")) || (sState == "JumpKickBlock"))) {
_local3 = "PropelUpHurt";
}
setState(_local3);
}
}
if (nHealth <= 0) {
oOpponent.lockControls();
}
oOpponent.clearIncomingAttack();
if (oOpponent.getState() == "Pulled") {
oOpponent.setState("Idle");
}
}
function setSpdX() {
switch (sState) {
case "Idle" :
case "PropelUpCrash" :
nSpdX = 0;
break;
case "PropelUpHurt" :
case "PropelUpStartFall" :
case "ProperUpFall" :
case "PropelBackHurt" :
case "PropelBackStartFall" :
case "ProperBackFall" :
case "StartJumpKick" :
break;
case "StartJump" :
case "Jump" :
case "StartFall" :
case "Fall" :
if (oAI.sCurrentAction == "LongJumpBack") {
nSpdX = nSpdX / nFlyBackDeceleration;
}
break;
case "StartWalk" :
case "Walk" :
if (sDirection == "Right") {
if (nSpdX < nMaxRunSpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxRunSpd) {
nSpdX = nMaxRunSpd;
}
} else if (nSpdX > (-nMaxRunSpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxRunSpd)) {
nSpdX = -nMaxRunSpd;
}
break;
case "StartFly" :
case "Fly" :
if (sDirection == "Right") {
if (nSpdX < nMinFlySpd) {
nSpdX = nMinFlySpd;
} else if (nSpdX < nMaxFlySpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxFlySpd) {
nSpdX = nMaxFlySpd;
}
} else if (nSpdX > (-nMinFlySpd)) {
nSpdX = -nMinFlySpd;
} else if (nSpdX > (-nMaxFlySpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxFlySpd)) {
nSpdX = -nMaxFlySpd;
}
break;
case "StartFlyBack" :
case "FlyBack" :
nSpdX = nSpdX / nFlyBackDeceleration;
break;
default :
if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else {
if (nSpdX >= 0) {
break;
}
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX <= 0) {
break;
}
nSpdX = 0;
}
}
nSpdX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdX);
}
function setSpdY() {
switch (sState) {
case "HurtWall" :
nSpdY = 0;
break;
default :
if (nSpdY == 0) {
nSpdY = nMinFallSpdY;
} else if (nSpdY < 0) {
nSpdY = nSpdY / nJumpSpdYDeceleration;
if (nSpdY >= nMinJumpSpdY) {
setState("StartFall");
nSpdY = 0;
}
} else {
if (nSpdY >= nMaxFallSpdY) {
break;
}
nSpdY = nSpdY * nFallSpdYAcceleration;
if (nSpdY <= nMaxFallSpdY) {
break;
}
nSpdY = nMaxFallSpdY;
}
}
nSpdY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdY);
}
function setHitGround() {
nSpdY = 0;
if ((sState == "PropelUpStartFall") || (sState == "PropelUpFall")) {
setState("PropelUpCrash");
} else if ((sState == "PropelBackStartFall") || (sState == "PropelBackFall")) {
setState("PropelBackCrash");
} else if (sState == "HurtWallSlide") {
setState("HurtWallLand");
} else {
setState("Land");
}
}
function setHitWall() {
if ((((sState == "PropelBackHurt") || (sState == "PropelBackStartFall")) || (sState == "PropelBackFall")) || (sState == "Roll")) {
oScreenShaker.setShake({sAxis:"X", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
oScreenShaker.setShake({sAxis:"Y", nStartStr:10, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
if (nHealth > 0) {
setState("HurtWall");
} else {
setState("PropelBackCrash");
}
}
oAI.reactToHitWall();
}
function setTractorBeam(_bHitOpponent) {
if (_bHitOpponent) {
var _local2 = Math.abs(oOpponent.nPosX - nPosX);
var _local3 = Math.abs(oOpponent.nPosY - nPosY);
var _local4 = Math.atan2(_local3, _local2);
var _local5 = _local4 / (Math.PI/180);
mcRef.mcState.mcBeam._rotation = _local5;
if (_local2 <= mcRef.mcState.mcBeam._x) {
mcRef.mcState.mcBeam.mcBeamFix._width = 1;
} else {
setBeamWidth();
}
if ((sState == "StartPull") && (fDataClassDefinition.oATTACK_DATA.TractorBeam.oBeamPos["oFr" + mcRef.mcState._currentframe] != undefined)) {
mcRef.mcState.mcBeam._x = fDataClassDefinition.oATTACK_DATA.TractorBeam.oBeamPos["oFr" + mcRef.mcState._currentframe].nPosX;
mcRef.mcState.mcBeam._y = fDataClassDefinition.oATTACK_DATA.TractorBeam.oBeamPos["oFr" + mcRef.mcState._currentframe].nPosY;
}
} else {
mcRef.mcState.mcBeam.mcBeamFix._width = fDataClassDefinition.oATTACK_DATA.TractorBeam.nMaxWidth;
}
}
function setBeamWidth() {
if (sDirection == "Right") {
mcRef.mcState.mcBeam.mcBeamFix._width = Math.abs((nPosX - mcRef.mcState.mcBeam._x) - oOpponent.nPosX);
} else {
mcRef.mcState.mcBeam.mcBeamFix._width = Math.abs((nPosX + mcRef.mcState.mcBeam._x) - oOpponent.nPosX);
}
}
function launchRedBeam() {
var _local2 = {nScaleX:100, nScaleY:100, nPosY:nPosY + fDataClassDefinition.oATTACK_DATA.RedBeam.nRedBeamDistY, sAttachName:"mcRedBeam" + nIndexBeamName, sItemClass:"RedBeam", sItemLinkage:"RedBeam", sType:"RedBeam", sName:"oRedBeam" + nIndexBeamName, bActivatedItem:false, bLiveAttachItem:true, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true};
if (sDirection == "Right") {
_local2.nPosX = nPosX + fDataClassDefinition.oATTACK_DATA.RedBeam.nRedBeamDistX;
_local2.sDirection = "Right";
} else {
_local2.nPosX = nPosX - fDataClassDefinition.oATTACK_DATA.RedBeam.nRedBeamDistX;
_local2.sDirection = "Left";
}
nIndexBeamName++;
oGameScreen.createGameObject(_local2);
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
switch (_oMovingItem.sType) {
case "BigRock" :
if (fDataClassDefinition.oCANT_BE_HIT_DATA[getState()] != true) {
var _local2 = checkAttackCanHit("SuperThrow");
if (_local2 == true) {
getHit("SuperThrow");
} else {
oOpponent.resetComboInRow();
}
_oMovingItem.doHit(sColliderType);
}
break;
default :
}
}
function setBodyDirection() {
if (sDirection == "Right") {
mcBody.gotoAndStop(2);
} else {
mcBody.gotoAndStop(1);
}
}
function onUpdate() {
super.onUpdate();
setBodyDirection();
}
function onUpdatePaused() {
super.onUpdatePaused();
setBodyDirection();
}
}
Symbol 2474 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Underminer] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Underminer extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.ComputerCharacter
{
static var oInstance;
var nMaxFlySpd, fDataClassDefinition, nMinFlySpd, nShortJumpBackModX, nShortJumpBackModY, nLongJumpBackModX, nLongJumpBackModY, nMinFlyBackSpd, nMaxFlyBackSpd, nFlyBackDeceleration, nIndexBeamName, stateFinished, setState, nSpdX, oAI, oOpponent, nPosX, nSpdY, nMaxJumpSpdY, sDirection, nMaxJumpSpdX, checkHitOpponent, oScreenShaker, mcRef, checkOpponentSide, oController, sState, looseHealth, changeDirection, oBackground, nHealth, nMaxRunSpd, nSpdXAcceleration, nSpdXDeceleration, nMinFallSpdY, nJumpSpdYDeceleration, nMinJumpSpdY, nMaxFallSpdY, nFallSpdYAcceleration, nMaxMoveX, nMaxMoveY, nRealMoveX, nRealMoveY, makeMoving, getState, checkAttackCanHit, sColliderType;
function Underminer (_oItemData) {
super(_oItemData);
oInstance = this;
nMaxFlySpd = fDataClassDefinition.oSPEEDS_DATA.nMaxFlySpd;
nMinFlySpd = fDataClassDefinition.oSPEEDS_DATA.nMinFlySpd;
nShortJumpBackModX = fDataClassDefinition.oSPEEDS_DATA.nShortJumpBackModX;
nShortJumpBackModY = fDataClassDefinition.oSPEEDS_DATA.nShortJumpBackModY;
nLongJumpBackModX = fDataClassDefinition.oSPEEDS_DATA.nLongJumpBackModX;
nLongJumpBackModY = fDataClassDefinition.oSPEEDS_DATA.nLongJumpBackModY;
nMinFlyBackSpd = fDataClassDefinition.oSPEEDS_DATA.nMinFlyBackSpd;
nMaxFlyBackSpd = fDataClassDefinition.oSPEEDS_DATA.nMaxFlyBackSpd;
nFlyBackDeceleration = fDataClassDefinition.oSPEEDS_DATA.nFlyBackDeceleration;
nIndexBeamName = 1;
}
function state_StartWalk() {
if (stateFinished()) {
setState("Walk");
}
}
function state_Walk() {
}
function state_EndWalk_init() {
if ((nSpdX > 0) && (nSpdX > fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd)) {
nSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
} else if ((nSpdX < 0) && (nSpdX < (-fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd))) {
nSpdX = -fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd;
}
}
function state_EndWalk() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartCrouch() {
if (stateFinished()) {
setState("Crouched");
}
}
function state_Crouched() {
}
function state_EndCrouch() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJump_init() {
if (oAI.sCurrentAction == "JumpScratch") {
nSpdX = int((Math.abs(nPosX - oOpponent.nPosX) - fDataClassDefinition.oATTACK_DATA.JumpScratch.nLandModifier) / fDataClassDefinition.oATTACK_DATA.JumpScratch.nNbJumpFr);
nSpdY = nMaxJumpSpdY * 1.7;
if (sDirection == "Left") {
nSpdX = nSpdX * -1;
}
} else if (oAI.sCurrentAction == "ShortJumpBack") {
nSpdX = nMaxJumpSpdX * nShortJumpBackModX;
nSpdY = nMaxJumpSpdY * nShortJumpBackModY;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
} else if (oAI.sCurrentAction == "LongJumpBack") {
nSpdX = nMaxFlyBackSpd;
nSpdY = nMaxJumpSpdY * nLongJumpBackModY;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
}
}
function state_StartJump() {
if (oAI.sCurrentAction == "JumpScratch") {
oOpponent.checkToBlock("JumpScratch");
var _local2 = checkHitOpponent("JumpScratch");
oOpponent.checkEndToBlock("JumpScratch");
}
if (stateFinished()) {
setState("Jump");
}
}
function state_Jump() {
if (oAI.sCurrentAction == "JumpScratch") {
oOpponent.checkToBlock("JumpScratch");
var _local2 = checkHitOpponent("JumpScratch");
oOpponent.checkEndToBlock("JumpScratch");
}
}
function state_StartFall() {
if (stateFinished()) {
setState("Fall");
}
}
function state_Fall() {
}
function state_Land_init() {
oOpponent.checkEndToBlock("Forced");
if ((nSpdX > 0) && (nSpdX > fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd)) {
nSpdX = fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd;
} else if ((nSpdX < 0) && (nSpdX < (-fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd))) {
nSpdX = -fDataClassDefinition.oSPEEDS_DATA.nMaxRunSpd;
}
}
function state_Land() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartJumpScratch_init() {
var _local2 = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber((Math.abs(nPosX - oOpponent.nPosX) + fDataClassDefinition.oATTACK_DATA.JumpScratch.nLandModifier) / fDataClassDefinition.oATTACK_DATA.JumpScratch.nFrScratch);
nSpdX = _local2;
if (sDirection == "Left") {
nSpdX = nSpdX * -1;
}
nSpdY = fDataClassDefinition.oATTACK_DATA.JumpScratch.nSpdY;
}
function state_StartJumpScratch() {
oOpponent.checkToBlock("JumpScratch");
var _local2 = checkHitOpponent("JumpScratch");
oOpponent.checkEndToBlock("JumpScratch");
if (_local2 == true) {
setJumpScratchBlock();
}
if (stateFinished()) {
setState("EndJumpScratch");
}
}
function state_StartJumpScratch_end() {
oOpponent.checkEndToBlock("Forced");
}
function state_EndJumpScratch() {
oOpponent.checkToBlock("JumpScratch");
var _local2 = checkHitOpponent("JumpScratch");
oOpponent.checkEndToBlock("JumpScratch");
if (_local2 == true) {
setJumpScratchBlock();
}
}
function state_EndJumpScratch_end() {
oOpponent.checkEndToBlock("Forced");
}
function state_JumpScratchBlock_init() {
if (sDirection == "Right") {
nSpdX = fDataClassDefinition.oATTACK_DATA.JumpScratch.nBlockBounceSpdX;
} else {
nSpdX = -fDataClassDefinition.oATTACK_DATA.JumpScratch.nBlockBounceSpdX;
}
}
function state_JumpScratchBlock() {
}
function state_Slash() {
oOpponent.checkToBlock("Slash");
checkHitOpponent("Slash");
oOpponent.checkEndToBlock("Slash");
if (stateFinished()) {
setState("EndSlash");
}
}
function state_EndSlash() {
if (stateFinished()) {
setState("Idle");
}
}
function state_PropelClaw() {
oOpponent.checkToBlock("PropelClaw");
checkHitOpponent("PropelClaw");
oOpponent.checkEndToBlock("PropelClaw");
if (stateFinished()) {
setState("EndPropelClaw");
}
}
function state_EndPropelClaw() {
if (stateFinished()) {
setState("Idle");
}
}
function state_StartEarthBend() {
if (stateFinished()) {
setState("EarthBend");
}
}
function state_EarthBend_init() {
oScreenShaker.setShake({sAxis:"Y", nStartStr:8, nMaxStr:8, nTimeMaxStr:13, nStrIn:0, nStrOut:1.5});
}
function state_EarthBend() {
oOpponent.checkToBlock("EarthBend");
checkHitOpponent("EarthBend");
oOpponent.checkEndToBlock("EarthBend");
if (stateFinished()) {
setState("EndEarthBend");
}
}
function state_EndEarthBend() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Burrow() {
if (mcRef.mcState._currentframe == 8) {
oScreenShaker.setShake({sAxis:"X", nStartStr:1, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
oScreenShaker.setShake({sAxis:"Y", nStartStr:1, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
}
}
function state_Drill() {
checkHitOpponent("Drill");
if (mcRef.mcState._currentframe == 8) {
oScreenShaker.setShake({sAxis:"X", nStartStr:1, nMaxStr:7, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
oScreenShaker.setShake({sAxis:"Y", nStartStr:1, nMaxStr:7, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
} else if (stateFinished()) {
setState("EndDrill");
}
}
function state_EndDrill() {
}
function state_DigOut_init() {
checkOpponentSide(false);
}
function state_DigOut() {
if (mcRef.mcState._currentframe == 2) {
oScreenShaker.setShake({sAxis:"X", nStartStr:1, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
oScreenShaker.setShake({sAxis:"Y", nStartStr:1, nMaxStr:4, nTimeMaxStr:0, nStrIn:1.8, nStrOut:2});
oController.stopSfx("UnderDrill1");
} else if (stateFinished()) {
setState("EndDigOut");
}
}
function state_EndDigOut() {
if (stateFinished()) {
setState("DigOutLand");
}
}
function state_DigOutLand() {
if (stateFinished()) {
setState("Idle");
}
}
function state_Slide_init() {
nSpdX = fDataClassDefinition.oATTACK_DATA.SlidingSlash.nSpdX;
if (sDirection == "Left") {
nSpdX = nSpdX * -1;
}
}
function state_Slide() {
}
function state_Slide_end() {
oController.stopSfx("Slide");
}
function state_SlidingSlash() {
oOpponent.checkToBlock("SlidingSlash");
checkHitOpponent("SlidingSlash");
oOpponent.checkEndToBlock("SlidingSlash");
if (stateFinished()) {
setState("EndSlidingSlash");
}
}
function state_EndSlidingSlash() {
if (stateFinished()) {
setState("Idle");
}
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Underminer(oInstance));
}
function setJumpScratchBlock() {
nSpdX = nSpdX / fDataClassDefinition.oATTACK_DATA.JumpScratch.nBounceModSpdX;
nSpdY = nSpdY * fDataClassDefinition.oATTACK_DATA.JumpScratch.nBounceModSpdY;
if ((((oOpponent.getState() == "StartBlock") || (oOpponent.getState() == "Block")) || (oOpponent.getState() == "BlockHit")) || (oOpponent.getState() == "EndBlock")) {
setState("JumpScratchBlock");
}
}
function getHit(_sAttackType) {
var _local4 = oOpponent.fDataClassDefinition.oATTACK_DATA[_sAttackType].bCantBeBlock;
if ((_local4 == true) && (sState == "Block")) {
looseHealth(_sAttackType, "Half");
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
}
if ((_local4 != true) && ((((sState == "StartBlock") || (sState == "Block")) || (sState == "BlockHit")) || (sState == "EndBlock"))) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nBlockPropelSpdX;
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if (sState == "BlockHit") {
mcRef.mcState.gotoAndPlay(1);
} else {
setState("BlockHit");
}
oAI.sCurrentAction = "Block";
if ((_sAttackType == "ShoulderTackle") && (Math.abs(oOpponent.nSpdX) > Math.abs(nSpdX))) {
oOpponent.bShoulderBlocked = true;
oAI.nTimeBlocking = 0;
oOpponent.nSpdX = nSpdX / 4;
}
oOpponent.resetComboInRow();
} else {
looseHealth(_sAttackType, "Full");
if ((_sAttackType == "HyperUppercut") || (_sAttackType == "ShoulderTackle")) {
oController.playSfx(["Boom1", "Boom2", "Boom3", "Boom4"]);
}
if ((_sAttackType != "RapidPunch") || (fDataClassDefinition.oCANT_BE_HIT_DATA[sState] != true)) {
oOpponent.onAttackHurt(_sAttackType);
}
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].bDontAffectDirection != true) {
if (oOpponent.sDirection == "Right") {
if (sDirection == "Right") {
changeDirection();
}
} else if (sDirection == "Left") {
changeDirection();
}
}
var _local3 = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].sGetHitState;
if (_local3 != "Hurt") {
oBackground.setItemToShow(this);
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag != undefined) {
oBackground.switchToLagMode(fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nCamLag);
} else {
oBackground.switchToLagMode();
}
}
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdX;
nSpdY = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].nPropelSpdY;
if (fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe] != undefined) {
nSpdX = fDataClassDefinition.oATTACK_REACT_DATA[_sAttackType].oPropelXOnFrames["nOnFr" + oOpponent.mcRef.mcState._currentframe];
}
if (sDirection == "Right") {
nSpdX = nSpdX * -1;
}
if ((_local3 == "Hurt") && (sState == "Hurt")) {
if (nHealth <= 0) {
_local3 = "PropelUpHurt";
setState(_local3);
} else {
mcRef.mcState.gotoAndPlay(1);
}
} else {
if ((_local3 == "Hurt") && ((((((((nHealth <= 0) || (sState == "StartJump")) || (sState == "Jump")) || (sState == "StartFall")) || (sState == "Fall")) || (sState == "StartJumpKick")) || (sState == "EndJumpKick")) || (sState == "JumpKickBlock"))) {
_local3 = "PropelUpHurt";
}
setState(_local3);
}
}
if (nHealth <= 0) {
oOpponent.lockControls();
}
oOpponent.clearIncomingAttack();
}
function setSpdX() {
switch (sState) {
case "Idle" :
case "PropelUpCrash" :
nSpdX = 0;
break;
case "PropelUpHurt" :
case "PropelUpStartFall" :
case "ProperUpFall" :
case "PropelBackHurt" :
case "PropelBackStartFall" :
case "ProperBackFall" :
case "StartJumpScratch" :
case "Slide" :
break;
case "StartJump" :
case "Jump" :
case "StartFall" :
case "Fall" :
if (oAI.sCurrentAction == "LongJumpBack") {
nSpdX = nSpdX / nFlyBackDeceleration;
}
break;
case "StartWalk" :
case "Walk" :
if (sDirection == "Right") {
if (nSpdX < nMaxRunSpd) {
nSpdX = nSpdX + nSpdXAcceleration;
} else if (nSpdX > nMaxRunSpd) {
nSpdX = nMaxRunSpd;
}
} else if (nSpdX > (-nMaxRunSpd)) {
nSpdX = nSpdX - nSpdXAcceleration;
} else if (nSpdX < (-nMaxRunSpd)) {
nSpdX = -nMaxRunSpd;
}
break;
default :
if (nSpdX > 0) {
nSpdX = nSpdX - nSpdXDeceleration;
if (nSpdX < 0) {
nSpdX = 0;
}
} else {
if (nSpdX >= 0) {
break;
}
nSpdX = nSpdX + nSpdXDeceleration;
if (nSpdX <= 0) {
break;
}
nSpdX = 0;
}
}
nSpdX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdX);
}
function setSpdY() {
switch (sState) {
case "HurtWall" :
nSpdY = 0;
break;
case "PropelBackHurt" :
case "PropelBackStart" :
case "PropelBackFall" :
nSpdY = 0;
break;
default :
if (nSpdY == 0) {
nSpdY = nMinFallSpdY;
} else if (nSpdY < 0) {
nSpdY = nSpdY / nJumpSpdYDeceleration;
if (nSpdY >= nMinJumpSpdY) {
setState("StartFall");
nSpdY = 0;
}
} else {
if (nSpdY >= nMaxFallSpdY) {
break;
}
nSpdY = nSpdY * nFallSpdYAcceleration;
if (nSpdY <= nMaxFallSpdY) {
break;
}
nSpdY = nMaxFallSpdY;
}
}
nSpdY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nSpdY);
}
function setHitGround() {
nSpdY = 0;
if ((sState == "PropelUpStartFall") || (sState == "PropelUpFall")) {
setState("PropelUpCrash");
} else if ((sState == "PropelBackStartFall") || (sState == "PropelBackFall")) {
setState("PropelBackCrash");
} else if (sState == "HurtWallSlide") {
setState("HurtWallLand");
} else {
setState("Land");
}
}
function setHitWall() {
if ((((sState == "PropelBackHurt") || (sState == "PropelBackStartFall")) || (sState == "PropelBackFall")) || (sState == "Roll")) {
oScreenShaker.setShake({sAxis:"X", nStartStr:20, nMaxStr:20, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
oScreenShaker.setShake({sAxis:"Y", nStartStr:10, nMaxStr:10, nTimeMaxStr:0, nStrIn:1.5, nStrOut:2.5});
if (nHealth > 0) {
setState("HurtWall");
} else {
setState("PropelBackCrash");
}
}
oAI.reactToHitWall();
}
function setDrillAttack() {
var _local2 = fDataClassDefinition.oATTACK_DATA.Drill.oDrillGap[oController.giveDifficulty()];
var _local3 = Math.floor(Math.random() * (_local2 * 2)) - _local2;
var _local4 = oOpponent.nSpdX * fDataClassDefinition.oATTACK_DATA.Drill.oFrHit.nReachDestFr;
nMaxMoveX = ((oOpponent.nPosX + _local4) + _local3) - nPosX;
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
makeMoving();
setState("Drill");
}
function setDigOut(_sAction) {
var _local4 = oBackground.giveCurrentZone(oOpponent.nPosX);
var _local2;
if (_local4 == "Right") {
_local2 = oOpponent.nPosX - fDataClassDefinition.oDIG_OUT_DATA[_sAction];
} else if (_local4 == "Left") {
_local2 = oOpponent.nPosX + fDataClassDefinition.oDIG_OUT_DATA[_sAction];
} else if (Math.random() < 0.5) {
_local2 = oOpponent.nPosX - fDataClassDefinition.oDIG_OUT_DATA[_sAction];
} else {
_local2 = oOpponent.nPosX + fDataClassDefinition.oDIG_OUT_DATA[_sAction];
}
nMaxMoveX = _local2 - nPosX;
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
makeMoving();
setState("DigOut");
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
switch (_oMovingItem.sType) {
case "BigRock" :
if (fDataClassDefinition.oCANT_BE_HIT_DATA[getState()] != true) {
var _local2 = checkAttackCanHit("SuperThrow");
if (_local2 == true) {
getHit("SuperThrow");
} else {
oOpponent.resetComboInRow();
}
_oMovingItem.doHit(sColliderType);
}
break;
default :
}
}
}
Symbol 2475 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.PlayerHud] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.PlayerHud extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.CharacterHud
{
var oController, mcRef;
function PlayerHud (_oItemData) {
super(_oItemData);
}
function initDisplay() {
super.initDisplay();
showScore();
}
function showScore() {
mcRef.txtScore = oController.getScore();
}
}
Symbol 2476 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.TopBlocker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.TopBlocker extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
function TopBlocker (_oItemData) {
super(_oItemData);
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Up") {
return(true);
}
return(false);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Up") {
_oMovingItem.nRealMoveY = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveY = 0;
_oMovingItem.nRealMoveX = 0;
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
_oMovingItem.setHitGround();
}
}
Symbol 2477 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.BottomBlocker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.BottomBlocker extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
function BottomBlocker (_oItemData) {
super(_oItemData);
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Down") {
return(true);
}
return(false);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Down") {
_oMovingItem.nRealMoveY = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveY = 0;
_oMovingItem.nSpdY = 0;
_oMovingItem.nRealMoveX = 0;
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
_oMovingItem.setHitTop();
}
}
Symbol 2478 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightBlocker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightBlocker extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
var nRightHitBorder;
function RightBlocker (_oItemData) {
super(_oItemData);
setHitBorders();
}
function setHitBorders() {
super.setHitBorders();
var _local3 = com.disney.gem.games.SavingTheDay.screens.GameScreen.giveReference();
_local3.nLeftMoveLimit = nRightHitBorder;
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Right") {
return(true);
}
return(false);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Right") {
_oMovingItem.nRealMoveX = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveX = 0;
_oMovingItem.nRealMoveY = 0;
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Right") {
_oMovingItem.setHitWall();
}
}
}
Symbol 2479 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftBlocker] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftBlocker extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
var nLeftHitBorder;
function LeftBlocker (_oItemData) {
super(_oItemData);
setHitBorders();
}
function setHitBorders() {
super.setHitBorders();
var _local3 = com.disney.gem.games.SavingTheDay.screens.GameScreen.giveReference();
_local3.nRightMoveLimit = nLeftHitBorder;
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Left") {
return(true);
}
return(false);
}
function resolveHit(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Left") {
_oMovingItem.nRealMoveX = _oImpactCheckResult.nImpactDist;
_oMovingItem.nMaxMoveX = 0;
_oMovingItem.nRealMoveY = 0;
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
if (_oImpactCheckResult.sImpactSide == "Left") {
_oMovingItem.setHitWall();
}
}
}
Symbol 2480 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.InsideCollider] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.InsideCollider extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
var sColliderType, setHitBorders, nDownHitBorder, nUpHitBorder, nRightHitBorder, nLeftHitBorder, oImpactManager;
function InsideCollider (_oItemData) {
super(_oItemData);
}
function checkInReach(_oMovingData, _nRightMoveBorder, _nLeftMoveBorder, _nDownMoveBorder, _nUpMoveBorder) {
var _local3 = false;
var _local4 = _oMovingData.sColliderType;
if (com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition[_local4][sColliderType] != undefined) {
setHitBorders();
if ((((_oMovingData.nRightHitBorder >= nLeftHitBorder) and (_oMovingData.nLeftHitBorder <= nRightHitBorder)) and (_oMovingData.nDownHitBorder >= nUpHitBorder)) and (_oMovingData.nUpHitBorder <= nDownHitBorder)) {
_oMovingData.bInXReach = true;
_oMovingData.bInYReach = true;
_local3 = true;
}
}
return(_local3);
}
function confirmCanBeHit(_oMovingItem, _oImpactCheckResult) {
oImpactManager.addItemToValidate(this);
return(false);
}
function checkInReachAfterMove(_oMovingItem, _nRightMoveBorder, _nLeftMoveBorder, _nDownMoveBorder, _nUpMoveBorder) {
var _local2 = false;
if ((((_oMovingItem.nRightHitBorder >= nLeftHitBorder) and (_oMovingItem.nLeftHitBorder <= nRightHitBorder)) and (_oMovingItem.nDownHitBorder >= nUpHitBorder)) and (_oMovingItem.nUpHitBorder <= nDownHitBorder)) {
_local2 = true;
}
return(_local2);
}
function resolveHitAfterMove(_oMovingItem, _oImpactCheckResult) {
doImpactResult(_oMovingItem, _oImpactCheckResult);
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
}
}
Symbol 2481 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftSlope] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.LeftSlope extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
var bSliding, sSlideDirection, nUpBorder, nScaleY, mcRef, nRightBorder, nScaleX, nDownBorder, nLeftBorder, oImpactManager, nPosX, nPosY, nM, nB, sColliderType, setHitBorders, nUpHitBorder, nDownHitBorder, nLeftHitBorder, nRightHitBorder, oController, addActivateBroadcast;
function LeftSlope (_oItemData) {
super(_oItemData);
setSlope();
bSliding = false;
sSlideDirection = "Left";
}
function setAsCollider() {
nUpBorder = (mcRef.mcRightUpBorder._y * nScaleY) / 100;
nRightBorder = (mcRef.mcRightUpBorder._x * nScaleX) / 100;
nDownBorder = (mcRef.mcLeftDownBorder._y * nScaleY) / 100;
nLeftBorder = (mcRef.mcLeftDownBorder._x * nScaleX) / 100;
nUpBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpBorder);
nRightBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightBorder);
nDownBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownBorder);
nLeftBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftBorder);
mcRef.mcLeftDownBorder.swapDepths(10);
mcRef.mcLeftDownBorder.removeMovieClip();
mcRef.mcRightUpBorder.swapDepths(10);
mcRef.mcRightUpBorder.removeMovieClip();
oImpactManager.addSlopeCollider(this);
}
function setSlope() {
var _local3 = nPosX + nLeftBorder;
var _local5 = nPosX + nRightBorder;
var _local2 = nPosY + nDownBorder;
var _local4 = nPosY + nUpBorder;
nM = (_local4 - _local2) / (_local5 - _local3);
nB = _local2 - (nM * _local3);
}
function checkInReach(_oMovingData, _nRightMoveBorder, _nLeftMoveBorder, _nDownMoveBorder, _nUpMoveBorder) {
var _local2 = false;
var _local3 = _oMovingData.sColliderType;
if (com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition[_local3][sColliderType] == true) {
setHitBorders();
if ((((nRightHitBorder >= _nLeftMoveBorder) and (nLeftHitBorder <= _nRightMoveBorder)) and (nDownHitBorder >= _nUpMoveBorder)) and (nUpHitBorder <= _nDownMoveBorder)) {
_local2 = true;
}
}
return(_local2);
}
function giveSlopeData(_oMovingData) {
var _local4 = int((nM * _oMovingData.nPosX) + nB);
var _local3 = int((nM * _oMovingData.nDestX) + nB);
if ((_oMovingData.nPosY <= _local3) || ((_oMovingData.nMaxMoveX >= 0) and (_oMovingData.nPosY <= _local4))) {
var _local5 = {oItem:this, nYOnSlopeAtDest:_local3};
return(_local5);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
_oMovingItem.setSlopeHit(bSliding, sSlideDirection);
}
function desactivateItem() {
mcRef.removeMovieClip();
oController.oMainBroadcaster.removeListener(this);
addActivateBroadcast();
oImpactManager.removeSlopeCollider(this);
}
}
Symbol 2482 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightSlope] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.RightSlope extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.ColliderItem
{
var bSliding, sSlideDirection, nUpBorder, nScaleY, mcRef, nRightBorder, nScaleX, nDownBorder, nLeftBorder, oImpactManager, nPosX, nPosY, nM, nB, sColliderType, setHitBorders, nUpHitBorder, nDownHitBorder, nLeftHitBorder, nRightHitBorder, oController, addActivateBroadcast;
function RightSlope (_oItemData) {
super(_oItemData);
setSlope();
bSliding = false;
sSlideDirection = "Right";
}
function setAsCollider() {
nUpBorder = (mcRef.mcRightUpBorder._y * nScaleY) / 100;
nRightBorder = (mcRef.mcRightUpBorder._x * nScaleX) / 100;
nDownBorder = (mcRef.mcLeftDownBorder._y * nScaleY) / 100;
nLeftBorder = (mcRef.mcLeftDownBorder._x * nScaleX) / 100;
nUpBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nUpBorder);
nRightBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nRightBorder);
nDownBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nDownBorder);
nLeftBorder = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nLeftBorder);
mcRef.mcLeftDownBorder.swapDepths(10);
mcRef.mcLeftDownBorder.removeMovieClip();
mcRef.mcRightUpBorder.swapDepths(10);
mcRef.mcRightUpBorder.removeMovieClip();
oImpactManager.addSlopeCollider(this);
}
function setSlope() {
var _local3 = nPosX + nLeftBorder;
var _local5 = nPosX + nRightBorder;
var _local2 = nPosY + nUpBorder;
var _local4 = nPosY + nDownBorder;
nM = (_local4 - _local2) / (_local5 - _local3);
nB = _local2 - (nM * _local3);
}
function checkInReach(_oMovingData, _nRightMoveBorder, _nLeftMoveBorder, _nDownMoveBorder, _nUpMoveBorder) {
var _local2 = false;
var _local3 = _oMovingData.sColliderType;
if (com.disney.gem.games.SavingTheDay.game_data.scroll_sys_data.ImpactDefinition[_local3][sColliderType] == true) {
setHitBorders();
if ((((nRightHitBorder >= _nLeftMoveBorder) and (nLeftHitBorder <= _nRightMoveBorder)) and (nDownHitBorder >= _nUpMoveBorder)) and (nUpHitBorder <= _nDownMoveBorder)) {
_local2 = true;
}
}
return(_local2);
}
function giveSlopeData(_oMovingData) {
var _local4 = int((nM * _oMovingData.nPosX) + nB);
var _local3 = int((nM * _oMovingData.nDestX) + nB);
if ((_oMovingData.nPosY <= _local3) || ((_oMovingData.nMaxMoveX <= 0) and (_oMovingData.nPosY <= _local4))) {
var _local5 = {oItem:this, nYOnSlopeAtDest:_local3};
return(_local5);
}
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
_oMovingItem.setSlopeHit(bSliding, sSlideDirection);
}
function desactivateItem() {
mcRef.removeMovieClip();
oController.oMainBroadcaster.removeListener(this);
addActivateBroadcast();
oImpactManager.removeSlopeCollider(this);
}
}
Symbol 2483 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Parallax] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Parallax extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem
{
var nLeftBound, nRightBound, nTopBound, nBottomBound, nRatioX, nRatioY, nPosX, mcRef, nPosY, oBackground, oController, setState, sAttachName, mcContainer;
function Parallax (_oItemData) {
super(_oItemData);
nLeftBound = 0;
nRightBound = 0;
nTopBound = 0;
nBottomBound = 0;
nRatioX = 1;
nRatioY = 1;
setBounds();
mcRef._x = nPosX;
mcRef._y = nPosY;
}
function state_WaitForBackground() {
if (oBackground == undefined) {
oBackground = com.disney.gem.games.SavingTheDay.game_obj.Background.giveReference();
if (oBackground != undefined) {
oController.oMainBroadcaster.removeListener(this);
oController.oMainBroadcaster.addListener(this);
setScaling();
setState("FollowBackground");
state_FollowBackground();
}
}
}
function state_FollowBackground() {
nPosX = oBackground.nPosX * nRatioX;
nPosY = oBackground.nPosY * nRatioY;
mcRef._x = int(nPosX);
mcRef._y = int(nPosY);
}
function setBounds() {
nLeftBound = mcContainer[sAttachName].mcLeftDownBounds._x;
nRightBound = mcContainer[sAttachName].mcRightUpBounds._x;
nTopBound = mcContainer[sAttachName].mcRightUpBounds._y;
nBottomBound = mcContainer[sAttachName].mcLeftDownBounds._y;
mcContainer[sAttachName].mcLeftDownBounds.swapDepths(10);
mcContainer[sAttachName].mcLeftDownBounds.removeMovieClip();
mcContainer[sAttachName].mcRightUpBounds.swapDepths(10);
mcContainer[sAttachName].mcRightUpBounds.removeMovieClip();
}
function setScaling() {
var _local4 = (nRightBound - nLeftBound) - oBackground.nRightScreenX;
var _local3 = (oBackground.nRightBound - oBackground.nLeftBound) - oBackground.nRightScreenX;
var _local2 = (nBottomBound - nTopBound) - oBackground.nBottomScreenY;
var _local5 = (oBackground.nBottomBound - oBackground.nTopBound) - oBackground.nBottomScreenY;
nRatioX = _local4 / _local3;
nRatioY = _local2 / _local5;
}
}
Symbol 2484 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.characters_data.OmnidroidData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.characters_data.OmnidroidData
{
function OmnidroidData () {
}
static function setOpponent() {
var _local1 = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
return(_local1);
}
static var oCHANGE_STATE_DATA = {Idle:{StartWalk:true, StartMoveBack:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Win:true}, StartWalk:{Walk:true, EndWalk:true, StartMoveBack:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Walk:{EndWalk:true, StartMoveBack:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndWalk:{Idle:true, StartWalk:true, StartMoveBack:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, StartMoveBack:{Idle:true, MoveBack:true, StartWalk:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, MoveBack:{Idle:true, StartWalk:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, StartBlock:{Block:true, BlockHit:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Block:{BlockHit:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, BlockHit:{Block:true, EndBlock:true, Spin:true, StartJump:true}, EndBlock:{StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, BlockHit:true, Idle:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Slam:{EndSlam:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndSlam:{Idle:true, StartWalk:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Spin:{EndSpin:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndSpin:{Idle:true, StartWalk:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Crush:{EndCrush:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndCrush:{Idle:true, StartWalk:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, StartJump:{Jump:true, StartBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Jump:{Fall:true}, Fall:{Stomp:true, Land:true}, Stomp:{Land:true, SideJump:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Land:{Idle:true, StartBlock:true, Slam:true, Spin:true, Crush:true, StartJump:true, SideJump:true, StartRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, SideJump:{Idle:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, StartRoll:{Roll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Roll:{EndRoll:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndRoll:{Idle:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Hurt:{EndHurt:true, Die:true}, EndHurt:{Idle:true, Die:true, Spin:true}, PropelUpHurt:{PropelUpStartFall:true}, PropelUpStartFall:{PropelUpFall:true, PropelUpCrash:true}, PropelUpFall:{PropelUpCrash:true, PropelUpCrash:true}, PropelUpCrash:{Idle:true, Die:true, Spin:true, StartJump:true}, PropelBackHurt:{PropelBackStartFall:true}, PropelBackStartFall:{PropelBackFall:true, PropelBackCrash:true}, PropelBackFall:{PropelBackCrash:true, PropelBackCrash:true}, PropelBackCrash:{Idle:true, Die:true, Spin:true, StartJump:true}, Die:{Dead:true, WaitForHealth:true}, WaitForHealth:{Rebirth:true}, Rebirth:{Idle:true}};
static var oMAX_HEALTH_DATA = {nMaxEasy:150, nMaxMed:150, nMaxHard:150};
static var sStartDirection = "Left";
static var nExitWallPlayerDist = 200;
static var oBORDERS_SETS_DATA = {};
static var oCHANGE_DIRECTION_DATA = {Fall:true, StartWalk:true, Walk:true, EndWalk:true, StartBlock:true, Block:true, EndBlock:true};
static var oCANT_BE_HIT_DATA = {Hurt:true, EndHurt:true, PropelUpHurt:true, PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true, PropelBackHurt:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true, Jump:true, Fall:true, Die:true, WaitForHealth:true, Rebirth:true, Dead:true, StartRoll:true, Roll:true, oExceptions:{RapidPunch:{Hurt:true}, HyperUppercut:{StartRoll:true, Roll:true}, ShoulderTackle:{StartRoll:true, Roll:true}}, oOnAttack:{Punch:{Crush:true, Slam:true, Stomp:true, Spin:true, StartRoll:true, Roll:true}, CrouchPunch:{Crush:true, Stomp:true, Spin:true, StartRoll:true, Roll:true}, JumpKick:{Slam:true, Stomp:true, Spin:true, StartRoll:true, Roll:true}, RapidPunch:{Crush:true, Slam:true, Stomp:true, Spin:true, StartRoll:true, Roll:true}, BackflipKick:{Stomp:true, Spin:true, StartRoll:true, Roll:true}, HyperUppercut:{Slam:true, Spin:true}, ProximityAttack:{Stomp:true, StartRoll:true, Roll:true}, ShoulderTackle:{Crush:true, Stomp:true}, SuperThrow:{Slam:true, Stomp:true, Spin:true, StartRoll:true, Roll:true}}};
static var oSPEEDS_DATA = {nMaxRunSpd:5, nMinRunSpd:1, nSpdXAcceleration:1, nSpdXDeceleration:2, nMaxMoveBackSpd:5, nMaxJumpSpdX:12, nMinJumpSpdX:1, nMaxJumpSpdY:-150, nMinJumpSpdY:-1, nMaxFallSpdY:40, nMinFallSpdY:1, nSideJumpSpdX:35, nSpinSpdX:30, nMaxRollSpd:30, nMinRollSpd:5, nRollSpdXAcceleration:2};
static var oATTACK_REACT_DATA = {Punch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, CrouchPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, JumpKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, RapidPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:4, nPropelSpdX:4, nPropelSpdY:0, oPropelXOnFrames:{nOnFr34:20, nOnFr35:20}}, BackflipKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, HyperUppercut:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:15, nPropelSpdY:-250, nCamLag:7}, ProximityAttack:{sGetHitState:"Hurt", nBlockPropelSpdX:0, nPropelSpdX:15, nPropelSpdY:-10}, ShoulderTackle:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:20, nPropelSpdX:40, nPropelSpdY:-65, nCamLag:7}, SuperThrow:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:20, nPropelSpdX:20, nPropelSpdY:-65, nFrBigRockBlock:4, nFrBigRockSlam:6, nFrBigRockSpin:10, nCamLag:7}};
static var oATTACK_DATA = {Slam:{sAttackType:"Slam", oFrHit:{Fr6:true, Fr7:true, nReachDestFr:6}, oFrCanBlock:{nFrStart:2, nFrEnd:7}, nNearXHit:0, nFarXHit:320, nNearYHit:0, nFarYHit:-420, nReachLimitModifier:0, nDammage:10}, Spin:{sAttackType:"Spin", oFrHit:{Fr9:true, Fr10:true, Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, Fr19:true, Fr20:true, Fr21:true, Fr22:true, Fr23:true, Fr24:true, nReachDestFr:14}, oFrCanBlock:{nFrStart:1, nFrEnd:24}, nNearXHit:-215, nFarXHit:215, nNearYHit:0, nFarYHit:-260, nReachLimitModifier:0, bCantBeBlock:true, nDammage:10}, Crush:{sAttackType:"Crush", oFrHit:{Fr8:true, Fr9:true, nReachDestFr:8}, oFrCanBlock:{nFrStart:4, nFrEnd:9}, nNearXHit:153, nFarXHit:305, nNearYHit:0, nFarYHit:-228, nReachLimitModifier:80, nDammage:5}, Stomp:{sAttackType:"Stomp", oFrHit:{Fr1:true, Fr2:true, Fr3:true, Fr19:true, Fr20:true, nReachDestFr:1}, nNearXHit:-145, nFarXHit:145, nNearYHit:0, nFarYHit:-350, nDammage:10}, Roll:{sAttackType:"Stomp", oFrHit:{AllFrames:true}, nNearXHit:-70, nFarXHit:70, nNearYHit:0, nFarYHit:-140, bCantBeBlock:true, nDammage:15}, StayIdle:{nNearXHit:0, nFarXHit:100, nReachLimitModifier:0}};
}
Symbol 2485 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.ai_class.OmnidroidAI] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.ai_class.OmnidroidAI
{
var oOwner, aActionsSet, sCurrentAction, bCurrentAttackCompleted, nMaxTimeBlocking, nMinTimeBlocking, nMinTimeChooseAction, oAIData, nMaxTimeChooseAction, nTimeChooseAction, sAttackAtDest, nMoveAwayDest, nMinMoveAwayDist, nMaxMoveAwayDist, nMinOpponentDistMoveAway, bControlsLock, nChanceToExitWall, bWaitBigRock, bStopCheckBigRock, nStayIdleTime, oIncomingAttackData, nTimeBlocking;
function OmnidroidAI (_oOwner) {
oOwner = _oOwner;
setAIData();
aActionsSet = new Array();
sCurrentAction = "";
bCurrentAttackCompleted = false;
nMaxTimeBlocking = 15;
nMinTimeBlocking = 5;
nMinTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMin;
nMaxTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMax;
nTimeChooseAction = setDecisionTime();
sAttackAtDest = "";
nMoveAwayDest = 0;
nMinMoveAwayDist = 200;
nMaxMoveAwayDist = 800;
nMinOpponentDistMoveAway = 350;
bControlsLock = false;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
bWaitBigRock = false;
bStopCheckBigRock = false;
nStayIdleTime = 0;
}
function setAIData() {
switch (oOwner.oController.giveDifficulty()) {
case "Easy" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniEasy;
break;
case "Med" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniMed;
break;
case "Hard" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniHard;
}
}
function checkTimeForAction() {
if (!bControlsLock) {
if (nTimeChooseAction > 0) {
nTimeChooseAction--;
} else if (oAIData.oACTION_DATA.oCanActStates[oOwner.sState] == true) {
chooseAction(oAIData.oACTION_DATA);
}
} else {
nTimeChooseAction = 0;
}
}
function setDecisionTime() {
var _local2 = Math.floor(Math.random() * (nMaxTimeChooseAction - nMinTimeChooseAction)) + nMinTimeChooseAction;
return(_local2);
}
function forceAction() {
nTimeChooseAction = 0;
setAction();
}
function checkIfExitWall(_sWallZoneIn) {
var _local2;
if (((_sWallZoneIn == "Right") && (oOwner.oOpponent.nPosX > oOwner.nPosX)) || ((_sWallZoneIn == "Left") && (oOwner.oOpponent.nPosX < oOwner.nPosX))) {
_local2 = false;
} else if (Math.floor(Math.random() * 100) < nChanceToExitWall) {
_local2 = true;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
chooseAction(oAIData.oEXIT_WALL_DATA);
} else {
nChanceToExitWall = nChanceToExitWall + oAIData.oEXIT_WALL_DATA.nChanceModifier;
_local2 = false;
}
return(_local2);
}
function chooseAction(_oActionsData) {
var _local6 = false;
var _local5 = 0;
var _local3 = 1;
var _local7 = Math.floor(Math.random() * 100);
while (_local6 == false) {
_local5 = _local5 + _oActionsData.oActionSets["oActionSet" + _local3].nChanceToDo;
if (_local7 < _local5) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < _oActionsData.oActionSets["oActionSet" + _local3].aActions.length) {
aActionsSet.push(_oActionsData.oActionSets["oActionSet" + _local3].aActions[_local2]);
_local2++;
}
_local6 = true;
}
_local3++;
}
setAction();
nTimeChooseAction = setDecisionTime();
}
function checkEndRoll() {
if (((oOwner.sState != "StartRoll") && (oOwner.sState != "Roll")) && (oOwner.sState != "EndRoll")) {
setAction();
} else if (oOwner.sDirection == "Right") {
if ((oOwner.nPosX - oOwner.fDataClassDefinition.oATTACK_DATA.Roll.nFarXHit) > oOwner.oOpponent.nRightHitBorder) {
oOwner.setState("EndRoll");
}
} else if ((oOwner.nPosX + oOwner.fDataClassDefinition.oATTACK_DATA.Roll.nFarXHit) < oOwner.oOpponent.nLeftHitBorder) {
oOwner.setState("EndRoll");
}
}
function setIncomingAttack(_oIncomingAttackData) {
oIncomingAttackData = new Object();
oIncomingAttackData = _oIncomingAttackData;
checkIncomingAttack();
}
function clearIncomingAttack() {
oIncomingAttackData = new Object();
}
function stopWaitBigRock() {
bWaitBigRock = false;
bStopCheckBigRock = false;
}
function flushActionsSet() {
aActionsSet.splice(0);
}
function checkIncomingAttack() {
if ((oIncomingAttackData.sAttackType != undefined) && (oAIData.oDEFENCE_DATA.oCanReactStates[oOwner.sState] == true)) {
if ((oIncomingAttackData.sAttackType == "SuperThrow") && (bWaitBigRock)) {
var _local6 = (Math.abs(oOwner.nPosX - oIncomingAttackData.nRockPosX) - oIncomingAttackData.nRockHitDist) - oOwner.nRightBorder;
var _local8 = (oOwner.oOpponent.fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch - oIncomingAttackData.nFrAttack) + int(_local6 / oIncomingAttackData.nRockSpdX);
if (_local8 <= oOwner.fDataClassDefinition.oATTACK_REACT_DATA.SuperThrow["nFrBigRock" + aActionsSet[0]]) {
setAction();
}
} else {
var _local7 = oOwner.checkInAttackReach(oIncomingAttackData.oReachLimits);
if ((_local7 == true) || (oIncomingAttackData.sAttackType == "SuperThrow")) {
if ((oIncomingAttackData.sAttackType != "SuperThrow") || (!bStopCheckBigRock)) {
if (Math.floor(Math.random() * 100) < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType].nChanceToReact) {
if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
var _local5 = false;
var _local4 = 0;
var _local3 = 1;
while (_local5 == false) {
_local4 = _local4 + oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].nChanceToDo;
if (Math.floor(Math.random() * 100) < _local4) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions.length) {
aActionsSet.push(oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions[_local2]);
_local2++;
}
_local5 = true;
if (oIncomingAttackData.sAttackType == "SuperThrow") {
oOwner.checkOpponentSide(false);
bWaitBigRock = true;
}
}
_local3++;
}
setAction();
} else if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
}
}
}
}
clearIncomingAttack();
}
function reactToHitWall() {
switch (sCurrentAction) {
case "ReachToAttack" :
if (sAttackAtDest == "Crush") {
oOwner.setState("Idle");
setAction();
}
break;
case "Roll" :
if (oOwner.sState == "Roll") {
oOwner.nSpdX = 0;
oOwner.checkOpponentSide(false);
oOwner.setState("EndRoll");
}
setAction();
break;
}
}
function setAction() {
sAttackAtDest = "";
if (aActionsSet.length > 0) {
sCurrentAction = aActionsSet[0];
aActionsSet.splice(0, 1);
} else {
sCurrentAction = "";
}
this["init" + sCurrentAction]();
}
function onAttackCompleted() {
bCurrentAttackCompleted = true;
}
function controlActions() {
checkIncomingAttack();
if (((aActionsSet.length == 0) && (sCurrentAction == "")) && (!bWaitBigRock)) {
checkTimeForAction();
} else if (sCurrentAction != "") {
this["checkEnd" + sCurrentAction]();
}
}
function initStayIdle() {
nStayIdleTime = Math.floor(Math.random() * (oAIData.oACTION_DATA.oStayIdleData.nTimeMax - oAIData.oACTION_DATA.oStayIdleData.nTimeMin)) + oAIData.oACTION_DATA.oStayIdleData.nTimeMin;
if ((oOwner.sState == "StartWalk") || (oOwner.sState == "Walk")) {
oOwner.setState("EndWalk");
} else {
oOwner.setState("Idle");
}
}
function checkEndStayIdle() {
nStayIdleTime--;
if (((oOwner.sState != "Idle") && (oOwner.sState != "EndWalk")) || (nStayIdleTime <= 0)) {
nStayIdleTime = 0;
setAction();
}
}
function initMoveAway() {
oOwner.checkOpponentSide(false);
var _local2 = oOwner.oBackground.giveCurrentZone(oOwner.nPosX);
switch (_local2) {
case "Right" :
if (oOwner.nPosX >= oOwner.oOpponent.nPosX) {
initJumpAway();
} else {
initMoveBack(_local2);
}
break;
case "Left" :
if (oOwner.nPosX <= oOwner.oOpponent.nPosX) {
initJumpAway();
} else {
initMoveBack(_local2);
}
break;
case "Central" :
initMoveBack(_local2);
break;
}
}
function initJumpAway() {
nMoveAwayDest = oOwner.oBackground.giveCentralPosition();
nMoveAwayDest = 806;
oOwner.setState("StartJump");
sCurrentAction = "JumpAway";
}
function checkEndJumpAway() {
if ((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "Fall")) && (oOwner.sState != "Stomp")) && (oOwner.sState != "Land")) && (oOwner.sState != "SideJump")) {
forceAction();
}
}
function initMoveBack(_sCurrentZone) {
if (_sCurrentZone == "Central") {
var _local2 = Math.floor(Math.random() * (nMaxMoveAwayDist - nMinMoveAwayDist)) + nMinMoveAwayDist;
if (oOwner.nPosX <= oOwner.oOpponent.nPosX) {
nMoveAwayDest = oOwner.nPosX - _local2;
} else {
nMoveAwayDest = oOwner.nPosX + _local2;
}
} else {
nMoveAwayDest = oOwner.oBackground.giveCentralPosition();
}
if (oOwner.sState != "MoveBack") {
oOwner.setState("StartMoveBack");
}
sCurrentAction = "MoveBack";
}
function checkEndMoveBack() {
var _local2 = Math.abs(oOwner.nPosX - oOwner.oOpponent.nPosX);
if (_local2 <= nMinOpponentDistMoveAway) {
oOwner.setState("Idle");
forceAction();
} else if (oOwner.sDirection == "Right") {
if (oOwner.nPosX <= nMoveAwayDest) {
oOwner.checkOpponentSide(false);
oOwner.setState("Idle");
forceAction();
}
} else if (oOwner.nPosX >= nMoveAwayDest) {
oOwner.checkOpponentSide(false);
oOwner.setState("Idle");
forceAction();
}
}
function initWaitBigRock() {
oOwner.setState("Idle");
}
function checkEndWaitBigRock() {
if (!bWaitBigRock) {
setAction();
}
}
function initBlock() {
setBlockingTime();
oOwner.setState("StartBlock");
}
function setBlockingTime() {
var _local2 = nMaxTimeBlocking - nMinTimeBlocking;
nTimeBlocking = Math.floor(Math.random() * _local2) + nMinTimeBlocking;
}
function checkEndBlock() {
if (oOwner.sState == "Block") {
nTimeBlocking--;
if (nTimeBlocking <= 0) {
oOwner.setState("EndBlock");
setAction();
}
}
}
function initReachToAttack() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
var _local3 = checkAtAttackDest();
if (!_local3) {
if (sAttackAtDest == "Crush") {
var _local2 = oOwner.setAttackReachXLimits(sAttackAtDest);
if (oOwner.sDirection == "Right") {
if (oOwner.oOpponent.nRightHitBorder <= _local2.nLeftReachLimit) {
oOwner.setState("StartMoveBack");
} else {
oOwner.setState("StartWalk");
}
} else if (oOwner.oOpponent.nLeftHitBorder >= _local2.nRightReachLimit) {
oOwner.setState("StartMoveBack");
} else {
oOwner.setState("StartWalk");
}
} else {
oOwner.setState("StartWalk");
}
} else {
setAction();
}
}
function checkEndReachToAttack() {
if (((((oOwner.sState != "StartWalk") && (oOwner.sState != "Walk")) && (oOwner.sState != "EndWalk")) && (oOwner.sState != "StartMoveBack")) && (oOwner.sState != "MoveBack")) {
setAction();
} else {
var _local2 = checkAtAttackDest();
if (_local2) {
setAction();
}
}
}
function checkAtAttackDest() {
var _local3 = false;
var _local2 = oOwner.setAttackReachXLimits(sAttackAtDest);
if (oOwner.nSpdX != 0) {
if (oOwner.sDirection == "Right") {
if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
}
if ((oOwner.oOpponent.nRightHitBorder >= _local2.nLeftReachLimit) && (oOwner.oOpponent.nLeftHitBorder <= _local2.nRightReachLimit)) {
_local3 = true;
}
return(_local3);
}
function initSlam() {
oOwner.setState("Slam");
}
function checkEndSlam() {
if (oOwner.sState != "Slam") {
setAction();
}
}
function initSpin() {
if ((oOwner.oOpponent.nRightHitBorder <= (oOwner.nPosX - oOwner.fDataClassDefinition.oATTACK_DATA.Spin.nFarXHit)) || (oOwner.oOpponent.nLeftHitBorder >= (oOwner.nPosX + oOwner.fDataClassDefinition.oATTACK_DATA.Spin.nFarXHit))) {
if (oOwner.sDirection == "Right") {
oOwner.nSpdX = oOwner.nSpinSpdX;
} else {
oOwner.nSpdX = -oOwner.nSpinSpdX;
}
}
oOwner.setState("Spin");
}
function checkEndSpin() {
if (oOwner.sState != "Spin") {
setAction();
}
}
function initCrush() {
oOwner.setState("Crush");
}
function checkEndCrush() {
if (oOwner.sState != "Crush") {
setAction();
}
}
function initStomp() {
oOwner.setState("StartJump");
}
function checkEndStomp() {
if ((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "Fall")) && (oOwner.sState != "Stomp")) && (oOwner.sState != "Land")) && (oOwner.sState != "SideJump")) {
setAction();
}
}
function initRoll() {
oOwner.setState("StartRoll");
}
}
Symbol 2486 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniEasy] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniEasy
{
function OmniEasy () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:20, nTimeMax:30};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, EndSlam:true, EndCrush:true}, oStayIdleData:{nTimeMin:10, nTimeMax:99}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:85}, oActionSet2:{aActions:["ReachToAttack", "Slam"], nChanceToDo:0}, oActionSet3:{aActions:["ReachToAttack", "Crush"], nChanceToDo:10}, oActionSet4:{aActions:["Stomp"], nChanceToDo:2}, oActionSet5:{aActions:["Roll"], nChanceToDo:3}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:10, nChanceModifier:20, oActionSets:{oActionSet1:{aActions:["Spin"], nChanceToDo:60}, oActionSet2:{aActions:["JumpAway"], nChanceToDo:20}, oActionSet3:{aActions:["Stomp"], nChanceToDo:20}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, EndBlock:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, StartJump:true, Land:true, EndSlam:true, EndCrush:true, EndSpin:true}, Punch:{nChanceToReact:20, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["Slam"], nChanceToDo:20}, oReactSet3:{aReactions:["Crush"], nChanceToDo:15}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:15}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:10}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:20}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}}, CrouchPunch:{nChanceToReact:25, oReactSet1:{aReactions:["Block"], nChanceToDo:9}, oReactSet2:{aReactions:["Slam"], nChanceToDo:5}, oReactSet3:{aReactions:["Crush"], nChanceToDo:5}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:5}, oReactSet5:{aReactions:["Roll"], nChanceToDo:5}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:10}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:20}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:1}}, JumpKick:{nChanceToReact:15, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:5}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:30}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:15}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:15}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}}, RapidPunch:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:25}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:35}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:20}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}}, BackflipKick:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:20}, oReactSet2:{aReactions:["Slam"], nChanceToDo:30}, oReactSet3:{aReactions:["Crush"], nChanceToDo:30}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:10}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:0}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}}, ProximityAttack:{nChanceToReact:5, oReactSet1:{aReactions:["Block"], nChanceToDo:5}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:30}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:10}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}, oReactSet12:{aReactions:["JumpAway"], nChanceToDo:30}}, HyperUppercut:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:35}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:15}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:0}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:5}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:15}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:10}}, ShoulderTackle:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:10}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:25}}, SuperThrow:{nChanceToReact:15, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:45}, oReactSet2:{aReactions:["WaitBigRock", "Slam"], nChanceToDo:10}, oReactSet3:{aReactions:["WaitBigRock", "Slam", "Stomp"], nChanceToDo:0}, oReactSet4:{aReactions:["WaitBigRock", "Slam", "Stomp", "ReachToAttack", "Spin"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:10}, oReactSet6:{aReactions:["WaitBigRock", "Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["WaitBigRock", "Spin", "Roll"], nChanceToDo:0}, oReactSet8:{aReactions:["WaitBigRock", "Block", "Stomp"], nChanceToDo:0}, oReactSet9:{aReactions:["WaitBigRock", "Block", "Roll"], nChanceToDo:10}, oReactSet10:{aReactions:["WaitBigRock", "Slam", "Roll", "ReachToAttack", "Spin"], nChanceToDo:0}, oReactSet11:{aReactions:["WaitBigRock", "Block", "JumpAway", "Roll"], nChanceToDo:5}, oReactSet12:{aReactions:["WaitBigRock", "Block", "JumpAway", "Stomp"], nChanceToDo:10}, oReactSet13:{aReactions:["WaitBigRock", "Block", "JumpAway"], nChanceToDo:10}}};
}
Symbol 2487 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniMed] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniMed
{
function OmniMed () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:30, nTimeMax:20};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, EndSlam:true, EndCrush:true}, oStayIdleData:{nTimeMin:4, nTimeMax:60}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:50}, oActionSet2:{aActions:["ReachToAttack", "Slam"], nChanceToDo:5}, oActionSet3:{aActions:["ReachToAttack", "Crush"], nChanceToDo:20}, oActionSet4:{aActions:["Stomp"], nChanceToDo:10}, oActionSet5:{aActions:["Roll"], nChanceToDo:14}, oActionSet6:{aActions:["Spin"], nChanceToDo:1}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:10, nChanceModifier:30, oActionSets:{oActionSet1:{aActions:["Spin"], nChanceToDo:80}, oActionSet2:{aActions:["JumpAway"], nChanceToDo:10}, oActionSet3:{aActions:["Stomp"], nChanceToDo:10}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, EndBlock:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, StartJump:true, Land:true, EndSlam:true, EndCrush:true, EndSpin:true}, Punch:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:20}, oReactSet3:{aReactions:["Crush"], nChanceToDo:15}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:5}, oReactSet6:{aReactions:["Spin"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:15}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:13}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:2}}, CrouchPunch:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["Slam"], nChanceToDo:1}, oReactSet3:{aReactions:["Crush"], nChanceToDo:1}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:7}, oReactSet6:{aReactions:["Spin"], nChanceToDo:1}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:15}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:15}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:25}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:15}}, JumpKick:{nChanceToReact:55, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:30}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:10}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:5}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:20}}, RapidPunch:{nChanceToReact:50, oReactSet1:{aReactions:["Block"], nChanceToDo:25}, oReactSet2:{aReactions:["Slam"], nChanceToDo:10}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:25}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:10}}, BackflipKick:{nChanceToReact:50, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["Slam"], nChanceToDo:20}, oReactSet3:{aReactions:["Crush"], nChanceToDo:20}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:5}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:5}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:5}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:5}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}}, ProximityAttack:{nChanceToReact:30, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:5}, oReactSet5:{aReactions:["Roll"], nChanceToDo:5}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:25}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:10}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:20}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:0}, oReactSet12:{aReactions:["JumpAway"], nChanceToDo:10}}, HyperUppercut:{nChanceToReact:50, oReactSet1:{aReactions:["Block"], nChanceToDo:35}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:5}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:5}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:10}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:5}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:10}}, ShoulderTackle:{nChanceToReact:55, oReactSet1:{aReactions:["Block"], nChanceToDo:20}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:15}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:10}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:10}}, SuperThrow:{nChanceToReact:55, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:10}, oReactSet2:{aReactions:["WaitBigRock", "Slam"], nChanceToDo:20}, oReactSet3:{aReactions:["WaitBigRock", "Slam", "Stomp"], nChanceToDo:10}, oReactSet4:{aReactions:["WaitBigRock", "Slam", "Stomp", "ReachToAttack", "Spin"], nChanceToDo:5}, oReactSet5:{aReactions:["Roll"], nChanceToDo:1}, oReactSet6:{aReactions:["WaitBigRock", "Spin"], nChanceToDo:19}, oReactSet7:{aReactions:["WaitBigRock", "Spin", "Roll"], nChanceToDo:5}, oReactSet8:{aReactions:["WaitBigRock", "Block", "Stomp"], nChanceToDo:8}, oReactSet9:{aReactions:["WaitBigRock", "Block", "Roll"], nChanceToDo:10}, oReactSet10:{aReactions:["WaitBigRock", "Slam", "Roll", "ReachToAttack", "Spin"], nChanceToDo:5}, oReactSet11:{aReactions:["WaitBigRock", "Block", "JumpAway", "Roll"], nChanceToDo:5}, oReactSet12:{aReactions:["WaitBigRock", "Block", "JumpAway", "Stomp"], nChanceToDo:0}, oReactSet13:{aReactions:["WaitBigRock", "Block", "JumpAway"], nChanceToDo:2}}};
}
Symbol 2488 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniHard] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.OmniHard
{
function OmniHard () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:30, nTimeMax:20};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, EndSlam:true, EndCrush:true}, oStayIdleData:{nTimeMin:2, nTimeMax:40}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:40}, oActionSet2:{aActions:["ReachToAttack", "Slam"], nChanceToDo:10}, oActionSet3:{aActions:["ReachToAttack", "Crush"], nChanceToDo:25}, oActionSet4:{aActions:["Stomp"], nChanceToDo:15}, oActionSet5:{aActions:["Roll"], nChanceToDo:5}, oActionSet6:{aActions:["Spin"], nChanceToDo:5}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:30, nChanceModifier:30, oActionSets:{oActionSet1:{aActions:["Spin"], nChanceToDo:90}, oActionSet2:{aActions:["JumpAway"], nChanceToDo:5}, oActionSet3:{aActions:["Stomp"], nChanceToDo:5}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, EndBlock:true, StartWalk:true, Walk:true, EndWalk:true, StartMoveBack:true, MoveBack:true, StartJump:true, Land:true, EndSlam:true, EndCrush:true, EndSpin:true}, Punch:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:0}, oReactSet2:{aReactions:["Slam"], nChanceToDo:30}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:20}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:5}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:0}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:35}}, CrouchPunch:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:5}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:15}, oReactSet6:{aReactions:["Spin"], nChanceToDo:20}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:5}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:10}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:5}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:20}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:20}}, JumpKick:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:0}, oReactSet2:{aReactions:["Slam"], nChanceToDo:80}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:5}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:0}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:5}}, RapidPunch:{nChanceToReact:70, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["Slam"], nChanceToDo:15}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:15}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:5}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:25}}, BackflipKick:{nChanceToReact:80, oReactSet1:{aReactions:["Block"], nChanceToDo:25}, oReactSet2:{aReactions:["Slam"], nChanceToDo:5}, oReactSet3:{aReactions:["Crush"], nChanceToDo:5}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:15}, oReactSet5:{aReactions:["Roll"], nChanceToDo:10}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:0}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:0}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:0}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:30}}, ProximityAttack:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:10}, oReactSet5:{aReactions:["Roll"], nChanceToDo:10}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:5}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:25}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:10}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:5}, oReactSet12:{aReactions:["JumpAway"], nChanceToDo:5}}, HyperUppercut:{nChanceToReact:80, oReactSet1:{aReactions:["Block"], nChanceToDo:25}, oReactSet2:{aReactions:["Slam"], nChanceToDo:10}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:10}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:15}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:10}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:5}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:10}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:5}}, ShoulderTackle:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["Slam"], nChanceToDo:0}, oReactSet3:{aReactions:["Crush"], nChanceToDo:0}, oReactSet4:{aReactions:["Stomp"], nChanceToDo:0}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["Spin"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "Slam"], nChanceToDo:20}, oReactSet8:{aReactions:["Block", "Crush"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "Stomp"], nChanceToDo:20}, oReactSet10:{aReactions:["Block", "Roll"], nChanceToDo:0}, oReactSet11:{aReactions:["Block", "Spin"], nChanceToDo:25}, oReactSet12:{aReactions:["Block", "JumpAway"], nChanceToDo:5}}, SuperThrow:{nChanceToReact:80, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:15}, oReactSet2:{aReactions:["WaitBigRock", "Slam"], nChanceToDo:35}, oReactSet3:{aReactions:["WaitBigRock", "Slam", "Stomp"], nChanceToDo:10}, oReactSet4:{aReactions:["WaitBigRock", "Slam", "Stomp", "ReachToAttack", "Spin"], nChanceToDo:10}, oReactSet5:{aReactions:["Roll"], nChanceToDo:0}, oReactSet6:{aReactions:["WaitBigRock", "Spin"], nChanceToDo:10}, oReactSet7:{aReactions:["WaitBigRock", "Spin", "Roll"], nChanceToDo:1}, oReactSet8:{aReactions:["WaitBigRock", "Block", "Stomp"], nChanceToDo:3}, oReactSet9:{aReactions:["WaitBigRock", "Block", "Roll"], nChanceToDo:0}, oReactSet10:{aReactions:["WaitBigRock", "Slam", "Roll", "ReachToAttack", "Spin"], nChanceToDo:5}, oReactSet11:{aReactions:["WaitBigRock", "Block", "JumpAway", "Roll"], nChanceToDo:0}, oReactSet12:{aReactions:["WaitBigRock", "Block", "JumpAway", "Stomp"], nChanceToDo:11}, oReactSet13:{aReactions:["WaitBigRock", "Block", "JumpAway"], nChanceToDo:0}}};
}
Symbol 2489 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.characters_data.SyndromeData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.characters_data.SyndromeData
{
function SyndromeData () {
}
static function setOpponent() {
var _local1 = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
return(_local1);
}
static var oCHANGE_STATE_DATA = {Idle:{StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true, Win:true}, StartWalk:{Walk:true, EndWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, Walk:{EndWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, EndWalk:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, StartFly:{Fly:true, StartWalk:true, EndWalk:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, Fly:{EndWalk:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, StartFlyBack:{EndFlyBack:true, FlyBack:true, StartWalk:true, EndWalk:true, StartFly:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, FlyBack:{EndFlyBack:true, StartFly:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, EndFlyBack:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, StartCrouch:{StartWalk:true, StartFly:true, StartFly:true, StartFlyBack:true, Crouched:true, EndCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, Crouched:{StartWalk:true, StartFly:true, StartFlyBack:true, EndCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, EndCrouch:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, StartJump:{Jump:true, StartFall:true, Fall:true, Land:true, Disappear:true, StartJumpKick:true, PropelUpHurt:true, PropelBackHurt:true}, Jump:{StartFall:true, Fall:true, Land:true, Disappear:true, StartJumpKick:true, PropelUpHurt:true, PropelBackHurt:true}, StartFall:{Fall:true, Land:true, Disappear:true, StartJumpKick:true, PropelUpHurt:true, PropelBackHurt:true}, Fall:{Land:true, Disappear:true, StartJumpKick:true, PropelUpHurt:true, PropelBackHurt:true}, Land:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, StartJumpKick:{EndJumpKick:true, JumpKickBlock:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, EndJumpKick:{JumpKickBlock:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, JumpKickBlock:{Land:true, PropelUpHurt:true, PropelBackHurt:true}, StartBlock:{Block:true, BlockHit:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Block:{BlockHit:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, BlockHit:{Block:true, EndBlock:true, Disappear:true}, EndBlock:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, Hurt:{EndHurt:true, PropelUpHurt:true}, EndHurt:{Idle:true, Die:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, PropelUpHurt:{PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true}, PropelUpStartFall:{PropelUpFall:true, PropelUpCrash:true}, PropelUpFall:{PropelUpCrash:true}, PropelUpCrash:{GetUp:true, Die:true}, PropelBackHurt:{HurtWall:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true}, PropelBackStartFall:{HurtWall:true, PropelBackFall:true, PropelBackCrash:true}, PropelBackFall:{HurtWall:true, PropelBackCrash:true}, PropelBackCrash:{GetUp:true, Die:true}, HurtWall:{HurtWallSlide:true}, HurtWallSlide:{HurtWallLand:true}, HurtWallLand:{EndHurtWall:true, Disappear:true}, EndHurtWall:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true, Win:true}, GetUp:{EndGetUp:true, Disappear:true}, EndGetUp:{Idle:true, StartWalk:true, StartFly:true, StartFlyBack:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true, Win:true}, Disappear:{Appear:true}, Appear:{EndAppear:true}, EndAppear:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Disappear:true, EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, TractorBeam:true, RedBeam:true}, EnergyBlast:{EndEnergyBlast:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndEnergyBlast:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, EnergyPunch:{EndEnergyPunch:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndEnergyPunch:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, EnergyBurst:{EndEnergyBurst:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndEnergyBurst:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, TractorBeam:{EndTractorBeam:true, StartPull:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndTractorBeam:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, RedBeam:{EndRedBeam:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndRedBeam:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Disappear:true}, StartPull:{Pull:true}, Pull:{EnergyBlast:true, EnergyPunch:true, EnergyBurst:true}, Die:{Dead:true, WaitForHealth:true}, WaitForHealth:{Rebirth:true}, Rebirth:{Idle:true}};
static var oMAX_HEALTH_DATA = {nMaxEasy:85, nMaxMed:85, nMaxHard:85};
static var sStartDirection = "Left";
static var nExitWallPlayerDist = 200;
static var oBORDERS_SETS_DATA = {StartCrouch:"Crouched", Crouched:"Crouched", CrouchPunch:"Crouched"};
static var oCHANGE_DIRECTION_DATA = {Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartCrouch:true, Land:true, StartBlock:true, Block:true, EndBlock:true, Appear:true};
static var oCANT_BE_HIT_DATA = {Hurt:true, EndHurt:true, PropelUpHurt:true, PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true, PropelBackHurt:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true, HurtWall:true, HurtWallSlide:true, HurtWallLand:true, EndHurtWall:true, GetUp:true, Disappear:true, Appear:true, EndAppear:true, Die:true, WaitForHealth:true, Rebirth:true, Dead:true, oExceptions:{RapidPunch:{Hurt:true}}, oOnAttack:{Punch:{EnergyBlast:true, EnergyPunch:true, EnergyBurst:true, JumpKick:true, RedBeam:true}, CrouchPunch:{EnergyPunch:true, EnergyBurst:true, JumpKick:true, RedBeam:true}, JumpKick:{EnergyBurst:true, RedBeam:true}, RapidPunch:{JumpKick:true, RedBeam:true}, BackflipKick:{}, HyperUppercut:{EnergyPunch:true, EnergyBurst:true, JumpKick:true, RedBeam:true}, ProximityAttack:{EnergyBurst:true, JumpKick:true, RedBeam:true}, ShoulderTackle:{EnergyPunch:true, EnergyBurst:true, JumpKick:true}, SuperThrow:{EnergyBurst:true, RedBeam:true}}};
static var oSPEEDS_DATA = {nMaxRunSpd:5, nMinRunSpd:1, nMaxFlySpd:30, nMinFlySpd:30, nMaxSlideSpd:15, nMinFlyBackSpd:10, nMaxFlyBackSpd:150, nFlyBackDeceleration:1.4, nSpdXAcceleration:1, nSpdXDeceleration:2, nMaxMoveBackSpd:5, nMaxJumpSpdX:12, nMinJumpSpdX:1, nMaxJumpSpdY:-130, nMinJumpSpdY:-1, nShortJumpBackModX:0.5, nShortJumpBackModY:1.2, nLongJumpBackModY:0.5, nMaxFallSpdY:40, nMinFallSpdY:1};
static var oATTACK_REACT_DATA = {Punch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, CrouchPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, JumpKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, RapidPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:4, nPropelSpdX:4, nPropelSpdY:0, oPropelXOnFrames:{nOnFr34:20, nOnFr35:20}}, BackflipKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, HyperUppercut:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:15, nPropelSpdY:-300, nCamLag:7}, ProximityAttack:{sGetHitState:"Hurt", nBlockPropelSpdX:0, nPropelSpdX:15, nPropelSpdY:-10}, ShoulderTackle:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:30, nPropelSpdX:40, nPropelSpdY:-65, nCamLag:7}, SuperThrow:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:20, nPropelSpdX:20, nPropelSpdY:-65, nFrBigRockBlock:5, nFrBigRockEnergyBurst:10, nFrBigRockRedBeam:25, nFrBigRockRapidCrouch:6, nFrBigRockTeleportFar:5, nFrBigRockTeleportBehind:5, nCamLag:7}};
static var oATTACK_DATA = {EnergyBlast:{sAttackType:"EnergyBlast", oFrHit:{Fr11:true, Fr12:true, Fr13:true, Fr14:true, nReachDestFr:11}, oFrCanBlock:{nFrStart:7, nFrEnd:14}, nNearXHit:0, nFarXHit:123, nNearYHit:-75, nFarYHit:-138, nReachLimitModifier:0, nDammage:3}, EnergyPunch:{sAttackType:"EnergyPunch", oFrHit:{Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, nReachDestFr:11}, oFrCanBlock:{nFrStart:7, nFrEnd:15}, nNearXHit:-26, nFarXHit:86, nNearYHit:0, nFarYHit:-128, nReachLimitModifier:30, nDammage:4}, EnergyBurst:{sAttackType:"EnergyBurst", oFrHit:{Fr8:true, Fr9:true, Fr10:true, Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, Fr19:true, Fr20:true, nReachDestFr:8}, oFrCanBlock:{nFrStart:4, nFrEnd:18}, nNearXHit:-116, nFarXHit:123, nNearYHit:10, nFarYHit:-280, nReachLimitModifier:0, nDammage:10, bCantBeBlock:true}, JumpKick:{sAttackType:"JumpKick", nNbJumpFr:18, nDistToJump:300, nLandModifier:100, nFrKick:5, nSpdX:25, nBounceSpdX:20, nSpdY:0, oFrHit:{AllFrames:true}, nNearXHit:0, nFarXHit:73, nNearYHit:-21, nFarYHit:-45, nReachLimitModifier:0, nDammage:5}, TractorBeam:{sAttackType:"TractorBeam", nDistToLaunch:400, nDistToStop:80, nMaxWidth:10000, oFrHit:{Fr8:true, Fr9:true, Fr10:true, Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, nReachDestFr:8}, oFrCanBlock:{nFrStart:1, nFrEnd:18}, oBeamPos:{oFr3:{nPosX:-62.4, nPosY:5.1}, oFr4:{nPosX:-61.1, nPosY:4.3}, oFr6:{nPosX:-61.4, nPosY:3.9}, oFr7:{nPosX:-60.4, nPosY:7.8}, oFr8:{nPosX:-48.9, nPosY:6.6}, oFr10:{nPosX:-42.6, nPosY:7.1}, oFr12:{nPosX:-42.9, nPosY:7.1}}, nNearXHit:67, nFarXHit:10000, nNearYHit:-85, nFarYHit:-86, nReachLimitModifier:0, nDammage:0, nStartPullSpd:1, nPullSpdMod:1.1, nPullSpdMax:30}, RedBeam:{sAttackType:"RedBeam", nDistToLaunch:400, nDistToBlock:300, nFrLaunch:14, nRedBeamDistX:77, nRedBeamDistY:-96, nDammage:8}, StayIdle:{nNearXHit:0, nFarXHit:80, nReachLimitModifier:0}};
}
Symbol 2490 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.ai_class.SyndromeAI] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.ai_class.SyndromeAI
{
var oOwner, aActionsSet, sCurrentAction, bCurrentAttackCompleted, nMaxTimeBlocking, nMinTimeBlocking, nMaxTimeCrouching, nMinTimeCrouching, nLongTimeCrouching, nMinTimeChooseAction, oAIData, nMaxTimeChooseAction, nTimeChooseAction, sAttackAtDest, nTeleportDest, nTeleportBehindDist, nTeleportDistBgBorders, nMinMoveAwayDist, nMaxMoveAwayDist, nMinOpponentDistMoveAway, nChanceToExitWall, bWaitBigRock, bStopCheckBigRock, nStayIdleTime, bControlsLock, oIncomingAttackData, nTimeCrouching, nTimeBlocking;
function SyndromeAI (_oOwner) {
oOwner = _oOwner;
setAIData();
aActionsSet = new Array();
sCurrentAction = "";
bCurrentAttackCompleted = false;
nMaxTimeBlocking = 15;
nMinTimeBlocking = 5;
nMaxTimeCrouching = 15;
nMinTimeCrouching = 15;
nLongTimeCrouching = 36;
nMinTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMin;
nMaxTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMax;
nTimeChooseAction = setDecisionTime();
sAttackAtDest = "";
nTeleportDest = 0;
nTeleportBehindDist = 80;
nTeleportDistBgBorders = 100;
nMinMoveAwayDist = 200;
nMaxMoveAwayDist = 800;
nMinOpponentDistMoveAway = 350;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
bWaitBigRock = false;
bStopCheckBigRock = false;
nStayIdleTime = 0;
bControlsLock = false;
}
function setAIData() {
switch (oOwner.oController.giveDifficulty()) {
case "Easy" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndEasy;
break;
case "Med" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndMed;
break;
case "Hard" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndHard;
}
}
function checkTimeForAction() {
if (!bControlsLock) {
if (nTimeChooseAction > 0) {
nTimeChooseAction--;
} else if (oAIData.oACTION_DATA.oCanActStates[oOwner.sState] == true) {
chooseAction(oAIData.oACTION_DATA);
}
} else {
nTimeChooseAction = 0;
}
}
function setDecisionTime() {
var _local2 = Math.floor(Math.random() * (nMaxTimeChooseAction - nMinTimeChooseAction)) + nMinTimeChooseAction;
return(_local2);
}
function forceAction() {
nTimeChooseAction = 0;
setAction();
}
function checkIfExitWall(_sWallZoneIn) {
var _local2;
if (((_sWallZoneIn == "Right") && (oOwner.oOpponent.nPosX > oOwner.nPosX)) || ((_sWallZoneIn == "Left") && (oOwner.oOpponent.nPosX < oOwner.nPosX))) {
_local2 = false;
} else if (Math.floor(Math.random() * 100) < nChanceToExitWall) {
_local2 = true;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
chooseAction(oAIData.oEXIT_WALL_DATA);
} else {
nChanceToExitWall = nChanceToExitWall + oAIData.oEXIT_WALL_DATA.nChanceModifier;
_local2 = false;
}
return(_local2);
}
function chooseAction(_oActionsData) {
var _local6 = false;
var _local5 = 0;
var _local3 = 1;
var _local7 = Math.floor(Math.random() * 100);
while (_local6 == false) {
_local5 = _local5 + _oActionsData.oActionSets["oActionSet" + _local3].nChanceToDo;
if (_local7 < _local5) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < _oActionsData.oActionSets["oActionSet" + _local3].aActions.length) {
aActionsSet.push(_oActionsData.oActionSets["oActionSet" + _local3].aActions[_local2]);
_local2++;
}
_local6 = true;
}
_local3++;
}
setAction();
nTimeChooseAction = setDecisionTime();
}
function setIncomingAttack(_oIncomingAttackData) {
oIncomingAttackData = new Object();
oIncomingAttackData = _oIncomingAttackData;
checkIncomingAttack();
}
function clearIncomingAttack() {
oIncomingAttackData = new Object();
}
function stopWaitBigRock() {
bWaitBigRock = false;
bStopCheckBigRock = false;
}
function forceEndCrouch() {
nTimeCrouching = 0;
}
function modifRockTimeCrouch() {
nTimeCrouching = 8;
}
function flushActionsSet() {
aActionsSet.splice(0);
}
function checkIncomingAttack() {
if ((oIncomingAttackData.sAttackType != undefined) && (oAIData.oDEFENCE_DATA.oCanReactStates[oOwner.sState] == true)) {
if ((oIncomingAttackData.sAttackType == "SuperThrow") && (bWaitBigRock)) {
var _local6 = (Math.abs(oOwner.nPosX - oIncomingAttackData.nRockPosX) - oIncomingAttackData.nRockHitDist) - oOwner.nRightBorder;
var _local8 = (oOwner.oOpponent.fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch - oIncomingAttackData.nFrAttack) + int(_local6 / oIncomingAttackData.nRockSpdX);
if (_local8 <= oOwner.fDataClassDefinition.oATTACK_REACT_DATA.SuperThrow["nFrBigRock" + aActionsSet[0]]) {
setAction();
}
} else {
var _local7 = oOwner.checkInAttackReach(oIncomingAttackData.oReachLimits);
if ((_local7 == true) || (oIncomingAttackData.sAttackType == "SuperThrow")) {
if ((oIncomingAttackData.sAttackType != "SuperThrow") || (!bStopCheckBigRock)) {
if (Math.floor(Math.random() * 100) < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType].nChanceToReact) {
if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
var _local5 = false;
var _local4 = 0;
var _local3 = 1;
while (_local5 == false) {
_local4 = _local4 + oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].nChanceToDo;
if (Math.floor(Math.random() * 100) < _local4) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions.length) {
aActionsSet.push(oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions[_local2]);
_local2++;
}
_local5 = true;
if (oIncomingAttackData.sAttackType == "SuperThrow") {
oOwner.checkOpponentSide(false);
bWaitBigRock = true;
}
}
_local3++;
}
setAction();
} else if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
}
}
}
}
clearIncomingAttack();
}
function reactToHitWall() {
switch (sCurrentAction) {
case "FlyBack" :
case "LongJumpBack" :
case "ShortJumpBack" :
if ((oOwner.sState != "EndFlyBack") && (oOwner.sState != "Land")) {
oOwner.nSpdX = 0;
flushActionsSet();
aActionsSet.push("TeleportFar");
setAction();
}
break;
}
}
function setAction() {
sAttackAtDest = "";
if (aActionsSet.length > 0) {
sCurrentAction = aActionsSet[0];
aActionsSet.splice(0, 1);
} else {
sCurrentAction = "";
}
this["init" + sCurrentAction]();
}
function onAttackCompleted() {
bCurrentAttackCompleted = true;
}
function controlActions() {
checkIncomingAttack();
if ((aActionsSet.length == 0) && (sCurrentAction == "")) {
checkTimeForAction();
} else if (sCurrentAction != "") {
this["checkEnd" + sCurrentAction]();
}
}
function initStayIdle() {
nStayIdleTime = Math.floor(Math.random() * (oAIData.oACTION_DATA.oStayIdleData.nTimeMax - oAIData.oACTION_DATA.oStayIdleData.nTimeMin)) + oAIData.oACTION_DATA.oStayIdleData.nTimeMin;
if ((oOwner.sState == "StartWalk") || (oOwner.sState == "Walk")) {
oOwner.setState("EndWalk");
} else if ((oOwner.sState == "StartFly") || (oOwner.sState == "Fly")) {
oOwner.setState("EndWalk");
} else {
oOwner.setState("Idle");
}
}
function checkEndStayIdle() {
nStayIdleTime--;
if (((oOwner.sState != "Idle") && (oOwner.sState != "EndWalk")) || (nStayIdleTime <= 0)) {
nStayIdleTime = 0;
setAction();
}
}
function initWaitBigRock() {
oOwner.setState("Idle");
}
function checkEndWaitBigRock() {
if (!bWaitBigRock) {
setAction();
}
}
function initBlock() {
oOwner.oController.playSfx(["SynShieldSparks"]);
setBlockingTime();
oOwner.setState("StartBlock");
}
function setBlockingTime() {
var _local2 = nMaxTimeBlocking - nMinTimeBlocking;
nTimeBlocking = Math.floor(Math.random() * _local2) + nMinTimeBlocking;
}
function checkEndBlock() {
if (oOwner.sState == "Block") {
nTimeBlocking--;
if (nTimeBlocking <= 0) {
oOwner.setState("EndBlock");
setAction();
}
}
}
function initRapidCrouch() {
setCrouchingTime();
bWaitBigRock = false;
sCurrentAction = "Crouch";
oOwner.setState("StartCrouch");
}
function initLongCrouch() {
setCrouchingTime();
sCurrentAction = "Crouch";
oOwner.setState("StartCrouch");
}
function setCrouchingTime() {
if (sCurrentAction == "RapidCrouch") {
var _local2 = nMaxTimeCrouching - nMinTimeCrouching;
nTimeCrouching = Math.floor(Math.random() * _local2) + nMinTimeCrouching;
} else {
nTimeCrouching = nLongTimeCrouching;
}
}
function checkEndCrouch() {
if ((oOwner.sState == "StartCrouch") || (oOwner.sState == "Crouched")) {
nTimeCrouching--;
if (nTimeCrouching <= 0) {
oOwner.setState("EndCrouch");
setAction();
}
}
}
function initTeleportFar() {
setTeleportDest();
sCurrentAction = "Teleport";
oOwner.setState("Disappear");
}
function initTeleportBehind() {
setTeleportDest();
sCurrentAction = "Teleport";
oOwner.setState("Disappear");
}
function setTeleportDest() {
var _local3 = oOwner.oBackground.giveCurrentZone(oOwner.oOpponent.nPosX);
var _local2 = oOwner.oOpponent.calculSlidingDist(undefined, Math.abs(oOwner.oOpponent.nSpdX));
if (sCurrentAction == "TeleportBehind") {
switch (_local3) {
case "Central" :
if (oOwner.oOpponent.sDirection == "Right") {
nTeleportDest = (oOwner.oOpponent.nPosX + _local2) - nTeleportBehindDist;
} else {
nTeleportDest = (oOwner.oOpponent.nPosX - _local2) + nTeleportBehindDist;
}
break;
case "Right" :
if (oOwner.oOpponent.sDirection == "Right") {
nTeleportDest = (oOwner.oOpponent.nPosX + _local2) - nTeleportBehindDist;
if (nTeleportDest > oOwner.oBackground.nRightBound) {
nTeleportDest = oOwner.oBackground.nRightBound - nTeleportDistBgBorders;
}
} else {
aActionsSet.splice(0);
sCurrentAction = "TeleportFar";
}
break;
case "Left" :
if (oOwner.oOpponent.sDirection == "Left") {
nTeleportDest = (oOwner.oOpponent.nPosX - _local2) + nTeleportBehindDist;
if (nTeleportDest < oOwner.oBackground.nLeftBound) {
nTeleportDest = oOwner.oBackground.nLeftBound + nTeleportDistBgBorders;
}
} else {
aActionsSet.splice(0);
sCurrentAction = "TeleportFar";
}
break;
}
}
if (sCurrentAction == "TeleportFar") {
switch (_local3) {
case "Right" :
if (Math.random() < 0.2) {
nTeleportDest = oOwner.oBackground.giveLeftPosition();
} else {
nTeleportDest = oOwner.oBackground.giveCentralPosition();
}
break;
case "Left" :
if (Math.random() < 0.2) {
nTeleportDest = oOwner.oBackground.giveRightPosition();
} else {
nTeleportDest = oOwner.oBackground.giveCentralPosition();
}
break;
case "Central" :
if (Math.random() < 0.5) {
nTeleportDest = oOwner.oBackground.giveRightPosition();
} else {
nTeleportDest = oOwner.oBackground.giveLeftPosition();
}
break;
}
}
}
function checkEndTeleport() {
if ((oOwner.sState != "Disappear") && (oOwner.sState != "Appear")) {
setAction();
}
}
function initReachToAttack() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
var _local2 = checkAtAttackDest();
if (!_local2) {
if (((Math.floor(Math.random() * 100) + 1) <= oAIData.oREACH_DATA.nChanceToWalk) || ((Math.abs(oOwner.nPosX - oOwner.oOpponent.nPosX) - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nFarXHit) < oAIData.oREACH_DATA.nDistMinToFly)) {
oOwner.setState("StartWalk");
} else {
oOwner.setState("StartFly");
}
} else {
setAction();
}
}
function checkEndReachToAttack() {
if (((((oOwner.sState != "StartWalk") && (oOwner.sState != "Walk")) && (oOwner.sState != "EndWalk")) && (oOwner.sState != "StartFly")) && (oOwner.sState != "Fly")) {
setAction();
} else {
var _local2 = checkAtAttackDest();
if (_local2) {
setAction();
}
}
}
function checkAtAttackDest() {
var _local3 = false;
var _local2 = oOwner.setAttackReachXLimits(sAttackAtDest);
if (oOwner.nSpdX != 0) {
if (oOwner.sDirection == "Right") {
if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
}
if ((sAttackAtDest == "StayIdle") && ((oOwner.sState == "StartFly") || (oOwner.sState == "Fly"))) {
var _local5 = oOwner.calculSlidingDist("StayIdle", Math.abs(oOwner.nSpdX));
var _local4 = oOwner.calculSlidingDist("StayIdle", oOwner.fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd - oOwner.nSpdXDeceleration);
if (oOwner.sDirection == "Right") {
_local2.nRightReachLimit = _local2.nRightReachLimit - ((_local5 - oOwner.fDataClassDefinition.oATTACK_DATA.StayIdle.nFarXHit) + _local4);
} else {
_local2.nLeftReachLimit = _local2.nLeftReachLimit + ((_local5 - oOwner.fDataClassDefinition.oATTACK_DATA.StayIdle.nFarXHit) + _local4);
}
}
if ((oOwner.oOpponent.nRightHitBorder >= _local2.nLeftReachLimit) && (oOwner.oOpponent.nLeftHitBorder <= _local2.nRightReachLimit)) {
_local3 = true;
}
return(_local3);
}
function initEnergyBlast() {
oOwner.setState("EnergyBlast");
}
function checkEndEnergyBlast() {
if (oOwner.sState != "EnergyBlast") {
setAction();
}
}
function initEnergyPunch() {
oOwner.setState("EnergyPunch");
}
function checkEndEnergyPunch() {
if (oOwner.sState != "EnergyPunch") {
setAction();
}
}
function initEnergyBurst() {
oOwner.setState("EnergyBurst");
}
function checkEndEnergyBurst() {
if (oOwner.sState != "EnergyBurst") {
setAction();
}
}
function initReachToJumpKick() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.JumpKick.nDistToJump) {
setAction();
} else if (((Math.floor(Math.random() * 100) + 1) <= oAIData.oREACH_DATA.nChanceToWalk) || ((Math.abs(oOwner.nPosX - oOwner.oOpponent.nPosX) - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nFarXHit) < oAIData.oREACH_DATA.nDistMinToFly)) {
oOwner.setState("StartWalk");
} else {
oOwner.setState("StartFly");
}
}
function checkEndReachToJumpKick() {
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.JumpKick.nDistToJump) {
setAction();
}
}
function initJumpKick() {
oOwner.setState("StartJump");
}
function checkEndJumpKick() {
if (oOwner.mcRef.mcState._currentframe == oOwner.fDataClassDefinition.oATTACK_DATA.JumpKick.nFrKick) {
oOwner.setState("StartJumpKick");
}
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpKick")) && (oOwner.sState != "EndJumpKick")) && (oOwner.sState != "JumpKickBlock")) {
setAction();
}
}
function initShortJumpBack() {
oOwner.oController.playSfx(["ShortSwoosh1", "ShortSwoosh2"]);
oOwner.setState("StartJump");
}
function checkEndShortJumpBack() {
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpKick")) && (oOwner.sState != "EndJumpKick")) && (oOwner.sState != "JumpKickBlock")) {
setAction();
}
}
function initLongJumpBack() {
oOwner.oController.playSfx(["Fly1", "Fly2", "Fly3", "Fly4"]);
oOwner.setState("StartJump");
}
function checkEndLongJumpBack() {
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpKick")) && (oOwner.sState != "EndJumpKick")) && (oOwner.sState != "JumpKickBlock")) {
setAction();
}
}
function initFlyBack() {
oOwner.setState("StartFlyBack");
}
function checkEndFlyBack() {
if (((oOwner.sState != "StartFlyBack") && (oOwner.sState != "FlyBack")) && (oOwner.sState != "EndFlyBack")) {
setAction();
}
}
function initReachToLaunchBeam() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
var _local2 = aActionsSet[0];
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA[_local2].nDistToLaunch) {
setAction();
} else if (((Math.floor(Math.random() * 100) + 1) <= oAIData.oREACH_DATA.nChanceToWalk) || ((Math.abs(oOwner.nPosX - oOwner.oOpponent.nPosX) - oOwner.fDataClassDefinition.oATTACK_DATA[_local2].nDistToLaunch) < oAIData.oREACH_DATA.nDistMinToFly)) {
oOwner.setState("StartWalk");
} else {
oOwner.setState("StartFly");
}
}
function checkEndReachToLaunchBeam() {
var _local2 = aActionsSet[0];
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA[_local2].nDistToLaunch) {
setAction();
}
}
function initTractorBeam() {
oOwner.setState("TractorBeam");
oOwner.oOpponent.nPulledSpd = oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nStartPullSpd;
}
function checkEndTractorBeam() {
var _local4 = aActionsSet[0];
var _local3;
var _local2;
if (oOwner.sDirection == "Right") {
_local3 = oOwner.nPosX + oOwner.fDataClassDefinition.oATTACK_DATA[_local4].nFarXHit;
_local2 = oOwner.oOpponent.nPosX - _local3;
} else {
_local3 = oOwner.nPosX - oOwner.fDataClassDefinition.oATTACK_DATA[_local4].nFarXHit;
_local2 = _local3 - oOwner.oOpponent.nPosX;
}
if (_local2 > oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nPullSpdMax) {
if (oOwner.oOpponent.nPulledSpd < oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nPullSpdMax) {
oOwner.oOpponent.nPulledSpd = oOwner.oOpponent.nPulledSpd * oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nPullSpdMod;
if (oOwner.oOpponent.nPulledSpd > oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nPullSpdMax) {
oOwner.oOpponent.nPulledSpd = oOwner.fDataClassDefinition.oATTACK_DATA.TractorBeam.nPullSpdMax;
}
}
} else {
oOwner.oOpponent.nPulledSpd = _local2 / 2;
}
if ((((oOwner.sState != "TractorBeam") && (oOwner.sState != "StartPull")) && (oOwner.sState != "Pull")) && (oOwner.sState != "EndTractorBeam")) {
oOwner.oOpponent.nPulledSpd = 0;
setAction();
} else if ((oOwner.sState == "Pull") && (_local2 <= 1)) {
oOwner.oOpponent.nPulledSpd = 0;
setAction();
}
}
function initRedBeam() {
oOwner.setState("RedBeam");
}
function checkEndRedBeam() {
if ((oOwner.sState != "RedBeam") && (oOwner.sState != "EndRedBeam")) {
setAction();
}
}
}
Symbol 2491 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndEasy] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndEasy
{
function SyndEasy () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:4, nTimeMax:60};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:30}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:5}, oActionSet3:{aActions:["TeleportBehind"], nChanceToDo:5}, oActionSet4:{aActions:["FlyBack"], nChanceToDo:0}, oActionSet5:{aActions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oActionSet6:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:10}, oActionSet7:{aActions:["ReachToAttack", "EnergyBlast"], nChanceToDo:5}, oActionSet8:{aActions:["ReachToAttack", "EnergyPunch"], nChanceToDo:5}, oActionSet9:{aActions:["ReachToAttack", "EnergyBurst"], nChanceToDo:1}, oActionSet10:{aActions:["ReachToJumpKick", "JumpKick"], nChanceToDo:5}, oActionSet11:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:2}, oActionSet12:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:2}, oActionSet13:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBurst"], nChanceToDo:0}, oActionSet14:{aActions:["ReachToLaunchBeam", "RedBeam"], nChanceToDo:3}, oActionSet15:{aActions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:12}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:20, nChanceModifier:10, oActionSets:{oActionSet1:{aActions:["TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:80}, oActionSet3:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:20}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndAppear:true, EndEnergyBlast:true, EndEnergyPunch:true, EndEnergyBurst:true, EndTractorBeam:true, EndGetUp:true, EndHurtWall:true}, Punch:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:20}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:15}, oReactSet4:{aReactions:["TeleportBehind"], nChanceToDo:10}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:10}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:10}, oReactSet8:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:0}, oReactSet9:{aReactions:["EnergyBurst"], nChanceToDo:10}, oReactSet10:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:0}, oReactSet11:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:0}}, CrouchPunch:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:15}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:0}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:10}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:20}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:10}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["EnergyBurst"], nChanceToDo:10}}, JumpKick:{nChanceToReact:40, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:5}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:10}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:14}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:50}, oReactSet7:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:0}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:1}}, RapidPunch:{nChanceToReact:5, oReactSet1:{aReactions:["TeleportBehind"], nChanceToDo:15}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:25}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:40}, oReactSet4:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:5}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:5}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:0}}, BackflipKick:{nChanceToReact:5, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:0}, oReactSet3:{aReactions:["ShortJumpBack"], nChanceToDo:49}, oReactSet4:{aReactions:["LongJumpBack"], nChanceToDo:15}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["EnergyPunch"], nChanceToDo:5}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:5}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:1}}, ProximityAttack:{nChanceToReact:20, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:30}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:15}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet4:{aReactions:["EnergyBurst"], nChanceToDo:0}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oReactSet6:{aReactions:["ReachToJumpKick", "JumpKick"], nChanceToDo:30}, oReactSet7:{aReactions:["FlyBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:0}, oReactSet8:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:10}, oReactSet9:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["TeleportFar", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, HyperUppercut:{nChanceToReact:20, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:10}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet4:{aReactions:["TeleportBehind", "ShortJumpBack"], nChanceToDo:0}, oReactSet5:{aReactions:["ShortJumpBack"], nChanceToDo:5}, oReactSet6:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:25}, oReactSet8:{aReactions:["TeleportBehind", "EnergyBlast", "TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oReactSet9:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:20}, oReactSet10:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oReactSet11:{aReactions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:10}, oReactSet12:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}}, ShoulderTackle:{nChanceToReact:75, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:55}, oReactSet2:{aReactions:["FlyBack"], nChanceToDo:40}, oReactSet3:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}}, SuperThrow:{nChanceToReact:35, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:20}, oReactSet2:{aReactions:["WaitBigRock", "RapidCrouch"], nChanceToDo:55}, oReactSet3:{aReactions:["WaitBigRock", "TeleportFar"], nChanceToDo:0}, oReactSet4:{aReactions:["WaitBigRock", "TeleportBehind"], nChanceToDo:5}, oReactSet5:{aReactions:["WaitBigRock", "EnergyBurst"], nChanceToDo:5}, oReactSet6:{aReactions:["WaitBigRock", "RedBeam"], nChanceToDo:0}, oReactSet7:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBlast"], nChanceToDo:5}, oReactSet8:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyPunch"], nChanceToDo:0}, oReactSet9:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBurst"], nChanceToDo:0}, oReactSet10:{aReactions:["WaitBigRock", "RapidCrouch", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet11:{aReactions:["WaitBigRock", "RapidCrouch", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}};
static var oREACH_DATA = {nDistMinToFly:200, nChanceToWalk:0, nChanceToFly:100};
}
Symbol 2492 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndMed] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndMed
{
function SyndMed () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:2, nTimeMax:40};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:20}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:5}, oActionSet3:{aActions:["TeleportBehind"], nChanceToDo:0}, oActionSet4:{aActions:["FlyBack"], nChanceToDo:5}, oActionSet5:{aActions:["TeleportBehind", "EnergyBlast"], nChanceToDo:16}, oActionSet6:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:13}, oActionSet7:{aActions:["ReachToAttack", "EnergyBlast"], nChanceToDo:2}, oActionSet8:{aActions:["ReachToAttack", "EnergyPunch"], nChanceToDo:2}, oActionSet9:{aActions:["ReachToAttack", "EnergyBurst"], nChanceToDo:5}, oActionSet10:{aActions:["ReachToJumpKick", "JumpKick"], nChanceToDo:5}, oActionSet11:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:3}, oActionSet12:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:3}, oActionSet13:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBurst"], nChanceToDo:1}, oActionSet14:{aActions:["ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oActionSet15:{aActions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:15}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:40, nChanceModifier:10, oActionSets:{oActionSet1:{aActions:["TeleportBehind", "EnergyBurst"], nChanceToDo:10}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:40}, oActionSet3:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:50}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndAppear:true, EndEnergyBlast:true, EndEnergyPunch:true, EndEnergyBurst:true, EndTractorBeam:true, EndGetUp:true, EndHurtWall:true}, Punch:{nChanceToReact:90, oReactSet1:{aReactions:["Block"], nChanceToDo:20}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:15}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet4:{aReactions:["TeleportBehind"], nChanceToDo:5}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:5}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oReactSet8:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["EnergyBurst"], nChanceToDo:15}, oReactSet10:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet11:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, CrouchPunch:{nChanceToReact:90, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:0}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:5}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:25}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:15}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["EnergyBurst"], nChanceToDo:15}}, JumpKick:{nChanceToReact:65, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:10}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:5}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:55}, oReactSet7:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}}, RapidPunch:{nChanceToReact:10, oReactSet1:{aReactions:["TeleportBehind"], nChanceToDo:10}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:10}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:30}, oReactSet4:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:10}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}}, BackflipKick:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["ShortJumpBack"], nChanceToDo:30}, oReactSet4:{aReactions:["LongJumpBack"], nChanceToDo:15}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["EnergyPunch"], nChanceToDo:5}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:10}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}}, ProximityAttack:{nChanceToReact:40, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:20}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:10}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet4:{aReactions:["EnergyBurst"], nChanceToDo:5}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet6:{aReactions:["ReachToJumpKick", "JumpKick"], nChanceToDo:20}, oReactSet7:{aReactions:["FlyBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:10}, oReactSet8:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:15}, oReactSet9:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["TeleportFar", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, HyperUppercut:{nChanceToReact:40, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:1}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet4:{aReactions:["TeleportBehind", "ShortJumpBack"], nChanceToDo:5}, oReactSet5:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet6:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:20}, oReactSet8:{aReactions:["TeleportBehind", "EnergyBlast", "TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet9:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:25}, oReactSet10:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet11:{aReactions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:9}, oReactSet12:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, ShoulderTackle:{nChanceToReact:85, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:60}, oReactSet2:{aReactions:["FlyBack"], nChanceToDo:30}, oReactSet3:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:10}}, SuperThrow:{nChanceToReact:65, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:10}, oReactSet2:{aReactions:["WaitBigRock", "RapidCrouch"], nChanceToDo:30}, oReactSet3:{aReactions:["WaitBigRock", "TeleportFar"], nChanceToDo:0}, oReactSet4:{aReactions:["WaitBigRock", "TeleportBehind"], nChanceToDo:5}, oReactSet5:{aReactions:["WaitBigRock", "EnergyBurst"], nChanceToDo:20}, oReactSet6:{aReactions:["WaitBigRock", "RedBeam"], nChanceToDo:5}, oReactSet7:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBlast"], nChanceToDo:5}, oReactSet8:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet10:{aReactions:["WaitBigRock", "RapidCrouch", "TractorBeam", "EnergyPunch"], nChanceToDo:10}, oReactSet11:{aReactions:["WaitBigRock", "RapidCrouch", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}};
static var oREACH_DATA = {nDistMinToFly:200, nChanceToWalk:0, nChanceToFly:100};
}
Symbol 2493 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndHard] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.SyndHard
{
function SyndHard () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:2, nTimeMax:30};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:10}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:5}, oActionSet3:{aActions:["TeleportBehind"], nChanceToDo:0}, oActionSet4:{aActions:["FlyBack"], nChanceToDo:5}, oActionSet5:{aActions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oActionSet6:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:15}, oActionSet7:{aActions:["ReachToAttack", "EnergyBlast"], nChanceToDo:3}, oActionSet8:{aActions:["ReachToAttack", "EnergyPunch"], nChanceToDo:3}, oActionSet9:{aActions:["ReachToAttack", "EnergyBurst"], nChanceToDo:6}, oActionSet10:{aActions:["ReachToJumpKick", "JumpKick"], nChanceToDo:5}, oActionSet11:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:5}, oActionSet12:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oActionSet13:{aActions:["ReachToLaunchBeam", "TractorBeam", "EnergyBurst"], nChanceToDo:3}, oActionSet14:{aActions:["ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}, oActionSet15:{aActions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:10}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:50, nChanceModifier:20, oActionSets:{oActionSet1:{aActions:["TeleportBehind", "EnergyBurst"], nChanceToDo:15}, oActionSet2:{aActions:["TeleportFar"], nChanceToDo:10}, oActionSet3:{aActions:["TeleportBehind", "EnergyPunch"], nChanceToDo:75}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, Fly:true, FlyBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndAppear:true, EndEnergyBlast:true, EndEnergyPunch:true, EndEnergyBurst:true, EndTractorBeam:true, EndGetUp:true, EndHurtWall:true}, Punch:{nChanceToReact:99, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:5}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet4:{aReactions:["TeleportBehind"], nChanceToDo:5}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:5}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oReactSet8:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["EnergyBurst"], nChanceToDo:25}, oReactSet10:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:10}, oReactSet11:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, CrouchPunch:{nChanceToReact:99, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:0}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:20}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:15}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:10}, oReactSet9:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["EnergyBurst"], nChanceToDo:20}}, JumpKick:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:10}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["TeleportBehind"], nChanceToDo:5}, oReactSet4:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet5:{aReactions:["LongJumpBack"], nChanceToDo:0}, oReactSet6:{aReactions:["FlyBack"], nChanceToDo:60}, oReactSet7:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:5}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:15}}, RapidPunch:{nChanceToReact:15, oReactSet1:{aReactions:["TeleportBehind"], nChanceToDo:10}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:20}, oReactSet4:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oReactSet6:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:15}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:10}, oReactSet8:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:20}}, BackflipKick:{nChanceToReact:15, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet3:{aReactions:["ShortJumpBack"], nChanceToDo:25}, oReactSet4:{aReactions:["LongJumpBack"], nChanceToDo:15}, oReactSet5:{aReactions:["FlyBack"], nChanceToDo:10}, oReactSet6:{aReactions:["EnergyPunch"], nChanceToDo:0}, oReactSet7:{aReactions:["ShortJumpBack", "ReachToJumpKick", "JumpKick"], nChanceToDo:15}, oReactSet8:{aReactions:["LongJumpBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:15}}, ProximityAttack:{nChanceToReact:60, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:10}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:5}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:0}, oReactSet4:{aReactions:["EnergyBurst"], nChanceToDo:10}, oReactSet5:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:10}, oReactSet6:{aReactions:["ReachToJumpKick", "JumpKick"], nChanceToDo:20}, oReactSet7:{aReactions:["FlyBack", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:15}, oReactSet8:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyBlast"], nChanceToDo:20}, oReactSet9:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}, oReactSet10:{aReactions:["TeleportFar", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:5}}, HyperUppercut:{nChanceToReact:60, oReactSet1:{aReactions:["Block"], nChanceToDo:0}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:0}, oReactSet3:{aReactions:["TeleportFar"], nChanceToDo:5}, oReactSet4:{aReactions:["TeleportBehind", "ShortJumpBack"], nChanceToDo:5}, oReactSet5:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet6:{aReactions:["LongJumpBack"], nChanceToDo:0}, oReactSet7:{aReactions:["TeleportBehind", "EnergyBlast"], nChanceToDo:15}, oReactSet8:{aReactions:["TeleportBehind", "EnergyBlast", "TeleportBehind", "EnergyBurst"], nChanceToDo:10}, oReactSet9:{aReactions:["TeleportBehind", "EnergyPunch"], nChanceToDo:35}, oReactSet10:{aReactions:["TeleportBehind", "EnergyBurst"], nChanceToDo:10}, oReactSet11:{aReactions:["TeleportBehind", "ReachToJumpKick", "JumpKick"], nChanceToDo:20}, oReactSet12:{aReactions:["FlyBack", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:0}}, ShoulderTackle:{nChanceToReact:95, oReactSet1:{aReactions:["TeleportFar"], nChanceToDo:65}, oReactSet2:{aReactions:["FlyBack"], nChanceToDo:20}, oReactSet3:{aReactions:["TeleportFar", "ReachToLaunchBeam", "TractorBeam", "EnergyPunch"], nChanceToDo:15}}, SuperThrow:{nChanceToReact:100, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:5}, oReactSet2:{aReactions:["WaitBigRock", "RapidCrouch"], nChanceToDo:15}, oReactSet3:{aReactions:["WaitBigRock", "TeleportFar"], nChanceToDo:0}, oReactSet4:{aReactions:["WaitBigRock", "TeleportBehind"], nChanceToDo:0}, oReactSet5:{aReactions:["WaitBigRock", "EnergyBurst"], nChanceToDo:25}, oReactSet6:{aReactions:["WaitBigRock", "RedBeam"], nChanceToDo:10}, oReactSet7:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBlast"], nChanceToDo:5}, oReactSet8:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyPunch"], nChanceToDo:5}, oReactSet9:{aReactions:["WaitBigRock", "TeleportBehind", "EnergyBurst"], nChanceToDo:5}, oReactSet10:{aReactions:["WaitBigRock", "RapidCrouch", "TractorBeam", "EnergyPunch"], nChanceToDo:20}, oReactSet11:{aReactions:["WaitBigRock", "RapidCrouch", "ReachToLaunchBeam", "RedBeam"], nChanceToDo:10}}};
static var oREACH_DATA = {nDistMinToFly:200, nChanceToWalk:0, nChanceToFly:100};
}
Symbol 2494 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.characters_data.UnderminerData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.characters_data.UnderminerData
{
function UnderminerData () {
}
static function setOpponent() {
var _local1 = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
return(_local1);
}
static var oCHANGE_STATE_DATA = {Idle:{StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true, Win:true}, StartWalk:{Walk:true, EndWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, Walk:{EndWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, EndWalk:{Idle:true, StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, StartCrouch:{StartWalk:true, Crouched:true, EndCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, Crouched:{StartWalk:true, EndCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, EndCrouch:{Idle:true, StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, StartJump:{Jump:true, StartFall:true, Fall:true, Land:true, StartJumpScratch:true, PropelUpHurt:true, PropelBackHurt:true}, Jump:{StartFall:true, Fall:true, Land:true, StartJumpScratch:true, PropelUpHurt:true, PropelBackHurt:true}, StartFall:{Fall:true, Land:true, StartJumpScratch:true, PropelUpHurt:true, PropelBackHurt:true}, Fall:{Land:true, StartJumpScratch:true, PropelUpHurt:true, PropelBackHurt:true}, Land:{Idle:true, StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, StartJumpScratch:{EndJumpScratch:true, JumpScratchBlock:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, EndJumpScratch:{JumpScratchBlock:true, Land:true, PropelUpHurt:true, PropelBackHurt:true}, JumpScratchBlock:{Land:true, PropelUpHurt:true, PropelBackHurt:true}, StartBlock:{Block:true, BlockHit:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Block:{BlockHit:true, EndBlock:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, BlockHit:{Block:true, EndBlock:true, Burrow:true, Slide:true, SlidingSlash:true, Slash:true}, EndBlock:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true}, Hurt:{EndHurt:true, PropelUpHurt:true}, EndHurt:{Idle:true, Die:true, Slash:true, Slide:true, SlidingSlash:true, PropelUpHurt:true, Burrow:true}, PropelUpHurt:{PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true}, PropelUpStartFall:{PropelUpFall:true, PropelUpCrash:true}, PropelUpFall:{PropelUpCrash:true}, PropelUpCrash:{GetUp:true, Die:true}, PropelBackHurt:{HurtWall:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true}, PropelBackStartFall:{HurtWall:true, PropelBackFall:true, PropelBackCrash:true}, PropelBackFall:{HurtWall:true, PropelBackCrash:true}, PropelBackCrash:{GetUp:true, Die:true}, HurtWall:{HurtWallSlide:true}, HurtWallSlide:{HurtWallLand:true}, HurtWallLand:{EndHurtWall:true, Slash:true, Slide:true, SlidingSlash:true, Burrow:true}, EndHurtWall:{Idle:true, StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true, Win:true}, GetUp:{EndGetUp:true, Slash:true, Slide:true, SlidingSlash:true, Burrow:true}, EndGetUp:{Idle:true, StartWalk:true, StartCrouch:true, StartJump:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true, Slash:true, PropelClaw:true, StartEarthBend:true, Burrow:true, Slide:true, SlidingSlash:true, Win:true}, Slash:{EndSlash:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndSlash:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, PropelClaw:{EndPropelClaw:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndPropelClaw:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, StartEarthBend:{EarthBend:true, Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EarthBend:{EndEarthBend:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndEarthBend:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Burrow:{Drill:true, DigOut:true}, Drill:{EndDrill:true, DigOut:true}, EndDrill:{Drill:true, DigOut:true}, DigOut:{EndDigOut:true}, EndDigOut:{DigOutLand:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, DigOutLand:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Slide:{SlidingSlash:true, EndWalk:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, SlidingSlash:{EndSlidingSlash:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, EndSlidingSlash:{Idle:true, StartCrouch:true, StartBlock:true, BlockHit:true, Hurt:true, PropelUpHurt:true, PropelBackHurt:true}, Die:{Dead:true, WaitForHealth:true}, WaitForHealth:{Rebirth:true}, Rebirth:{Idle:true}};
static var oMAX_HEALTH_DATA = {nMaxEasy:100, nMaxMed:100, nMaxHard:100};
static var sStartDirection = "Left";
static var nExitWallPlayerDist = 200;
static var oBORDERS_SETS_DATA = {StartCrouch:"Crouched", Crouched:"Crouched", CrouchPunch:"Crouched"};
static var oCHANGE_DIRECTION_DATA = {Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartCrouch:true, Land:true, StartBlock:true, Block:true, EndBlock:true};
static var oCANT_BE_HIT_DATA = {Hurt:true, EndHurt:true, PropelUpHurt:true, PropelUpStartFall:true, PropelUpFall:true, PropelUpCrash:true, PropelBackHurt:true, PropelBackStartFall:true, PropelBackFall:true, PropelBackCrash:true, HurtWall:true, HurtWallSlide:true, HurtWallLand:true, EndHurtWall:true, GetUp:true, Burrow:true, Drill:true, EndDrill:true, DigOut:true, Die:true, WaitForHealth:true, Rebirth:true, Dead:true, oExceptions:{RapidPunch:{Hurt:true}}, oOnAttack:{Punch:{Slash:true, PropelClaw:true, jumpScratch:true, EarthBend:true, Drill:true, SlidingSlash:true}, CrouchPunch:{Slash:true, JumpScratch:true, EarthBend:true, Drill:true, SlidingSlash:true}, JumpKick:{PropelClaw:true, JumpScratch:true, Drill:true, SlidingSlash:true}, RapidPunch:{Slash:true, EarthBend:true, Drill:true, SlidingSlash:true, JumpScratch:true}, BackflipKick:{PropelClaw:true, EarthBend:true, Drill:true, SlidingSlash:true}, HyperUppercut:{PropelClaw:true, EarthBend:true, Drill:true}, ProximityAttack:{JumpScratch:true, EarthBend:true}, ShoulderTackle:{PropelClaw:true, JumpScratch:true, EarthBend:true, Drill:true, Slide:true, SlidingSlash:true}, SuperThrow:{Slash:true, PropelClaw:true, Drill:true, Slide:true, SlidingSlash:true}}};
static var oSPEEDS_DATA = {nMaxRunSpd:10, nMinRunSpd:1, nMaxFlyBackSpd:150, nFlyBackDeceleration:1.4, nSpdXAcceleration:1, nSpdXDeceleration:2, nMaxMoveBackSpd:5, nMaxJumpSpdX:12, nMinJumpSpdX:1, nMaxJumpSpdY:-130, nMinJumpSpdY:-1, nShortJumpBackModX:0.5, nShortJumpBackModY:1.2, nLongJumpBackModY:0.5, nMaxFallSpdY:40, nMinFallSpdY:1};
static var oATTACK_REACT_DATA = {Punch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, CrouchPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:10, nPropelSpdY:0}, JumpKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, RapidPunch:{sGetHitState:"Hurt", nBlockPropelSpdX:4, nPropelSpdX:4, nPropelSpdY:0, oPropelXOnFrames:{nOnFr34:20, nOnFr35:20}}, BackflipKick:{sGetHitState:"Hurt", nBlockPropelSpdX:10, nPropelSpdX:20, nPropelSpdY:0}, HyperUppercut:{sGetHitState:"PropelUpHurt", nBlockPropelSpdX:10, nPropelSpdX:15, nPropelSpdY:-300, nCamLag:7}, ProximityAttack:{sGetHitState:"Hurt", nBlockPropelSpdX:0, nPropelSpdX:15, nPropelSpdY:-10}, ShoulderTackle:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:10, nPropelSpdX:40, nPropelSpdY:-65, nCamLag:7}, SuperThrow:{sGetHitState:"PropelBackHurt", nBlockPropelSpdX:20, nPropelSpdX:20, nPropelSpdY:-65, nFrBigRockBlock:5, nFrBigRockSlash:8, nFrBigRockPropelClaw:8, nFrBigRockSlidingSlash:10, nFrBigRockRapidCrouch:6, nCamLag:7}};
static var oATTACK_DATA = {Slash:{sAttackType:"Slash", oFrHit:{Fr7:true, Fr8:true, Fr9:true, Fr10:true, nReachDestFr:7}, oFrCanBlock:{nFrStart:3, nFrEnd:10}, nNearXHit:-50, nFarXHit:128, nNearYHit:0, nFarYHit:-198, nReachLimitModifier:0, nDammage:5}, PropelClaw:{sAttackType:"PropelClaw", oFrHit:{Fr7:true, Fr8:true, Fr9:true, nReachDestFr:7}, oFrCanBlock:{nFrStart:3, nFrEnd:9}, nNearXHit:-50, nFarXHit:127, nNearYHit:0, nFarYHit:-165, nReachLimitModifier:0, nDammage:7}, JumpScratch:{sAttackType:"JumpScratch", nNbJumpFr:100, nDistToJump:300, nLandModifier:0, nFrScratch:7, nSpdX:45, nBounceModSpdX:3, nBounceModSpdY:-1.5, nBlockBounceSpdX:40, nSpdY:20, oFrHit:{AllFrames:true}, nNearXHit:-16, nFarXHit:110, nNearYHit:0, nFarYHit:-177, nReachLimitModifier:0, nDammage:8}, EarthBend:{sAttackType:"EarthBend", oFrHit:{Fr1:true, Fr2:true, Fr3:true, Fr4:true, Fr5:true, Fr6:true, Fr7:true, Fr8:true, Fr9:true, Fr10:true, Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, Fr19:true, Fr20:true, Fr21:true, Fr22:true, Fr23:true, Fr24:true, Fr25:true, nReachDestFr:1}, nDistToLaunch:350, nNearXHit:-500, nFarXHit:500, nNearYHit:10, nFarYHit:-10, nReachLimitModifier:0, bCantBeBlock:true, nDammage:10}, Drill:{sAttackType:"Drill", oFrHit:{Fr10:true, Fr11:true, Fr12:true, Fr13:true, Fr14:true, Fr15:true, Fr16:true, Fr17:true, Fr18:true, Fr19:true, Fr20:true, Fr21:true, Fr22:true, Fr23:true, Fr24:true, Fr25:true, nReachDestFr:10}, oDrillGap:{Easy:300, Med:200, Hard:100}, nNearXHit:-55, nFarXHit:34, nNearYHit:10, nFarYHit:-60, nReachLimitModifier:0, bCantBeBlock:true, nDammage:15}, SlidingSlash:{sAttackType:"SlidingSlash", nSpdX:30, oFrHit:{Fr1:true, Fr2:true, Fr3:true, Fr4:true, nReachDestFr:1}, oFrCanBlock:{nFrStart:1, nFrEnd:8}, nNearXHit:0, nFarXHit:168, nNearYHit:0, nFarYHit:-191, nDammage:10}, StayIdle:{nNearXHit:0, nFarXHit:80, nReachLimitModifier:0}};
static var oDIG_OUT_DATA = {Drill:400, BurrowAway:800};
}
Symbol 2495 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.ai_class.UnderminerAI] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.ai_class.UnderminerAI
{
var oOwner, aActionsSet, sCurrentAction, bCurrentAttackCompleted, nMaxTimeBlocking, nMinTimeBlocking, nMaxTimeCrouching, nMinTimeCrouching, nLongTimeCrouching, nMinTimeChooseAction, oAIData, nMaxTimeChooseAction, nTimeChooseAction, sAttackAtDest, nTeleportDest, nTeleportBehindDist, nTeleportDistBgBorders, nChanceToExitWall, bWaitBigRock, bStopCheckBigRock, nStayIdleTime, nNbDrillMin, nNbDrillMax, nNbDrillAttack, bControlsLock, oIncomingAttackData, nTimeCrouching, nTimeBlocking;
function UnderminerAI (_oOwner) {
oOwner = _oOwner;
setAIData();
aActionsSet = new Array();
sCurrentAction = "";
bCurrentAttackCompleted = false;
nMaxTimeBlocking = 15;
nMinTimeBlocking = 5;
nMaxTimeCrouching = 15;
nMinTimeCrouching = 15;
nLongTimeCrouching = 36;
nMinTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMin;
nMaxTimeChooseAction = oAIData.oCHOOSE_ACTION_TIME_DATA.nTimeMax;
nTimeChooseAction = setDecisionTime();
sAttackAtDest = "";
nTeleportDest = 0;
nTeleportBehindDist = 80;
nTeleportDistBgBorders = 100;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
bWaitBigRock = false;
bStopCheckBigRock = false;
nStayIdleTime = 0;
nNbDrillMin = 0;
nNbDrillMax = 0;
nNbDrillAttack = 0;
bControlsLock = false;
}
function setAIData() {
switch (oOwner.oController.giveDifficulty()) {
case "Easy" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerEasy;
break;
case "Med" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerMed;
break;
case "Hard" :
oAIData = com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerHard;
}
}
function checkTimeForAction() {
if (!bControlsLock) {
if (nTimeChooseAction > 0) {
nTimeChooseAction--;
} else if (oAIData.oACTION_DATA.oCanActStates[oOwner.sState] == true) {
chooseAction(oAIData.oACTION_DATA);
}
} else {
nTimeChooseAction = 0;
}
}
function setDecisionTime() {
var _local2 = Math.floor(Math.random() * (nMaxTimeChooseAction - nMinTimeChooseAction)) + nMinTimeChooseAction;
return(_local2);
}
function forceAction() {
nTimeChooseAction = 0;
setAction();
}
function checkIfExitWall(_sWallZoneIn) {
var _local2;
if (((_sWallZoneIn == "Right") && (oOwner.oOpponent.nPosX > oOwner.nPosX)) || ((_sWallZoneIn == "Left") && (oOwner.oOpponent.nPosX < oOwner.nPosX))) {
_local2 = false;
} else if (Math.floor(Math.random() * 100) < nChanceToExitWall) {
_local2 = true;
nChanceToExitWall = oAIData.oEXIT_WALL_DATA.nStartChanceToReact;
chooseAction(oAIData.oEXIT_WALL_DATA);
} else {
nChanceToExitWall = nChanceToExitWall + oAIData.oEXIT_WALL_DATA.nChanceModifier;
_local2 = false;
}
return(_local2);
}
function chooseAction(_oActionsData) {
var _local6 = false;
var _local5 = 0;
var _local3 = 1;
var _local7 = Math.floor(Math.random() * 100);
while (_local6 == false) {
_local5 = _local5 + _oActionsData.oActionSets["oActionSet" + _local3].nChanceToDo;
if (_local7 < _local5) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < _oActionsData.oActionSets["oActionSet" + _local3].aActions.length) {
aActionsSet.push(_oActionsData.oActionSets["oActionSet" + _local3].aActions[_local2]);
_local2++;
}
_local6 = true;
}
_local3++;
}
setAction();
nTimeChooseAction = setDecisionTime();
}
function setIncomingAttack(_oIncomingAttackData) {
oIncomingAttackData = new Object();
oIncomingAttackData = _oIncomingAttackData;
checkIncomingAttack();
}
function clearIncomingAttack() {
oIncomingAttackData = new Object();
}
function stopWaitBigRock() {
bWaitBigRock = false;
bStopCheckBigRock = false;
}
function forceEndCrouch() {
nTimeCrouching = 0;
}
function modifRockTimeCrouch() {
nTimeCrouching = 8;
}
function flushActionsSet() {
aActionsSet.splice(0);
}
function checkIncomingAttack() {
if ((oIncomingAttackData.sAttackType != undefined) && (oAIData.oDEFENCE_DATA.oCanReactStates[oOwner.sState] == true)) {
if ((oIncomingAttackData.sAttackType == "SuperThrow") && (bWaitBigRock)) {
var _local6 = (Math.abs(oOwner.nPosX - oIncomingAttackData.nRockPosX) - oIncomingAttackData.nRockHitDist) - oOwner.nRightBorder;
var _local8 = (oOwner.oOpponent.fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch - oIncomingAttackData.nFrAttack) + int(_local6 / oIncomingAttackData.nRockSpdX);
if (_local8 <= oOwner.fDataClassDefinition.oATTACK_REACT_DATA.SuperThrow["nFrBigRock" + aActionsSet[0]]) {
setAction();
}
} else {
var _local7 = oOwner.checkInAttackReach(oIncomingAttackData.oReachLimits);
if ((_local7 == true) || (oIncomingAttackData.sAttackType == "SuperThrow")) {
if ((oIncomingAttackData.sAttackType != "SuperThrow") || (!bStopCheckBigRock)) {
if (Math.floor(Math.random() * 100) < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType].nChanceToReact) {
if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
var _local5 = false;
var _local4 = 0;
var _local3 = 1;
while (_local5 == false) {
_local4 = _local4 + oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].nChanceToDo;
if (Math.floor(Math.random() * 100) < _local4) {
aActionsSet = new Array();
var _local2 = 0;
while (_local2 < oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions.length) {
aActionsSet.push(oAIData.oDEFENCE_DATA[oIncomingAttackData.sAttackType]["oReactSet" + _local3].aReactions[_local2]);
_local2++;
}
_local5 = true;
if (oIncomingAttackData.sAttackType == "SuperThrow") {
oOwner.checkOpponentSide(false);
bWaitBigRock = true;
}
}
_local3++;
}
setAction();
} else if (oIncomingAttackData.sAttackType == "SuperThrow") {
bStopCheckBigRock = true;
}
}
}
}
}
clearIncomingAttack();
}
function reactToHitWall() {
}
function setAction() {
sAttackAtDest = "";
if (aActionsSet.length > 0) {
sCurrentAction = aActionsSet[0];
aActionsSet.splice(0, 1);
} else {
sCurrentAction = "";
}
this["init" + sCurrentAction]();
}
function onAttackCompleted() {
bCurrentAttackCompleted = true;
}
function controlActions() {
checkIncomingAttack();
if ((aActionsSet.length == 0) && (sCurrentAction == "")) {
checkTimeForAction();
} else if (sCurrentAction != "") {
this["checkEnd" + sCurrentAction]();
}
}
function initStayIdle() {
nStayIdleTime = Math.floor(Math.random() * (oAIData.oACTION_DATA.oStayIdleData.nTimeMax - oAIData.oACTION_DATA.oStayIdleData.nTimeMin)) + oAIData.oACTION_DATA.oStayIdleData.nTimeMin;
if ((oOwner.sState == "StartWalk") || (oOwner.sState == "Walk")) {
oOwner.setState("EndWalk");
} else {
oOwner.setState("Idle");
}
}
function checkEndStayIdle() {
nStayIdleTime--;
if (((oOwner.sState != "Idle") && (oOwner.sState != "EndWalk")) || (nStayIdleTime <= 0)) {
nStayIdleTime = 0;
setAction();
}
}
function initWaitBigRock() {
oOwner.setState("Idle");
}
function checkEndWaitBigRock() {
if (!bWaitBigRock) {
setAction();
}
}
function initBlock() {
setBlockingTime();
oOwner.setState("StartBlock");
}
function setBlockingTime() {
var _local2 = nMaxTimeBlocking - nMinTimeBlocking;
nTimeBlocking = Math.floor(Math.random() * _local2) + nMinTimeBlocking;
}
function checkEndBlock() {
if (oOwner.sState == "Block") {
nTimeBlocking--;
if (nTimeBlocking <= 0) {
oOwner.setState("EndBlock");
setAction();
}
}
}
function initRapidCrouch() {
setCrouchingTime();
bWaitBigRock = false;
sCurrentAction = "Crouch";
oOwner.setState("StartCrouch");
}
function initLongCrouch() {
setCrouchingTime();
sCurrentAction = "Crouch";
oOwner.setState("StartCrouch");
}
function setCrouchingTime() {
if (sCurrentAction == "RapidCrouch") {
var _local2 = nMaxTimeCrouching - nMinTimeCrouching;
nTimeCrouching = Math.floor(Math.random() * _local2) + nMinTimeCrouching;
} else {
nTimeCrouching = nLongTimeCrouching;
}
}
function checkEndCrouch() {
if ((oOwner.sState == "StartCrouch") || (oOwner.sState == "Crouched")) {
nTimeCrouching--;
if (nTimeCrouching <= 0) {
oOwner.setState("EndCrouch");
setAction();
}
}
}
function initReachToAttack() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
var _local2 = checkAtAttackDest();
if (!_local2) {
oOwner.setState("StartWalk");
} else {
setAction();
}
}
function checkEndReachToAttack() {
if (((oOwner.sState != "StartWalk") && (oOwner.sState != "Walk")) && (oOwner.sState != "EndWalk")) {
setAction();
} else {
var _local2 = checkAtAttackDest();
if (_local2) {
setAction();
}
}
}
function checkAtAttackDest() {
var _local3 = false;
var _local2 = oOwner.setAttackReachXLimits(sAttackAtDest);
if (oOwner.nSpdX != 0) {
if (oOwner.sDirection == "Right") {
if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
} else if (oOwner.nSpdX < 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit + oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
} else if (oOwner.nSpdX > 0) {
_local2.nRightReachLimit = _local2.nRightReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
_local2.nLeftReachLimit = _local2.nLeftReachLimit - oOwner.fDataClassDefinition.oATTACK_DATA[sAttackAtDest].nReachLimitModifier;
}
}
if ((sAttackAtDest == "StayIdle") && ((oOwner.sState == "StartFly") || (oOwner.sState == "Fly"))) {
var _local5 = oOwner.calculSlidingDist("StayIdle", Math.abs(oOwner.nSpdX));
var _local4 = oOwner.calculSlidingDist("StayIdle", oOwner.fDataClassDefinition.oSPEEDS_DATA.nMaxSlideSpd - oOwner.nSpdXDeceleration);
if (oOwner.sDirection == "Right") {
_local2.nRightReachLimit = _local2.nRightReachLimit - ((_local5 - oOwner.fDataClassDefinition.oATTACK_DATA.StayIdle.nFarXHit) + _local4);
} else {
_local2.nLeftReachLimit = _local2.nLeftReachLimit + ((_local5 - oOwner.fDataClassDefinition.oATTACK_DATA.StayIdle.nFarXHit) + _local4);
}
}
if ((oOwner.oOpponent.nRightHitBorder >= _local2.nLeftReachLimit) && (oOwner.oOpponent.nLeftHitBorder <= _local2.nRightReachLimit)) {
_local3 = true;
}
return(_local3);
}
function initReachToJumpScratch() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.JumpScratch.nDistToJump) {
setAction();
} else {
oOwner.setState("StartWalk");
}
}
function checkEndReachToJumpScratch() {
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.JumpScratch.nDistToJump) {
setAction();
}
}
function initJumpScratch() {
oOwner.setState("StartJump");
}
function checkEndJumpScratch() {
if (oOwner.nSpdY >= 0) {
oOwner.setState("StartJumpScratch");
}
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpScratch")) && (oOwner.sState != "EndJumpScratch")) && (oOwner.sState != "JumpScratchBlock")) {
setAction();
}
}
function initReachToEarthBend() {
sAttackAtDest = aActionsSet[0];
oOwner.checkOpponentSide(false);
var _local2 = aActionsSet[0];
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.EarthBend.nDistToLaunch) {
setAction();
} else {
oOwner.setState("StartWalk");
}
}
function checkEndReachToEarthBend() {
var _local2 = aActionsSet[0];
if (Math.abs(oOwner.oOpponent.nPosX - oOwner.nPosX) <= oOwner.fDataClassDefinition.oATTACK_DATA.EarthBend.nDistToLaunch) {
setAction();
}
}
function initEarthBend() {
oOwner.setState("StartEarthBend");
}
function checkEndEarthBend() {
if (((oOwner.sState != "StartEarthBend") && (oOwner.sState != "EarthBend")) && (oOwner.sState != "EndEarthBend")) {
setAction();
}
}
function initDrill() {
nNbDrillMin = aActionsSet[0];
nNbDrillMax = aActionsSet[1];
aActionsSet.splice(0);
nNbDrillAttack = Math.floor(Math.random() * (nNbDrillMax - nNbDrillMin)) + nNbDrillMin;
oOwner.setState("Burrow");
}
function checkEndDrill() {
if (oOwner.oOpponent.nHealth <= 0) {
if (((oOwner.sState == "Burrow") && (oOwner.stateFinished())) || (oOwner.sState == "EndDrill")) {
nNbDrillAttack = 0;
oOwner.setDigOut("Drill");
}
} else {
if (((oOwner.sState == "Burrow") || (oOwner.sState == "EndDrill")) && (oOwner.stateFinished())) {
if (nNbDrillAttack > 0) {
nNbDrillAttack--;
oOwner.setDrillAttack();
} else {
oOwner.setDigOut("Drill");
}
}
if ((((((oOwner.sState != "Burrow") && (oOwner.sState != "Drill")) && (oOwner.sState != "EndDrill")) && (oOwner.sState != "DigOut")) && (oOwner.sState != "EndDigOut")) && (oOwner.sState != "DigOutLand")) {
setAction();
}
}
}
function initBurrowAway() {
oOwner.setState("Burrow");
}
function checkEndBurrowAway() {
if ((oOwner.sState == "Burrow") && (oOwner.stateFinished())) {
oOwner.setDigOut("BurrowAway");
}
if ((((((oOwner.sState != "Burrow") && (oOwner.sState != "Drill")) && (oOwner.sState != "EndDrill")) && (oOwner.sState != "DigOut")) && (oOwner.sState != "EndDigOut")) && (oOwner.sState != "DigOutLand")) {
setAction();
}
}
function initSlidingSlash() {
var _local2 = oOwner.setAttackReachXLimits("SlidingSlash");
var _local3 = oOwner.oOpponent.checkInAttackReach(_local2);
if (_local3) {
oOwner.setState("SlidingSlash");
} else {
oOwner.setState("Slide");
}
}
function checkEndSlidingSlash() {
if (oOwner.sState == "Slide") {
var _local2 = oOwner.setAttackReachXLimits("SlidingSlash");
var _local3 = oOwner.oOpponent.checkInAttackReach(_local2);
if (_local3) {
oOwner.setState("SlidingSlash");
} else if (oOwner.stateFinished()) {
oOwner.setState("EndWalk");
}
}
if (((oOwner.sState != "Slide") && (oOwner.sState != "SlidingSlash")) && (oOwner.sState != "EndSlidingSlash")) {
setAction();
}
}
function initShortJumpBack() {
oOwner.oController.playSfx(["ShortSwoosh1", "ShortSwoosh2"]);
oOwner.setState("StartJump");
}
function checkEndShortJumpBack() {
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpKick")) && (oOwner.sState != "EndJumpKick")) && (oOwner.sState != "JumpKickBlock")) {
setAction();
}
}
function initLongJumpBack() {
oOwner.oController.playSfx(["ShortSwoosh1", "ShortSwoosh2"]);
oOwner.setState("StartJump");
}
function checkEndLongJumpBack() {
if (((((((oOwner.sState != "StartJump") && (oOwner.sState != "Jump")) && (oOwner.sState != "StartFall")) && (oOwner.sState != "Fall")) && (oOwner.sState != "StartJumpKick")) && (oOwner.sState != "EndJumpKick")) && (oOwner.sState != "JumpKickBlock")) {
setAction();
}
}
function initSlash() {
oOwner.setState("Slash");
}
function checkEndSlash() {
if ((oOwner.sState != "Slash") && (oOwner.sState != "EndSlash")) {
setAction();
}
}
function initPropelClaw() {
oOwner.setState("PropelClaw");
}
function checkEndPropelClaw() {
if ((oOwner.sState != "PropelClaw") && (oOwner.sState != "EndPropelClaw")) {
setAction();
}
}
}
Symbol 2496 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerEasy] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerEasy
{
function MinerEasy () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:4, nTimeMax:40};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, MoveBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["StayIdle"], nChanceToDo:20}, oActionSet2:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:40}, oActionSet3:{aActions:["ReachToAttack", "Slash"], nChanceToDo:22}, oActionSet4:{aActions:["ReachToAttack", "PropelClaw"], nChanceToDo:5}, oActionSet5:{aActions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:0}, oActionSet6:{aActions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:0}, oActionSet7:{aActions:["SlidingSlash"], nChanceToDo:5}, oActionSet8:{aActions:["ReachToEarthBend", "EarthBend"], nChanceToDo:5}, oActionSet9:{aActions:["Drill", 1, 3], nChanceToDo:3}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:40, nChanceModifier:10, oActionSets:{oActionSet1:{aActions:["BurrowAway"], nChanceToDo:70}, oActionSet2:{aActions:["Slash"], nChanceToDo:20}, oActionSet3:{aActions:["SlidingSlash"], nChanceToDo:10}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndSlash:true, EndPropelClaw:true, EndGetUp:true, EndHurtWall:true, StartEarthBend:true, EndEarthBend:true, EndDigOut:true, DigOutLand:true, EndSlidingSlash:true}, Punch:{nChanceToReact:55, oReactSet1:{aReactions:["Block"], nChanceToDo:35}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:30}, oReactSet3:{aReactions:["Slash"], nChanceToDo:20}, oReactSet4:{aReactions:["RapidCrouch", "PropelClaw"], nChanceToDo:5}, oReactSet5:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet6:{aReactions:["RapidCrouch", "SlidingSlash"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}}, CrouchPunch:{nChanceToReact:55, oReactSet1:{aReactions:["Block"], nChanceToDo:35}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:30}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet5:{aReactions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:0}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:10}}, JumpKick:{nChanceToReact:5, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:20}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:15}, oReactSet4:{aReactions:["Slash"], nChanceToDo:10}, oReactSet5:{aReactions:["PropelClaw"], nChanceToDo:0}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:20}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}, oReactSet8:{aReactions:["LongJumpBack", "SlidingSlash"], nChanceToDo:0}}, RapidPunch:{nChanceToReact:25, oReactSet1:{aReactions:["Block"], nChanceToDo:40}, oReactSet2:{aReactions:["LongCrouch"], nChanceToDo:20}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet4:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet5:{aReactions:["Block", "Slash"], nChanceToDo:20}, oReactSet6:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}, oReactSet7:{aReactions:["LongCrouch", "SlidingSlash"], nChanceToDo:0}, oReactSet8:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:5}, oReactSet9:{aReactions:["LongJumpBack", "Drill", 2, 3], nChanceToDo:0}}, BackflipKick:{nChanceToReact:15, oReactSet1:{aReactions:["Block"], nChanceToDo:90}, oReactSet2:{aReactions:["PropelClaw"], nChanceToDo:5}, oReactSet3:{aReactions:["Block", "SlidingSlash"], nChanceToDo:5}}, ProximityAttack:{nChanceToReact:5, oReactSet1:{aReactions:["BurrowAway"], nChanceToDo:90}, oReactSet2:{aReactions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:0}, oReactSet3:{aReactions:["LongJumpBack", "RapidCrouch", "SlidingSlash"], nChanceToDo:5}, oReactSet4:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:5}}, HyperUppercut:{nChanceToReact:15, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:10}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["PropelClaw"], nChanceToDo:0}, oReactSet5:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:20}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:0}, oReactSet8:{aReactions:["Block", "Slash", "Slash", "SlidingSlash"], nChanceToDo:15}, oReactSet9:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:5}}, ShoulderTackle:{nChanceToReact:25, oReactSet1:{aReactions:["Block"], nChanceToDo:75}, oReactSet2:{aReactions:["Block", "Slash"], nChanceToDo:20}, oReactSet3:{aReactions:["Block", "PropelClaw"], nChanceToDo:0}, oReactSet4:{aReactions:["Block", "SlidingSlash"], nChanceToDo:5}, oReactSet5:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:0}, oReactSet6:{aReactions:["Drill", 1, 3], nChanceToDo:0}}, SuperThrow:{nChanceToReact:50, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:25}, oReactSet2:{aReactions:["WaitBigRock", "Slash"], nChanceToDo:30}, oReactSet3:{aReactions:["WaitBigRock", "PropelClaw"], nChanceToDo:25}, oReactSet4:{aReactions:["WaitBigRock", "RapidCrouch", "SlidingSlash"], nChanceToDo:15}, oReactSet5:{aReactions:["WaitBigRock", "Slash", "SlidingSlash"], nChanceToDo:5}, oReactSet6:{aReactions:["WaitBigRock", "PropelClaw", "SlidingSlash", "ReachToAttack", "Slash", "PropelClaw"], nChanceToDo:0}}};
}
Symbol 2497 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerMed] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerMed
{
function MinerMed () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:2, nTimeMax:40};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, MoveBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["StayIdle"], nChanceToDo:15}, oActionSet2:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:25}, oActionSet3:{aActions:["ReachToAttack", "Slash"], nChanceToDo:22}, oActionSet4:{aActions:["ReachToAttack", "PropelClaw"], nChanceToDo:7}, oActionSet5:{aActions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oActionSet6:{aActions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oActionSet7:{aActions:["SlidingSlash"], nChanceToDo:10}, oActionSet8:{aActions:["ReachToEarthBend", "EarthBend"], nChanceToDo:5}, oActionSet9:{aActions:["Drill", 2, 3], nChanceToDo:6}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:50, nChanceModifier:20, oActionSets:{oActionSet1:{aActions:["BurrowAway"], nChanceToDo:60}, oActionSet2:{aActions:["Slash"], nChanceToDo:20}, oActionSet3:{aActions:["SlidingSlash"], nChanceToDo:20}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndSlash:true, EndPropelClaw:true, EndGetUp:true, EndHurtWall:true, StartEarthBend:true, EndEarthBend:true, EndDigOut:true, DigOutLand:true, EndSlidingSlash:true}, Punch:{nChanceToReact:70, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:20}, oReactSet3:{aReactions:["Slash"], nChanceToDo:20}, oReactSet4:{aReactions:["RapidCrouch", "PropelClaw"], nChanceToDo:10}, oReactSet5:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet6:{aReactions:["RapidCrouch", "SlidingSlash"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}}, CrouchPunch:{nChanceToReact:70, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:20}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet5:{aReactions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:15}}, JumpKick:{nChanceToReact:10, oReactSet1:{aReactions:["Block"], nChanceToDo:40}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:10}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:10}, oReactSet4:{aReactions:["Slash"], nChanceToDo:5}, oReactSet5:{aReactions:["PropelClaw"], nChanceToDo:5}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:15}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:10}, oReactSet8:{aReactions:["LongJumpBack", "SlidingSlash"], nChanceToDo:5}}, RapidPunch:{nChanceToReact:35, oReactSet1:{aReactions:["Block"], nChanceToDo:40}, oReactSet2:{aReactions:["LongCrouch"], nChanceToDo:15}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet4:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet5:{aReactions:["Block", "Slash"], nChanceToDo:10}, oReactSet6:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}, oReactSet7:{aReactions:["LongCrouch", "SlidingSlash"], nChanceToDo:5}, oReactSet8:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:10}, oReactSet9:{aReactions:["LongJumpBack", "Drill", 2, 5], nChanceToDo:5}}, BackflipKick:{nChanceToReact:20, oReactSet1:{aReactions:["Block"], nChanceToDo:80}, oReactSet2:{aReactions:["PropelClaw"], nChanceToDo:10}, oReactSet3:{aReactions:["Block", "SlidingSlash"], nChanceToDo:10}}, ProximityAttack:{nChanceToReact:10, oReactSet1:{aReactions:["BurrowAway"], nChanceToDo:70}, oReactSet2:{aReactions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet3:{aReactions:["LongJumpBack", "RapidCrouch", "SlidingSlash"], nChanceToDo:15}, oReactSet4:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:10}}, HyperUppercut:{nChanceToReact:20, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:5}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["PropelClaw"], nChanceToDo:5}, oReactSet5:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:5}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}, oReactSet8:{aReactions:["Block", "Slash", "Slash", "SlidingSlash"], nChanceToDo:25}, oReactSet9:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:15}}, ShoulderTackle:{nChanceToReact:35, oReactSet1:{aReactions:["Block"], nChanceToDo:60}, oReactSet2:{aReactions:["Block", "Slash"], nChanceToDo:15}, oReactSet3:{aReactions:["Block", "PropelClaw"], nChanceToDo:5}, oReactSet4:{aReactions:["Block", "SlidingSlash"], nChanceToDo:10}, oReactSet5:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:5}, oReactSet6:{aReactions:["Drill", 2, 3], nChanceToDo:5}}, SuperThrow:{nChanceToReact:60, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:15}, oReactSet2:{aReactions:["WaitBigRock", "Slash"], nChanceToDo:20}, oReactSet3:{aReactions:["WaitBigRock", "PropelClaw"], nChanceToDo:15}, oReactSet4:{aReactions:["WaitBigRock", "RapidCrouch", "SlidingSlash"], nChanceToDo:25}, oReactSet5:{aReactions:["WaitBigRock", "Slash", "SlidingSlash"], nChanceToDo:15}, oReactSet6:{aReactions:["WaitBigRock", "PropelClaw", "SlidingSlash", "ReachToAttack", "Slash", "PropelClaw"], nChanceToDo:10}}};
}
Symbol 2498 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerHard] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.ai_data.MinerHard
{
function MinerHard () {
}
static var oCHOOSE_ACTION_TIME_DATA = {nTimeMin:2, nTimeMax:30};
static var oACTION_DATA = {oCanActStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, MoveBack:true, StartCrouch:true, Crouched:true, EndCrouch:true, Land:true}, oActionSets:{oActionSet1:{aActions:["StayIdle"], nChanceToDo:10}, oActionSet2:{aActions:["ReachToAttack", "StayIdle"], nChanceToDo:20}, oActionSet3:{aActions:["ReachToAttack", "Slash"], nChanceToDo:25}, oActionSet4:{aActions:["ReachToAttack", "PropelClaw"], nChanceToDo:7}, oActionSet5:{aActions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oActionSet6:{aActions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oActionSet7:{aActions:["SlidingSlash"], nChanceToDo:15}, oActionSet8:{aActions:["ReachToEarthBend", "EarthBend"], nChanceToDo:5}, oActionSet9:{aActions:["Drill", 2, 3], nChanceToDo:8}}};
static var oEXIT_WALL_DATA = {nStartChanceToReact:60, nChanceModifier:20, oActionSets:{oActionSet1:{aActions:["BurrowAway"], nChanceToDo:40}, oActionSet2:{aActions:["Slash"], nChanceToDo:25}, oActionSet3:{aActions:["SlidingSlash"], nChanceToDo:35}}};
static var oDEFENCE_DATA = {oCanReactStates:{Idle:true, StartWalk:true, Walk:true, EndWalk:true, StartCrouch:true, Crouched:true, EndCrouch:true, EndBlock:true, EndSlash:true, EndPropelClaw:true, EndGetUp:true, EndHurtWall:true, StartEarthBend:true, EndEarthBend:true, EndDigOut:true, DigOutLand:true, EndSlidingSlash:true}, Punch:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:20}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:15}, oReactSet3:{aReactions:["Slash"], nChanceToDo:20}, oReactSet4:{aReactions:["RapidCrouch", "PropelClaw"], nChanceToDo:15}, oReactSet5:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet6:{aReactions:["RapidCrouch", "SlidingSlash"], nChanceToDo:10}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:10}}, CrouchPunch:{nChanceToReact:85, oReactSet1:{aReactions:["Block"], nChanceToDo:20}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:15}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:20}, oReactSet5:{aReactions:["ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:20}}, JumpKick:{nChanceToReact:15, oReactSet1:{aReactions:["Block"], nChanceToDo:45}, oReactSet2:{aReactions:["RapidCrouch"], nChanceToDo:0}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:0}, oReactSet4:{aReactions:["Slash"], nChanceToDo:0}, oReactSet5:{aReactions:["PropelClaw"], nChanceToDo:10}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:20}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:15}, oReactSet8:{aReactions:["LongJumpBack", "SlidingSlash"], nChanceToDo:10}}, RapidPunch:{nChanceToReact:45, oReactSet1:{aReactions:["Block"], nChanceToDo:30}, oReactSet2:{aReactions:["LongCrouch"], nChanceToDo:10}, oReactSet3:{aReactions:["LongJumpBack"], nChanceToDo:5}, oReactSet4:{aReactions:["LongJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:5}, oReactSet5:{aReactions:["Block", "Slash"], nChanceToDo:5}, oReactSet6:{aReactions:["Block", "PropelClaw"], nChanceToDo:10}, oReactSet7:{aReactions:["LongCrouch", "SlidingSlash"], nChanceToDo:10}, oReactSet8:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:15}, oReactSet9:{aReactions:["LongJumpBack", "Drill", 2, 3], nChanceToDo:10}}, BackflipKick:{nChanceToReact:25, oReactSet1:{aReactions:["Block"], nChanceToDo:70}, oReactSet2:{aReactions:["PropelClaw"], nChanceToDo:15}, oReactSet3:{aReactions:["Block", "SlidingSlash"], nChanceToDo:15}}, ProximityAttack:{nChanceToReact:15, oReactSet1:{aReactions:["BurrowAway"], nChanceToDo:55}, oReactSet2:{aReactions:["BurrowAway", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:10}, oReactSet3:{aReactions:["LongJumpBack", "RapidCrouch", "SlidingSlash"], nChanceToDo:20}, oReactSet4:{aReactions:["LongJumpBack", "ReachToEarthBend", "EarthBend"], nChanceToDo:15}}, HyperUppercut:{nChanceToReact:25, oReactSet1:{aReactions:["Block"], nChanceToDo:15}, oReactSet2:{aReactions:["ShortJumpBack"], nChanceToDo:0}, oReactSet3:{aReactions:["Slash"], nChanceToDo:15}, oReactSet4:{aReactions:["PropelClaw"], nChanceToDo:5}, oReactSet5:{aReactions:["ShortJumpBack", "ReachToJumpScratch", "JumpScratch"], nChanceToDo:15}, oReactSet6:{aReactions:["Block", "Slash"], nChanceToDo:0}, oReactSet7:{aReactions:["Block", "PropelClaw"], nChanceToDo:10}, oReactSet8:{aReactions:["Block", "Slash", "Slash", "SlidingSlash"], nChanceToDo:20}, oReactSet9:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:20}}, ShoulderTackle:{nChanceToReact:45, oReactSet1:{aReactions:["Block"], nChanceToDo:45}, oReactSet2:{aReactions:["Block", "Slash"], nChanceToDo:15}, oReactSet3:{aReactions:["Block", "PropelClaw"], nChanceToDo:10}, oReactSet4:{aReactions:["Block", "SlidingSlash"], nChanceToDo:15}, oReactSet5:{aReactions:["Block", "ReachToEarthBend", "EarthBend"], nChanceToDo:10}, oReactSet6:{aReactions:["Drill", 2, 3], nChanceToDo:5}}, SuperThrow:{nChanceToReact:70, oReactSet1:{aReactions:["WaitBigRock", "Block"], nChanceToDo:10}, oReactSet2:{aReactions:["WaitBigRock", "Slash"], nChanceToDo:15}, oReactSet3:{aReactions:["WaitBigRock", "PropelClaw"], nChanceToDo:15}, oReactSet4:{aReactions:["WaitBigRock", "RapidCrouch", "SlidingSlash"], nChanceToDo:30}, oReactSet5:{aReactions:["WaitBigRock", "Slash", "SlidingSlash"], nChanceToDo:15}, oReactSet6:{aReactions:["WaitBigRock", "PropelClaw", "SlidingSlash", "ReachToAttack", "Slash", "PropelClaw"], nChanceToDo:15}}};
}
Symbol 2499 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.BigRock] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.BigRock extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.InsideCollider
{
var oPlayer, oBackground, sDirection, nBaseSpdX, nSpdX, nScreenGap, nMaxScreenGap, nScreenGapModifier, sAttackName, nPosX, oOpponent, nLeftBorder, nRightBorder, stateFinished, sStateAtStart, deleteObject, oController, mcRef, nMaxMoveX, nMaxMoveY, nRealMoveX, nRealMoveY, validateMove, nPosY, oImpactManager, setState;
function BigRock (_oItemData) {
super(_oItemData);
setOpponent();
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
oBackground = com.disney.gem.games.SavingTheDay.game_obj.Background.giveReference();
sDirection = _oItemData.sDirection;
nBaseSpdX = _oItemData.nBaseSpdX;
nSpdX = nBaseSpdX;
nScreenGap = 0;
nMaxScreenGap = 150;
nScreenGapModifier = 15;
sAttackName = "SuperThrow";
if (sDirection == "Left") {
changeDirection();
}
if ((_oItemData.sStateAtStart != "Explode") && (((sDirection == "Right") and (oOpponent.nPosX > nPosX)) || ((sDirection == "Left") and (oOpponent.nPosX < nPosX)))) {
oBackground.setItemToShow(this);
oBackground.switchToPreciseMode();
}
}
function state_Idle() {
oOpponent.setIncomingAttack(setAttackData(sAttackName));
doMove();
nScreenGap = nScreenGap + ((nMaxScreenGap - nScreenGap) / nScreenGapModifier);
if (oBackground.oItemToShow == this) {
if (((sDirection == "Right") && ((nPosX - nLeftBorder) > (oOpponent.nPosX + oOpponent.nRightBorder))) || ((sDirection == "Left") && ((nPosX + nRightBorder) < (oOpponent.nPosX - oOpponent.nLeftBorder)))) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oPlayer, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oPlayer, nLagValue:6});
oBackground.switchToPanMode();
oPlayer.resetComboInRow();
oOpponent.modifRockTimeCrouch();
}
}
}
function state_Explode_init() {
if (oOpponent == undefined) {
setOpponent();
}
oOpponent.stopWaitBigRock();
oOpponent.forceEndCrouch();
}
function state_Explode() {
if (stateFinished()) {
if ((sStateAtStart != "Explode") && (oOpponent.getState() != oOpponent.fDataClassDefinition.oATTACK_REACT_DATA[sAttackName].sGetHitState)) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oPlayer, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oPlayer, nLagValue:6});
oBackground.switchToPanMode();
}
deleteObject();
}
}
function setOpponent() {
switch (oController.getLevel()) {
case 1 :
oOpponent = com.disney.gem.games.SavingTheDay.game_obj.Omnidroid.giveReference();
break;
case 2 :
oOpponent = com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference();
break;
case 3 :
oOpponent = com.disney.gem.games.SavingTheDay.game_obj.Underminer.giveReference();
break;
}
}
function changeDirection() {
mcRef._xscale = mcRef._xscale - (mcRef._xscale * 2);
nSpdX = nSpdX * -1;
}
function doMove() {
setMaxMove();
makeMoving();
}
function setMaxMove() {
nMaxMoveX = nSpdX;
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nRealMoveX = nMaxMoveX;
nRealMoveY = 0;
}
function makeMoving() {
while ((nMaxMoveX != 0) || (nMaxMoveY != 0)) {
validateMove();
nPosX = nPosX + nRealMoveX;
mcRef._x = nPosX;
nPosY = nPosY + nRealMoveY;
mcRef._y = nPosY;
if (nMaxMoveX == nRealMoveX) {
nMaxMoveX = 0;
} else if (nMaxMoveX != 0) {
nMaxMoveX = nMaxMoveX - nRealMoveX;
}
if (nMaxMoveY == nRealMoveY) {
nMaxMoveY = 0;
} else if (nMaxMoveY != 0) {
nMaxMoveY = nMaxMoveY - nRealMoveY;
}
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
}
}
function setAttackData(_sAttackType) {
var _local2 = new Object();
_local2.sAttackType = _sAttackType;
_local2.sDirection = sDirection;
_local2.nFrAttack = oPlayer.fDataClassDefinition.oATTACK_DATA.SuperThrow.nFrLaunch;
_local2.nRockPosX = nPosX;
_local2.nRockSpdX = nBaseSpdX;
_local2.nRockHitDist = oPlayer.fDataClassDefinition.oATTACK_DATA.SuperThrow.nRockHitDist;
return(_local2);
}
function setAttackReachXLimits(_sAttackType) {
var _local3 = 0;
var _local2 = new Object();
_local2.nLeftReachLimit = (nPosX + nLeftBorder) + (nSpdX * 10);
_local2.nRightReachLimit = (nPosX + nRightBorder) + (nSpdX * 10);
return(_local2);
}
function setHitWall() {
if (oBackground.oItemToShow == this) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oPlayer, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oPlayer, nLagValue:6});
oBackground.switchToPanMode();
}
oPlayer.resetComboInRow();
doHit();
}
function doHit() {
oImpactManager.removeCollider(this);
setState("Explode");
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
if (_oMovingItem.sColliderType == "RedBeam") {
if (oOpponent.getState() != oOpponent.fDataClassDefinition.oATTACK_REACT_DATA[sAttackName].sGetHitState) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oPlayer, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oPlayer, nLagValue:6});
oBackground.switchToPanMode();
}
}
if (((oOpponent.fDataClassDefinition.oCANT_BE_HIT_DATA[oOpponent.getState()] != true) || (oOpponent.getState() == "StartRoll")) || (oOpponent.getState() == "Roll")) {
var _local2 = oOpponent.checkAttackCanHit(sAttackName);
if (_local2 == true) {
_oMovingItem.getHit("SuperThrow");
} else {
oPlayer.resetComboInRow();
}
doHit();
}
}
}
Symbol 2500 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.CharacterShadow] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.CharacterShadow extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.AttachItem
{
var oCharacter, sDirection, mcRef, nPosX;
function CharacterShadow (_oItemData) {
super(_oItemData);
oCharacter = _oItemData.oCharacter;
sDirection = oCharacter.sDirection;
}
function changeDirection() {
mcRef._xscale = mcRef._xscale - (mcRef._xscale * 2);
}
function mimicCharacter() {
mcRef.gotoAndStop(oCharacter.mcRef._currentframe);
mcRef.mcState.gotoAndStop(oCharacter.mcRef.mcState._currentframe);
if (sDirection != oCharacter.sDirection) {
changeDirection();
sDirection = oCharacter.sDirection;
}
nPosX = oCharacter.nPosX;
mcRef._x = nPosX;
}
function onUpdate() {
mimicCharacter();
}
}
Symbol 2501 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.RedBeam] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.RedBeam extends com.disney.gem.games.SavingTheDay.game_obj.scroll_sys.InsideCollider
{
var oPlayer, sDirection, nSpdX, sAttackName, oOpponent, stateFinished, deleteObject, mcRef, nMaxMoveX, nMaxMoveY, nRealMoveX, nRealMoveY, validateMove, nPosX, nPosY, nLeftBorder, nRightBorder, oImpactManager, setState, oBackground;
function RedBeam (_oItemData) {
super(_oItemData);
setOpponent();
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
sDirection = _oItemData.sDirection;
nSpdX = 60;
sAttackName = "RedBeam";
if (sDirection == "Left") {
changeDirection();
}
}
function state_Idle() {
oOpponent.checkToBlockRedBeam(this);
doMove();
}
function state_Explode() {
if (stateFinished()) {
deleteObject();
}
}
function setOpponent() {
oOpponent = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
}
function changeDirection() {
mcRef._xscale = mcRef._xscale - (mcRef._xscale * 2);
nSpdX = nSpdX * -1;
}
function doMove() {
setMaxMove();
makeMoving();
}
function setMaxMove() {
nMaxMoveX = nSpdX;
nMaxMoveY = 0;
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nRealMoveX = nMaxMoveX;
nRealMoveY = 0;
}
function makeMoving() {
while ((nMaxMoveX != 0) || (nMaxMoveY != 0)) {
validateMove();
nPosX = nPosX + nRealMoveX;
mcRef._x = nPosX;
nPosY = nPosY + nRealMoveY;
mcRef._y = nPosY;
if (nMaxMoveX == nRealMoveX) {
nMaxMoveX = 0;
} else if (nMaxMoveX != 0) {
nMaxMoveX = nMaxMoveX - nRealMoveX;
}
if (nMaxMoveY == nRealMoveY) {
nMaxMoveY = 0;
} else if (nMaxMoveY != 0) {
nMaxMoveY = nMaxMoveY - nRealMoveY;
}
nMaxMoveX = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveX);
nMaxMoveY = com.disney.gem.games.SavingTheDay.game_obj.basic_class.MathObj.roundNumber(nMaxMoveY);
nRealMoveX = nMaxMoveX;
nRealMoveY = nMaxMoveY;
}
}
function setAttackData(_sAttackType) {
var _local2 = new Object();
_local2.sAttackType = _sAttackType;
_local2.sDirection = sDirection;
_local2.oReachLimits = setAttackReachXLimits(_sAttackType);
return(_local2);
}
function setAttackReachXLimits(_sAttackType) {
var _local3 = 0;
var _local2 = new Object();
_local2.nLeftReachLimit = (nPosX + nLeftBorder) + (nSpdX * 6);
_local2.nRightReachLimit = (nPosX + nRightBorder) + (nSpdX * 6);
return(_local2);
}
function setHitWall() {
doHit();
}
function doHit() {
oImpactManager.removeCollider(this);
setState("Explode");
}
function doImpactResult(_oMovingItem, _oImpactCheckResult) {
if ((_oMovingItem.sColliderType == "BigRock") || (oOpponent.fDataClassDefinition.oCANT_BE_HIT_DATA[oOpponent.getState()] != true)) {
var _local2 = oOpponent.checkAttackCanHit(sAttackName);
if (_local2 == true) {
_oMovingItem.getHit("RedBeam");
}
if (_oMovingItem.sColliderType != "BigRock") {
doHit();
} else if (oOpponent.getState() != oOpponent.fDataClassDefinition.oATTACK_REACT_DATA[sAttackName].sGetHitState) {
oBackground.addPanData({sNextMode:"Pan", oItemToShow:oPlayer, nPanSpdUpValue:5, nPanSpdDownValue:2});
oBackground.addPanData({sNextMode:"Lag", oItemToShow:oPlayer, nLagValue:6});
oBackground.switchToPanMode();
}
}
}
}
Symbol 2502 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.SoundsData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.SoundsData
{
function SoundsData () {
}
static var sMusicCategory = "Music";
static var sSfxCategory = "Sfx";
static var sBtnSfxCategory = "BtnSfx";
static var nBasicMusicVolume = 50;
static var nBasicSfxVolume = 75;
static var nBasicBtnSfxVolume = 90;
static var nWinMusicVolume = 80;
static var nLoseMusicVolume = 80;
static var nTransitMusicVolume = 80;
static var nHitMetal1Volume = 40;
static var nHitMetal2Volume = 40;
static var nHitMetal3Volume = 40;
static var nOmniStep1Volume = 50;
static var nOmniStep2Volume = 50;
static var nOmniStep3Volume = 50;
static var nOmniStep4Volume = 50;
static var nOmniClaw1Volume = 40;
static var nOmniClaw2Volume = 40;
static var nOmniClaw3Volume = 40;
static var nOmniCrushVolume = 50;
static var nOmniMove1Volume = 60;
static var nOmniMove3Volume = 60;
static var nOmniMove4Volume = 40;
static var nOmniMove5Volume = 60;
static var nOmniMove7Volume = 40;
static var nToleImpactVolume = 40;
static var nOmniLegs1Volume = 40;
static var nOmniLegs2Volume = 40;
static var nOmniLegs3Volume = 40;
static var nOmniStartRollVolume = 40;
static var nOmniRollVolume = 40;
static var nBoom1Volume = 65;
static var nSynAppearVolume = 30;
static var nSynDisappearVolume = 30;
static var nSynShieldSparksVolume = 60;
static var nSmallSpark1Volume = 60;
static var nSmallSpark2Volume = 60;
static var nSmallSpark3Volume = 60;
static var nSmallSpark4Volume = 60;
static var nSynStartTractorBeamVolume = 70;
static var nSynTractorBeamVolume = 50;
static var nSynBurstVolume = 65;
static var nFly1Volume = 60;
static var nFly2Volume = 60;
static var nFly3Volume = 60;
static var nFly4Volume = 60;
static var nHitBlock1Volume = 85;
static var nHitBlock2Volume = 85;
static var nHitBlock3Volume = 85;
static var nHitBlock4Volume = 85;
static var nReadyVolume = 70;
static var nFightVolume = 80;
static var nButton1Volume = 40;
static var nButton2Volume = 60;
static var oLoopSfx = {OmniRoll:true, SynShieldSparks:true, SynTractorBeam:true, UnderDrill1:true};
static var BigRock = {Explode:{Fr2:[["RockBreak"]]}};
static var Player = {Idle:{}, StartBlock:{}, Block:{}, EndBlock:{}, BlockHit:{Fr3:[["HitBlock1", "HitBlock2", "HitBlock3", "HitBlock4"]]}, StartRun:{}, Run:{}, EndRun:{}, MoveBack:{Fr8:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, StartCrouch:{}, Crouched:{}, EndCrouch:{}, StartJump:{}, Jump:{}, StartFall:{}, Fall:{}, Land:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, Pulled:{}, Hurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, EndHurt:{}, PropelUpHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelUpStartFall:{}, PropelUpFall:{}, PropelUpCrash:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, PropelBackHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelBackStartFall:{}, PropelBackFall:{}, PropelBackCrash:{Fr6:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWall:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWallSlide:{}, HurtWallLand:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, EndHurtWall:{}, GetUp:{}, EndGetUp:{}, StartJumpKick:{Fr2:[["ShortSwoosh1", "ShortSwoosh2"]]}, EndJumpKick:{}, JumpKickBlock:{}, Punch:{Fr2:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, CrouchPunch:{Fr2:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, RapidPunch:{Fr2:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr5:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr9:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr13:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr17:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr21:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr25:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr29:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr33:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, BackflipKick:{Fr6:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]], Fr17:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, HyperUppercut:{Fr6:[["ShortSwoosh1", "ShortSwoosh2"]]}, ProximityAttack:{Fr12:[["ShortSwoosh1", "ShortSwoosh2"]], Fr15:[["Boom1"], ["Rubble"]]}, ShoulderTackle:{Fr2:[["ShortSwoosh1", "ShortSwoosh2"]]}, SuperThrow:{Fr8:[["EarthQuake1"]], Fr11:[["Rubble"]], Fr22:[["ShortSwoosh1", "ShortSwoosh2"]]}, Die:{}, WaitForHealth:{}, Rebirth:{}};
static var Omnidroid = {Idle:{}, StartWalk:{}, Walk:{Fr8:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]], Fr21:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]]}, EndWalk:{}, StartMoveBack:{}, MoveBack:{Fr8:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]], Fr21:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]]}, StartBlock:{}, Block:{}, BlockHit:{Fr3:[["HitBlock1", "HitBlock2", "HitBlock3", "HitBlock4"]]}, EndBlock:{}, Slam:{Fr2:[["OmniMove1"], ["LongSwoosh1"]]}, EndSlam:{Fr2:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]]}, Spin:{Fr2:[["OmniLegs1"], ["OmniMove3"]], Fr5:[["OmniMove4"]], Fr9:[["OmniLegs3"]], Fr13:[["ToleImpact"]], Fr15:[["OmniLegs3"]], Fr27:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]]}, EndSpin:{}, Crush:{Fr2:[["OmniClaw1", "OmniClaw2", "OmniClaw3"]], Fr4:[["OmniMove4"]], Fr8:[["OmniCrush"]], Fr9:[["OmniMove6"]]}, EndCrush:{}, StartJump:{}, Jump:{Fr2:[["OmniJump"]]}, Fall:{Fr8:[["LongSwoosh1"]]}, Stomp:{Fr3:[["Boom3"]], Fr16:[["ToleImpact"]], Fr22:[["OmniLegs1"], ["OmniMove3"]]}, Land:{Fr3:[["Boom3"]], Fr6:[["OmniMove3"]]}, SideJump:{Fr2:[["OmniMove5"]], Fr11:[["OmniMove4"]], Fr13:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"]]}, StartRoll:{Fr2:[["OmniLegs1"], ["OmniMove7"]], Fr3:[["OmniClaw2"]], Fr6:[["OmniStartRoll"]]}, Roll:{Fr7:[["OmniRoll"]]}, EndRoll:{Fr2:[["OmniMove1"]], Fr4:[["OmniLegs3"]], Fr9:[["OmniClaw1"], ["OmniMove4"]]}, Hurt:{Fr2:[["HitMetal1", "HitMetal2", "HitMetal3"]]}, EndHurt:{}, PropelUpHurt:{Fr2:[["HitMetal1", "HitMetal2", "HitMetal3"]]}, PropelUpStartFall:{}, PropelUpFall:{}, PropelUpCrash:{Fr2:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"], ["OmniMove1", "OmniMove2", "OmniMove5"]], Fr3:[["OmniLegs3"]], Fr8:[["OmniMove4"]]}, PropelBackHurt:{Fr2:[["HitMetal1", "HitMetal2", "HitMetal3"]]}, PropelBackStartFall:{}, PropelBackFall:{}, PropelBackCrash:{Fr2:[["OmniStep1", "OmniStep2", "OmniStep3", "OmniStep4"], ["OmniMove1", "OmniMove2", "OmniMove5"]], Fr3:[["OmniLegs3"]], Fr8:[["OmniMove4"]]}, Die:{Fr2:[["ElectricSpark1"]], Fr11:[["OmniLegs3"]], Fr15:[["ToleImpact"]], Fr17:[["DoubleHitMetal2"]]}, WaitForHealth:{}, Rebirth:{Fr2:[["OmniMove8"]], Fr11:[["OmniLegs1"]]}};
static var Syndrome = {Idle:{}, StartWalk:{}, Walk:{}, EndWalk:{}, StartFly:{Fr2:[["Fly1", "Fly2", "Fly3", "Fly4"]]}, Fly:{}, StartFlyBack:{Fr2:[["Fly1", "Fly2", "Fly3", "Fly4"]]}, FlyBack:{}, EndFlyBack:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, StartCrouch:{}, Crouched:{}, EndCrouch:{}, StartJump:{}, Jump:{}, StartFall:{}, Fall:{}, Land:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, StartJumpKick:{Fr2:[["ShortSwoosh1", "ShortSwoosh2"]]}, EndJumpKick:{}, JumpKickBlock:{}, StartBlock:{}, Block:{}, BlockHit:{Fr3:[["HitBlock1", "HitBlock2", "HitBlock3", "HitBlock4"], ["SmallSpark1", "SmallSpark2", "SmallSpark3", "SmallSpark4"]]}, EndBlock:{}, Hurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, EndHurt:{}, PropelUpHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelUpStartFall:{}, PropelUpFall:{}, PropelUpCrash:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, PropelBackHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelBackStartFall:{}, PropelBackFall:{}, PropelBackCrash:{Fr7:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWall:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWallSlide:{}, HurtWallLand:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, EndHurtWall:{}, GetUp:{}, EndGetUp:{}, Disappear:{Fr2:[["SynDisappear"]]}, Appear:{}, EndAppear:{Fr2:[["SynAppear"]]}, EnergyBlast:{Fr4:[["ElectricSpark2"]]}, EndEnergyBlast:{}, EnergyPunch:{Fr9:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, EndEnergyPunch:{}, EnergyBurst:{Fr2:[["SynBurst"]]}, EndEnergyBurst:{}, TractorBeam:{Fr2:[["SynStartTractorBeam"]]}, EndTractorBeam:{}, RedBeam:{Fr14:[["SynRedBeam"]]}, EndRedBeam:{}, StartPull:{Fr10:[["SynTractorBeam"]]}, Pull:{}, Die:{}, WaitForHealth:{}, Rebirth:{}};
static var Underminer = {Idle:{}, StartWalk:{}, Walk:{}, EndWalk:{}, StartCrouch:{}, Crouched:{}, EndCrouch:{}, StartJump:{}, Jump:{}, StartFall:{}, Fall:{}, Land:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, StartJumpScratch:{Fr2:[["ShortSwoosh1", "ShortSwoosh2"]], Fr6:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, EndJumpScratch:{}, JumpScratchBlock:{}, StartBlock:{}, Block:{}, BlockHit:{Fr3:[["HitBlock1", "HitBlock2", "HitBlock3", "HitBlock4"]]}, EndBlock:{}, Hurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, EndHurt:{}, PropelUpHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelUpStartFall:{}, PropelUpFall:{}, PropelUpCrash:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, PropelBackHurt:{Fr2:[["Hit1", "Hit2", "Hit3", "Hit4", "Hit5", "Hit6", "Hit7", "Hit8"]]}, PropelBackStartFall:{}, PropelBackFall:{}, PropelBackCrash:{Fr3:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWall:{Fr2:[["BodyFall1", "BodyFall2", "BodyFall3", "BodyFall4", "BodyFall5"]]}, HurtWallSlide:{}, HurtWallLand:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, EndHurtWall:{}, GetUp:{}, EndGetUp:{}, Slash:{Fr5:[["ShortSwoosh1", "ShortSwoosh2"]]}, EndSlash:{}, PropelClaw:{Fr6:[["ShortSwoosh3", "ShortSwoosh4", "ShortSwoosh5", "ShortSwoosh6", "ShortSwoosh7", "ShortSwoosh8"]]}, EndPropelClaw:{}, StartEarthBend:{}, EarthBend:{Fr2:[["Boom3"], ["EarthQuake1"]], Fr20:[["Rubble"]], Fr30:[["Rubble"]]}, EndEarthBend:{}, Burrow:{Fr5:[["Earth1"]], Fr7:[["UnderDrill1"]]}, Drill:{Fr2:[["Earth2", "Earth3", "Earth4", "Earth5"]], Fr5:[["UnderDrill2"]], Fr25:[["Earth2", "Earth3", "Earth4", "Earth5"]]}, EndDrill:{}, DigOut:{Fr2:[["Earth2", "Earth3", "Earth4", "Earth5"]]}, EndDigOut:{}, DigOutLand:{Fr2:[["Land1", "Land2", "Land3", "Land4", "Land5"]]}, Slide:{Fr2:[["Earth4"], ["Earth2"]]}, SlidingSlash:{Fr2:[["ShortSwoosh1", "ShortSwoosh2"]]}, EndSlidingSlash:{}, Die:{}, WaitForHealth:{}, Rebirth:{}};
}
Symbol 2503 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_obj.Timer] Frame 0
class com.disney.gem.games.SavingTheDay.game_obj.Timer extends com.disney.gem.games.SavingTheDay.game_obj.basic_class.State
{
static var oInstance;
var oPlayer, mcRef, nFramesBySec, nCurrentFrame, nSeconds, nMinutes, nMaxMinutes, nMaxBonus, oController, nFactor1, nFactor2, setState, sState, sName, oOwner;
function Timer (_oItemData) {
super(_oItemData);
oInstance = this;
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
mcRef = _oItemData.mcRef;
nFramesBySec = 30;
nCurrentFrame = 0;
nSeconds = 0;
nMinutes = 0;
nMaxMinutes = 99;
nMaxBonus = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oTIME_BONUS_DATA[oController.giveDifficulty()].nMaxBonus;
nFactor1 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oTIME_BONUS_DATA[oController.giveDifficulty()].nFactor1;
nFactor2 = com.disney.gem.games.SavingTheDay.game_data.GeneralData.oTIME_BONUS_DATA[oController.giveDifficulty()].nFactor2;
oController.oMainBroadcaster.addListener(this);
displayTime();
}
function state_SetTime() {
nCurrentFrame++;
if (nCurrentFrame >= nFramesBySec) {
nCurrentFrame = 0;
nSeconds++;
if (nSeconds >= 60) {
nSeconds = 0;
nMinutes++;
if (nMinutes == nMaxMinutes) {
setState("Stopped");
}
}
}
displayTime();
}
function state_Wait() {
}
function state_Stopped() {
}
static function giveReference() {
return(com.disney.gem.games.SavingTheDay.game_obj.Timer(oInstance));
}
function endWait() {
if (sState == "Wait") {
setState("SetTime");
}
}
function startWait() {
if (sState != "Stopped") {
setState("Wait");
}
}
function displayTime() {
var _local3 = String(nSeconds);
if (nSeconds < 10) {
_local3 = "0" + _local3;
}
var _local2 = String(nMinutes);
if (nMinutes < 10) {
_local2 = "0" + _local2;
}
mcRef.txtSeconds = _local3;
mcRef.txtMinutes = _local2;
}
function giveBonus() {
var _local3 = nSeconds + (nMinutes * 60);
var _local2 = Math.round((((_local3 + nFactor2) * nMaxBonus) / Math.pow(_local3, nFactor1)) / 3);
if (oPlayer == undefined) {
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
}
oPlayer.recieveTimeBonus(_local2);
return(_local2);
}
function deleteObject() {
oController.oMainBroadcaster.removeListener(this);
delete oOwner[sName];
}
}
Symbol 2504 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.lvls_data.PartsData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.lvls_data.PartsData
{
function PartsData () {
}
static function giveLevel1Part1Data() {
return(com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level1Part1Data.oPartData);
}
static function giveLevel2Part1Data() {
return(com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level2Part1Data.oPartData);
}
static function giveLevel3Part1Data() {
return(com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level3Part1Data.oPartData);
}
static var nNbPartsLevel1 = 1;
static var nNbPartsLevel2 = 1;
static var nNbPartsLevel3 = 1;
}
Symbol 2505 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level1Part1Data] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level1Part1Data
{
function Level1Part1Data () {
}
static var oPartData = {oItem1:{sItemClass:"ImpactManager", sName:"oImpactManager", bUseStates:false, bUseMovies:false, bPausable:false}, oItem2:{sItemClass:"ScreenShaker", sName:"oScreenShaker", sStateAtStart:"ControlShakes", bUseStates:true, bUseMovies:false, bPausable:true}, oItem3:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackParallax", sAttachContainer:"", sItemClass:"Parallax", sItemLinkage:"BackParallaxLevel1", sName:"oBackParallax", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForBackground", bPausable:false}, oItem4:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackground", sAttachContainer:"", sItemClass:"Background", sItemLinkage:"BgLevel1", sName:"oBackground", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForPlayer", bPausable:true}, oItem5:{nScaleY:216.2, nScaleX:3026.7, nPosY:387.5, nPosX:-6.5, sAttachName:"mcItem5", sAttachContainer:"mcBackground", sItemClass:"TopBlocker", sItemLinkage:"TopBlocker", sType:"TopBlocker", sName:"oItem5", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem6:{nScaleY:1209.4, nScaleX:215.9, nPosY:-300, nPosX:1761.8, sAttachName:"mcItem6", sAttachContainer:"mcBackground", sItemClass:"LeftBlocker", sItemLinkage:"LeftBlocker", sType:"LeftBlocker", sName:"oItem6", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem7:{nScaleY:1200.7, nScaleX:215.9, nPosY:-300, nPosX:20.6, sAttachName:"mcItem7", sAttachContainer:"mcBackground", sItemClass:"RightBlocker", sItemLinkage:"RightBlocker", sType:"RightBlocker", sName:"oItem7", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem8:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcShadowContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oShadowContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["CharacterShadow"]}, oItem9:{nScaleY:100, nScaleX:100, nPosY:387.5, nPosX:1001.3, sAttachName:"mcOmnidroid", sAttachContainer:"mcBackground", sItemClass:"Omnidroid", sItemLinkage:"Omnidroid", sType:"Omnidroid", sName:"oOmnidroid", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem10:{nScaleY:100, nScaleX:100, nPosY:387.5, nPosX:593.4, sAttachName:"mcPlayer", sAttachContainer:"mcBackground", sItemClass:"Player", sItemLinkage:"Player", sType:"Player", sName:"oPlayer", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem11:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcRockContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oRockContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["BigRock"]}, oItem12:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcFrontParallax", sAttachContainer:"", sItemClass:"Parallax", sItemLinkage:"FrontParallaxLevel1", sName:"oFrontParallax", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForBackground", bPausable:false}};
}
Symbol 2506 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level2Part1Data] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level2Part1Data
{
function Level2Part1Data () {
}
static var oPartData = {oItem1:{sItemClass:"ImpactManager", sName:"oImpactManager", bUseStates:false, bUseMovies:false, bPausable:false}, oItem2:{sItemClass:"ScreenShaker", sName:"oScreenShaker", sStateAtStart:"ControlShakes", bUseStates:true, bUseMovies:false, bPausable:true}, oItem3:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackParallax", sAttachContainer:"", sItemClass:"Parallax", sItemLinkage:"BackParallaxLevel2", sName:"oBackParallax", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForBackground", bPausable:false}, oItem4:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackground", sAttachContainer:"", sItemClass:"Background", sItemLinkage:"BgLevel2", sName:"oBackground", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForPlayer", bPausable:true}, oItem5:{nScaleY:216.2, nScaleX:2996.2, nPosY:387.5, nPosX:-6.5, sAttachName:"mcItem5", sAttachContainer:"mcBackground", sItemClass:"TopBlocker", sItemLinkage:"TopBlocker", sType:"TopBlocker", sName:"oItem5", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem6:{nScaleY:1209.4, nScaleX:215.9, nPosY:-300, nPosX:1743.8, sAttachName:"mcItem6", sAttachContainer:"mcBackground", sItemClass:"LeftBlocker", sItemLinkage:"LeftBlocker", sType:"LeftBlocker", sName:"oItem6", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem7:{nScaleY:1200.7, nScaleX:215.9, nPosY:-300, nPosX:80.6, sAttachName:"mcItem7", sAttachContainer:"mcBackground", sItemClass:"RightBlocker", sItemLinkage:"RightBlocker", sType:"RightBlocker", sName:"oItem7", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem8:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcShadowContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oShadowContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["CharacterShadow"]}, oItem9:{nScaleY:100, nScaleX:100, nPosY:387.5, nPosX:1083.4, sAttachName:"mcSyndrome", sAttachContainer:"mcBackground", sItemClass:"Syndrome", sItemLinkage:"Syndrome", sType:"Syndrome", sName:"oSyndrome", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem10:{nScaleY:100, nScaleX:100, nPosY:387.5, nPosX:803.4, sAttachName:"mcPlayer", sAttachContainer:"mcBackground", sItemClass:"Player", sItemLinkage:"Player", sType:"Player", sName:"oPlayer", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem11:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcRedBeamContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oRedBeamContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["RedBeam"]}, oItem12:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcRockContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oRockContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["BigRock"]}};
}
Symbol 2507 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level3Part1Data] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.lvls_data.Level3Part1Data
{
function Level3Part1Data () {
}
static var oPartData = {oItem1:{sItemClass:"ImpactManager", sName:"oImpactManager", bUseStates:false, bUseMovies:false, bPausable:false}, oItem2:{sItemClass:"ScreenShaker", sName:"oScreenShaker", sStateAtStart:"ControlShakes", bUseStates:true, bUseMovies:false, bPausable:true}, oItem3:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackParallax", sAttachContainer:"", sItemClass:"Parallax", sItemLinkage:"BackParallaxLevel3", sName:"oBackParallax", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForBackground", bPausable:false}, oItem4:{nScaleY:100, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcBackground", sAttachContainer:"", sItemClass:"Background", sItemLinkage:"BgLevel3", sName:"oBackground", bActivatedItem:false, bAnimatedItem:false, bUseStates:true, bUseMovies:true, sStateAtStart:"WaitForPlayer", bPausable:true}, oItem5:{nScaleY:216.2, nScaleX:2804.7, nPosY:387.5, nPosX:-6.5, sAttachName:"mcItem5", sAttachContainer:"mcBackground", sItemClass:"TopBlocker", sItemLinkage:"TopBlocker", sType:"TopBlocker", sName:"oItem5", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem6:{nScaleY:1209.4, nScaleX:215.9, nPosY:-300, nPosX:1615.8, sAttachName:"mcItem6", sAttachContainer:"mcBackground", sItemClass:"LeftBlocker", sItemLinkage:"LeftBlocker", sType:"LeftBlocker", sName:"oItem6", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem7:{nScaleY:1200.7, nScaleX:215.9, nPosY:-300, nPosX:82.6, sAttachName:"mcItem7", sAttachContainer:"mcBackground", sItemClass:"RightBlocker", sItemLinkage:"RightBlocker", sType:"RightBlocker", sName:"oItem7", bActivatedItem:true, bAnimatedItem:false, bUseStates:true, bUseMovies:true, bPausable:false}, oItem8:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcShadowContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oShadowContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["CharacterShadow"]}, oItem9:{nScaleY:99.9, nScaleX:100, nPosY:387.5, nPosX:871.8, sAttachName:"mcUnderminer", sAttachContainer:"mcBackground", sItemClass:"Underminer", sItemLinkage:"Underminer", sType:"Underminer", sName:"oUnderminer", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem10:{nScaleY:100, nScaleX:100, nPosY:387.5, nPosX:593.4, sAttachName:"mcPlayer", sAttachContainer:"mcBackground", sItemClass:"Player", sItemLinkage:"Player", sType:"Player", sName:"oPlayer", bActivatedItem:false, bAnimatedItem:true, bUseStates:true, bUseMovies:true, bPausable:true}, oItem11:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcRedBeamContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oRedBeamContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["RedBeam"]}, oItem12:{nScaleY:99.9, nScaleX:100, nPosY:0, nPosX:0, sAttachName:"mcRockContainer", sAttachContainer:"mcBackground", sItemClass:"LiveAttachContainer", sItemLinkage:"LiveAttachContainer", sName:"oRockContainer", bUseStates:false, bUseMovies:false, bPausable:false, aItemsAttachIn:["BigRock"]}};
}
Symbol 2508 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.MenuPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.MenuPopup extends com.sarbakan.utils.ScreenController
{
var sCloseBtn, oController, hide, mcRef;
function MenuPopup (_mcRef) {
super(_mcRef);
com.disney.gem.games.SavingTheDay.Controller.getInstance().oMenu = this;
sCloseBtn = "";
}
function onBtSound() {
com.disney.gem.games.SavingTheDay.Controller(oController).toggleSound();
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
updateSoundGroup();
}
function onBtHelp() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
sCloseBtn = "Help";
com.disney.gem.games.SavingTheDay.Controller(oController).showInstructionsScreen();
hide(null, true);
}
function onBtQuit() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
sCloseBtn = "Quit";
com.disney.gem.games.SavingTheDay.Controller(oController).showPopup(new com.disney.gem.games.SavingTheDay.popups.ConfirmPopup(com.disney.gem.games.SavingTheDay.Controller(oController).mcTimeline.mcPopups.mcConfirm, this), true);
}
function onBtResume() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
sCloseBtn = "Resume";
hide();
}
function state_in_init() {
super.state_in_init();
com.sarbakan.sound.SoundManager.doPauseAllInCat(com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory);
updateSoundGroup();
showContent();
}
function state_in() {
super.state_in();
updateSoundGroup();
showContent();
}
function state_idle_init() {
super.state_idle_init();
setBts();
showContent();
}
function state_out_init() {
super.state_out_init();
updateSoundGroup();
showContent();
}
function state_out() {
super.state_out();
updateSoundGroup();
showContent();
}
function state_out_end() {
if ((sCloseBtn != "Help") && (sCloseBtn != "Quit")) {
com.sarbakan.sound.SoundManager.doResumeAllInCat(com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory);
com.disney.gem.games.SavingTheDay.Controller(oController).unpause();
}
sCloseBtn = "";
}
function setBts() {
mcRef.mcState.btHelp.onRelease = com.sarbakan.utils.Delegate.create(this, onBtHelp);
mcRef.mcState.btQuit.onRelease = com.sarbakan.utils.Delegate.create(this, onBtQuit);
mcRef.mcState.btResume.onRelease = com.sarbakan.utils.Delegate.create(this, onBtResume);
mcRef.mcState.btMenu.onRelease = com.sarbakan.utils.Delegate.create(this, onBtResume);
updateSoundGroup();
}
function showContent() {
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.RapidPunch) {
mcRef.mcState.mcRapidPunch.gotoAndStop("Active");
} else {
mcRef.mcState.mcRapidPunch.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.BackflipKick) {
mcRef.mcState.mcBackflipKick.gotoAndStop("Active");
} else {
mcRef.mcState.mcBackflipKick.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.HyperUppercut) {
mcRef.mcState.mcHyperUppercut.gotoAndStop("Active");
} else {
mcRef.mcState.mcHyperUppercut.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.ProximityAttack) {
mcRef.mcState.mcProximityAttack.gotoAndStop("Active");
} else {
mcRef.mcState.mcProximityAttack.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.ShoulderTackle) {
mcRef.mcState.mcShoulderTackle.gotoAndStop("Active");
} else {
mcRef.mcState.mcShoulderTackle.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.SuperThrow) {
mcRef.mcState.mcSuperThrow.gotoAndStop("Active");
} else {
mcRef.mcState.mcSuperThrow.gotoAndStop("Lock");
}
}
function updateSoundGroup() {
var _local2 = "On";
if (com.disney.gem.games.SavingTheDay.Controller(oController).bSoundMuted) {
_local2 = "Off";
}
mcRef.mcState.mcSoundToggle.gotoAndStop(_local2);
mcRef.mcState.mcSoundToggle.btSound.onRelease = com.sarbakan.utils.Delegate.create(this, onBtSound);
}
}
Symbol 2509 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.ConfirmPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.ConfirmPopup extends com.sarbakan.utils.ScreenController
{
var oMenuOrigin, oController, hide, mcRef;
function ConfirmPopup (_mcRef, _oMenuOrigin) {
super(_mcRef);
com.disney.gem.games.SavingTheDay.Controller.getInstance().oConfirmPopup = this;
oMenuOrigin = _oMenuOrigin;
}
function onBtNo() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
hide();
}
function onBtYes() {
hide();
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
com.sarbakan.sound.SoundManager.doStopAllInCat(com.disney.gem.games.SavingTheDay.game_data.SoundsData.sSfxCategory);
com.disney.gem.games.SavingTheDay.Controller(oController).onGameLose();
oMenuOrigin.hide();
}
function state_in_init() {
super.state_in_init();
setBts();
}
function state_idle_init() {
super.state_idle_init();
setBts();
}
function state_out_init() {
super.state_out_init();
setBts();
}
function setBts() {
mcRef.mcState.mcContent.btYes.onRelease = com.sarbakan.utils.Delegate.create(this, onBtYes);
mcRef.mcState.mcContent.btNo.onRelease = com.sarbakan.utils.Delegate.create(this, onBtNo);
}
}
Symbol 2510 MovieClip [__Packages.com.sarbakan.sound.SoundManager] Frame 0
class com.sarbakan.sound.SoundManager
{
static var aSounds, mcAttach, nSoundNum, aSoundCategories, nMasterVolume, oEnterFrameListener;
function SoundManager () {
}
static function doPlaySound(_sLinkage, _nVolume, _nLoop, _bUnique) {
return(doPlaySoundInCat(sDEFAULT_CATEGORY, _sLinkage, _nVolume, _nLoop, _bUnique));
}
static function doPlaySoundInCat(_sCategoryName, _sLinkage, _nVolume, _nLoop, _bUnique) {
doCheckInit();
var _local1;
if (NewSoundAllowed) {
if (_nVolume == undefined) {
_nVolume = 100;
}
if (_nLoop == undefined) {
_nLoop = 1;
}
if (_bUnique == undefined) {
_bUnique = false;
}
var _local2;
if (_bUnique) {
var _local4 = isSoundPlaying(_sLinkage);
if (_local4.bPlaying) {
_local2 = false;
_local1 = _local4.oSound;
} else {
_local2 = true;
}
} else {
_local2 = true;
}
if (_local2) {
doManageCategory(_sCategoryName);
var _local5 = getMCForSound();
var _local3 = new Sound(_local5);
_local3.attachSound(_sLinkage);
if (_local3.duration != undefined) {
_local1 = new com.sarbakan.sound.SoundItem(_local3, _sLinkage, _nVolume, _nLoop, _sCategoryName, _local5);
} else {
trace("**** BAD SOUND LINKAGE : " + _sLinkage);
}
_local1.doAddListener(com.sarbakan.sound.SoundManager);
aSounds.push(_local1);
}
} else {
trace("ERROR - ***** - MAX SOUND NUM REACHED : " + nMAX_SOUNDS_PLAYING);
}
return(_local1);
}
static function isSoundPlaying(_sLinkageName) {
var _local2 = new Object();
_local2.bPlaying = false;
_local2.oSound = undefined;
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
if (aSounds[_local1].LinkageName == _sLinkageName) {
_local2.oSound = aSounds[_local1];
_local2.bPlaying = true;
}
_local1--;
}
return(_local2);
}
function getPlayingQty(_sLinkageName) {
var _local2 = 0;
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
if (aSounds[_local1].LinkageName == _sLinkageName) {
_local2++;
}
_local1--;
}
return(_local2);
}
static function doManageExternalSound(_oSound) {
doCheckInit();
doManageCategory(_oSound.__get__Category());
_oSound.doAddListener(com.sarbakan.sound.SoundManager);
aSounds.push(_oSound);
}
static function getMCForSound() {
var _local1 = getNextDepth();
var _local2 = mcAttach.createEmptyMovieClip("Snd" + _local1, _local1);
return(_local2);
}
static function getNextDepth() {
nSoundNum++;
return(nSoundNum);
}
static function doInit(_mcAttach) {
if (!bInited) {
mcAttach = _mcAttach;
bInited = true;
nSoundNum = 0;
aSounds = new Array();
aSoundCategories = new Array();
nMasterVolume = 100;
mx.transitions.OnEnterFrameBeacon.init();
oEnterFrameListener = new Object();
oEnterFrameListener.onEnterFrame = com.sarbakan.utils.Delegate.create(com.sarbakan.sound.SoundManager, doEnterFrame);
MovieClip.addListener(oEnterFrameListener);
}
}
static function doEnterFrame() {
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
aSounds[_local1].doEnterFrame();
_local1--;
}
}
static function setCategoryVolume(_sCategoryName, _nVol) {
doManageCategory(_sCategoryName);
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
aSoundCategories[_local1].nVolume = _nVol;
}
_local1--;
}
doUpdateAllSoundsVolume();
}
static function getCategoryVolume(_sCategoryName) {
doManageCategory(_sCategoryName);
var _local2;
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
_local2 = aSoundCategories[_local1].nVolume;
}
_local1--;
}
return(_local2);
}
static function isCategoryMuted(_sCategoryName) {
doManageCategory(_sCategoryName);
var _local2;
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
_local2 = aSoundCategories[_local1].bMuted;
}
_local1--;
}
return(_local2);
}
static function doSoundEvent(_nEvent, _oSound) {
if (!(_nEvent === nEVENT_SOUND_COMPLETE)) {
} else {
var _local2 = false;
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
if (!_local2) {
if (aSounds[_local1] == _oSound) {
_local2 = true;
delete aSounds[_local1];
aSounds.splice(Number(_local1), 1);
}
}
_local1--;
}
com.disney.gem.games.SavingTheDay.Controller.getInstance().onSoundCompleted(_oSound);
}
}
static function doMuteCategory(_sCategoryName) {
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
aSoundCategories[_local1].bMuted = true;
}
_local1--;
}
doUpdateAllSoundsVolume();
}
static function doUnMuteCategory(_sCategoryName) {
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
aSoundCategories[_local1].bMuted = false;
}
_local1--;
}
doUpdateAllSoundsVolume();
}
static function setMasterVolume(_nVol) {
nMasterVolume = _nVol;
doUpdateAllSoundsVolume();
}
static function get NewSoundAllowed() {
return(aSounds.length < nMAX_SOUNDS_PLAYING);
}
static function get MasterVolume() {
return(nMasterVolume);
}
static function doRemoveListenerFromAllSounds(_oListener) {
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
aSounds[_local1].doRemoveListener(_oListener);
_local1--;
}
}
static function doDestroy() {
doRemoveListenerFromAllSounds();
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
aSounds[_local1].doDestroy();
_local1--;
}
mcAttach.removeMovieClip();
delete mcAttach;
nSoundNum = 0;
bInited = false;
nMasterVolume = 100;
delete aSounds;
delete aSoundCategories;
delete oEnterFrameListener;
}
static function get Inited() {
return(bInited);
}
static function doUpdateAllSoundsVolume() {
var _local1 = aSounds.length - 1;
while (_local1 >= 0) {
aSounds[_local1].doUpdateSound();
_local1--;
}
}
static function doCheckInit() {
if (!bInited) {
trace("**** NORMAL SM ERROR, NEED TO INIT SOUND MANAGER FIRST");
}
}
static function doManageCategory(_sCategoryName) {
doCheckInit();
var _local2 = false;
var _local1 = aSoundCategories.length - 1;
while (_local1 >= 0) {
if (aSoundCategories[_local1].sName == _sCategoryName) {
_local2 = true;
}
_local1--;
}
if (!_local2) {
var _local4 = new Object();
_local4.sName = _sCategoryName;
_local4.nVolume = 100;
_local4.bMuted = false;
aSoundCategories.push(_local4);
}
}
static function doPauseAllInCat(__sCategoryName) {
for (var _local3 in aSounds) {
var _local1 = aSounds[_local3];
if (_local1.__get__Category() == __sCategoryName) {
_local1.doPause();
}
}
}
static function doResumeAllInCat(__sCategoryName) {
for (var _local3 in aSounds) {
var _local1 = aSounds[_local3];
if (_local1.__get__Category() == __sCategoryName) {
_local1.doResume();
}
}
}
static function doStopAllInCat(__sCategoryName) {
for (var _local3 in aSounds) {
var _local1 = aSounds[_local3];
if (_local1.__get__Category() == __sCategoryName) {
_local1.doStop();
}
}
}
static var nEVENT_SOUND_COMPLETE = 1;
static var sDEFAULT_CATEGORY = "SFX";
static var nMAX_SOUNDS_PLAYING = 32;
static var bInited = false;
}
Symbol 2511 MovieClip [__Packages.com.sarbakan.sound.SoundItem] Frame 0
class com.sarbakan.sound.SoundItem
{
var sndObj, sLinkage, mcRef, nRemainingLoop, nCurrentVolume, nTargetVolume, nFadeRate, sCategory, bFadeAtEnd, bMuted, bPaused, bNeedFreshStart, nCurrentTime, aEventListeners, bStopAfterFade;
function SoundItem (_sndObject, _sLinkage, _nVolume, _nLoop, _sCategory, _mc) {
sndObj = _sndObject;
sLinkage = _sLinkage;
mcRef = _mc;
nRemainingLoop = _nLoop;
nCurrentVolume = _nVolume;
nTargetVolume = _nVolume;
nFadeRate = nFADE_RATE;
sCategory = _sCategory;
bFadeAtEnd = false;
bMuted = false;
bPaused = false;
bNeedFreshStart = false;
sndObj.onSoundComplete = com.sarbakan.utils.Delegate.create(this, doSoundComplete);
doStart(_nLoop);
sndObj.setVolume(returnComputedVolume(nCurrentVolume));
nCurrentTime = 0;
aEventListeners = new Array();
}
function doEnterFrame() {
if (!bPaused) {
if (nCurrentTime > sndObj.position) {
nRemainingLoop--;
}
nCurrentTime = sndObj.position;
}
doCheckFadeAtEnd();
doManageFade();
}
function doAddListener(_oListener) {
aEventListeners.push(_oListener);
}
function doRemoveListener(_oListener) {
var _local2 = 0;
while (_local2 < aEventListeners.length) {
if (aEventListeners[_local2] == _oListener) {
delete aEventListeners[_local2];
aEventListeners.splice(_local2, 1);
}
_local2++;
}
}
function doSoundComplete() {
if (bNeedFreshStart && (nRemainingLoop > 1)) {
sndObj.start(0, nRemainingLoop - 1);
} else {
doManageEndEvent();
}
}
function doUpdateSound() {
sndObj.setVolume(returnComputedVolume(nCurrentVolume));
}
function doMute() {
bMuted = true;
doUpdateSound();
}
function doUnMute() {
bMuted = false;
doUpdateSound();
}
function doPause() {
sndObj.stop();
bPaused = true;
}
function doResume() {
bPaused = false;
bNeedFreshStart = true;
sndObj.start(nCurrentTime / 1000, 1);
}
function doStart(_nLoop) {
if (_nLoop == undefined) {
_nLoop = 1;
}
if (sLinkage.indexOf(".mp3") != -1) {
sndObj.start(0.015, _nLoop);
} else {
sndObj.start(0, _nLoop);
}
}
function doStop() {
sndObj.stop();
doManageEndEvent();
}
function doFadeTo(_nVolume, _bStopAndDelete) {
if (_bStopAndDelete == undefined) {
_bStopAndDelete = true;
}
bStopAfterFade = _bStopAndDelete;
nTargetVolume = _nVolume;
}
function setFadeRate(_nRate) {
if (_nRate == undefined) {
_nRate = nFADE_RATE;
}
nFadeRate = _nRate;
}
function setFadeAtEnd(_bFadeAtEnd) {
bFadeAtEnd = true;
}
function setPan(_nPan) {
sndObj.setPan(_nPan);
}
function get Category() {
return(sCategory);
}
function get LinkageName() {
return(sLinkage);
}
function doDestroy() {
sndObj.stop();
delete sndObj;
mcRef.removeMovieClip();
}
function doCheckFadeAtEnd() {
if (bFadeAtEnd) {
if (nRemainingLoop == 1) {
if ((sndObj.duration - nCurrentTime) <= nFADE_AT_END_TIME) {
doFadeTo(0);
}
}
}
}
function doManageEndEvent() {
var _local2 = 0;
while (_local2 < aEventListeners.length) {
aEventListeners[_local2].doSoundEvent(com.sarbakan.sound.SoundManager.nEVENT_SOUND_COMPLETE, this);
_local2++;
}
aEventListeners = new Array();
mcRef.removeMovieClip();
delete mcRef;
delete aEventListeners;
delete sndObj.onSoundComplete;
delete sndObj;
}
function doManageFade() {
if (nCurrentVolume != nTargetVolume) {
nCurrentVolume = com.sarbakan.utils.MoreMath.getReachNum(nCurrentVolume, nTargetVolume, nFadeRate);
sndObj.setVolume(returnComputedVolume(nCurrentVolume));
}
if ((nCurrentVolume <= 0) && (bStopAfterFade)) {
sndObj.stop();
doManageEndEvent();
}
}
function returnComputedVolume(_nVolume) {
var _local2;
if ((!bMuted) && (!com.sarbakan.sound.SoundManager.isCategoryMuted(sCategory))) {
var _local3 = com.sarbakan.sound.SoundManager.__get__MasterVolume() / 100;
var _local4 = com.sarbakan.sound.SoundManager.getCategoryVolume(sCategory) / 100;
_local2 = _nVolume;
_local2 = _local2 * _local4;
_local2 = _local2 * _local3;
} else {
_local2 = 0;
}
return(_local2);
}
function getCurrentVolume() {
return(nCurrentVolume);
}
static var nFADE_RATE = 8;
static var nFADE_AT_END_TIME = 800;
}
Symbol 2512 MovieClip [__Packages.com.sarbakan.utils.MoreMath] Frame 0
class com.sarbakan.utils.MoreMath
{
function MoreMath () {
}
static function getRandomRange(__nMin, __nMax) {
return(Math.floor(Math.random() * ((__nMax + 1) - __nMin)) + __nMin);
}
static function getPolarity(__nNum) {
var _local1 = 0;
if (__nNum < 0) {
_local1 = -1;
} else if (__nNum > 0) {
_local1 = 1;
}
return(_local1);
}
static function getReachZero(__nNum, __nReducer) {
return(getReachNum(__nNum, 0, __nReducer));
}
static function getReachNum(__nNum, __nTargetNum, __nReducer) {
var _local1 = __nNum;
if (_local1 != __nTargetNum) {
if (_local1 < __nTargetNum) {
_local1 = _local1 + __nReducer;
if (_local1 > __nTargetNum) {
_local1 = __nTargetNum;
}
} else {
_local1 = _local1 - __nReducer;
if (_local1 < __nTargetNum) {
_local1 = __nTargetNum;
}
}
}
return(_local1);
}
static function getDistance(__nX1, __nY1, __nX2, __nY2) {
return(Math.sqrt(Math.pow(Math.abs(__nX2 - __nX1), 2) + Math.pow(Math.abs(__nY2 - __nY1), 2)));
}
static function getManhattanDistance(_x1, _y1, _x2, _y2) {
return(Math.abs(_x1 - _x2) + Math.abs(_y1 - _y2));
}
static function getHypotenuse(__nDX, __nDY) {
return(Math.sqrt(Math.pow(__nDX, 2) + Math.pow(__nDY, 2)));
}
static function getAngle(__nX1, __nY1, __nX2, __nY2) {
var _local2;
var _local1;
var _local4;
var _local3;
_local2 = __nX2 - __nX1;
_local1 = __nY2 - __nY1;
_local4 = Math.atan2(_local1, _local2);
_local3 = getDegreeFromRadius(_local4);
return(_local3);
}
static function getCleanedAngle(_nAngle) {
while (_nAngle < 360) {
_nAngle = _nAngle + 360;
}
_nAngle = _nAngle % 360;
return(_nAngle);
}
static function getDegreeFromRadius(__nRadius) {
var _local1 = (__nRadius / MATH_PI) * 180;
return(_local1);
}
static function getRadianFromDegree(__nDegree) {
var _local1 = __nDegree * (MATH_PI / 180);
return(_local1);
}
static function getBoundsCenter(_oBox) {
var _local3 = (_oBox.xMin + _oBox.xMax) / 2;
var _local2 = (_oBox.yMin + _oBox.yMax) / 2;
return({x:_local3, y:_local2});
}
static var MATH_PI = Math.PI;
}
Symbol 2513 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 2514 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 2515 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.TitleScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.TitleScreen extends com.sarbakan.utils.ScreenController
{
var oController, mcRef;
function TitleScreen (_mcRef) {
super(_mcRef);
}
function onBtHelp() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
com.disney.gem.games.SavingTheDay.Controller(oController).showInstructions();
}
function onBtPlay() {
com.disney.gem.games.SavingTheDay.Controller(oController).disallowInstructions();
com.disney.gem.games.SavingTheDay.Controller(oController).showDifficultyScreen();
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcContent.btHelp.onRelease = com.sarbakan.utils.Delegate.create(this, onBtHelp);
mcRef.mcState.mcContent.btPlay.onRelease = com.sarbakan.utils.Delegate.create(this, onBtPlay);
}
}
Symbol 2516 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.HelpScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.HelpScreen extends com.sarbakan.utils.ScreenController
{
var sBtClose, oController, mcRef;
function HelpScreen (_mcRef) {
super(_mcRef);
sBtClose = "";
}
function onBtPlay() {
sBtClose = "Play";
com.disney.gem.games.SavingTheDay.Controller(oController).showDifficultyScreen();
}
function onBtMoves() {
sBtClose = "Moves";
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
com.disney.gem.games.SavingTheDay.Controller(oController).showMovesScreen();
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcContent.btPlay.onRelease = com.sarbakan.utils.Delegate.create(this, onBtPlay);
mcRef.mcState.mcContent.btMoves.onRelease = com.sarbakan.utils.Delegate.create(this, onBtMoves);
}
}
Symbol 2517 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.DifficultyScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.DifficultyScreen extends com.sarbakan.utils.ScreenController
{
var oController, bIncridibleUnlock, mcRef;
function DifficultyScreen (_mcRef, _bIncridibleUnlock) {
super(_mcRef);
oController = com.disney.gem.games.SavingTheDay.Controller.getInstance();
oController.oMainController.addListener(this);
bIncridibleUnlock = _bIncridibleUnlock;
}
function onBtEasy() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
com.disney.gem.games.SavingTheDay.Controller(oController).startNewGame("Easy");
}
function onBtHard() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
com.disney.gem.games.SavingTheDay.Controller(oController).startNewGame("Med");
}
function onBtIncridible() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
com.disney.gem.games.SavingTheDay.Controller(oController).startNewGame("Hard");
}
function state_in() {
if (bIncridibleUnlock) {
mcRef.mcState.mcBtIncridible.gotoAndStop("Active");
} else {
mcRef.mcState.mcBtIncridible.gotoAndStop("Lock");
}
super.state_in();
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcContent.btEasy.onRelease = com.sarbakan.utils.Delegate.create(this, onBtEasy);
mcRef.mcState.mcContent.btHard.onRelease = com.sarbakan.utils.Delegate.create(this, onBtHard);
if (bIncridibleUnlock) {
mcRef.mcState.mcContent.mcBtIncridible.gotoAndStop("Active");
mcRef.mcState.mcContent.mcBtIncridible.btIncridible.onRelease = com.sarbakan.utils.Delegate.create(this, onBtIncridible);
} else {
mcRef.mcState.mcContent.mcBtIncridible.gotoAndStop("Lock");
}
}
function state_idle() {
}
}
Symbol 2518 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.MovesScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.MovesScreen extends com.sarbakan.utils.ScreenController
{
var oController, mcRef;
function MovesScreen (_mcRef) {
super(_mcRef);
}
function onBtClose() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
com.disney.gem.games.SavingTheDay.Controller(oController).showInstructionsScreen(true);
}
function state_in_init() {
super.state_in_init();
showUnlockCombos(mcRef.mcState);
}
function state_in() {
super.state_in();
showUnlockCombos(mcRef.mcState);
}
function state_idle_init() {
super.state_idle_init();
showUnlockCombos(mcRef.mcState.mcContent);
mcRef.mcState.mcContent.btClose.onRelease = com.sarbakan.utils.Delegate.create(this, onBtClose);
}
function state_out_init() {
super.state_out_init();
showUnlockCombos(mcRef.mcState);
}
function state_out() {
super.state_out();
showUnlockCombos(mcRef.mcState);
}
function showUnlockCombos(_mcContainer) {
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.RapidPunch) {
_mcContainer.mcRapidPunch.gotoAndStop("Active");
} else {
_mcContainer.mcRapidPunch.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.BackflipKick) {
_mcContainer.mcBackflipKick.gotoAndStop("Active");
} else {
_mcContainer.mcBackflipKick.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.HyperUppercut) {
_mcContainer.mcHyperUppercut.gotoAndStop("Active");
} else {
_mcContainer.mcHyperUppercut.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.ProximityAttack) {
_mcContainer.mcProximityAttack.gotoAndStop("Active");
} else {
_mcContainer.mcProximityAttack.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.ShoulderTackle) {
_mcContainer.mcShoulderTackle.gotoAndStop("Active");
} else {
_mcContainer.mcShoulderTackle.gotoAndStop("Lock");
}
if (!com.disney.gem.games.SavingTheDay.game_data.characters_data.PlayerData.oCOMBOS_DATA.CombosLock.SuperThrow) {
_mcContainer.mcSuperThrow.gotoAndStop("Active");
} else {
_mcContainer.mcSuperThrow.gotoAndStop("Lock");
}
}
}
Symbol 2519 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.WinFightPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.WinFightPopup extends com.sarbakan.utils.ScreenController
{
var stateFinished, oController, setState;
function WinFightPopup (_mcRef) {
super(_mcRef);
}
function state_idle() {
if (stateFinished()) {
oController.showLevelCompletedPopup();
setState("out");
}
}
}
Symbol 2520 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.LevelCompletedPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.LevelCompletedPopup extends com.sarbakan.utils.ScreenController
{
var oTimer, mcRef, stateFinished, oController, nLevel, nCurrentScore, nTimeBonus, nTotalScore, setState;
function LevelCompletedPopup (_mcRef) {
super(_mcRef);
oTimer = com.disney.gem.games.SavingTheDay.game_obj.Timer.giveReference();
}
function state_in_init() {
super.state_in_init();
setContent();
showContent();
}
function state_in() {
super.state_in();
showContent();
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcContent.btContinue.onRelease = com.sarbakan.utils.Delegate.create(this, onBtContinue);
showContent();
}
function state_out_init() {
super.state_out_init();
showContent();
}
function state_out() {
super.state_out();
showContent();
if (stateFinished()) {
oController.onWinLevel();
}
}
function setContent() {
nLevel = oController.getLevel();
nCurrentScore = oController.getScore();
nTimeBonus = oTimer.giveBonus();
nTotalScore = nCurrentScore + nTimeBonus;
}
function showContent() {
mcRef.mcState.mcContent.txtLevel = nLevel;
mcRef.mcState.mcContent.txtCurrentScore = com.disney.gem.games.SavingTheDay.game_data.TextData.sLEVEL_COMPLETED_TXT1 + nCurrentScore;
mcRef.mcState.mcContent.txtTimeBonus = com.disney.gem.games.SavingTheDay.game_data.TextData.sLEVEL_COMPLETED_TXT2 + nTimeBonus;
mcRef.mcState.mcContent.txtTotalScore = com.disney.gem.games.SavingTheDay.game_data.TextData.sLEVEL_COMPLETED_TXT3 + nTotalScore;
}
function onBtContinue() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button2");
setState("out");
}
}
Symbol 2521 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.game_data.TextData] Frame 0
class com.disney.gem.games.SavingTheDay.game_data.TextData
{
function TextData () {
}
static var sLEVEL_COMPLETED_TXT1 = "Level points: ";
static var sLEVEL_COMPLETED_TXT2 = "Time bonus: ";
static var sLEVEL_COMPLETED_TXT3 = "Your score: ";
}
Symbol 2522 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.LoseFightPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.LoseFightPopup extends com.sarbakan.utils.ScreenController
{
var stateFinished, oController, setState;
function LoseFightPopup (_mcRef) {
super(_mcRef);
}
function state_idle() {
if (stateFinished()) {
oController.showRemainingLivesPopup();
setState("out");
}
}
}
Symbol 2523 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.RemainingLivesPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.RemainingLivesPopup extends com.sarbakan.utils.ScreenController
{
var mcRef, oController, stateFinished, setState;
function RemainingLivesPopup (_mcRef) {
super(_mcRef);
}
function state_in_init() {
super.state_in_init();
mcRef.mcState.mcPopup.mcFaces.gotoAndStop(com.disney.gem.games.SavingTheDay.Controller(oController).giveNbLives() + 1);
}
function state_in() {
super.state_in();
mcRef.mcState.mcPopup.mcFaces.gotoAndStop(com.disney.gem.games.SavingTheDay.Controller(oController).giveNbLives() + 1);
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcFaces.gotoAndStop(com.disney.gem.games.SavingTheDay.Controller(oController).giveNbLives() + 1);
}
function state_idle() {
if (stateFinished()) {
com.disney.gem.games.SavingTheDay.Controller(oController).removeLife();
setState("out");
}
}
function state_out_init() {
super.state_out_init();
mcRef.mcState.mcPopup.mcFaces.gotoAndStop(com.disney.gem.games.SavingTheDay.Controller(oController).giveNbLives() + 1);
}
function state_out() {
super.state_out();
mcRef.mcState.mcPopup.mcFaces.gotoAndStop(com.disney.gem.games.SavingTheDay.Controller(oController).giveNbLives() + 1);
if (stateFinished()) {
oController.onLoseLevel();
}
}
}
Symbol 2524 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.MoveUnlockPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.MoveUnlockPopup extends com.sarbakan.utils.ScreenController
{
var stateFinished, setState;
function MoveUnlockPopup (_mcRef) {
super(_mcRef);
}
function state_idle() {
if (stateFinished()) {
setState("out");
}
}
}
Symbol 2525 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.popups.StartFightPopup] Frame 0
class com.disney.gem.games.SavingTheDay.popups.StartFightPopup extends com.sarbakan.utils.ScreenController
{
var oPlayer, oTimer, stateCurrentFrame, oController, stateFinished, setState;
function StartFightPopup (_mcRef) {
super(_mcRef);
oPlayer = com.disney.gem.games.SavingTheDay.game_obj.Player.giveReference();
oTimer = com.disney.gem.games.SavingTheDay.game_obj.Timer.giveReference();
}
function state_idle() {
if (stateCurrentFrame() == 2) {
oController.playSfx(["Ready"]);
} else if (stateCurrentFrame() == 34) {
oController.playSfx(["Fight"]);
} else if (stateFinished()) {
oController.unpause();
setState("out");
}
}
function state_out_end() {
oPlayer.unlockControls();
oPlayer.oOpponent.unlockControls();
oTimer.endWait();
oController.allowInstructions();
}
}
Symbol 2526 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.EndScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.EndScreen extends com.sarbakan.utils.ScreenController
{
var oController, nFinalScore, sDifficulty, mcRef;
function EndScreen (_mcRef) {
super(_mcRef);
oController = com.disney.gem.games.SavingTheDay.Controller.getInstance();
nFinalScore = oController.getScore();
sDifficulty = oController.giveDifficulty();
}
function onBtPlay() {
com.disney.gem.games.SavingTheDay.Controller(oController).playBtnSfx("Button1");
com.disney.gem.games.SavingTheDay.Controller(oController).showTitleScreen(false);
}
function state_in_init() {
super.state_in_init();
oController.onGameEnd();
mcRef.mcState.mcScore.txtScore = nFinalScore;
if (sDifficulty == "Hard") {
mcRef.mcState.mcTextEnd.gotoAndStop(2);
} else {
mcRef.mcState.mcTextEnd.gotoAndStop(1);
}
}
function state_in() {
super.state_in();
mcRef.mcState.mcScore.txtScore = nFinalScore;
if (sDifficulty == "Hard") {
mcRef.mcState.mcTextEnd.gotoAndStop(2);
} else {
mcRef.mcState.mcTextEnd.gotoAndStop(1);
}
}
function state_idle_init() {
super.state_idle_init();
mcRef.mcState.mcContent.btPlay.onRelease = com.sarbakan.utils.Delegate.create(this, onBtPlay);
mcRef.mcState.mcContent.mcScore.txtScore = nFinalScore;
if (sDifficulty == "Hard") {
mcRef.mcState.mcContent.mcTextEnd.gotoAndStop(2);
} else {
mcRef.mcState.mcContent.mcTextEnd.gotoAndStop(1);
}
}
function state_out_init() {
super.state_out_init();
mcRef.mcState.mcScore.txtScore = nFinalScore;
if (sDifficulty == "Hard") {
mcRef.mcState.mcTextEnd.gotoAndStop(2);
} else {
mcRef.mcState.mcTextEnd.gotoAndStop(1);
}
}
function state_out() {
super.state_out();
mcRef.mcState.mcScore.txtScore = nFinalScore;
if (sDifficulty == "Hard") {
mcRef.mcState.mcTextEnd.gotoAndStop(2);
} else {
mcRef.mcState.mcTextEnd.gotoAndStop(1);
}
}
}
Symbol 2527 MovieClip [__Packages.com.disney.gem.games.SavingTheDay.screens.PreloaderScreen] Frame 0
class com.disney.gem.games.SavingTheDay.screens.PreloaderScreen extends com.sarbakan.utils.ScreenController
{
var oController, mcRef;
function PreloaderScreen (_mcRef) {
super(_mcRef);
}
function state_idle() {
var _local2 = com.disney.gem.games.SavingTheDay.Controller(oController).mcTimeline.getBytesLoaded() / com.disney.gem.games.SavingTheDay.Controller(oController).mcTimeline.getBytesTotal();
mcRef.mcState.txtLoading.text = Math.round(_local2 * 100) + "%";
if (_local2 == 1) {
com.disney.gem.games.SavingTheDay.Controller(oController).onPreloadingDone();
}
}
}
Symbol 59 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Omnidroid.giveReference().setHead(this);
Symbol 776 MovieClip [LiveAttachContainer] Frame 1
Symbol 793 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 831 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 839 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 844 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 851 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 858 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 871 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 883 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 907 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1014 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1037 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1052 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1058 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1066 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1109 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1121 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1128 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1148 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1175 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1192 MovieClip Frame 1
com.disney.gem.games.SavingTheDay.game_obj.Syndrome.giveReference().setBody(this);
Symbol 1991 MovieClip Frame 1
stop();
Symbol 2218 MovieClip Frame 1
stop();
Symbol 2395 MovieClip Frame 19
stop();