Frame 1
stop();
Instance of Symbol 15 MovieClip "btnContinue" in Frame 1
onClipEvent (load) {
var nSpeed = 100;
var nCurrLoad = 0;
var nRealLoad = 0;
this.btnContinue._visible = false;
this.btnContinue.gotoAndStop("Idle");
this.btnContinue.onRollOver = function () {
this.gotoAndStop("Over");
};
this.btnContinue.onRollOut = function () {
this.gotoAndStop("Idle");
};
this.btnContinue.onPress = function () {
this.gotoAndStop("Down");
};
this.btnContinue.onMouseUp = function () {
this.gotoAndStop("Idle");
};
this.btnContinue.onRelease = function () {
new Main(_root);
};
}
onClipEvent (enterFrame) {
nRealLoad = (this._parent.getBytesLoaded() / this._parent.getBytesTotal()) * 100;
if (nRealLoad > (nCurrLoad + nSpeed)) {
nCurrLoad = nCurrLoad + nSpeed;
} else {
nCurrLoad = nRealLoad;
}
txtPourcentage.text = nCurrLoad + "%";
if ((nCurrLoad == 100) && (this._parent.getBytesTotal() > 100)) {
this.mcLoading._visible = false;
this.btnContinue._visible = true;
}
}
Frame 21
mcBahamutClick._alpha = 0;
mcBahamutClick.onRelease = function () {
getURL ("http://www.furaffinity.net/user/bahamutdragons/", "_blank");
};
mcUrsoClick._alpha = 0;
mcUrsoClick.onRelease = function () {
getURL ("http://www.furaffinity.net/user/ursofofinho/", "_blank");
};
mcCaesarcubClick._alpha = 0;
mcCaesarcubClick.onRelease = function () {
getURL ("http://www.furaffinity.net/user/caesarcub/", "_blank");
};
Frame 40
mcBahamutClick._alpha = 0;
mcBahamutClick.onRelease = function () {
getURL ("http://www.furaffinity.net/journal/5212839/", "_blank");
};
Symbol 10 MovieClip Frame 1
this._alpha = 0;
Symbol 18 MovieClip Frame 1
_global.nFrames = 0;
_global.nTime = 0;
_global.nLastTime = getTimer();
this.onEnterFrame = function () {
var _local3 = getTimer();
_global.nTime = _global.nTime + (_local3 - _global.nLastTime);
_global.nLastTime = _local3;
if (_global.nTime > 1000) {
_global.nTime = _global.nTime - 1000;
this.txtFrame.text = _global.nFrames;
_global.nFrames = 0;
}
_global.nFrames++;
};
Symbol 224 MovieClip [__Packages.State] Frame 0
class State
{
var mcRef, sState;
function State (_mcRef) {
mcRef = _mcRef;
}
function setState(_sState) {
sState = _sState;
mcRef.gotoAndStop(sState);
loadState(sState);
}
function setMc(_mcRef) {
mcRef = _mcRef;
setState(sState);
}
function pause() {
mcRef.mcState.stop();
}
function resume() {
mcRef.mcState.play();
}
function enterFrame() {
this["do" + sState]();
}
function loadState(_sState) {
this["start" + sState]();
}
function isStateComplete() {
if (mcRef.mcState._currentframe == mcRef.mcState._totalframes) {
this["end" + sState]();
}
return(mcRef.mcState._currentframe == mcRef.mcState._totalframes);
}
function get Mc() {
return(mcRef);
}
function get getState() {
return(sState);
}
}
Symbol 225 MovieClip [__Packages.Main] Frame 0
class Main extends State
{
static var oCTRL, sHiddenString;
var nId, setState, oKeys, mcRef, oGameSelect, oGame;
function Main (_mcRef) {
super(_mcRef);
nId = 0;
oCTRL = this;
sHiddenString = "";
setState(sSTATE_TITLE);
oKeys = new Object();
oKeys.onKeyDown = library.Delegate.create(this, keyDown);
Key.addListener(oKeys);
mcRef.mcFrames._visible = false;
}
function loadState(_sState) {
switch (_sState) {
case sSTATE_TITLE :
mcRef.btnPlay.onRelease = library.Delegate.create(this, setState, sSTATE_GAME_SELECT);
break;
case sSTATE_GAME_SELECT :
oGameSelect = new GameSelect(mcRef);
mcRef.btnPlay.onRelease = library.Delegate.create(this, setState, sSTATE_GAME);
break;
case sSTATE_GAME :
var _local2 = oGameSelect.getLinkage();
oGameSelect.unload();
delete oGameSelect;
oGame = new Game(mcRef, _local2);
break;
}
}
function keyDown() {
if (Key.isDown(46)) {
sHiddenString = "";
} else {
sHiddenString = sHiddenString + chr(Key.getAscii());
}
switch (sHiddenString) {
case "who" :
mcRef.txtMain.text = sOWNER;
break;
case "date" :
mcRef.txtMain.text = sDATE;
break;
case "frames" :
mcRef.mcFrames._visible = !mcRef.mcFrames._visible;
}
}
function get getNextId() {
nId++;
return(nId);
}
static function get Instance() {
return(oCTRL);
}
function get game() {
return(oGame);
}
static var bDEBUG = false;
static var sDATE = "20100814";
static var sOWNER = "YiffyHusky";
static var b2D_PLATFORMER = false;
static var NX_SIZE = 800;
static var NY_SIZE = 600;
static var sSTATE_TITLE = "Title";
static var sSTATE_GAME_SELECT = "GameSelect";
static var sSTATE_GAME = "Game";
}
Symbol 226 MovieClip [__Packages.Game] Frame 0
class Game
{
var mcRef, oLinkage, oTransition, iState, oLevelSelect, oPause, oPlayer, oLevel, oHud, iTimer, bPause;
function Game (_mcRef, _oLinkage) {
mcRef = _mcRef;
oLinkage = _oLinkage;
sDEFAULT_MAP = dat.LevelData.STRING_LOCATION_LEVEL1;
init();
mcRef.onEnterFrame = library.Delegate.create(this, enterFrame);
setState(iSTATE_LEVEL_SELECT);
}
function enterFrame() {
oTransition.enterFrame();
switch (iState) {
case iSTATE_LEVEL_SELECT :
oLevelSelect.enterFrame();
break;
case iSTATE_PLAY :
case iSTATE_LEVEL_ENDING :
if (!oPause.__get__paused()) {
oPlayer.enterFrame();
oLevel.enterFrame(oPlayer.canChangeMap());
oHud.enterFrame();
}
oPause.enterFrame();
if (iState != iSTATE_LEVEL_ENDING) {
break;
}
iTimer--;
if (iTimer > 0) {
break;
}
setState(iSTATE_LEVEL_END);
}
}
function setState(_iState) {
iState = _iState;
switch (iState) {
case iSTATE_LEVEL_SELECT :
oLevelSelect.show();
break;
case iSTATE_PLAY :
break;
case iSTATE_LEVEL_ENDING :
iTimer = nTIMER_END_LEVEL;
break;
case iSTATE_LEVEL_END :
oTransition.__set__midFunction(library.Delegate.create(this, setSelectLevel));
oTransition.startTransition();
}
}
function setPause(_bPause) {
if (_bPause) {
oPause.start();
}
}
function setSelectLevel() {
setState(iSTATE_LEVEL_SELECT);
oTransition.setState(library.Popup.sSTATE_OUT);
oLevel.unsetLevel();
}
function init() {
oLevelSelect = new game.LevelSelect(mcRef.mcLevelSelect, dat.LevelData.getLevelData());
oPlayer = new game.Player();
oTransition = new library.Popup(mcRef.mcGameTransition);
oHud = new game.Hud(mcRef.mcHud);
oPause = new Pause(mcRef.mcPause);
bPause = false;
mcRef.gotoAndStop(library.Popup.sSTATE_HIDDEN);
}
function startLevel(_sMap, _sPos) {
oLevel = new game.Level(mcRef.mcLevel, _sMap, oLinkage);
}
function levelComplete() {
oPlayer.setLevelEnd();
setState(iSTATE_LEVEL_ENDING);
}
function changeLevel(_sLevel) {
oPlayer.__set__changingLevels(true);
oPlayer.setState(game.Player.sSTATE_CHANGE_LEVEL);
oTransition.__set__midFunction(library.Delegate.create(this, setLevel, _sLevel));
oTransition.__set__outFunction(library.Delegate.create(this, endChangeLevel));
oTransition.startTransition();
}
function setLevel(_sLevel) {
oLevelSelect.hide();
var _local2 = "";
startLevel();
oLevel.setLevel(_local2, _sLevel, oPlayer);
oPlayer.setState(game.character.Character.sSTATE_IDLE);
oTransition.setState(library.Popup.sSTATE_OUT);
}
function endChangeLevel() {
setState(iSTATE_PLAY);
oLevel.__set__ChangingLevels(false);
oPlayer.setState(game.character.Character.sSTATE_IDLE);
oPlayer.setLevelStart();
oPause.__set__paused(false);
}
function setDeath() {
oTransition.__set__midFunction(library.Delegate.create(this, setSelectLevel));
oTransition.startTransition();
}
function get level() {
return(oLevel);
}
function get player() {
return(oPlayer);
}
static var nTIMER_END_LEVEL = 40;
static var sDEFAULT_CUTSCENE = "Hidden";
static var sDEFAULT_MAP = "";
static var sDEFAULT_POS = "Start";
static var iSTATE_INIT_SELECT = 0;
static var iSTATE_LEVEL_SELECT = 1;
static var iSTATE_PLAY = 2;
static var iSTATE_LEVEL_ENDING = 21;
static var iSTATE_LEVEL_END = 22;
static var iSTATE_GAME_OVER = 3;
}
Symbol 227 MovieClip [__Packages.library.Popup] Frame 0
class library.Popup extends State
{
var setState, fMidFunction, isStateComplete, fOutFunction, sState, __get__midFunction, __get__outFunction;
function Popup (_mcRef) {
super(_mcRef);
setState(sSTATE_HIDDEN);
}
function loadState(_sState) {
switch (_sState) {
case sSTATE_HIDDEN :
break;
case sSTATE_IN :
break;
case sSTATE_IDLE :
if (fMidFunction) {
fMidFunction();
fMidFunction = undefined;
}
break;
case sSTATE_OUT :
}
}
function doIn() {
if (isStateComplete()) {
setState(sSTATE_IDLE);
}
}
function doOut() {
trace("doOut");
if (isStateComplete()) {
if (fOutFunction) {
fOutFunction();
fOutFunction = undefined;
}
setState(sSTATE_HIDDEN);
}
}
function startTransition() {
if (sState == sSTATE_HIDDEN) {
setState(sSTATE_IN);
}
}
function set midFunction(_fMidFunction) {
fMidFunction = _fMidFunction;
//return(__get__midFunction());
}
function set outFunction(_fOutFunction) {
fOutFunction = _fOutFunction;
//return(__get__outFunction());
}
static var sSTATE_HIDDEN = "Hidden";
static var sSTATE_IN = "In";
static var sSTATE_IDLE = "Idle";
static var sSTATE_OUT = "Out";
}
Symbol 228 MovieClip [__Packages.Pause] Frame 0
class Pause extends library.Popup
{
var setState, bPause, mcRef, oKeyListener, nSection;
function Pause (_mcRef) {
super(_mcRef);
setState(library.Popup.sSTATE_HIDDEN);
bPause = true;
}
function loadState(_sState) {
super.loadState(_sState);
switch (_sState) {
case library.Popup.sSTATE_IN :
bPause = true;
mcRef._visible = true;
break;
case library.Popup.sSTATE_OUT :
mcRef._visible = true;
Key.removeListener(oKeyListener);
break;
case library.Popup.sSTATE_IDLE :
mcRef._visible = true;
oKeyListener = new Object();
oKeyListener.onKeyDown = library.Delegate.create(this, doKeyDown);
Key.addListener(oKeyListener);
break;
case library.Popup.sSTATE_HIDDEN :
bPause = false;
mcRef._visible = false;
}
}
function doIdle() {
}
function start() {
nSection = 0;
setState(library.Popup.sSTATE_IN);
}
function doKeyDown() {
if (Key.isDown(game.Player.nBUTTON_PAUSE)) {
selectSection(aOptions[nSection]);
}
}
function selectSection(_sSection) {
setState(library.Popup.sSTATE_OUT);
}
function get paused() {
return(bPause);
}
function set paused(_bPause) {
bPause = _bPause;
//return(paused);
}
static var aOptions = new Array("Status", "Exit");
}
Symbol 229 MovieClip [__Packages.library.Delegate] Frame 0
class library.Delegate extends Object
{
var func;
function Delegate (f) {
super();
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 230 MovieClip [__Packages.game.character.Sprite] Frame 0
class game.character.Sprite extends State
{
var nId, nSpeedX, nSpeedY, nAirSpeedY, nOriginY, bFlight, mcRef;
function Sprite (_mcRef) {
super(_mcRef);
nId = Main.__get__Instance().getNextId;
initSprite();
}
function initSprite() {
nSpeedX = 0;
nSpeedY = 0;
nAirSpeedY = 0;
nOriginY = 0;
bFlight = false;
}
function enterFrame() {
super.enterFrame();
if ((nSpeedX != 0) || (nSpeedY != 0)) {
var _local4 = 0;
if (nAirSpeedY != 0) {
_local4 = nOriginY;
} else {
_local4 = mcRef._y + nSpeedY;
}
if (nSpeedX != 0) {
wallCollide();
mcRef._x = mcRef._x + nSpeedX;
}
if (nAirSpeedY == 0) {
var _local3 = getCollision;
var _local7 = new Object({x:_local3.ex + nSpeedX, y:_local3.ey});
}
}
}
function verifyTryHit(_oPoint, _nOrigin) {
var _local5 = false;
if ((_nOrigin != nId) && (mcRef.mcState.mcHitArea != undefined)) {
var _local2 = new Object({x:mcRef.mcState.mcHitArea._x, y:mcRef.mcState.mcHitArea._y});
mcRef.mcState.localToGlobal(_local2);
var _local4 = mcRef._xscale < 0;
if (((_local4 || ((_local2.x <= _oPoint.x) && ((_local2.x + mcRef.mcState.mcHitArea._width) >= _oPoint.x))) && ((!_local4) || ((_local2.x >= _oPoint.x) && ((_local2.x - mcRef.mcState.mcHitArea._width) <= _oPoint.x)))) && ((_local2.y <= _oPoint.y) && ((_local2.y + mcRef.mcState.mcHitArea._height) >= _oPoint.y))) {
_local5 = true;
}
}
return(_local5);
}
function faceTarget(_mcTarget) {
if (mcRef._x < _mcTarget._x) {
mcRef._xscale = 100;
} else {
mcRef._xscale = -100;
}
}
function wallCollide() {
trace("wall");
}
function get Id() {
return(nId);
}
function get getCollision() {
return(new Object());
}
}
Symbol 231 MovieClip [__Packages.game.character.Character] Frame 0
class game.character.Character extends game.character.Sprite
{
var sType, nAirSpeedY, nSpeedMultiplier, setState, mcRef, sState, nSpeedX, nSpeedY, isStateComplete, __get__getCollision, setMc, verifyTryHit, bChangingLevels, __get__changingLevels, sCHARACTER_LINKAGE, sName;
function Character (_mcRef, _sType) {
super(_mcRef);
sType = _sType;
nAirSpeedY = 0;
nSpeedMultiplier = 1;
setState(sSTATE_IDLE);
mcRef.swapDepths(Main.__get__Instance().__get__game().__get__level().getDepth(mcRef._y));
}
function loadState(_sState) {
super.loadState(_sState);
switch (sState) {
case sSTATE_IDLE :
break;
case sSTATE_WALK :
break;
case sSTATE_HURT :
nSpeedX = 0;
nSpeedY = 0;
break;
case sSTATE_PUNCH :
}
}
function doWalk() {
if ((nSpeedX == 0) && (nSpeedY == 0)) {
setState(sSTATE_IDLE);
}
}
function doPrePunch() {
slowDown("X");
slowDown("Y");
if (isStateComplete()) {
setState(sSTATE_PUNCH);
}
}
function doPunch() {
slowDown("X");
slowDown("Y");
if (isStateComplete()) {
setState(sSTATE_POSTPUNCH);
}
}
function doPostPunch() {
slowDown("X");
slowDown("Y");
}
function doCrouch() {
slowDown("X");
}
function doHurt() {
if (isStateComplete()) {
setState(sSTATE_IDLE);
}
}
function doJumpRaise() {
nAirSpeedY = nAirSpeedY / nGRAVITY;
mcRef._y = mcRef._y + nAirSpeedY;
if (nAirSpeedY >= -1) {
nAirSpeedY = 1;
setState(sSTATE_JUMPFALL);
}
}
function doJumpFall() {
nAirSpeedY = nAirSpeedY * nGRAVITY;
nAirSpeedY = Math.min(nAirSpeedY, nJUMP_Y);
var _local3 = __get__getCollision();
var _local4 = new Object({bx:_local3.bx, ex:_local3.ex, ey:_local3.ey + nAirSpeedY});
var _local2 = Main.__get__Instance().__get__game().__get__level().tryFall(_local4);
if ((_local2 != -1) && (_local2 != -100)) {
if ((mcRef._y + nAirSpeedY) > _local2) {
endJump();
mcRef._y = _local2;
} else {
mcRef._y = mcRef._y + nAirSpeedY;
}
} else {
mcRef._y = mcRef._y + nAirSpeedY;
}
}
function doDeath() {
slowDown("X");
}
function setFall(_iY) {
if ((nAirSpeedY == 0) && (mcRef._y != _iY)) {
nAirSpeedY = 1;
setState(sSTATE_JUMPFALL);
} else if (nAirSpeedY > 0) {
endJump();
mcRef._y = _iY;
}
}
function startJump() {
nAirSpeedY = -nJUMP_Y;
}
function endJump() {
nAirSpeedY = 0;
if (nSpeedX == 0) {
setState(sSTATE_IDLE);
} else if (nMAX_X >= Math.abs(nSpeedX)) {
setState(sSTATE_WALK);
} else if (nMAX_RUN_X >= Math.abs(nSpeedX)) {
setState(sSTATE_RUN);
}
}
function changeSpeed(_bRight, _sPosVariable) {
var _local3 = _sPosVariable.substr(0, 1);
var _local2 = this["nSpeed" + _local3];
if (_bRight) {
if (this["nSpeed" + _local3] > 0) {
_local2 = _local2 * this["nACCELERATE_" + _sPosVariable];
_local2 = Math.min(_local2, this["nMAX_" + _sPosVariable]);
} else if (nSpeedX < 0) {
_local2 = _local2 / this["nACCELERATE_" + _sPosVariable];
if (_local2 >= -1) {
_local2 = 1;
}
if (_local3 == "X") {
mcRef[("_" + _local3) + "scale"] = 100;
}
} else {
_local2 = 1;
if (_local3 == "X") {
mcRef[("_" + _local3) + "scale"] = 100;
}
}
} else if (_local2 < 0) {
_local2 = _local2 * this["nACCELERATE_" + _sPosVariable];
_local2 = Math.max(_local2, -this["nMAX_" + _sPosVariable]);
} else if (_local2 > 0) {
_local2 = _local2 / this["nACCELERATE_" + _sPosVariable];
if (_local2 <= 1) {
_local2 = -1;
}
if (_local3 == "X") {
mcRef[("_" + _local3) + "scale"] = -100;
}
} else {
_local2 = -1;
if (_local3 == "X") {
mcRef[("_" + _local3) + "scale"] = -100;
}
}
this["nSpeed" + _local3] = _local2;
}
function slowDown(_sPosVariable) {
this["nSpeed" + _sPosVariable] = this["nSpeed" + _sPosVariable] / this["nACCELERATE_" + _sPosVariable];
if (Math.abs(this["nSpeed" + _sPosVariable]) <= 1) {
this["nSpeed" + _sPosVariable] = 0;
}
}
function setCharacter(_mcLevel, _sLinkage) {
setMc(_mcLevel.attachMovie(_sLinkage, _sLinkage + _mcLevel.getNextHighestDepth(), _mcLevel.getNextHighestDepth()));
mcRef._x = 300;
mcRef._y = 300;
}
function tryHit(_oPoint, _bPunch) {
var _local2 = sSTATE_IDLE;
var _local4;
var _local3 = verifyTryHit(_oPoint);
if (_local3) {
nSpeedX = 0;
setState(sSTATE_HURT);
_local2 = sSTATE_HURT;
}
}
function tryBlock(_xscale) {
return(false);
}
function isHit(_sResult) {
return(_sResult == sSTATE_HURT);
}
function set changingLevels(_bChangingLevels) {
bChangingLevels = _bChangingLevels;
//return(__get__changingLevels());
}
function get characterLinkage() {
return(sCHARACTER_LINKAGE);
}
function get characterType() {
return(sType);
}
function get characterName() {
return(sName);
}
var nACCELERATE_X = 1.5;
var nACCELERATE_Y = 2;
var nMAX_X = 5;
var nMAX_RUN_X = 10;
var nJUMP_Y = 70;
var nGRAVITY = 1.45;
var nSPEED_DEATH_X = 10;
var nSPEED_DEATH_Y = 15;
static var sSTATE_IDLE = "Idle";
static var sSTATE_WALK = "Walk";
static var sSTATE_RUN = "Run";
static var sSTATE_JUMP = "JumpRaise";
static var sSTATE_JUMPFALL = "JumpFall";
static var sSTATE_PREPUNCH = "PrePunch";
static var sSTATE_PUNCH = "Punch";
static var sSTATE_POSTPUNCH = "PostPunch";
static var sSTATE_CROUCH = "Crouch";
static var sSTATE_HURT = "Hurt";
static var sSTATE_STOMP_DEATH = "StompDeath";
static var sSTATE_DEATH = "Death";
static var sSTATE_SUCCESS = "Success";
static var sSTATE_HIDDEN = "Hidden";
}
Symbol 232 MovieClip [__Packages.game.Player] Frame 0
class game.Player extends game.character.Character
{
var bButtonPressA, bButtonPressS, bButtonPressLeft, bButtonPressRight, bButtonPressDown, bActive, bJump, sLastButton, setState, mcRef, endJump, nAirSpeedY, nSpeedX, sState, nSpeedY, nSPEED_DEATH_Y, isStateComplete, slowDown, nGRAVITY, nJUMP_Y, bChangingLevels, startJump, changeSpeed, nSPEED_DEATH_X;
function Player () {
super(undefined, "Player");
bButtonPressA = false;
bButtonPressS = false;
bButtonPressLeft = false;
bButtonPressRight = false;
bButtonPressDown = false;
bActive = true;
bJump = false;
sLastButton = "";
}
function enterFrame() {
if (bActive) {
super.enterFrame();
var _local3 = Main.__get__Instance().__get__game().__get__level().tryFall(getCollision, true);
if (_local3 == -100) {
setState(game.character.Character.sSTATE_DEATH);
} else if (_local3 != -1) {
if (mcRef._y > _local3) {
endJump();
mcRef._y = _local3;
} else if ((mcRef._y < _local3) && (nAirSpeedY == 0)) {
nAirSpeedY = 1;
setState(game.character.Character.sSTATE_JUMPFALL);
}
}
tryDeath();
if ((nSpeedX != 0) && (mcRef._x < nCOLLISION_X)) {
mcRef._x = nCOLLISION_X;
nSpeedX = 0;
}
} else {
this["do" + sState]();
}
}
function loadState(_sState) {
super.loadState(_sState);
switch (_sState) {
case sSTATE_CHANGE_LEVEL :
mcRef.gotoAndStop(game.character.Character.sSTATE_IDLE);
bButtonPressLeft = false;
bButtonPressRight = false;
break;
case game.character.Character.sSTATE_DEATH :
nSpeedX = 0;
nSpeedY = nSpeedY - nSPEED_DEATH_Y;
bActive = false;
}
}
function doIdle() {
bJump = false;
keyDown();
}
function doWalk() {
bJump = false;
super.doWalk();
keyDown();
}
function doJumpRaise() {
keyDown();
super.doJumpRaise();
}
function doJumpFall() {
super.doJumpFall();
keyDown();
}
function doPunch() {
super.doPunch();
var _local3 = getCollision;
if (mcRef._xscale > 0) {
_local3.bx = mcRef._x;
_local3.ex = _local3.ex + (nPUNCH_COLLISION_X - nCOLLISION_X);
} else {
_local3.bx = _local3.bx - (nPUNCH_COLLISION_X - nCOLLISION_X);
_local3.ex = mcRef._x;
}
Main.__get__Instance().__get__game().__get__level().tryHit(_local3, true, true);
}
function doPostPunch() {
super.doPostPunch();
if (isStateComplete()) {
resumeMovement();
}
}
function doCrouch() {
keyDown();
super.doCrouch();
}
function doChangeLevel() {
if (Math.abs(nSpeedX) > 0) {
slowDown("X");
}
}
function doSuccess() {
if (Math.abs(nSpeedX) > 0) {
slowDown("X");
}
}
function doDeath() {
mcRef._x = mcRef._x + nSpeedX;
mcRef._y = mcRef._y + nSpeedY;
if (nSpeedY < 0) {
nSpeedY = nSpeedY / nGRAVITY;
if (nSpeedY >= -1) {
nSpeedY = 1;
}
} else {
nSpeedY = nSpeedY * nGRAVITY;
nSpeedY = Math.min(nSpeedY, nJUMP_Y);
}
if (isStateComplete()) {
setState(game.character.Character.sSTATE_HIDDEN);
Main.__get__Instance().__get__game().setDeath();
}
}
function keyDown() {
var _local2 = pressAttack();
if ((!_local2) && (!bChangingLevels)) {
if (!bButtonPressDown) {
pressLeftRight("Left");
pressLeftRight("Right");
}
if (((!bButtonPressLeft) && (!bButtonPressRight)) || (bButtonPressDown)) {
slowDown("X");
}
if ((Key.isDown(40) && (!bButtonPressDown)) && (nAirSpeedY == 0)) {
bButtonPressDown = true;
setState(game.character.Character.sSTATE_CROUCH);
} else if ((!Key.isDown(40)) && (bButtonPressDown)) {
bButtonPressDown = false;
if (nAirSpeedY == 0) {
if (nSpeedX == 0) {
setState(game.character.Character.sSTATE_IDLE);
} else {
setState(game.character.Character.sSTATE_WALK);
}
}
} else if (Key.isDown(nBUTTON_JUMP) && (!bButtonPressS)) {
sLastButton = "Jump";
if ((Math.abs(nAirSpeedY) < 2) && (!bJump)) {
bButtonPressS = true;
bJump = true;
setState(game.character.Character.sSTATE_JUMP);
startJump();
}
} else if ((!Key.isDown(nBUTTON_JUMP)) && (bButtonPressS)) {
bButtonPressS = false;
}
} else {
slowDown("X");
slowDown("Y");
}
}
function pressAttack() {
var _local2 = false;
if (!bChangingLevels) {
if (Key.isDown(nBUTTON_PUNCH)) {
sLastButton = "Punch";
if (!bButtonPressA) {
if ((bActive && (!bButtonPressDown)) && (nAirSpeedY == 0)) {
setState(game.character.Character.sSTATE_PREPUNCH);
_local2 = true;
}
bButtonPressA = true;
}
} else {
bButtonPressA = false;
}
}
return(_local2);
}
function pressLeftRight(_sDirection) {
var _local5;
var _local4;
var _local3;
if (_sDirection == "Left") {
_local5 = "Right";
_local4 = 37;
_local3 = false;
} else {
_local5 = "Left";
_local4 = 39;
_local3 = true;
}
if (!this["bButtonPress" + _local5]) {
if (Key.isDown(_local4)) {
if ((!this["bButtonPress" + _sDirection]) || ((sState != game.character.Character.sSTATE_WALK) && (sState != game.character.Character.sSTATE_RUN))) {
if (nAirSpeedY == 0) {
setState(game.character.Character.sSTATE_WALK);
sLastButton = "";
}
this["bButtonPress" + _sDirection] = true;
}
if (((sState == game.character.Character.sSTATE_WALK) || (sState == game.character.Character.sSTATE_JUMP)) || (sState == game.character.Character.sSTATE_JUMPFALL)) {
changeSpeed(_local3, "X");
} else {
changeSpeed(_local3, "X_RUN");
}
} else if (this["bButtonPress" + _sDirection]) {
sLastButton = _sDirection;
this["bButtonPress" + _sDirection] = false;
}
}
}
function resumeMovement() {
if (Key.isDown(37)) {
setState(game.character.Character.sSTATE_WALK);
} else if (Key.isDown(39)) {
setState(game.character.Character.sSTATE_WALK);
} else {
setState(game.character.Character.sSTATE_IDLE);
}
}
function canChangeMap() {
var _local2 = true;
if (nAirSpeedY != 0) {
_local2 = false;
}
return(_local2);
}
function wallCollide() {
var _local2 = getCollision;
if (nSpeedX > 0) {
_local2.x = _local2.ex;
} else if (nSpeedX < 0) {
_local2.x = _local2.bx;
}
_local2.x = _local2.x + nSpeedX;
_local2.y = _local2.ey;
var _local3 = Main.__get__Instance().__get__game().__get__level().tryHitWall(_local2, nSpeedX, false);
if (_local3 != -1) {
if (nSpeedX > 0) {
mcRef._x = (_local3 - nCOLLISION_X) - 0.1;
} else {
mcRef._x = (_local3 + nCOLLISION_X) + 0.1;
}
nSpeedX = 0;
} else {
_local2.y = _local2.by;
_local3 = Main.__get__Instance().__get__game().__get__level().tryHitWall(_local2, nSpeedX);
if (_local3 != -1) {
if (nSpeedX > 0) {
mcRef._x = (_local3 - nCOLLISION_X) - 0.1;
} else {
mcRef._x = (_local3 + nCOLLISION_X) + 0.1;
}
nSpeedX = 0;
}
}
}
function bounce() {
setState(game.character.Character.sSTATE_JUMP);
if (bButtonPressS) {
nAirSpeedY = -nJUMP_BOUNCE_Y;
} else {
nAirSpeedY = -nBOUNCE_Y;
}
}
function tryDeath() {
var _local3 = getCollision;
var _local2 = Main.__get__Instance().__get__game().__get__level().tryHitWall(_local3, 0, true);
if ((_local2 == -100) || (_local2 == -200)) {
setState(game.character.Character.sSTATE_DEATH);
if (_local2 == -100) {
nSpeedX = nSPEED_DEATH_X;
mcRef._xscale = -100;
} else {
nSpeedX = -nSPEED_DEATH_X;
mcRef._xscale = 100;
}
}
}
function setLevelStart() {
bChangingLevels = false;
bActive = true;
nSpeedX = 0;
nSpeedY = 0;
nAirSpeedY = 0;
}
function setLevelEnd() {
bChangingLevels = true;
bActive = false;
setState(game.character.Character.sSTATE_SUCCESS);
}
function get getCollision() {
var _local2 = new Object();
_local2.bx = mcRef._x - nCOLLISION_X;
_local2.by = mcRef._y - nCOLLISION_Y;
_local2.ex = mcRef._x + nCOLLISION_X;
_local2.ey = mcRef._y;
return(_local2);
}
static var nCOLLISION_X = 20;
static var nCOLLISION_Y = 85;
static var nPUNCH_COLLISION_X = 50;
static var nBUTTON_PUNCH = 65;
static var nBUTTON_JUMP = 83;
static var nBUTTON_PAUSE = 32;
var sCHARACTER_LINKAGE = "mcBahamut";
var nACCELERATE_X = 2;
var nACCELERATE_Y = 5;
var nFRAMES_BETWEEN_DASH_BUTTON_PRESS = 5;
var nMAX_X = 10;
var nMAX_RUN_X = 14;
var nMAX_Y = 5;
var nBOUNCE_Y = 35;
var nJUMP_BOUNCE_Y = 70;
var nPUNCH_TO_UPPERCUT = 3;
static var sSTATE_CHANGE_LEVEL = "ChangeLevel";
}
Symbol 233 MovieClip [__Packages.game.Level] Frame 0
class game.Level extends game.character.Sprite
{
var oLinkages, iTilesX, iTilesY, nEndX, aLinkages, sLevel, mcBackground, mcRef, mcLevel, mcSprites, bChangingLevels, aEnnemies, mcPlayer, oBottomRight, aChangeLevel, nLastMinX, aGround, aMcGround, aGroundLinkage, oEnnemyStartPos, oPlayerPos, aWalls, __get__player, __get__ChangingLevels;
function Level (_mcRef, _sLevel, _oLinkages) {
super(_mcRef);
oLinkages = _oLinkages;
iTilesX = 0;
iTilesY = 0;
nEndX = 0;
aLinkages = new Array();
sLevel = _sLevel;
initStructure();
}
function initStructure() {
mcBackground = mcRef.createEmptyMovieClip("mcBackground", mcRef.getNextHighestDepth());
mcBackground._x = 0;
mcBackground._y = 0;
mcLevel = mcRef.createEmptyMovieClip("mcLevel", mcRef.getNextHighestDepth());
mcLevel._x = 0;
mcLevel._y = 0;
mcSprites = mcRef.createEmptyMovieClip("mcSprites", mcRef.getNextHighestDepth());
mcSprites._x = 0;
mcSprites._y = 0;
}
function enterFrame(_bCanChangeMap) {
if (!bChangingLevels) {
var _local2;
_local2 = 0;
while (_local2 < aEnnemies.length) {
aEnnemies[_local2].enterFrame();
_local2++;
}
if (_bCanChangeMap) {
changeLevel();
}
}
updateSpawn();
scrollLevel();
}
function scrollLevel() {
mcRef._x = Math.min(0, (Main.NX_SIZE / 2) - mcPlayer._x);
mcRef._x = Math.max(mcRef._x, Main.NX_SIZE - oBottomRight.x);
mcRef._y = Math.min(0, (Main.NY_SIZE / 2) - mcPlayer._y);
mcRef._y = Math.max(mcRef._y, Main.NY_SIZE - oBottomRight.y);
updateEnnemies(false);
}
function changeLevel() {
var _local2;
var _local3;
if (mcPlayer._x >= nEndX) {
Main.__get__Instance().__get__game().levelComplete();
bChangingLevels = true;
}
}
function unsetLevel() {
mcPlayer.removeMovieClip();
mcBackground.removeMovieClip();
mcSprites.removeMovieClip();
mcLevel.removeMovieClip();
aChangeLevel = new Array();
}
function setLevel(_sLevel, _sLevelData, _oPlayer) {
mcPlayer.removeMovieClip();
mcBackground.removeMovieClip();
mcSprites.removeMovieClip();
mcLevel.removeMovieClip();
initStructure();
aEnnemies = new Array();
_oPlayer.setCharacter(mcSprites, oLinkages[dat.LevelData.sPLAYER_START]);
mcPlayer = _oPlayer.Mc;
nLastMinX = -1;
var _local11;
var _local10;
iTilesX = Number(_sLevelData.substr(0, 3));
iTilesY = Number(_sLevelData.substr(3, 3));
var _local9 = Number(_sLevelData.substr(6, 1));
var _local4 = Number(_sLevelData.substr(7, 1));
var _local2 = 0;
_local2 = 8;
while (_local2 < _sLevelData.length) {
switch (_sLevelData.substr(_local2, 1)) {
case dat.LevelData.sLEVEL_GROUND :
_local2++;
var _local6;
var _local8;
var _local7;
aGround = new Array();
aMcGround = new Array();
var _local13 = 0;
do {
_local7 = Number(_sLevelData.substr(_local2, _local9));
aGround.push(_local7);
_local2 = _local2 + _local9;
if (_sLevelData.substr(_local2, 1) == "*") {
_local2++;
_local8 = Number(_sLevelData.substr(_local2, _local4));
_local6 = 0;
while (_local6 < _local8) {
aGround.push(_local7);
_local6++;
}
_local2 = _local2 + _local4;
}
} while ((aGround.length < iTilesX) && (!isNaN(_sLevelData.substr(_local2, 1))));
_local2--;
setGroundData();
break;
case dat.LevelData.sPLAYER_START :
_local2++;
mcPlayer._x = 32 + (Number(_sLevelData.substr(_local2, _local4)) * nTILE_SIZE_X);
mcPlayer._y = ((iTilesY + 1) - Number(aGround[Number(_sLevelData.substr(_local2, _local4))])) * nTILE_SIZE_Y;
_local2 = _local2 + (_local4 - 1);
break;
case dat.LevelData.sPLAYER_END :
_local2++;
nEndX = Number(_sLevelData.substr(_local2, _local4));
var _local5;
nEndX = nEndX;
while (nEndX < aGroundLinkage.length) {
_local5 = 0;
while (_local5 < aGroundLinkage[nEndX].length) {
aGroundLinkage[nEndX][_local5] = "E";
_local5++;
}
nEndX++;
}
nEndX = 32 + (Number(_sLevelData.substr(_local2, _local4)) * nTILE_SIZE_X);
_local2 = _local2 + (_local4 - 1);
break;
case dat.LevelData.sPLAYER_COIN :
break;
case dat.LevelData.sENEMY_CRAWLER :
_local2++;
_local11 = 32 + (Number(_sLevelData.substr(_local2, _local4)) * nTILE_SIZE_X);
_local10 = ((iTilesY + 1) - Number(aGround[Number(_sLevelData.substr(_local2, _local4))])) * nTILE_SIZE_Y;
var _local12 = new game.enemy.EnemyWalker(mcSprites, oLinkages[dat.LevelData.sENEMY_CRAWLER], _local11, _local10);
_local2 = _local2 + (_local4 - 1);
aEnnemies.push(_local12);
break;
case dat.LevelData.sENEMY_WALKER :
_local2++;
_local11 = 32 + (Number(_sLevelData.substr(_local2, _local4)) * nTILE_SIZE_X);
_local10 = ((iTilesY + 1) - Number(aGround[Number(_sLevelData.substr(_local2, _local4))])) * nTILE_SIZE_Y;
_local12 = new game.enemy.EnemyWalker(mcSprites, oLinkages[dat.LevelData.sENEMY_WALKER], _local11, _local10);
_local2 = _local2 + (_local4 - 1);
aEnnemies.push(_local12);
break;
case dat.LevelData.sENEMY_JUMPER :
_local2 = _local2 + Math.ceil(iTilesX / 10);
break;
case dat.LevelData.sENEMY_FLIER :
break;
case dat.LevelData.sENEMY_WAVE_FLIER :
break;
case dat.LevelData.sENEMY_WALKER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_WAVE_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_VERTICAL :
break;
case dat.LevelData.sLEVEL_DEATH :
}
_local2++;
}
updateSpawn();
sLevel = _sLevel;
oEnnemyStartPos = new Object();
oBottomRight = new Object({x:iTilesX * nTILE_SIZE_X, y:(iTilesY + 1) * nTILE_SIZE_Y});
aChangeLevel = new Array();
oPlayerPos = new Object();
}
function tryHit(_oPoint, _bFromPlayer, _bPunch) {
var _local5;
var _local2;
if (_bFromPlayer) {
_local2 = 0;
while (_local2 < aEnnemies.length) {
if (aEnnemies[_local2].tryHit(_oPoint, _bPunch)) {
}
_local2++;
}
}
return(_local5);
}
function tryHitWall(_oPoint, _nSpeedX, _bPlayer) {
var _local4 = -1;
var _local2;
_local2 = 0;
while (_local2 < aWalls.length) {
if (((aWalls[_local2].bx <= _oPoint.x) && (aWalls[_local2].ex >= _oPoint.x)) && ((aWalls[_local2].by < _oPoint.y) && (aWalls[_local2].ey >= _oPoint.y))) {
if (_nSpeedX > 0) {
_local4 = aWalls[_local2].bx;
} else {
_local4 = aWalls[_local2].ex;
}
break;
}
_local2++;
}
if (_bPlayer) {
_local2 = 0;
while (_local2 < aEnnemies.length) {
if (aEnnemies[_local2].tryHit(_oPoint, false)) {
if (aEnnemies[_local2].Mc._x > _oPoint.x) {
_local4 = -100;
} else {
_local4 = -200;
}
break;
}
_local2++;
}
}
return(_local4);
}
function tryFall(_oPoint, _bPlayer) {
var _local4 = nTILE_SIZE_Y * (iTilesY + 10);
var _local2;
_local2 = 0;
while (_local2 < aWalls.length) {
if (((aWalls[_local2].bx < _oPoint.ex) && (aWalls[_local2].ex > _oPoint.bx)) && (aWalls[_local2].by != _oPoint.ey)) {
_local4 = Math.min(_local4, aWalls[_local2].by);
}
_local2++;
}
if (_local4 == (nTILE_SIZE_Y * (iTilesY + 10))) {
_local4 = -1;
}
if (_bPlayer) {
_local2 = 0;
while (_local2 < aEnnemies.length) {
if (aEnnemies[_local2].tryStomp(_oPoint)) {
Main.__get__Instance().__get__game().__get__player().bounce();
}
_local2++;
}
}
if (_oPoint.ey >= (oBottomRight.y + (nTILE_SIZE_Y * 3))) {
_local4 = -100;
}
return(_local4);
}
function setGroundData() {
var _local2 = 0;
var _local3;
var _local5 = aGround.length;
aWalls = new Array();
var _local4 = new Object();
_local4.bx = 0;
aGroundLinkage = new Array();
aGroundLinkage.push(new Array());
if (aGround[0] > 0) {
_local3 = 0;
while (_local3 < aGround[0]) {
if ((_local3 + 1) == aGround[0]) {
if ((_local3 + 1) > aGround[1]) {
aGroundLinkage[_local2].push("TR");
} else {
aGroundLinkage[_local2].push("T");
}
} else if (_local3 < aGround[1]) {
aGroundLinkage[_local2].push("M");
} else if (_local3 == aGround[1]) {
aGroundLinkage[_local2].push("R");
}
_local3++;
}
_local4.by = ((iTilesY + 1) - aGround[0]) * nTILE_SIZE_Y;
} else {
_local4.by = iTilesY + (10 * nTILE_SIZE_Y);
}
_local2 = 1;
while (_local2 < _local5) {
if (aGround[_local2] != aGround[_local2 - 1]) {
_local4.ex = _local2 * nTILE_SIZE_X;
_local4.ey = (iTilesY + 10) * nTILE_SIZE_Y;
if (aGround[_local2 - 1] == 0) {
_local4.by = _local4.by + 300;
_local4.ey = _local4.ey + 300;
}
aWalls.push(_local4);
_local4 = new Object();
_local4.bx = _local2 * nTILE_SIZE_X;
_local4.by = ((iTilesY + 1) - aGround[_local2]) * nTILE_SIZE_Y;
}
aGroundLinkage.push(new Array());
_local3 = 0;
while (_local3 < aGround[_local2]) {
if (aGround[_local2 - 1] <= _local3) {
if ((_local3 + 1) == aGround[_local2]) {
aGroundLinkage[_local2].push("TL");
} else {
aGroundLinkage[_local2].push("L");
}
} else if (((_local2 + 1) <= aGround.length) && (aGround[_local2 + 1] <= _local3)) {
if ((_local3 + 1) == aGround[_local2]) {
aGroundLinkage[_local2].push("TR");
} else {
aGroundLinkage[_local2].push("R");
}
} else if ((_local3 + 1) == aGround[_local2]) {
aGroundLinkage[_local2].push("T");
} else {
aGroundLinkage[_local2].push("M");
}
_local3++;
}
_local2++;
}
_local4.ex = _local2 * nTILE_SIZE_X;
_local4.ey = (iTilesY + 10) * nTILE_SIZE_Y;
aWalls.push(_local4);
}
function addEnnemy(_sType, _nX, _nY) {
var _local2 = mcSprites.attachMovie(oLinkages[_sType], "Enemy" + aEnnemies.length, mcSprites.getNextHighestDepth());
_local2._x = _nX;
_local2._y = _nY;
aEnnemies.push(new game.Enemy(_local2, _sType));
}
function updateEnnemies(_bUpdate) {
var _local2;
var _local3 = aEnnemies.length;
if (_bUpdate) {
_local2 = 0;
while (_local2 < _local3) {
if (aEnnemies[_local2].Active) {
aEnnemies[_local2].setAI(mcPlayer, aWalls);
}
_local2++;
}
}
}
function updateSpawn() {
var _local6 = Math.floor(mcPlayer._x / nTILE_SIZE_X);
var _local5 = Math.ceil((Main.NX_SIZE / 2) / nTILE_SIZE_X) + 1;
var _local3;
var _local2;
var _local4;
if (nLastMinX == -1) {
nLastMinX = Math.max(_local6 - _local5, 0);
_local2 = nLastMinX;
while (_local2 < Math.max(_local6 + _local5, nLastMinX + (_local5 * 2))) {
aMcGround.push(new Array());
_local4 = 0;
while (_local4 < aGroundLinkage[_local2].length) {
_local3 = mcLevel.attachMovie(oLinkages[dat.LevelData.sLEVEL_GROUND], "tile" + mcLevel.getNextHighestDepth(), mcLevel.getNextHighestDepth());
_local3._x = (nTILE_SIZE_X / 2) + (_local2 * nTILE_SIZE_X);
_local3._y = ((iTilesY + 1) - _local4) * nTILE_SIZE_Y;
_local3.gotoAndStop(aGroundLinkage[_local2][_local4]);
aMcGround[_local2].push(_local3);
_local4++;
}
_local2++;
}
_local2 = 0;
while (_local2 < aEnnemies.length) {
aEnnemies[_local2].trySpawn(nLastMinX, Math.max(_local6 + _local5, nLastMinX + (_local5 * 2)));
_local2++;
}
} else if (Math.max(0, _local6 - _local5) != nLastMinX) {
if ((_local6 - _local5) > nLastMinX) {
_local2 = nLastMinX + (_local5 * 2);
while (_local2 < Math.min(_local6 + _local5, aGroundLinkage.length - 1)) {
if (_local2 >= aMcGround.length) {
aMcGround.push(new Array());
}
_local4 = 0;
while (_local4 < aGroundLinkage[_local2].length) {
_local3 = mcLevel.attachMovie(oLinkages[dat.LevelData.sLEVEL_GROUND], "tile" + mcLevel.getNextHighestDepth(), mcLevel.getNextHighestDepth());
_local3._x = (nTILE_SIZE_X / 2) + (_local2 * nTILE_SIZE_X);
_local3._y = ((iTilesY + 1) - _local4) * nTILE_SIZE_Y;
_local3.gotoAndStop(aGroundLinkage[_local2][_local4]);
aMcGround[_local2].push(_local3);
_local4++;
}
_local2++;
}
_local2 = 0;
while (_local2 < (nLastMinX - 1)) {
while (aMcGround[_local2].length > 0) {
aMcGround[_local2].pop().removeMovieClip();
}
_local2++;
}
_local2 = 0;
while (_local2 < aEnnemies.length) {
aEnnemies[_local2].trySpawn(nLastMinX * nTILE_SIZE_X, Math.max(_local6 + _local5, nLastMinX + (_local5 * 2)) * nTILE_SIZE_X);
_local2++;
}
} else {
_local2 = Math.max(_local6 - _local5, 0);
while (_local2 < (nLastMinX + (_local5 * 2))) {
aMcGround[_local2].push(new Array());
_local4 = 0;
while (_local4 < aGroundLinkage[_local2].length) {
_local3 = mcLevel.attachMovie(oLinkages[dat.LevelData.sLEVEL_GROUND], "tile" + mcLevel.getNextHighestDepth(), mcLevel.getNextHighestDepth());
_local3._x = (nTILE_SIZE_X / 2) + (_local2 * nTILE_SIZE_X);
_local3._y = ((iTilesY + 1) - _local4) * nTILE_SIZE_Y;
_local3.gotoAndStop(aGroundLinkage[_local2][_local4]);
aMcGround[_local2].push(_local3);
_local4++;
}
_local2++;
}
_local2 = _local6 + _local5;
while (_local2 < aMcGround.length) {
while (aMcGround[_local2].length > 0) {
aMcGround[_local2].pop().removeMovieClip();
}
_local2++;
}
_local2 = 0;
while (_local2 < aEnnemies.length) {
aEnnemies[_local2].trySpawn(nLastMinX * nTILE_SIZE_X, Math.max(_local6 + _local5, nLastMinX + (_local5 * 2)) * nTILE_SIZE_X);
_local2++;
}
}
nLastMinX = Math.max(_local6 - _local5, 0);
}
}
function getDepth(_nXPos) {
var _local3 = 0;
var _local2;
_local2 = 0;
while (_local2 < aEnnemies.length) {
if (aEnnemies[_local2].Mc._x == _nXPos) {
if (aEnnemies[_local2].Mc.getDepth() > _local3) {
_local3 = aEnnemies[_local2].Mc.getDepth();
}
}
_local2++;
}
if (mcPlayer._x == _nXPos) {
if (mcPlayer.getDepth() > _local3) {
_local3 = mcPlayer.getDepth();
}
}
if ((_local3 >= (_nXPos * 1000)) && (_local3 < ((_nXPos + 1) * 1000))) {
_local3 = _local3 + 1;
} else {
_local3 = _nXPos * 1000;
}
return(_local3);
}
function set player(_mcPlayer) {
mcPlayer = _mcPlayer;
scrollLevel();
updateEnnemies(true);
//return(__get__player());
}
function set ChangingLevels(_bChangingLevels) {
bChangingLevels = _bChangingLevels;
//return(__get__ChangingLevels());
}
function get getLevel() {
return(sLevel);
}
static var sTYPE_LEVEL = "Level";
static var sTYPE_SHOP = "Shop";
static var nTILE_SIZE_X = 64;
static var nTILE_SIZE_Y = 64;
}
Symbol 234 MovieClip [__Packages.dat.LevelData] Frame 0
class dat.LevelData
{
function LevelData () {
}
static function getLevelData() {
var _local2 = new Array();
var _local1 = new Object();
_local1.sLevelName = "Crescent Station";
_local1.sAuthor = "Bahamut Dragons";
_local1.sLevelData = STRING_LOCATION_LEVEL3;
_local2.push(_local1);
_local1 = new Object();
_local1.sLevelName = "Mushroom Valley";
_local1.sAuthor = "Bahamut Dragons";
_local1.sLevelData = STRING_LOCATION_LEVEL4;
_local2.push(_local1);
_local1 = new Object();
_local1.sLevelName = "Emerald Fields";
_local1.sAuthor = "Bahamut Dragons";
_local1.sLevelData = STRING_LOCATION_LEVEL2;
_local2.push(_local1);
return(_local2);
}
static function getGroundLinkage() {
var _local2 = new Array();
var _local1 = new Object();
_local1.sName = "Testing Grounds";
_local1.sAuthor = "Bahamut Dragons";
_local1.sURL = "http://www.furaffinity.net/user/bahamutdragons/";
_local1.sLinkage = "mcBahamutGround";
_local2.push(_local1);
_local1 = new Object();
_local1.sName = "Cthulesque";
_local1.sAuthor = "Caesarcub";
_local1.sURL = "http://www.furaffinity.net/user/caesarcub/";
_local1.sLinkage = "mcCaesarcub_Ground";
_local2.push(_local1);
return(_local2);
}
static function getCharLinkage() {
var _local2 = new Array();
var _local1 = new Object();
_local1.sName = "U-Bear";
_local1.sAuthor = "Urso Fofinho";
_local1.sURL = "http://www.furaffinity.net/user/ursofofinho/";
_local1.sLinkage = "mcChar_UBear";
_local2.push(_local1);
_local1 = new Object();
_local1.sName = "Baron the Boar";
_local1.sAuthor = "Caesarcub";
_local1.sURL = "http://www.furaffinity.net/user/caesarcub/";
_local1.sLinkage = "mcChar_Baron";
_local2.push(_local1);
return(_local2);
}
static function getCrawlerLinkage() {
trace("getCrawlerLinkage");
var _local2 = new Array();
var _local1 = new Object();
_local1.sName = "Draghorn";
_local1.sAuthor = "Urso Fofinho";
_local1.sURL = "http://www.furaffinity.net/user/ursofofinho/";
_local1.sLinkage = "mcWalker_Urso";
_local2.push(_local1);
_local1 = new Object();
_local1.sName = "Three Tails";
_local1.sAuthor = "Caesarcub";
_local1.sURL = "http://www.furaffinity.net/user/caesarcub/";
_local1.sLinkage = "mcCrawler_Caesarcub";
_local2.push(_local1);
return(_local2);
}
static var sPLAYER_START = "S";
static var sPLAYER_END = "E";
static var sPLAYER_COIN = "X";
static var sENEMY_CRAWLER = "C";
static var sENEMY_WALKER = "W";
static var sENEMY_JUMPER = "2";
static var sENEMY_FLIER = "3";
static var sENEMY_WAVE_FLIER = "4";
static var sENEMY_CRAWLER_SPIKEY = "1";
static var sENEMY_WALKER_SPIKEY = "5";
static var sENEMY_FLIER_SPIKEY = "6";
static var sENEMY_WAVE_FLIER_SPIKEY = "7";
static var sENEMY_FLIER_VERTICAL = "8";
static var sLEVEL_GROUND = "G";
static var sLEVEL_DEATH = "D";
static var STRING_LOCATION_LEVEL1 = "10001112G1*050*012*053*05221112*80S03E70C25C42";
static var STRING_LOCATION_LEVEL2 = "32001213G3*0855*0027*0073*0140*0023*0080*0023*0390*0023*0290*0023*0095*0037*0123*0185*0037*0103*0553*018S003E302C019C029C036C040C061C076C081C089C104C108C129C133C172C176C178C201C204C216C233C239C256C269C300";
static var STRING_LOCATION_LEVEL3 = "16001213G2*02044666004*0065678*0043*0085*00400555002*0074446668880*002777711234004321*0053313551*004234*004001*030C018C025C036C042C046C066C069C072C075C094C109S003E120";
static var STRING_LOCATION_LEVEL4 = "16001213G888765*008005*0110005550006*0125*00465*00667755765*004005*0082*00532*005345*004005*07060506005*030S002E120C025C031C040C042C044C055C061C063C076C082C086C095";
}
Symbol 235 MovieClip [__Packages.game.Enemy] Frame 0
class game.Enemy extends game.character.Character
{
var bSpawned, bMoveLeft, bActive, mcLevel, sLinkage, nX, nY, setState, mcRef, endJump, nAirSpeedY, sState, nSpeedX, nSpeedY, nSPEED_DEATH_Y, isStateComplete, nGRAVITY, nJUMP_Y, sCurrentAction, changeSpeed, nCollisionX, nSPEED_DEATH_X, nCollisionY;
function Enemy (_mcLevel, _sLinkage, _nX, _nY) {
super(new MovieClip(), _sLinkage);
bSpawned = false;
bMoveLeft = true;
bActive = false;
mcLevel = _mcLevel;
sLinkage = _sLinkage;
nX = _nX;
nY = _nY;
}
function enterFrame() {
if (bActive) {
super.enterFrame();
Main.__get__Instance().__get__game().__get__level().tryHitWall(getCollision, 0, true);
var _local3 = Main.__get__Instance().__get__game().__get__level().tryFall(getCollision);
if (_local3 == -100) {
setState(game.character.Character.sSTATE_HIDDEN);
bActive = false;
} else if (_local3 != -1) {
if (mcRef._y > _local3) {
endJump();
mcRef._y = _local3;
} else if ((mcRef._y < _local3) && (nAirSpeedY == 0)) {
nAirSpeedY = 1;
setState(game.character.Character.sSTATE_JUMPFALL);
}
}
} else {
this["do" + sState]();
}
}
function loadState(_sState) {
super.loadState(_sState);
switch (sState) {
case game.character.Character.sSTATE_IDLE :
break;
case game.character.Character.sSTATE_PREPUNCH :
break;
case game.character.Character.sSTATE_PUNCH :
break;
case game.character.Character.sSTATE_POSTPUNCH :
break;
case game.character.Character.sSTATE_JUMPFALL :
break;
case game.character.Character.sSTATE_DEATH :
bActive = false;
nSpeedX = 0;
nSpeedY = nSpeedY - nSPEED_DEATH_Y;
break;
case game.character.Character.sSTATE_STOMP_DEATH :
bActive = false;
nSpeedX = 0;
}
}
function doStompDeath() {
if (isStateComplete()) {
setState(game.character.Character.sSTATE_HIDDEN);
}
}
function doDeath() {
mcRef._x = mcRef._x + nSpeedX;
mcRef._y = mcRef._y + nSpeedY;
if (nSpeedY < 0) {
nSpeedY = nSpeedY / nGRAVITY;
if (nSpeedY >= -1) {
nSpeedY = 1;
}
} else {
nSpeedY = nSpeedY * nGRAVITY;
nSpeedY = Math.min(nSpeedY, nJUMP_Y);
}
if (isStateComplete()) {
setState(game.character.Character.sSTATE_HIDDEN);
}
}
function setAction(_sCurrentAction) {
if (bActive) {
sCurrentAction = _sCurrentAction;
switch (sCurrentAction) {
case sAI_IDLE :
setState(game.character.Character.sSTATE_IDLE);
break;
case sAI_WALK_LEFT :
bMoveLeft = true;
setState(game.character.Character.sSTATE_WALK);
break;
case sAI_WALK_RIGHT :
bMoveLeft = false;
setState(game.character.Character.sSTATE_WALK);
break;
case sAI_JUMP_LEFT :
break;
case sAI_FLYING_LEFT :
break;
case sAI_FLYING_WAVE_LEFT :
}
}
}
function clearAction() {
}
function movement(_sSpeed) {
changeSpeed(bMoveLeft, "X" + _sSpeed);
}
function get Active() {
return(bActive);
}
function trySpawn(_iMinX, _iMaxX) {
if (!bSpawned) {
if ((_iMinX <= nX) && (_iMaxX >= nX)) {
spawn();
}
}
}
function spawn() {
mcRef = mcLevel.attachMovie(sLinkage, sLinkage + mcLevel.getNextHighestDepth(), mcLevel.getNextHighestDepth());
mcRef._x = nX;
mcRef._y = nY;
bSpawned = true;
bActive = true;
}
function unspawn() {
mcRef.removeMovieClip();
}
function enemyWallCollide() {
}
function wallCollide() {
if (nSpeedX != 0) {
var _local2 = getCollision;
if (nSpeedX > 0) {
_local2.x = _local2.ex;
} else if (nSpeedX < 0) {
_local2.x = _local2.bx;
}
_local2.x = _local2.x + nSpeedX;
_local2.y = _local2.ey;
var _local3 = Main.__get__Instance().__get__game().__get__level().tryHitWall(_local2, nSpeedX);
if (_local3 != -1) {
if (nSpeedX > 0) {
mcRef._x = (_local3 - nCollisionX) - 0.1;
} else {
mcRef._x = (_local3 + nCollisionX) + 0.1;
}
nSpeedX = 0;
enemyWallCollide();
} else {
_local2.y = _local2.by;
_local3 = Main.__get__Instance().__get__game().__get__level().tryHitWall(_local2, nSpeedX);
if (_local3 != -1) {
if (nSpeedX > 0) {
mcRef._x = (_local3 - nCollisionX) - 0.1;
} else {
mcRef._x = (_local3 + nCollisionX) + 0.1;
}
nSpeedX = 0;
enemyWallCollide();
}
}
}
}
function tryStomp(_oPoint) {
var _local4 = false;
if (bActive) {
var _local2 = getCollision;
if ((((((_local2.bx < _oPoint.ex) && (_local2.ex > _oPoint.ex)) || ((_local2.bx < _oPoint.bx) && (_local2.ex > _oPoint.bx))) || ((_local2.bx > _oPoint.bx) && (_local2.ex < _oPoint.ex))) && (_local2.by < _oPoint.ey)) && (_local2.ey > _oPoint.ey)) {
setState(game.character.Character.sSTATE_STOMP_DEATH);
_local4 = true;
}
}
return(_local4);
}
function tryHit(_oPoint, _bPunch) {
var _local4 = false;
if (bActive && (bSpawned)) {
var _local2 = getCollision;
if (((((_local2.bx <= _oPoint.ex) && (_local2.ex >= _oPoint.ex)) || ((_local2.bx <= _oPoint.bx) && (_local2.ex >= _oPoint.bx))) || ((_local2.bx >= _oPoint.bx) && (_local2.ex <= _oPoint.ex))) && ((((_local2.by <= _oPoint.ey) && (_local2.ey >= _oPoint.ey)) || ((_local2.by <= _oPoint.by) && (_local2.ey >= _oPoint.by))) || ((_local2.by >= _oPoint.by) && (_local2.ey <= _oPoint.ey)))) {
if (_bPunch) {
setState(game.character.Character.sSTATE_DEATH);
if (_local2.ex >= _oPoint.ex) {
nSpeedX = nSPEED_DEATH_X;
mcRef._xscale = -100;
} else {
nSpeedX = nSpeedX - nSPEED_DEATH_X;
mcRef._xscale = 100;
}
}
_local4 = true;
}
}
return(_local4);
}
function get getCollision() {
var _local2 = new Object();
_local2.bx = mcRef._x - nCollisionX;
_local2.by = mcRef._y - nCollisionY;
_local2.ex = mcRef._x + nCollisionX;
_local2.ey = mcRef._y;
return(_local2);
}
static var sAI_IDLE = "Idle";
static var sAI_WALK_LEFT = "WalkLeft";
static var sAI_WALK_RIGHT = "WalkRight";
static var sAI_JUMP_LEFT = "JumpLeft";
static var sAI_FLYING_LEFT = "FlyingLeft";
static var sAI_FLYING_WAVE_LEFT = "FlyingWaveLeft";
var NUMBER_WAIT_FRAMES_SHORT = 7;
var NUMBER_WAIT_FRAMES = 12;
var NUMBER_WAIT_FRAMES_LONG = 25;
var nFRAMES_WAIT_AFTER_HURT = 8;
var nMAX_Y_EQUAL_RANGE = 2;
var nMAX_ATTACK_RANGE = 600;
var nMIN_MOVE_BEHIND = 70;
}
Symbol 236 MovieClip [__Packages.game.enemy.EnemyWalker] Frame 0
class game.enemy.EnemyWalker extends game.Enemy
{
var nCollisionX, nCollisionY, sCurrentAction, bMoveLeft, setState, nSpeedX, mcRef;
function EnemyWalker (_mcLevel, _sLinkage, _nX, _nY) {
super(_mcLevel, _sLinkage, _nX, _nY);
nCollisionX = 20;
nCollisionY = 50;
}
function setAction(_sCurrentAction) {
super.setAction(_sCurrentAction);
switch (sCurrentAction) {
case game.Enemy.sAI_WALK_LEFT :
bMoveLeft = true;
setState(game.character.Character.sSTATE_WALK);
nSpeedX = -nAI_SPEED_X;
mcRef._xscale = -100;
break;
case game.Enemy.sAI_WALK_RIGHT :
bMoveLeft = false;
setState(game.character.Character.sSTATE_WALK);
nSpeedX = nAI_SPEED_X;
mcRef._xscale = 100;
}
}
function spawn() {
super.spawn();
setAction(game.Enemy.sAI_WALK_LEFT);
}
function enemyWallCollide() {
if (bMoveLeft) {
setAction(game.Enemy.sAI_WALK_RIGHT);
} else {
setAction(game.Enemy.sAI_WALK_LEFT);
}
}
static var nAI_SPEED_X = 5;
}
Symbol 237 MovieClip [__Packages.game.LevelSelect] Frame 0
class game.LevelSelect
{
var mcRef, aLevelData;
function LevelSelect (_mcRef, _aLevelData) {
mcRef = _mcRef;
aLevelData = _aLevelData;
var _local2;
_local2 = 0;
while (_local2 < _aLevelData.length) {
mcRef["mcSpot" + (_local2 + 1)].txtText.text = _local2 + 1;
mcRef["mcSpot" + (_local2 + 1)].gotoAndStop("Unlocked");
mcRef["mcSpot" + (_local2 + 1)].onRelease = library.Delegate.create(this, levelChosen, _local2);
_local2++;
}
}
function enterFrame() {
mcRef.txtLevelName.text = "";
mcRef.txtAuthorName.text = "";
var _local3 = {x:mcRef._xmouse, y:mcRef._ymouse};
var _local2;
_local2 = 0;
while (_local2 < aLevelData.length) {
if ((((mcRef["mcSpot" + (_local2 + 1)]._x <= _local3.x) && ((mcRef["mcSpot" + (_local2 + 1)]._x + mcRef["mcSpot" + (_local2 + 1)]._width) >= _local3.x)) && (mcRef["mcSpot" + (_local2 + 1)]._y <= _local3.y)) && ((mcRef["mcSpot" + (_local2 + 1)]._y + mcRef["mcSpot" + (_local2 + 1)]._height) >= _local3.y)) {
mcRef.txtLevelName.text = aLevelData[_local2].sLevelName;
mcRef.txtAuthorName.text = aLevelData[_local2].sAuthor;
}
_local2++;
}
}
function show() {
mcRef._visible = true;
}
function hide() {
mcRef._visible = false;
}
function levelChosen(_nCpt) {
Main.__get__Instance().__get__game().changeLevel(aLevelData[_nCpt].sLevelData);
}
}
Symbol 238 MovieClip [__Packages.game.Hud] Frame 0
class game.Hud
{
var mcRef, nPoints, nLives;
function Hud (_mcRef) {
mcRef = _mcRef;
nPoints = 0;
addPoints(0);
nLives = 3;
}
function enterFrame() {
}
function addPoints(_nPoints) {
nPoints = nPoints + _nPoints;
mcRef.txtPoints.text = _nPoints;
}
function setLives(_nLives) {
nLives = nLives + _nLives;
mcRef.txtLives.text = _nLives;
}
}
Symbol 239 MovieClip [__Packages.GameSelect] Frame 0
class GameSelect
{
var mcRef, aPopupMc, mcPopup, oLinkages;
function GameSelect (_mcRef) {
mcRef = _mcRef;
aPopupMc = new Array();
mcPopup = mcRef.mcPopup;
mcPopup._visible = false;
oLinkages = new Object();
var _local2 = Math.floor(Math.random() * dat.LevelData.getCharLinkage().length);
oLinkages[dat.LevelData.sPLAYER_START] = dat.LevelData.getCharLinkage()[_local2].sLinkage;
_local2 = Math.floor(Math.random() * dat.LevelData.getGroundLinkage().length);
oLinkages[dat.LevelData.sLEVEL_GROUND] = dat.LevelData.getGroundLinkage()[_local2].sLinkage;
oLinkages[dat.LevelData.sPLAYER_COIN] = "mcCoin";
_local2 = Math.floor(Math.random() * dat.LevelData.getCrawlerLinkage().length);
oLinkages[dat.LevelData.sENEMY_CRAWLER] = dat.LevelData.getCrawlerLinkage()[_local2].sLinkage;
oLinkages[dat.LevelData.sENEMY_WALKER] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_JUMPER] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_FLIER] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_WAVE_FLIER] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_WALKER_SPIKEY] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_FLIER_SPIKEY] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_WAVE_FLIER_SPIKEY] = "mcEnemy1";
oLinkages[dat.LevelData.sENEMY_FLIER_VERTICAL] = "mcEnemy1";
mcRef.btnPlay.onRelease = library.Delegate.create(this, play);
addCharSelect(oLinkages[dat.LevelData.sPLAYER_START], "Walk", "Player", "", "", mcRef, library.Delegate.create(this, setPopup, dat.LevelData.sPLAYER_START), mcRef.mcPlayer);
addCharSelect(oLinkages[dat.LevelData.sENEMY_CRAWLER], "Walk", "Crawler", "", "", mcRef, library.Delegate.create(this, setPopup, dat.LevelData.sENEMY_CRAWLER), mcRef.mcCrawler);
addCharSelect(oLinkages[dat.LevelData.sLEVEL_GROUND], "T", "Ground", "", "", mcRef, library.Delegate.create(this, setPopup, dat.LevelData.sLEVEL_GROUND), mcRef.mcGround);
}
function setPopup(_sLinkage) {
var _local3 = new Array();
mcPopup._visible = true;
var _local5;
switch (_sLinkage) {
case dat.LevelData.sPLAYER_START :
_local3 = dat.LevelData.getCharLinkage();
_local5 = "Walk";
break;
case dat.LevelData.sPLAYER_COIN :
break;
case dat.LevelData.sLEVEL_GROUND :
_local3 = dat.LevelData.getGroundLinkage();
_local5 = "T";
break;
case dat.LevelData.sENEMY_CRAWLER :
_local3 = dat.LevelData.getCrawlerLinkage();
_local5 = "Walk";
break;
case dat.LevelData.sENEMY_WALKER :
break;
case dat.LevelData.sENEMY_JUMPER :
break;
case dat.LevelData.sENEMY_FLIER :
break;
case dat.LevelData.sENEMY_WAVE_FLIER :
break;
case dat.LevelData.sENEMY_CRAWLER_SPIKEY :
break;
case dat.LevelData.sENEMY_WALKER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_WAVE_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_VERTICAL :
}
var _local4;
var _local2;
_local2 = 0;
while (_local2 < aPopupMc.length) {
aPopupMc[_local2].removeMovieClip();
_local2++;
}
_local2 = 0;
while (_local2 < _local3.length) {
_local4 = addCharSelect(_local3[_local2].sLinkage, _local5, _local3[_local2].sName, _local3[_local2].sAuthor, _local3[_local2].sURL, mcPopup, library.Delegate.create(this, popupSelect, _sLinkage, _local3[_local2].sLinkage));
_local4._x = (_local2 * 120) + 60;
_local4._y = 40;
aPopupMc.push(_local4);
_local2++;
}
}
function init() {
}
function addCharSelect(_sLinkage, _sDefaultState, _sName, _sAuthor, _sUrl, _mcBtn, _fClick, _mcVisual) {
if (_mcVisual == null) {
_mcVisual = _mcBtn.attachMovie(sSELECTOR_LINKAGE, sSELECTOR_LINKAGE + _mcBtn.getNextHighestDepth(), _mcBtn.getNextHighestDepth());
}
_mcVisual.gotoAndStop("Idle");
_mcVisual.onRollOver = library.Delegate.create(this, onMouseOver, _sAuthor, _sUrl, _mcVisual, "Over");
_mcVisual.onRollOut = library.Delegate.create(this, onMouseOver, "", _sUrl, _mcVisual, "Idle");
_mcVisual.onRelease = _fClick;
_mcVisual.txtName.text = _sName;
var _local3 = _mcVisual.attachMovie(_sLinkage, "mcLinkageInside", _mcVisual.getNextHighestDepth());
_local3._x = (_local3._width / 2) + ((98 - _local3._width) / 2);
_local3._y = _local3._height + ((136 - _local3._height) / 2);
_local3.gotoAndStop(_sDefaultState);
return(_mcVisual);
}
function onMouseOver(_sAuthor, _sURL, _mcRef, _sState) {
if (_sAuthor != "") {
mcPopup.txtAuthorName.text = _sAuthor;
}
if (_sURL != "") {
mcPopup.txtAuthorURL.text = _sURL;
mcPopup.mcURLHitArea.onPress = library.Delegate.create(this, onURLClick, _sURL);
}
_mcRef.gotoAndStop(_sState);
}
function onURLClick(_sURL) {
getURL (_sURL, "_blank");
}
function popupSelect(_sType, _sLinkage) {
mcPopup._visible = false;
var _local4;
var _local3;
switch (_sType) {
case dat.LevelData.sPLAYER_START :
_local3 = mcRef.mcPlayer;
_local4 = "Walk";
break;
case dat.LevelData.sPLAYER_COIN :
break;
case dat.LevelData.sLEVEL_GROUND :
_local3 = mcRef.mcGround;
_local4 = "T";
break;
case dat.LevelData.sENEMY_CRAWLER :
_local3 = mcRef.mcCrawler;
_local4 = "Walk";
break;
case dat.LevelData.sENEMY_WALKER :
break;
case dat.LevelData.sENEMY_JUMPER :
break;
case dat.LevelData.sENEMY_FLIER :
break;
case dat.LevelData.sENEMY_WAVE_FLIER :
break;
case dat.LevelData.sENEMY_CRAWLER_SPIKEY :
break;
case dat.LevelData.sENEMY_WALKER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_WAVE_FLIER_SPIKEY :
break;
case dat.LevelData.sENEMY_FLIER_VERTICAL :
}
_local3.mcLinkageInside.removeMovieClip();
var _local2 = _local3.attachMovie(_sLinkage, "mcLinkageInside", _local3.getNextHighestDepth());
_local2._x = (_local2._width / 2) + ((98 - _local2._width) / 2);
_local2._y = _local2._height + ((136 - _local2._height) / 2);
_local2.gotoAndStop(_local4);
oLinkages[_sType] = _sLinkage;
}
function unload() {
}
function getLinkage() {
return(oLinkages);
}
static var sSELECTOR_LINKAGE = "btnGameSelector";
static var sRANDOM_LINKAGE = "mcDice";
static var iSTATE_PLAYABLE = 1;
static var iSTATE_GROUND = 2;
static var iSTATE_COINS = 3;
static var iSTATE_CRAWLER = 4;
static var iSTATE_JUMP = 5;
static var iSTATE_FLIER = 6;
static var iSTATE_WAVE_FLIER = 7;
static var iSTATE_CRAWLER_SPIKY = 8;
static var iSTATE_JUMP_SPIKY = 9;
static var iSTATE_FLIER_SPIKY = 10;
static var iSTATE_WAVE_FLIER_SPIKY = 11;
}
Symbol 172 MovieClip Frame 1
stop();
this.hitArea = mcHitArea;
Symbol 177 MovieClip Frame 1
stop();
this.hitArea = mcHitArea;
Symbol 181 MovieClip Frame 1
stop();
this.hitArea = mcHitArea;