Frame 1
var GAME_ID = 20;
var SWF_HOST = "http://www.gimme5games.com";
var MOCHIBOT_ID = "8369a930";
var MOCHIAD_ID = "6eab2c7efa1ea173";
_global.firstPlay = true;
_root.movLoading.movHandAnim.gotoAndStop(2);
play();
Frame 2
_root.movLoading.movHandAnim.gotoAndStop(3);
Frame 3
_root.movLoading.movHandAnim.gotoAndStop(4);
Frame 4
function initIGAController() {
igaController.setHostAddress(_global.igaHost);
igaController.setHostPort(_global.igaPort);
igaController.setHostSvc(_global.igaSvc);
igaController.setAppId(_global.igaAppId);
igaController.setCellIds(_global.igaCellIds);
igaController.startSession();
}
function IGA_contentLoaded() {
gotoAndStop (5);
}
stop();
_root.movLoading.movHandAnim.gotoAndStop(5);
var CONFIG_URL = (SWF_HOST + "/servlet/otwServlet");
var OP_GET_CONFIG_PROPS = 0;
var OP_SUBMIT_ASL_VALS = 1;
var loadVars = new LoadVars();
loadVars.op = OP_GET_CONFIG_PROPS;
loadVars.GameId = GAME_ID;
loadVars.HostUrl = _root._url;
loadVars.sendAndLoad(CONFIG_URL, loadVars, "POST");
loadVars.onLoad = function (success) {
if (success) {
_global.logoUrl = this.LogoUrl;
_global.aslEnabled = Boolean(parseInt(this.ASLEnabled));
_global.igaEnabled = Boolean(parseInt(this.IGAEnabled));
_global.mochiEnabled = Boolean(parseInt(this.MochiEnabled));
if (_global.igaEnabled) {
_global.igaHost = this.IGAHost;
_global.igaPort = this.IGAPort;
_global.igaSvc = this.IGASvc;
_global.igaAppId = this.IGAAppId;
_global.igaCellIds = this.IGACellIds.split(",");
_global.igaCellMillis = this.IGACellMillis.split(",");
initIGAController();
} else {
IGA_contentLoaded();
}
} else {
IGA_contentLoaded();
}
};
Instance of Symbol 635 MovieClip [PhantomMansion] "g5Game" in Frame 4
//component parameters
onClipEvent (construct) {
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 773 MovieClip [IGAController] "igaController" in Frame 4
//component parameters
onClipEvent (construct) {
appId = 2;
autoRefresh = true;
cellIds = [];
cellIds[0] = 1;
cellIds[1] = 2;
debug = false;
defaultMC = "";
hostAddress = "www.gimme5games.com";
hostPort = 8080;
hostSvc = "/servlet/igaServlet";
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Frame 5
function splashComplete() {
if (_global.aslEnabled) {
_root.gotoAndStop(6);
} else {
_root.gotoAndStop(7);
}
}
function __com_mochibot__(swfid, mc, lv, trk) {
var x;
var g;
var s;
var fv;
var sb;
var u;
var res;
var mb;
var mbc;
mb = "__mochibot__";
mbc = "mochibot.com";
g = (_global ? (_global) : (_level0._root));
if (g[mb + swfid]) {
return(g[mb + swfid]);
}
s = System.security;
x = mc._root.getSWFVersion;
fv = (x ? (mc.getSWFVersion()) : ((_global ? 6 : 5)));
if (!s) {
s = {};
}
sb = s.sandboxType;
if (sb == "localWithFile") {
return(null);
}
x = s.allowDomain;
if (x) {
s.allowDomain(mbc);
}
x = s.allowInsecureDomain;
if (x) {
s.allowInsecureDomain(mbc);
}
u = (((((((((((("http://" + mbc) + "/my/core.swf?mv=7&fv=") + fv) + "&v=") + escape(getVersion())) + "&swfid=") + escape(swfid)) + "&l=") + lv) + "&f=") + mc) + (sb ? ("&sb=" + sb) : "")) + (trk ? "&t=1" : "");
lv = ((fv > 6) ? (mc.getNextHighestDepth()) : ((g[mb + "level"] ? (g[mb + "level"] + 1) : (lv))));
g[mb + "level"] = lv;
if (fv == 5) {
res = "_level" + lv;
if (!eval (res)) {
loadMovieNum (u, lv);
}
} else {
res = mc.createEmptyMovieClip(mb + swfid, lv);
res.loadMovie(u);
}
return(res);
}
stop();
var sndOTW = new Sound();
sndOTW.attachSound("sndOTW");
sndOTW.start(0, 1);
__com_mochibot__(MOCHIBOT_ID, this, 10301, true);
Frame 6
stop();
_root.movAsl.cookieCheck();
Instance of Symbol 863 MovieClip [ASLForm] "movAsl" in Frame 6
//component parameters
onClipEvent (construct) {
frameAfterSubmit = 7;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Frame 7
function initComplete() {
trace("initComplete");
g5Game.showTitleScreen();
}
function exitTitleScreen() {
trace("exitTitleScreen");
if (_global.igaEnabled) {
movCell1.gotoAndStop(2);
movCell1._visible = true;
} else if (_global.mochiEnabled) {
movCell1Mochi._visible = true;
MochiAd.showTimedAd({id:MOCHIAD_ID, res:"640x480", clip:movCell1Mochi});
} else {
advertExpired(null, false);
}
}
function enterHiScoreScreen() {
g5Game.showHiScoreScreen();
gotoAndStop (8);
}
function showInterstitialAdvert() {
if (_global.igaEnabled) {
movCell2.gotoAndStop(2);
movCell2._visible = true;
} else {
advertExpired(null, true);
}
}
function advertExpired(movCell, interstitialAd) {
movCell.gotoAndStop(1);
movCell._visible = false;
if (!interstitialAd) {
g5Game.showMenuScreen();
} else {
g5Game.advertExpired();
}
}
trace("game startup frame reached");
stop();
movCell1._visible = false;
movCell2._visible = false;
movCell1Mochi._visible = false;
movCell2Mochi._visible = false;
if (_global.firstPlay) {
g5Game.initGame(g5Game);
} else {
exitTitleScreen();
}
Frame 8
function exitHiScoreScreen() {
_global.firstPlay = false;
gotoAndStop (7);
}
stop();
movHiScores.setDetails(g5Game.getScore(), g5Game.getHiScoreMsg());
Symbol 1 MovieClip [movPortalLogoChecker] Frame 1
function onEnterFrame() {
if (_parent.movPortalLogo.exitClip) {
_parent.gotoAndPlay(7);
}
}
Symbol 6 MovieClip Frame 1
stop();
Symbol 6 MovieClip Frame 2
stop();
Symbol 6 MovieClip Frame 3
stop();
Symbol 6 MovieClip Frame 4
stop();
Symbol 6 MovieClip Frame 5
stop();
Symbol 6 MovieClip Frame 6
stop();
Symbol 876 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function getVersion() {
return("1.5");
}
static function showPreloaderAd(options) {
var _local27 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812, ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local27);
var clip = options.clip;
var _local23 = 11000;
var _local26 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local14 = _getRes(options);
var _local4 = _local14[0];
var _local13 = _local14[1];
mc._x = _local4 * 0.5;
mc._y = _local13 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local4 * -0.5;
chk._y = _local13 * -0.5;
var _local7 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local7._x = 10;
_local7._y = _local13 - 20;
var _local22 = options.color;
delete options.color;
var _local19 = options.background;
delete options.background;
var _local24 = options.outline;
delete options.outline;
var _local5 = _local7.createEmptyMovieClip("_outline", 1);
_local5.beginFill(_local19);
_local5.moveTo(0, 0);
_local5.lineTo(_local4 - 20, 0);
_local5.lineTo(_local4 - 20, 10);
_local5.lineTo(0, 10);
_local5.lineTo(0, 0);
_local5.endFill();
var _local3 = _local7.createEmptyMovieClip("_inside", 2);
_local3.beginFill(_local22);
_local3.moveTo(0, 0);
_local3.lineTo(_local4 - 20, 0);
_local3.lineTo(_local4 - 20, 10);
_local3.lineTo(0, 10);
_local3.lineTo(0, 0);
_local3.endFill();
_local3._xscale = 0;
var _local6 = _local7.createEmptyMovieClip("_outline", 3);
_local6.lineStyle(0, _local24, 100);
_local6.moveTo(0, 0);
_local6.lineTo(_local4 - 20, 0);
_local6.lineTo(_local4 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
chk.ad_msec = _local23;
chk.ad_timeout = _local26;
chk.started = getTimer();
chk.showing = false;
chk.last_pcnt = 0;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adLoaded = function (width, height) {
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec;
};
chk.onEnterFrame = function () {
var _local6 = this._parent._parent;
var _local12 = this._parent._mochiad_ctr;
var _local5 = getTimer() - this.started;
var _local3 = false;
var _local4 = _local6.getBytesTotal();
var _local8 = _local6.getBytesLoaded();
var _local10 = (100 * _local8) / _local4;
var _local11 = (100 * _local5) / chk.ad_msec;
var _local9 = this._mochiad_bar._inside;
var _local2 = Math.min(100, Math.min(_local10 || 0, _local11));
_local2 = Math.max(this.last_pcnt, _local2);
this.last_pcnt = _local2;
_local9._xscale = _local2;
if (!chk.showing) {
var _local7 = _local12.getBytesTotal();
if ((_local7 > 0) || (typeof(_local7) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local5 > chk.ad_timeout) {
_local3 = true;
}
}
if (_local5 > chk.ad_msec) {
_local3 = true;
}
if (((_local4 > 0) && (_local8 >= _local4)) && (_local3)) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = chk.fadeFunction;
}
}
};
}
static function showTimedAd(options) {
var _local13 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd", ad_started:function () {
this.clip.stop();
}, ad_finished:function () {
this.clip.play();
}};
options = _parseOptions(options, _local13);
var clip = options.clip;
var _local10 = 11000;
var _local12 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
options.ad_finished();
return(undefined);
}
options.ad_started();
var mc = clip._mochiad;
mc.onUnload = function () {
options.ad_finished();
};
var _local5 = _getRes(options);
var _local14 = _local5[0];
var _local11 = _local5[1];
mc._x = _local14 * 0.5;
mc._y = _local11 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local10;
chk.ad_timeout = _local12;
chk.started = getTimer();
chk.showing = false;
chk.fadeout_time = fadeout_time;
chk.fadeFunction = function () {
var _local2 = 100 * (1 - ((getTimer() - this.fadeout_start) / this.fadeout_time));
if (_local2 > 0) {
this._parent._alpha = _local2;
} else {
var _local3 = this._parent._parent;
MochiAd.unload(_local3);
delete this.onEnterFrame;
}
};
mc.lc.adjustProgress = function (msec) {
var _local2 = this.mc._mochiad_wait;
_local2.server_control = true;
_local2.started = getTimer();
_local2.ad_msec = msec - 250;
};
chk.onEnterFrame = function () {
var _local5 = this._parent._mochiad_ctr;
var _local4 = getTimer() - this.started;
var _local2 = false;
if (!chk.showing) {
var _local3 = _local5.getBytesTotal();
if ((_local3 > 0) || (typeof(_local3) == "undefined")) {
chk.showing = true;
chk.started = getTimer();
} else if (_local4 > chk.ad_timeout) {
_local2 = true;
}
}
if (_local4 > chk.ad_msec) {
_local2 = true;
}
if (_local2) {
if (this.server_control) {
delete this.onEnterFrame;
} else {
this.fadeout_start = getTimer();
this.onEnterFrame = this.fadeFunction;
}
}
};
}
static function _allowDomains(server) {
var _local1 = server.split("/")[2].split(":")[0];
if (System.security) {
if (System.security.allowDomain) {
System.security.allowDomain("*");
System.security.allowDomain(_local1);
}
if (System.security.allowInsecureDomain) {
System.security.allowInsecureDomain("*");
System.security.allowInsecureDomain(_local1);
}
}
return(_local1);
}
static function _loadCommunicator(options) {
var _local25 = {clip:_root, com_server:"http://x.mochiads.com/com/1/", method:"loadCommunicator", depth:10337, id:"_UNKNOWN_"};
options = _parseOptions(options, _local25);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local18 = options.clip;
var _local20 = "_mochiad_com_" + options.id;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local18[_local20]) {
return(_local18[_local20].lc);
}
var _local21 = options.com_server + options.id;
_allowDomains(_local21);
delete options.id;
delete options.com_server;
var _local24 = options.depth;
delete options.depth;
var _local17 = _local18.createEmptyMovieClip(_local20, _local24);
var _local11 = _local17.createEmptyMovieClip("_mochiad_com", 1);
for (var _local15 in options) {
_local11[_local15] = options[_local15];
}
var _local6 = new LocalConnection();
var _local16 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local6.mc = _local17;
_local6.name = _local16;
_local6.allowDomain = function (d) {
return(true);
};
_local6.allowInsecureDomain = _local6.allowDomain;
_local6.connect(_local16);
_local17.lc = _local6;
_local11.lc = _local16;
_local6._id = 0;
_local6._queue = [];
_local6.rpcResult = function (cb) {
cb = parseInt(cb);
var _local4 = this._callbacks[cb];
if (!_local4) {
return(undefined);
}
delete this._callbacks[cb];
var _local5 = [];
var _local3 = 2;
while (_local3 < _local4.length) {
_local5.push(_local4[_local3]);
_local3++;
}
_local3 = 1;
while (_local3 < arguments.length) {
_local5.push(arguments[_local3]);
_local3++;
}
var _local6 = _local4[1];
var _local7 = _local4[0];
if (_local7 && (typeof(_local6) == "string")) {
_local6 = _local7[_local6];
}
if (_local6) {
_local6.apply(_local7, _local5);
}
};
_local6._didConnect = function (endpoint) {
this._endpoint = endpoint;
var _local4 = this._queue;
delete this._queue;
var _local5 = this.doSend;
var _local2 = 0;
while (_local2 < _local4.length) {
var _local3 = _local4[_local2];
_local5.apply(this, _local3);
_local2++;
}
};
_local6.doSend = function (args, cbobj, cbfn) {
if (this._endpoint == null) {
var _local4 = [];
var _local3 = 0;
while (_local3 < arguments.length) {
_local4.push(arguments[_local3]);
_local3++;
}
this._queue.push(_local4);
return(undefined);
}
this._id = this._id + 1;
var _local5 = this._id;
if ((cbfn === undefined) || (cbfn === null)) {
cbfn = cbobj;
}
this._callbacks[_local5] = [cbobj, cbfn];
var _local7 = new LocalConnection();
var _local9 = _local7.send(this._endpoint, "rpc", _local5, args);
};
_local6._callbacks = {};
_local6._callbacks[0] = [_local6, "_didConnect"];
_local11.st = getTimer();
_local11.loadMovie(_local21 + ".swf", "POST");
return(_local6);
}
static function fetchHighScores(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["fetchHighScores", options];
_local1.doSend(["fetchHighScores", options], callbackObj, callbackMethod);
return(true);
}
static function sendHighScore(options, callbackObj, callbackMethod) {
var _local1 = _loadCommunicator({id:options.id});
if (!_local1) {
return(false);
}
var _local4 = ["sendHighScore", options];
_local1.doSend(["sendHighScore", options], callbackObj, callbackMethod);
return(true);
}
static function load(options) {
var _local13 = {clip:_root, server:"http://x.mochiads.com/srv/1/", method:"load", depth:10333, id:"_UNKNOWN_"};
options = _parseOptions(options, _local13);
options.swfv = options.clip.getSWFVersion() || 6;
options.mav = getVersion();
var _local7 = options.clip;
if (!_isNetworkAvailable()) {
return(null);
}
if (_local7._mochiad_loaded) {
return(null);
}
var _local12 = options.depth;
delete options.depth;
var _local6 = _local7.createEmptyMovieClip("_mochiad", _local12);
var _local11 = _getRes(options);
options.res = (_local11[0] + "x") + _local11[1];
options.server = options.server + options.id;
delete options.id;
_local7._mochiad_loaded = true;
var _local4 = _local6.createEmptyMovieClip("_mochiad_ctr", 1);
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
if (_local7._url.indexOf("http") != 0) {
options.no_page = true;
}
var _local10 = _local4.server;
delete _local4.server;
var _local14 = _allowDomains(_local10);
_local6.onEnterFrame = function () {
if (this._mochiad_ctr._url != this._url) {
this.onEnterFrame = function () {
if (!this._mochiad_ctr) {
delete this.onEnterFrame;
MochiAd.unload(this._parent);
}
};
}
};
var _local5 = new LocalConnection();
var _local9 = ["", Math.floor(new Date().getTime()), random(999999)].join("_");
_local5.mc = _local6;
_local5.name = _local9;
_local5.hostname = _local14;
_local5.allowDomain = function (d) {
return(true);
};
_local5.allowInsecureDomain = _local5.allowDomain;
_local5.connect(_local9);
_local6.lc = _local5;
_local4.lc = _local9;
_local4.st = getTimer();
_local4.loadMovie(_local10 + ".swf", "POST");
return(_local6);
}
static function unload(clip) {
if (typeof(clip) == "undefined") {
clip = _root;
}
if (clip.clip && (clip.clip._mochiad)) {
clip = clip.clip;
}
if (!clip._mochiad) {
return(false);
}
clip._mochiad.removeMovieClip();
delete clip._mochiad_loaded;
delete clip._mochiad;
return(true);
}
static function _isNetworkAvailable() {
if (System.security) {
var _local1 = System.security;
if (_local1.sandboxType == "localWithFile") {
return(false);
}
}
return(true);
}
static function _getRes(options) {
var _local3 = options.clip.getBounds();
var _local2 = 0;
var _local1 = 0;
if (typeof(options.res) != "undefined") {
var _local4 = options.res.split("x");
_local2 = parseFloat(_local4[0]);
_local1 = parseFloat(_local4[1]);
} else {
_local2 = _local3.xMax - _local3.xMin;
_local1 = _local3.yMax - _local3.yMin;
}
if ((_local2 == 0) || (_local1 == 0)) {
_local2 = Stage.width;
_local1 = Stage.height;
}
return([_local2, _local1]);
}
static function _parseOptions(options, defaults) {
var _local4 = {};
for (var _local8 in defaults) {
_local4[_local8] = defaults[_local8];
}
if (options) {
for (var _local8 in options) {
_local4[_local8] = options[_local8];
}
}
if (_root.mochiad_options) {
var _local5 = _root.mochiad_options.split("&");
var _local2 = 0;
while (_local2 < _local5.length) {
var _local3 = _local5[_local2].split("=");
_local4[unescape(_local3[0])] = unescape(_local3[1]);
_local2++;
}
}
return(_local4);
}
}
Symbol 100 MovieClip [__Packages.mx.core.UIObject] Frame 0
class mx.core.UIObject extends MovieClip
{
var _width, _height, _x, _y, _parent, _minHeight, _minWidth, _visible, dispatchEvent, _xscale, _yscale, methodTable, onEnterFrame, tfList, __width, __height, moveTo, lineTo, createTextField, attachMovie, buildDepthTable, findNextAvailableDepth, idNames, childrenCreated, _name, createAccessibilityImplementation, _endInit, validateNow, hasOwnProperty, initProperties, stylecache, className, ignoreClassStyleDeclaration, _tf, fontFamily, fontSize, color, marginLeft, marginRight, fontStyle, fontWeight, textAlign, textIndent, textDecoration, embedFonts, styleName, enabled;
function UIObject () {
super();
constructObject();
}
function get width() {
return(_width);
}
function get height() {
return(_height);
}
function get left() {
return(_x);
}
function get x() {
return(_x);
}
function get top() {
return(_y);
}
function get y() {
return(_y);
}
function get right() {
return(_parent.width - (_x + width));
}
function get bottom() {
return(_parent.height - (_y + height));
}
function getMinHeight(Void) {
return(_minHeight);
}
function setMinHeight(h) {
_minHeight = h;
}
function get minHeight() {
return(getMinHeight());
}
function set minHeight(h) {
setMinHeight(h);
//return(minHeight);
}
function getMinWidth(Void) {
return(_minWidth);
}
function setMinWidth(w) {
_minWidth = w;
}
function get minWidth() {
return(getMinWidth());
}
function set minWidth(w) {
setMinWidth(w);
//return(minWidth);
}
function setVisible(x, noEvent) {
if (x != _visible) {
_visible = x;
if (noEvent != true) {
dispatchEvent({type:(x ? "reveal" : "hide")});
}
}
}
function get visible() {
return(_visible);
}
function set visible(x) {
setVisible(x, false);
//return(visible);
}
function get scaleX() {
return(_xscale);
}
function set scaleX(x) {
_xscale = x;
//return(scaleX);
}
function get scaleY() {
return(_yscale);
}
function set scaleY(y) {
_yscale = y;
//return(scaleY);
}
function doLater(obj, fn) {
if (methodTable == undefined) {
methodTable = new Array();
}
methodTable.push({obj:obj, fn:fn});
onEnterFrame = doLaterDispatcher;
}
function doLaterDispatcher(Void) {
delete onEnterFrame;
if (invalidateFlag) {
redraw();
}
var _local3 = methodTable;
methodTable = new Array();
if (_local3.length > 0) {
var _local2;
while (_local2 = _local3.shift() , _local2 != undefined) {
_local2.obj[_local2.fn]();
}
}
}
function cancelAllDoLaters(Void) {
delete onEnterFrame;
methodTable = new Array();
}
function invalidate(Void) {
invalidateFlag = true;
onEnterFrame = doLaterDispatcher;
}
function invalidateStyle(Void) {
invalidate();
}
function redraw(bAlways) {
if (invalidateFlag || (bAlways)) {
invalidateFlag = false;
var _local2;
for (_local2 in tfList) {
tfList[_local2].draw();
}
draw();
dispatchEvent({type:"draw"});
}
}
function draw(Void) {
}
function move(x, y, noEvent) {
var _local3 = _x;
var _local2 = _y;
_x = x;
_y = y;
if (noEvent != true) {
dispatchEvent({type:"move", oldX:_local3, oldY:_local2});
}
}
function setSize(w, h, noEvent) {
var _local3 = __width;
var _local2 = __height;
__width = w;
__height = h;
size();
if (noEvent != true) {
dispatchEvent({type:"resize", oldWidth:_local3, oldHeight:_local2});
}
}
function size(Void) {
_width = __width;
_height = __height;
}
function drawRect(x1, y1, x2, y2) {
moveTo(x1, y1);
lineTo(x2, y1);
lineTo(x2, y2);
lineTo(x1, y2);
lineTo(x1, y1);
}
function createLabel(name, depth, text) {
createTextField(name, depth, 0, 0, 0, 0);
var _local2 = this[name];
_local2._color = textColorList;
_local2._visible = false;
_local2.__text = text;
if (tfList == undefined) {
tfList = new Object();
}
tfList[name] = _local2;
_local2.invalidateStyle();
invalidate();
_local2.styleName = this;
return(_local2);
}
function createObject(linkageName, id, depth, initobj) {
return(attachMovie(linkageName, id, depth, initobj));
}
function createClassObject(className, id, depth, initobj) {
var _local3 = className.symbolName == undefined;
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className);
}
var _local4 = mx.core.UIObject(createObject(className.symbolOwner.symbolName, id, depth, initobj));
if (_local3) {
Object.registerClass(className.symbolOwner.symbolName, className.symbolOwner);
}
return(_local4);
}
function createEmptyObject(id, depth) {
return(createClassObject(mx.core.UIObject, id, depth));
}
function destroyObject(id) {
var _local2 = this[id];
if (_local2.getDepth() < 0) {
var _local4 = buildDepthTable();
var _local5 = findNextAvailableDepth(0, _local4, "up");
var _local3 = _local5;
_local2.swapDepths(_local3);
}
_local2.removeMovieClip();
delete this[id];
}
function getSkinIDName(tag) {
return(idNames[tag]);
}
function setSkin(tag, linkageName, initObj) {
if (_global.skinRegistry[linkageName] == undefined) {
mx.skins.SkinElement.registerElement(linkageName, mx.skins.SkinElement);
}
return(createObject(linkageName, getSkinIDName(tag), tag, initObj));
}
function createSkin(tag) {
var _local2 = getSkinIDName(tag);
createEmptyObject(_local2, tag);
return(this[_local2]);
}
function createChildren(Void) {
}
function _createChildren(Void) {
createChildren();
childrenCreated = true;
}
function constructObject(Void) {
if (_name == undefined) {
return(undefined);
}
init();
_createChildren();
createAccessibilityImplementation();
_endInit();
if (validateNow) {
redraw(true);
} else {
invalidate();
}
}
function initFromClipParameters(Void) {
var _local4 = false;
var _local2;
for (_local2 in clipParameters) {
if (hasOwnProperty(_local2)) {
_local4 = true;
this["def_" + _local2] = this[_local2];
delete this[_local2];
}
}
if (_local4) {
for (_local2 in clipParameters) {
var _local3 = this["def_" + _local2];
if (_local3 != undefined) {
this[_local2] = _local3;
}
}
}
}
function init(Void) {
__width = _width;
__height = _height;
if (initProperties == undefined) {
initFromClipParameters();
} else {
initProperties();
}
if (_global.cascadingStyles == true) {
stylecache = new Object();
}
}
function getClassStyleDeclaration(Void) {
var _local4 = this;
var _local3 = className;
while (_local3 != undefined) {
if (ignoreClassStyleDeclaration[_local3] == undefined) {
if (_global.styles[_local3] != undefined) {
return(_global.styles[_local3]);
}
}
_local4 = _local4.__proto__;
_local3 = _local4.className;
}
}
function setColor(color) {
}
function __getTextFormat(tf, bAll) {
var _local8 = stylecache.tf;
if (_local8 != undefined) {
var _local3;
for (_local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
tf[_local3] = _local8[_local3];
}
}
}
return(false);
}
var _local6 = false;
for (var _local3 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local3])) {
if (tf[_local3] == undefined) {
var _local5 = _tf[_local3];
if (_local5 != undefined) {
tf[_local3] = _local5;
} else if ((_local3 == "font") && (fontFamily != undefined)) {
tf[_local3] = fontFamily;
} else if ((_local3 == "size") && (fontSize != undefined)) {
tf[_local3] = fontSize;
} else if ((_local3 == "color") && (color != undefined)) {
tf[_local3] = color;
} else if ((_local3 == "leftMargin") && (marginLeft != undefined)) {
tf[_local3] = marginLeft;
} else if ((_local3 == "rightMargin") && (marginRight != undefined)) {
tf[_local3] = marginRight;
} else if ((_local3 == "italic") && (fontStyle != undefined)) {
tf[_local3] = fontStyle == _local3;
} else if ((_local3 == "bold") && (fontWeight != undefined)) {
tf[_local3] = fontWeight == _local3;
} else if ((_local3 == "align") && (textAlign != undefined)) {
tf[_local3] = textAlign;
} else if ((_local3 == "indent") && (textIndent != undefined)) {
tf[_local3] = textIndent;
} else if ((_local3 == "underline") && (textDecoration != undefined)) {
tf[_local3] = textDecoration == _local3;
} else if ((_local3 == "embedFonts") && (embedFonts != undefined)) {
tf[_local3] = embedFonts;
} else {
_local6 = true;
}
}
}
}
if (_local6) {
var _local9 = styleName;
if (_local9 != undefined) {
if (typeof(_local9) != "string") {
_local6 = _local9.__getTextFormat(tf, true, this);
} else if (_global.styles[_local9] != undefined) {
_local6 = _global.styles[_local9].__getTextFormat(tf, true, this);
}
}
}
if (_local6) {
var _local10 = getClassStyleDeclaration();
if (_local10 != undefined) {
_local6 = _local10.__getTextFormat(tf, true, this);
}
}
if (_local6) {
if (_global.cascadingStyles) {
if (_parent != undefined) {
_local6 = _parent.__getTextFormat(tf, false);
}
}
}
if (_local6) {
_local6 = _global.style.__getTextFormat(tf, true, this);
}
return(_local6);
}
function _getTextFormat(Void) {
var _local2 = stylecache.tf;
if (_local2 != undefined) {
return(_local2);
}
_local2 = new TextFormat();
__getTextFormat(_local2, true);
stylecache.tf = _local2;
if (enabled == false) {
var _local3 = getStyle("disabledColor");
_local2.color = _local3;
}
return(_local2);
}
function getStyleName(Void) {
var _local2 = styleName;
if (_local2 != undefined) {
if (typeof(_local2) != "string") {
return(_local2.getStyleName());
}
return(_local2);
}
if (_parent != undefined) {
return(_parent.getStyleName());
}
return(undefined);
}
function getStyle(styleProp) {
var _local3;
_global.getStyleCounter++;
if (this[styleProp] != undefined) {
return(this[styleProp]);
}
var _local6 = styleName;
if (_local6 != undefined) {
if (typeof(_local6) != "string") {
_local3 = _local6.getStyle(styleProp);
} else {
var _local7 = _global.styles[_local6];
_local3 = _local7.getStyle(styleProp);
}
}
if (_local3 != undefined) {
return(_local3);
}
var _local7 = getClassStyleDeclaration();
if (_local7 != undefined) {
_local3 = _local7[styleProp];
}
if (_local3 != undefined) {
return(_local3);
}
if (_global.cascadingStyles) {
if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (mx.styles.StyleManager.isColorStyle(styleProp))) {
var _local5 = stylecache;
if (_local5 != undefined) {
if (_local5[styleProp] != undefined) {
return(_local5[styleProp]);
}
}
if (_parent != undefined) {
_local3 = _parent.getStyle(styleProp);
} else {
_local3 = _global.style[styleProp];
}
if (_local5 != undefined) {
_local5[styleProp] = _local3;
}
return(_local3);
}
}
if (_local3 == undefined) {
_local3 = _global.style[styleProp];
}
return(_local3);
}
static function mergeClipParameters(o, p) {
for (var _local3 in p) {
o[_local3] = p[_local3];
}
return(true);
}
static var symbolName = "UIObject";
static var symbolOwner = mx.core.UIObject;
static var version = "2.0.2.126";
static var textColorList = {color:1, disabledColor:1};
var invalidateFlag = false;
var lineWidth = 1;
var lineColor = 0;
var tabEnabled = false;
var clipParameters = {visible:1, minHeight:1, minWidth:1, maxHeight:1, maxWidth:1, preferredHeight:1, preferredWidth:1};
}
Symbol 101 MovieClip [__Packages.mx.core.UIComponent] Frame 0
class mx.core.UIComponent extends mx.core.UIObject
{
var __width, __height, invalidate, stylecache, removeEventListener, dispatchEvent, drawFocus, addEventListener, _xscale, _yscale, _focusrect, watch, enabled;
function UIComponent () {
super();
}
function get width() {
return(__width);
}
function get height() {
return(__height);
}
function setVisible(x, noEvent) {
super.setVisible(x, noEvent);
}
function enabledChanged(id, oldValue, newValue) {
setEnabled(newValue);
invalidate();
delete stylecache.tf;
return(newValue);
}
function setEnabled(enabled) {
invalidate();
}
function getFocus() {
var selFocus = Selection.getFocus();
return(((selFocus === null) ? null : (eval (selFocus))));
}
function setFocus() {
Selection.setFocus(this);
}
function getFocusManager() {
var _local2 = this;
while (_local2 != undefined) {
if (_local2.focusManager != undefined) {
return(_local2.focusManager);
}
_local2 = _local2._parent;
}
return(undefined);
}
function onKillFocus(newFocus) {
removeEventListener("keyDown", this);
removeEventListener("keyUp", this);
dispatchEvent({type:"focusOut"});
drawFocus(false);
}
function onSetFocus(oldFocus) {
addEventListener("keyDown", this);
addEventListener("keyUp", this);
dispatchEvent({type:"focusIn"});
if (getFocusManager().bDrawFocus != false) {
drawFocus(true);
}
}
function findFocusInChildren(o) {
if (o.focusTextField != undefined) {
return(o.focusTextField);
}
if (o.tabEnabled == true) {
return(o);
}
return(undefined);
}
function findFocusFromObject(o) {
if (o.tabEnabled != true) {
if (o._parent == undefined) {
return(undefined);
}
if (o._parent.tabEnabled == true) {
o = o._parent;
} else if (o._parent.tabChildren) {
o = findFocusInChildren(o._parent);
} else {
o = findFocusFromObject(o._parent);
}
}
return(o);
}
function pressFocus() {
var _local3 = findFocusFromObject(this);
var _local2 = getFocus();
if (_local3 != _local2) {
_local2.drawFocus(false);
if (getFocusManager().bDrawFocus != false) {
_local3.drawFocus(true);
}
}
}
function releaseFocus() {
var _local2 = findFocusFromObject(this);
if (_local2 != getFocus()) {
_local2.setFocus();
}
}
function isParent(o) {
while (o != undefined) {
if (o == this) {
return(true);
}
o = o._parent;
}
return(false);
}
function size() {
}
function init() {
super.init();
_xscale = 100;
_yscale = 100;
_focusrect = _global.useFocusRect == false;
watch("enabled", enabledChanged);
if (enabled == false) {
setEnabled(false);
}
}
function dispatchValueChangedEvent(value) {
dispatchEvent({type:"valueChanged", value:value});
}
static var symbolName = "UIComponent";
static var symbolOwner = mx.core.UIComponent;
static var version = "2.0.2.126";
static var kStretch = 5000;
var focusEnabled = true;
var tabEnabled = true;
var origBorderStyles = {themeColor:16711680};
var clipParameters = {};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.core.UIComponent.prototype.clipParameters, mx.core.UIObject.prototype.clipParameters);
}
Symbol 102 MovieClip [__Packages.Main] Frame 0
class Main extends mx.core.UIComponent
{
static var __parent, _instance, initObj;
var theGame;
function Main (mc) {
super();
__parent = mc;
theGame = __parent;
mc.tabEnabled = false;
}
static function mainGo(mc) {
if (_instance == undefined) {
_instance = new Main(mc);
}
initObj = new Morpheme.Init();
return(_instance);
}
function toString() {
return("Main");
}
function initGame(mc) {
mainGo(mc);
_root.initComplete();
}
function showTitleScreen() {
initObj.startOneFramePause();
}
function showMenuScreen() {
initObj.getAttractObj().init();
}
function toggleSound() {
trace("Main.toggleSound()");
var _local2 = initObj.getGameControllerObj().getSoundHandler();
_local2.toggleVolume();
var _local3 = new Sound(theGame);
_local3.attachSound("sndclickoff");
_local3.setVolume(_local2.getMasterVolume());
}
static function getInstance() {
return(_instance);
}
function getInitInstance() {
return(initObj);
}
function getMainMovie() {
return(__parent);
}
static var symbolName = "PhantomMansion";
static var symbolOwner = Main;
var className = "Main";
}
Symbol 636 MovieClip [__Packages.mx.skins.SkinElement] Frame 0
class mx.skins.SkinElement extends MovieClip
{
var _visible, _x, _y, _width, _height;
function SkinElement () {
super();
}
static function registerElement(name, className) {
Object.registerClass(name, ((className == undefined) ? (mx.skins.SkinElement) : (className)));
_global.skinRegistry[name] = true;
}
function __set__visible(visible) {
_visible = visible;
}
function move(x, y) {
_x = x;
_y = y;
}
function setSize(w, h) {
_width = w;
_height = h;
}
}
Symbol 637 MovieClip [__Packages.mx.styles.CSSTextStyles] Frame 0
class mx.styles.CSSTextStyles
{
function CSSTextStyles () {
}
static function addTextStyles(o, bColor) {
o.addProperty("textAlign", function () {
return(this._tf.align);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.align = x;
});
o.addProperty("fontWeight", function () {
return(((this._tf.bold != undefined) ? ((this._tf.bold ? "bold" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.bold = x == "bold";
});
if (bColor) {
o.addProperty("color", function () {
return(this._tf.color);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.color = x;
});
}
o.addProperty("fontFamily", function () {
return(this._tf.font);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.font = x;
});
o.addProperty("textIndent", function () {
return(this._tf.indent);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.indent = x;
});
o.addProperty("fontStyle", function () {
return(((this._tf.italic != undefined) ? ((this._tf.italic ? "italic" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.italic = x == "italic";
});
o.addProperty("marginLeft", function () {
return(this._tf.leftMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.leftMargin = x;
});
o.addProperty("marginRight", function () {
return(this._tf.rightMargin);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.rightMargin = x;
});
o.addProperty("fontSize", function () {
return(this._tf.size);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.size = x;
});
o.addProperty("textDecoration", function () {
return(((this._tf.underline != undefined) ? ((this._tf.underline ? "underline" : "none")) : undefined));
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.underline = x == "underline";
});
o.addProperty("embedFonts", function () {
return(this._tf.embedFonts);
}, function (x) {
if (this._tf == undefined) {
this._tf = new TextFormat();
}
this._tf.embedFonts = x;
});
}
}
Symbol 638 MovieClip [__Packages.mx.styles.StyleManager] Frame 0
class mx.styles.StyleManager
{
function StyleManager () {
}
static function registerInheritingStyle(styleName) {
inheritingStyles[styleName] = true;
}
static function isInheritingStyle(styleName) {
return(inheritingStyles[styleName] == true);
}
static function registerColorStyle(styleName) {
colorStyles[styleName] = true;
}
static function isColorStyle(styleName) {
return(colorStyles[styleName] == true);
}
static function registerColorName(colorName, colorValue) {
colorNames[colorName] = colorValue;
}
static function isColorName(colorName) {
return(colorNames[colorName] != undefined);
}
static function getColorName(colorName) {
return(colorNames[colorName]);
}
static var inheritingStyles = {color:true, direction:true, fontFamily:true, fontSize:true, fontStyle:true, fontWeight:true, textAlign:true, textIndent:true};
static var colorStyles = {barColor:true, trackColor:true, borderColor:true, buttonColor:true, color:true, dateHeaderColor:true, dateRollOverColor:true, disabledColor:true, fillColor:true, highlightColor:true, scrollTrackColor:true, selectedDateColor:true, shadowColor:true, strokeColor:true, symbolBackgroundColor:true, symbolBackgroundDisabledColor:true, symbolBackgroundPressedColor:true, symbolColor:true, symbolDisabledColor:true, themeColor:true, todayIndicatorColor:true, shadowCapColor:true, borderCapColor:true, focusColor:true};
static var colorNames = {black:0, white:16777215, red:16711680, green:65280, blue:255, magenta:16711935, yellow:16776960, cyan:65535, haloGreen:8453965, haloBlue:2881013, haloOrange:16761344};
static var TextFormatStyleProps = {font:true, size:true, color:true, leftMargin:false, rightMargin:false, italic:true, bold:true, align:true, indent:true, underline:false, embedFonts:false};
static var TextStyleMap = {textAlign:true, fontWeight:true, color:true, fontFamily:true, textIndent:true, fontStyle:true, lineHeight:true, marginLeft:true, marginRight:true, fontSize:true, textDecoration:true, embedFonts:true};
}
Symbol 639 MovieClip [__Packages.mx.styles.CSSStyleDeclaration] Frame 0
class mx.styles.CSSStyleDeclaration
{
var _tf;
function CSSStyleDeclaration () {
}
function __getTextFormat(tf, bAll) {
var _local5 = false;
if (_tf != undefined) {
var _local2;
for (_local2 in mx.styles.StyleManager.TextFormatStyleProps) {
if (bAll || (mx.styles.StyleManager.TextFormatStyleProps[_local2])) {
if (tf[_local2] == undefined) {
var _local3 = _tf[_local2];
if (_local3 != undefined) {
tf[_local2] = _local3;
} else {
_local5 = true;
}
}
}
}
} else {
_local5 = true;
}
return(_local5);
}
function getStyle(styleProp) {
var _local2 = this[styleProp];
var _local3 = mx.styles.StyleManager.getColorName(_local2);
return(((_local3 == undefined) ? (_local2) : (_local3)));
}
static function classConstruct() {
mx.styles.CSSTextStyles.addTextStyles(mx.styles.CSSStyleDeclaration.prototype, true);
return(true);
}
static var classConstructed = classConstruct();
static var CSSTextStylesDependency = mx.styles.CSSTextStyles;
}
Symbol 640 MovieClip [__Packages.gamingyourway.scrollerEngine.Joseph] Frame 0
class gamingyourway.scrollerEngine.Joseph
{
var tilesAlreadyCut, startXPos, startYPos, mapXPos, mapYPos, actualMapXPos, visAreaX, actualMapYPos, visAreaY, xdiff, ydiff, tileWidth, containerOriginalPos, container, tileHeight, tileBitmapStorage, tileSheetBitMap, speed, windowHeight, windowWidth, baseDepth, map, mapWidth, mapHeight;
function Joseph () {
tilesAlreadyCut = false;
}
function toString() {
return("Joseph");
}
function init() {
if (startXPos == undefined) {
startXPos = (startYPos = (mapXPos = (mapYPos = 0)));
}
actualMapXPos = startXPos + (visAreaX + 1);
actualMapYPos = startYPos + (visAreaY + 1);
xdiff = (ydiff = 0);
if (tilesAlreadyCut == false) {
tilesAlreadyCut = true;
cutUpTiles();
}
cls();
mapPlotter(new flash.geom.Point(startXPos, startYPos));
}
function reset() {
container._x = containerOriginalPos.x - (startXPos * tileWidth);
container._y = containerOriginalPos.y - (startYPos * tileHeight);
actualMapXPos = startXPos + (visAreaX + 1);
actualMapYPos = startYPos + (visAreaY + 1);
xdiff = (ydiff = 0);
mapXPos = startXPos;
mapYPos = startYPos;
}
function reposition(destPos) {
mapXPos = destPos.x;
mapYPos = destPos.y;
actualMapXPos = mapXPos + (visAreaX + 1);
actualMapYPos = mapYPos + (visAreaY + 1);
container._x = containerOriginalPos.x - (mapXPos * tileWidth);
container._y = containerOriginalPos.y - (mapYPos * tileHeight);
xdiff = (ydiff = 0);
cls();
mapPlotter(destPos);
}
function cutUpTiles() {
tileBitmapStorage = new Array();
var _local2 = -tileWidth;
var _local4 = -tileHeight;
var _local7 = tileSheetBitMap.height - tileHeight;
var _local6 = tileSheetBitMap.width - tileWidth;
var _local3;
var _local5 = new flash.geom.Point(0, 0);
while (_local4 != _local7) {
_local4 = _local4 + tileHeight;
_local2 = -tileWidth;
while (_local2 != _local6) {
_local2 = _local2 + tileWidth;
_local3 = new flash.display.BitmapData(tileWidth, tileHeight, true, 0);
_local3.copyPixels(tileSheetBitMap, new flash.geom.Rectangle(_local2, _local4, tileWidth, tileHeight), _local5);
tileBitmapStorage.push(_local3);
}
}
}
function disposeTileSheetBitmap() {
tileSheetBitMap.dispose();
}
function alterTile(tileNumber, pos) {
var _local2 = (("t_" + pos.x) + "_") + pos.y;
container[_local2].attachBitmap(tileBitmapStorage[tileNumber], 1);
container[_local2]._visible = true;
}
function getSpeed() {
return(speed);
}
function getTileSheet() {
return(tileSheetBitMap);
}
function getMapTopLeftXPos() {
return(mapXPos - (visAreaX + 1));
}
function getMapTopLeftYPos() {
return(mapYPos - (visAreaY + 1));
}
function getMapXPos() {
return(mapXPos);
}
function getMapYPos() {
return(mapYPos);
}
function setAll(setUp) {
setTileHeight(setUp.tileHeight);
setTileWidth(setUp.tileWidth);
setVisAreaX(setUp.visAreaX);
setVisAreaY(setUp.visAreaY);
setContainer(setUp.container);
setSpeed(setUp.speed);
setMap(setUp.mapData);
setStartPositon(setUp.startPos);
setTileSheet(setUp.tileSheet);
}
function setStartPositon(pos) {
if (pos == undefined) {
startXPos = (startYPos = (mapXPos = (mapYPos = 0)));
} else {
startXPos = (mapXPos = pos.x);
startYPos = (mapYPos = pos.y);
if (container != undefined) {
if (tileWidth != undefined) {
container._x = containerOriginalPos.x - (startXPos * tileWidth);
container._y = containerOriginalPos.y - (startYPos * tileHeight);
}
}
}
}
function setTileSheet(bitmap) {
tileSheetBitMap = bitmap;
}
function setTileHeight(tHeight) {
tileHeight = tHeight;
if (visAreaY != null) {
windowHeight = visAreaY * tileHeight;
}
}
function setTileWidth(tWidth) {
tileWidth = tWidth;
if (visAreaX != null) {
windowWidth = visAreaX * tileWidth;
}
}
function setVisAreaX(vX) {
visAreaX = vX;
if (tileWidth != null) {
windowWidth = visAreaX * tileWidth;
}
}
function setVisAreaY(vY) {
visAreaY = vY;
}
function setContainer(mc) {
container = mc;
baseDepth = container.getNextHighestDepth();
if (containerOriginalPos == undefined) {
containerOriginalPos = new flash.geom.Point(mc._x, mc._y);
}
}
function setSpeed(spd) {
speed = spd;
}
function setMap(mapData) {
map = mapData;
mapWidth = map[0].length;
mapHeight = map.length;
}
function scrollRight() {
container._x = container._x - speed;
xdiff = xdiff - (-speed);
if (xdiff >= tileWidth) {
var _local9 = (mapXPos - visAreaX) - 1;
var _local3 = (mapYPos - visAreaY) - 1;
var _local6 = mapXPos * tileWidth;
var _local5 = ("t_" + mapXPos) + "_";
var _local8 = ("t_" + _local9) + "_";
var _local2;
var _local4;
var _local7 = visAreaY + 1;
while (_local7--) {
_local2 = container[_local8 + _local3];
_local2._x = _local6;
_local2._name = _local5 + _local3;
_local4 = map[_local3++][mapXPos][0] - 1;
if (_local4 == -1) {
_local2._visible = false;
} else {
_local2._visible = true;
_local2.attachBitmap(tileBitmapStorage[_local4], 1);
}
}
mapXPos++;
xdiff = xdiff - tileWidth;
}
}
function scrollLeft() {
container._x = container._x - (-speed);
xdiff = xdiff - speed;
if (xdiff <= 0) {
mapXPos--;
var _local5 = (mapXPos - visAreaX) - 1;
var _local3 = (mapYPos - visAreaY) - 1;
var _local7 = _local5 * tileWidth;
var _local6 = ("t_" + _local5) + "_";
var _local9 = ("t_" + mapXPos) + "_";
var _local2;
var _local4;
var _local8 = visAreaY + 1;
while (_local8--) {
_local2 = container[_local9 + _local3];
_local2._x = _local7;
_local2._name = _local6 + _local3;
_local4 = map[_local3++][_local5][0] - 1;
if (_local4 == -1) {
_local2._visible = false;
} else {
_local2._visible = true;
_local2.attachBitmap(tileBitmapStorage[_local4], 1);
}
}
xdiff = xdiff + tileWidth;
}
}
function scrollDown() {
container._y = container._y - speed;
ydiff = ydiff - (-speed);
if (ydiff >= tileHeight) {
var _local3 = (mapXPos - visAreaX) - 1;
var _local9 = (mapYPos - visAreaY) - 1;
var _local6 = mapYPos * tileWidth;
var _local5 = "_" + mapYPos;
var _local8 = "_" + _local9;
var _local2;
var _local4;
var _local7 = visAreaX + 1;
while (_local7--) {
_local2 = container[("t_" + _local3) + _local8];
_local2._y = _local6;
_local2._name = ("t_" + _local3) + _local5;
_local4 = map[mapYPos][_local3++][0] - 1;
if (_local4 == -1) {
_local2._visible = false;
} else {
_local2._visible = true;
_local2.attachBitmap(tileBitmapStorage[_local4], 1);
}
}
mapYPos++;
ydiff = ydiff - tileHeight;
}
}
function scrollUp() {
container._y = container._y - (-speed);
ydiff = ydiff - speed;
if (ydiff <= 0) {
mapYPos--;
var _local3 = (mapXPos - visAreaX) - 1;
var _local5 = (mapYPos - visAreaY) - 1;
var _local7 = _local5 * tileWidth;
var _local6 = "_" + _local5;
var _local9 = "_" + mapYPos;
var _local2;
var _local4;
var _local8 = visAreaX + 1;
while (_local8--) {
_local2 = container[("t_" + _local3) + _local9];
_local2._y = _local7;
_local2._name = ("t_" + _local3) + _local6;
_local4 = map[_local5][_local3++][0] - 1;
if (_local4 == -1) {
_local2._visible = false;
} else {
_local2._visible = true;
_local2.attachBitmap(tileBitmapStorage[_local4], 1);
}
}
ydiff = ydiff + tileHeight;
}
}
function mapPlotter(destPos) {
var _local4 = positionMap(destPos.x, mapWidth, visAreaX, 0);
var _local6 = positionMap(destPos.y, mapHeight, visAreaY, 1);
var _local5 = baseDepth;
var _local2;
var _local3;
mapYPos = _local6;
while (mapYPos < ((_local6 + visAreaY) + 1)) {
mapXPos = _local4;
while (mapXPos < ((_local4 + visAreaX) + 1)) {
_local2 = container.createEmptyMovieClip((("t_" + mapXPos) + "_") + mapYPos, _local5++);
_local2._x = mapXPos * tileWidth;
_local2._y = mapYPos * tileHeight;
_local2.tileFlag = true;
_local3 = map[mapYPos][mapXPos][0] - 1;
if (_local3 == -1) {
_local2._visible = false;
} else {
_local2._visible = true;
_local2.attachBitmap(tileBitmapStorage[_local3], 1);
}
mapXPos++;
}
mapYPos++;
}
}
function positionMap(buildFrom, mapSize, visibleArea, arrayPos) {
if (mapSize <= visibleArea) {
return(0);
}
var _local1 = buildFrom + visibleArea;
while (_local1 > mapSize) {
_local1--;
}
return(_local1 - visibleArea);
}
function cls() {
var _local2;
var _local3;
for (_local3 in container) {
if (typeof(container[_local3]) == "movieclip") {
_local2 = container[_local3];
if (_local2.tileFlag == true) {
_local2.removeMovieClip();
}
}
}
}
}
Symbol 641 MovieClip [__Packages.Morpheme.GameController] Frame 0
class Morpheme.GameController
{
var main, mainMovie, scroller, scroller2, hudObj, bestTimeHandler, master, player, levelHandler, objectHandler, overlayHandler, flamesHandler, baddieHandler, soundHandler, rumbleHandler, pip, globalSkulls, music, openGatewayFlag, completedLevelsArray, skulls, thisLevelsSkulls;
function GameController () {
}
function toString() {
return("GameController");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
scroller = new gamingyourway.scrollerEngine.Joseph();
scroller2 = new gamingyourway.scrollerEngine.Joseph();
hudObj = new Morpheme.HUD();
hudObj.oneShot();
hudObj.emptyTimerAndBest();
bestTimeHandler = new Morpheme.IO.BestTimeHandler();
bestTimeHandler.oneShot();
master = new Morpheme.Master();
player = new Morpheme.Player();
player.oneShot();
levelHandler = new Morpheme.LevelHandler();
levelHandler.oneShot();
objectHandler = new Morpheme.Objects.ObjectHandler();
objectHandler.oneShot();
overlayHandler = new Morpheme.OverlayHandler();
overlayHandler.oneShot();
flamesHandler = new Morpheme.Objects.FlamesHandler();
flamesHandler.oneShot();
baddieHandler = new Morpheme.Baddies.BaddieHandler();
baddieHandler.oneShot();
soundHandler = new gamingyourway.common.SoundHandler();
rumbleHandler = new gamingyourway.common.Rumble();
rumbleHandler.setBlur(false);
rumbleHandler.setDuration(5);
pip = new Morpheme.PiP();
pip.oneShot();
}
function parseXML() {
levelHandler.parseXML();
bestTimeHandler.populateTable(levelHandler.getLevelStorage());
}
function startGame() {
if (globalSkulls == undefined) {
globalSkulls = 1;
}
level = 1;
player.clearLobbyPositions();
music = soundHandler.createSoundAndMC(mainMovie, "sndmusic");
soundHandler.loopSound(music);
soundHandler.setDefaultVolume(music, 0);
soundHandler.fadeSoundIn(music, 5);
overlayHandler.displayLobbyScrollWhenLoading();
mainMovie.infoBar.linkButton.onPress = function () {
getURL ("http://www.gimme5games.com/index.jsp?id=pm_hub", "_blank");
};
levelHandler.loadLevel();
openGatewayFlag = false;
main.getInitInstance().getAttractObj().killAttractMode();
}
function continueGame() {
player.init();
levelHandler.init();
flamesHandler.init();
objectHandler.init();
baddieHandler.init();
overlayHandler.removeOverlay();
overlayHandler.fadeDownGrabbedScreenInit();
master.mainLoopInit();
}
function levelComplete() {
if (completedLevelsArray == undefined) {
completedLevelsArray = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
completedLevelsArray[level - 2] = 1;
bestTimeHandler.saveGame(completedLevelsArray, globalSkulls);
bestTimeHandler.testForNewBestTime(levelHandler.getLevelName(), master.getTime());
level = 1;
levelChanged();
}
function levelChanged() {
if (level != 1) {
overlayHandler.displayLevelName();
houseKeeping();
levelHandler.loadLevel();
} else {
if (mainMovie.grabHolder == undefined) {
overlayHandler.grabScreen();
}
houseKeeping();
if (mainMovie.grabHolder == undefined) {
overlayHandler.fadeDownGrabbedScreenInit();
}
hudObj.emptyTimerAndBest();
continueGame();
}
}
function gameComplete() {
if (completedLevelsArray == undefined) {
completedLevelsArray = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
completedLevelsArray[level - 2] = 1;
bestTimeHandler.saveGame(completedLevelsArray, globalSkulls);
bestTimeHandler.testForNewBestTime(levelHandler.getLevelName(), master.getTime());
delete mainMovie.infoBar.linkButton.onPress;
baddieHandler.pauseAllAnims();
soundHandler.fadeSoundOut(music, 2);
player.gameComplete();
master.gameCompleteInit();
}
function skullCollected() {
if (completedLevelsArray[level - 2] != 1) {
globalSkulls++;
}
if ((--skulls) == 0) {
hudObj.updateSkulls(skulls);
openGatewayFlag = true;
panCameraInit(levelHandler.getGateWayPos());
return(true);
}
hudObj.updateSkulls(skulls);
objectHandler.skullDoorCheck();
}
function playerDead() {
houseKeeping();
resetLevel();
}
function resetLevel() {
resetNumberOfCollectedSkulls();
levelHandler.resetLevel();
continueGame();
}
function resetNumberOfCollectedSkulls() {
globalSkulls = globalSkulls - (thisLevelsSkulls - skulls);
}
function houseKeeping() {
master.houseKeeping();
player.houseKeeping();
baddieHandler.houseKeeping();
objectHandler.houseKeeping();
flamesHandler.houseKeeping();
openGatewayFlag = false;
}
function rumbleScreen() {
if (mainMovie.grabHolder == undefined) {
overlayHandler.grabScreen();
rumbleHandler.setTargetMC(mainMovie.grabHolder);
rumbleHandler.startRumble();
}
}
function gameLoaded(completedLevelsArrayArg, globalSkullsArg) {
completedLevelsArray = new Array();
var _local3 = completedLevelsArrayArg.length;
var _local2 = -1;
while (_local2++ , _local2 != _local3) {
completedLevelsArray.push(completedLevelsArrayArg[_local2]);
}
globalSkulls = globalSkullsArg;
}
function panCameraInit(destPos) {
var _local3 = false;
var _local5 = scroller.getMapTopLeftXPos();
if (_local5 < destPos.x) {
if ((_local5 + 13) > destPos.x) {
var _local4 = scroller.getMapTopLeftYPos();
if (_local4 < destPos.y) {
if ((_local4 + 13) > destPos.y) {
_local3 = true;
}
}
}
}
if (_local3 == true) {
if (openGatewayFlag == true) {
levelHandler.openGateWay();
}
return(undefined);
}
pip.init(destPos, 0, "exit");
}
function repositionScroller(destPos) {
var _local5 = getLevelHandler().getLevelObject();
var _local6 = _local5.parsedMap[0].length;
var _local7 = _local5.parsedMap.length;
var _local2 = destPos.x - 6;
if (_local2 < 0) {
_local2 = 0;
} else if ((_local2 + 13) > _local6) {
var _local9 = Math.abs(_local6 - (_local2 + 13));
_local2 = _local2 - _local9;
if (_local2 < 0) {
_local2 = 0;
}
}
var _local3 = destPos.y - 6;
if (_local3 < 0) {
_local3 = 0;
} else if ((_local3 + 13) > _local7) {
var _local8 = Math.abs(_local7 - (_local3 + 13));
_local3 = _local3 - _local8;
}
var _local4 = new flash.geom.Point(_local2, _local3);
scroller.reposition(_local4);
scroller2.reposition(_local4);
mainMovie.playField3._x = mainMovie.playField._x;
mainMovie.playField3._y = mainMovie.playField._y;
}
function getPlayer() {
return(player);
}
function getScroller() {
return(scroller);
}
function getScroller2() {
return(scroller2);
}
function getLevelHandler() {
return(levelHandler);
}
function getObjectHandler() {
return(objectHandler);
}
function getLevel() {
return(level);
}
function getSkulls() {
return(skulls);
}
function getGlobalSkulls() {
return(globalSkulls);
}
function getBaddieHandler() {
return(baddieHandler);
}
function getHUD() {
return(hudObj);
}
function getOverlayHandler() {
return(overlayHandler);
}
function getMaster() {
return(master);
}
function getSoundHandler() {
return(soundHandler);
}
function getBestTimeHandler() {
return(bestTimeHandler);
}
function getPiP() {
return(pip);
}
function getCompletedLevelFlag(offset) {
return(completedLevelsArray[offset]);
}
function setSkulls(arg) {
skulls = arg;
thisLevelsSkulls = arg;
}
function setLevel(arg) {
level = arg;
}
var level = 1;
}
Symbol 642 MovieClip [__Packages.Morpheme.Player] Frame 0
class Morpheme.Player
{
var speed, moveDelayCnt, main, mainMovie, gameController, objectHandler, scroller, scroller2, levelHandler, hudObj, eventHandler, sprite, spriteTop, playField3, soundHandler, doorCreakSFX, sighSFX, warp1SFX, warp2SFX, falldownSFX, fallingtodeathSFX, unlockDoorSFX, woodsplinterSFX, dieSFX, fightSFX, prevDir, moveCnt, staticCnt, modeLeft, modeRight, modeUp, modeDown, pushingFlag, playerKilledFlag, crackQueue, inventory, cantMove_up, cantMove_down, cantMove_left, cantMove_right, teleportingToATileFlag, carryingLantern, cameraPanning, zdepth, level, inputFunc, teleportDoorMask, playerMapXPos, playerMapYPos, animFrame, stolenBooty, gnome, slidingFlag, stillSlidingFlag, key_left, key_right, key_up, key_down, map, oldAttribute, mapWidth, mapHeight, map2, playerLobbyXPos, playerLobbyYPos, previousPos, lanternTile, lanternTileUp, lanternTileDown, lanternTileLeft, lanternTileRight, startX, startY, oldMapXPos, oldMapYPos;
function Player () {
speed = 4;
moveDelayCnt = 0;
}
function toString() {
return("Player");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
}
function init() {
if (gameController == undefined) {
gameController = main.getInitInstance().getGameControllerObj();
objectHandler = gameController.getObjectHandler();
scroller = gameController.getScroller();
scroller2 = gameController.getScroller2();
levelHandler = gameController.getLevelHandler();
hudObj = gameController.getHUD();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
sprite = mainMovie.player;
spriteTop = mainMovie.playerTop;
playField3 = mainMovie.playField3;
soundHandler = gameController.getSoundHandler();
doorCreakSFX = soundHandler.createSound(sprite, "snddoorCreak");
sighSFX = soundHandler.createSound(sprite, "sndsigh");
warp1SFX = soundHandler.createSound(sprite, "sndwarp1");
warp2SFX = soundHandler.createSound(sprite, "sndwarp2");
falldownSFX = soundHandler.createSound(sprite, "sndfalldown");
fallingtodeathSFX = soundHandler.createSound(sprite, "sndfallingtodeath");
unlockDoorSFX = soundHandler.createSound(sprite, "sndunlockDoor");
woodsplinterSFX = soundHandler.createSound(sprite, "sndwoodsplinter");
dieSFX = soundHandler.createSound(sprite, "snddie");
fightSFX = soundHandler.createSound(sprite, "sndfight");
}
prevDir = null;
moveCnt = (staticCnt = 0);
modeLeft = (modeRight = (modeUp = (modeDown = "Walking")));
pushingFlag = false;
playerKilledFlag = false;
crackQueue = new Array();
inventory = new Array();
cantMove_up = false;
cantMove_down = false;
cantMove_left = false;
cantMove_right = false;
teleportingToATileFlag = false;
carryingLantern = false;
cameraPanning = false;
zdepth = 0;
level = gameController.getLevel();
sprite._visible = true;
cured();
inputFunc = pausePlayerMovement;
}
function mainloop() {
inputFunc();
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndStop(sprite.anim._currentframe);
mainMovie.debugText.text = ("_x: " + sprite._x) + newline;
mainMovie.debugText.text = mainMovie.debugText.text + (("_y: " + sprite._x) + newline);
}
function houseKeeping() {
inputFunc = null;
sprite._visible = false;
sprite.anim.gotoAndStop(sprite.anim._currentframe);
spriteTop._visible = false;
spriteTop.anim.gotoAndStop(spriteTop.anim._currentframe);
teleportDoorMask.removeMovieClip();
hudObj.houseKeeping();
}
function teleportingBack() {
sprite._x = (32 * playerMapXPos) + mainMovie.playField._x;
sprite._y = (32 * playerMapYPos) + mainMovie.playField._y;
if (teleportingToATileFlag == false) {
teleportDoorMask = mainMovie.attachMovie("teleportDoorMask", "teleportDoorMask", mainMovie.getNextHighestDepth());
teleportDoorMask._x = sprite._x;
teleportDoorMask._y = sprite._y;
sprite.setMask(teleportDoorMask);
}
soundHandler.playSound(warp2SFX);
animFrame = anim_teleportingIn;
sprite.gotoAndStop(animFrame);
inputFunc = waitingForTeleportInAnimToEnd;
}
function repositionAfterAPan() {
sprite._x = (32 * playerMapXPos) + mainMovie.playField._x;
sprite._y = (32 * playerMapYPos) + mainMovie.playField._y;
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
}
function punchUpWithGnome(stealingFlag, gnomeArg) {
var _local2 = -1;
var _local3;
if (stealingFlag == true) {
hudObj.clearKeys();
stolenBooty = new Array();
_local3 = inventory.length;
while (_local2++ , _local2 != _local3) {
stolenBooty[_local2] = inventory[_local2];
}
inventory = new Array();
} else {
_local3 = stolenBooty.length;
while (_local2++ , _local2 != _local3) {
inventory.push(stolenBooty[_local2]);
hudObj.updateInventoryHUD(stolenBooty[_local2]);
}
}
soundHandler.playSound(fightSFX);
animFrame = anim_punchUp;
sprite.gotoAndStop(animFrame);
gnome = gnomeArg;
inputFunc = waitingForFightToFinish;
}
function cured() {
resetKeys();
slidingFlag = (stillSlidingFlag = false);
}
function sliding() {
slidingFlag = (stillSlidingFlag = true);
}
function pissedKeys() {
key_left = 39;
key_right = 37;
key_up = 40;
key_down = 38;
}
function resetKeys() {
key_left = 37;
key_right = 39;
key_up = 38;
key_down = 40;
}
function killed() {
playerKilledFlag = true;
animFrame = anim_killed;
sprite.gotoAndStop(animFrame);
soundHandler.playSound(dieSFX);
inputFunc = waitingForFallToFinish;
}
function gameComplete() {
animFrame = anim_teleportingOut;
spriteTop._visible = false;
sprite.gotoAndStop(animFrame);
soundHandler.playSound(warp1SFX);
}
function crateBeingPushed(posPoint) {
if (moveCnt == 0) {
return(undefined);
}
var _local2 = new flash.geom.Point(playerMapXPos, playerMapYPos);
if (prevDir == "Left") {
_local2.x--;
} else if (prevDir == "Right") {
_local2.x++;
} else if (prevDir == "Up") {
_local2.y--;
} else if (prevDir == "Down") {
_local2.y++;
}
if ((_local2.x == posPoint.x) && (_local2.y == posPoint.y)) {
inputFunc = cratePushingPlayerBack;
moveCnt = 32 - moveCnt;
if (prevDir == "Left") {
updatePushingAnimationLeft();
} else if (prevDir == "Right") {
updatePushingAnimationRight();
} else if (prevDir == "Up") {
updatePushingAnimationUp();
} else if (prevDir == "Down") {
updatePushingAnimationDown();
}
}
}
function cratePushingPlayerBack() {
if (prevDir == "pushingLeft") {
if (sprite._x < ((32 * playerMapXPos) + mainMovie.playField._x)) {
sprite._x = sprite._x + speed;
}
} else if (prevDir == "pushingRight") {
if (sprite._x > ((32 * playerMapXPos) + mainMovie.playField._x)) {
sprite._x = sprite._x - speed;
}
} else if (prevDir == "pushingUp") {
if (sprite._y < ((32 * playerMapYPos) + mainMovie.playField._y)) {
sprite._y = sprite._y + speed;
}
} else if (prevDir == "pushingDown") {
if (sprite._y > ((32 * playerMapYPos) + mainMovie.playField._y)) {
sprite._y = sprite._y - speed;
}
}
if ((--moveCnt) == 0) {
sprite._x = (32 * playerMapXPos) + mainMovie.playField._x;
sprite._y = (32 * playerMapYPos) + mainMovie.playField._y;
inputFunc = playerInput;
}
}
function restoreOldAttribute() {
var _local2 = map[playerMapYPos][playerMapXPos][1];
if ((_local2 == 6) || (_local2 == 4)) {
if ((carryingLantern == true) && (oldAttribute == 4)) {
} else {
if (animFrame == anim_falling) {
return(undefined);
}
if (map[playerMapYPos][playerMapXPos][0] == 22) {
inputFunc = waitingForFallToFinish;
animFrame = anim_falling;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
soundHandler.playSound(fallingtodeathSFX);
}
}
}
}
function getSpeed() {
return(speed);
}
function getSprite() {
return(sprite);
}
function getPlayersMapPosition() {
return(new flash.geom.Point(playerMapXPos, playerMapYPos));
}
function getPlayersStatus() {
return(playerKilledFlag);
}
function getZdepth() {
return(zdepth);
}
function setMapProperties(arg) {
mapWidth = arg.x;
mapHeight = arg.y;
}
function setMap(arg) {
map = arg;
}
function setMap2(arg) {
map2 = arg;
}
function clearLobbyPositions() {
playerLobbyXPos = (playerLobbyYPos = 0);
}
function addToInventory(arg) {
inventory.push(arg);
hudObj.updateInventoryHUD(arg);
}
function lanterCollected() {
carryingLantern = true;
previousPos = new flash.geom.Point(playerMapXPos, playerMapYPos);
lanternTile = map[playerMapYPos][playerMapXPos][1];
lanternTileUp = map[playerMapYPos - 1][playerMapXPos][1];
lanternTileDown = map[playerMapYPos + 1][playerMapXPos][1];
lanternTileLeft = map[playerMapYPos][playerMapXPos - 1][1];
lanternTileRight = map[playerMapYPos][playerMapXPos + 1][1];
}
function setPlayersPosition() {
var _local7 = levelHandler.getLevelObject();
var _local5 = _local7.objectsList;
var _local3;
var _local2;
var _local4 = -1;
var _local6 = _local5.length;
while (_local4++ , _local4 != _local6) {
_local3 = _local5[_local4];
_local2 = _local3.value;
if (_local2 == 15) {
animFrame = anim_static;
break;
}
if (_local2 == 16) {
animFrame = anim_right;
break;
}
if (_local2 == 17) {
animFrame = anim_down;
break;
}
if (_local2 == 18) {
animFrame = anim_left;
break;
}
}
main.getInitInstance().getGameControllerObj().setSkulls(_local3.id);
hudObj.updateSkulls(_local3.id);
if (level == 1) {
if (playerLobbyXPos != 0) {
startX = playerLobbyXPos;
startY = playerLobbyYPos;
} else {
startX = _local3.pos.x;
startY = _local3.pos.y;
}
} else {
startX = _local3.pos.x;
startY = _local3.pos.y;
}
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndStop(sprite.anim._totalframes);
oldMapXPos = (playerMapXPos = startX);
oldMapYPos = (playerMapYPos = startY);
oldAttribute = map[playerMapYPos][playerMapXPos][1];
map[playerMapYPos][playerMapXPos][1] = 5;
calculateMovementMode();
}
function setPlayerSpriteXYPos() {
sprite._x = (32 * startX) + mainMovie.playField._x;
sprite._y = (32 * startY) + mainMovie.playField._y;
setMovementMode();
}
function updateCracks() {
var _local6 = crackQueue.length;
if (_local6 == 0) {
return(undefined);
}
soundHandler.playSound(woodsplinterSFX);
var _local5;
var _local4;
var _local2;
var _local3 = -1;
while (_local3++ , _local3 != _local6) {
_local5 = crackQueue[_local3];
_local4 = _local5.frame;
_local2 = _local5.pos;
if (map[_local2.y][_local2.x][1] != 96) {
if (map[_local2.y][_local2.x][0] == 18) {
crackQueue.splice(_local3, 1);
}
if (_local4 == 2) {
map[_local2.y][_local2.x][0] = 21;
map[_local2.y][_local2.x][1] = 3;
scroller.alterTile(20, _local2);
crackQueue.splice(_local3, 1);
} else if (_local4 == 3) {
map[_local2.y][_local2.x][0] = 22;
scroller.alterTile(21, _local2);
map[_local2.y][_local2.x][1] = 6;
crackQueue.splice(_local3, 1);
}
}
}
}
function waitingForFallToFinish() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
inputFunc = null;
gameController.playerDead();
}
}
function pausePlayerMovement() {
if ((--moveDelayCnt) <= 0) {
inputFunc = playerInput;
}
}
function playerInput() {
if (cameraPanning == true) {
return(undefined);
}
if (slidingFlag == true) {
if (stillSlidingFlag == true) {
if ((prevDir == "Left") || (prevDir == "pushingLeft")) {
moveLeft();
} else if ((prevDir == "Right") || (prevDir == "pushingRight")) {
moveRight();
} else if ((prevDir == "Up") || (prevDir == "pushingUp")) {
moveUp();
} else if ((prevDir == "Down") || (prevDir == "pushingDown")) {
moveDown();
}
return(undefined);
}
}
var _local2 = false;
if (inkey(key_left)) {
moveLeft();
_local2 = true;
} else if (inkey(key_right)) {
moveRight();
_local2 = true;
} else if (inkey(key_up)) {
moveUp();
_local2 = true;
} else if (inkey(key_down)) {
moveDown();
_local2 = true;
}
if (_local2 == false) {
if (pushingFlag == true) {
pushingFlag = false;
if (prevDir == "pushingUp") {
animFrame = anim_up;
} else if (prevDir == "pushingDown") {
animFrame = anim_down;
} else if (prevDir == "pushingLeft") {
animFrame = anim_left;
} else if (prevDir == "pushingRight") {
animFrame = anim_right;
}
}
if (slidingFlag != true) {
prevDir = null;
}
if ((++staticCnt) == 124) {
staticCnt = 0;
if (animFrame != anim_static) {
animFrame = anim_static;
sprite.gotoAndStop(animFrame);
}
sprite.anim.gotoAndPlay(1);
} else if (animFrame != anim_static) {
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
} else {
staticCnt = 0;
stillSlidingFlag = true;
}
}
function checkForObjectCollision(ypos, xpos) {
var _local2 = map2[ypos][xpos][1];
if (_local2 > 0) {
objectHandler.objectCollision(_local2, ypos, xpos);
return(true);
}
return(false);
}
function checkForAttributeCollision(ypos, xpos, direction, unlockedDoor) {
var _local10 = map[playerMapYPos][playerMapXPos][0];
var _local2;
var _local5;
var _local7;
var _local11 = zdepth;
var _local14;
var _local9 = map2[ypos][xpos][0];
if ((_local9 == 58) || (_local9 == 59)) {
if ((direction == "Up") || (direction == "Down")) {
_local14 = map2[playerMapYPos][playerMapXPos][0];
if (_local14 == 0) {
zdepth = 1;
spriteTop._visible = true;
}
} else {
zdepth = 0;
spriteTop._visible = false;
}
}
if (_local9 == 57) {
if ((direction == "Left") || (direction == "Right")) {
var _local13 = map2[playerMapYPos][playerMapXPos][0];
if ((_local13 != 57) && (_local11 != 2)) {
zdepth = 2;
spriteTop._visible = true;
} else if (_local11 != 2) {
zdepth = 0;
spriteTop._visible = false;
}
} else {
zdepth = 0;
spriteTop._visible = false;
}
}
var _local6 = map[ypos][xpos][1];
if ((_local6 > 4) && (_local6 != 255)) {
if (_local6 > 10) {
if ((_local6 == 96) || (_local6 == 97)) {
if (testCollisionMask(direction, ypos, xpos) != true) {
var _local12 = objectHandler.crateCollision(direction, ypos, xpos, zdepth);
if (_local12 == "Yes") {
return(collision_movingCrate);
}
if (_local12 == "No") {
return(collision_pushingCrate);
}
return(0);
}
return(254);
}
if (_local6 == unlockedDoor) {
openDoor(new flash.geom.Point(xpos, ypos), direction);
return(collision_unlockedDoor);
}
if (_local10 == 8) {
if (direction == "Right") {
_local2 = map[playerMapYPos - 1][xpos][0];
_local5 = new flash.geom.Point(xpos, playerMapYPos);
if ((_local2 >= 61) && (_local2 <= 64)) {
_local7 = new flash.geom.Point(xpos, playerMapYPos - 1);
if (testForUnlockingADoor(_local2, _local7, _local5, true) == false) {
return(254);
}
} else {
openHorizontalDoor(_local5);
}
return(collision_doorUnlockedNow);
}
} else if (_local10 == 9) {
if (direction == "Left") {
_local2 = map[playerMapYPos - 1][xpos][0];
_local5 = new flash.geom.Point(xpos, playerMapYPos);
if ((_local2 >= 61) && (_local2 <= 64)) {
_local7 = new flash.geom.Point(xpos, playerMapYPos - 1);
if (testForUnlockingADoor(_local2, _local7, _local5, true) == false) {
return(254);
}
} else {
openHorizontalDoor(_local5);
}
return(collision_doorUnlockedNow);
}
} else if (_local6 == 15) {
if (direction == "Up") {
_local2 = map2[playerMapYPos - 2][playerMapXPos][0];
_local5 = new flash.geom.Point(playerMapXPos, playerMapYPos - 1);
if ((_local2 >= 61) && (_local2 <= 64)) {
_local7 = new flash.geom.Point(playerMapXPos, playerMapYPos - 2);
if (testForUnlockingADoor(_local2, _local7, _local5) == false) {
return(254);
}
} else {
openDoor(_local5, "Up");
}
} else if (direction == "Down") {
_local2 = map2[playerMapYPos][playerMapXPos][0];
_local5 = new flash.geom.Point(playerMapXPos, playerMapYPos + 1);
if ((_local2 >= 61) && (_local2 <= 64)) {
_local7 = new flash.geom.Point(playerMapXPos, playerMapYPos);
if (testForUnlockingADoor(_local2, _local7, _local5) == false) {
return(254);
}
} else {
openDoor(_local5, "Down");
}
}
} else if (direction == "Up") {
var _local15 = map[ypos][xpos][0];
if (_local15 == 49) {
return(collision_helpScroll);
}
}
// unexpected jump
}
if (direction != "Up") {
if (_local6 == 8) {
return(254);
}
}
if (testCollisionMask(direction, ypos, xpos) == true) {
return(254);
}
return(0);
}
if (testCollisionMask(direction, ypos, xpos) == true) {
return(254);
}
return(0);
}
function moveRight() {
oldMapXPos = playerMapXPos;
oldMapYPos = playerMapYPos;
var _local3 = playerMapXPos + 1;
var _local4 = playerMapYPos;
var _local2 = map2[_local4][_local3][1];
if (cantMove_right == true) {
updatePushingAnimationRight();
stillSlidingFlag = false;
return(undefined);
}
var _local5 = map2[playerMapYPos - 1][_local3][0];
if ((_local5 == 58) || (_local5 == 59)) {
zdepth = 1;
spriteTop._visible = true;
}
if (checkForObjectCollision(_local4, _local3) == true) {
if (_local2 == 100) {
updatePushingAnimationRight();
return(undefined);
}
updateWalkingAnimationRight();
return(undefined);
}
_local2 = checkForAttributeCollision(_local4, _local3, "Right", 16);
if (_local2 == 0) {
updateWalkingAnimationRight();
return(undefined);
}
if (_local2 == collision_movingCrate) {
if (modeRight == "Walking") {
inputFunc = walkRightFunc;
} else {
inputFunc = scrollRightFunc;
}
updatePushingAnimationRight();
return(undefined);
}
if (_local2 == collision_pushingCrate) {
updatePushingAnimationRight();
stillSlidingFlag = false;
return(undefined);
}
stillSlidingFlag = false;
if (_local2 == collision_unlockedDoor) {
return(undefined);
}
if (_local2 == collision_doorUnlockedNow) {
return(undefined);
}
updatePushingAnimationRight();
}
function updateWalkingAnimationRight() {
if (prevDir != "Right") {
prevDir = "Right";
animFrame = anim_right;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
if (modeRight == "Walking") {
inputFunc = walkRightFunc;
} else {
inputFunc = scrollRightFunc;
}
var _local2 = new flash.geom.Point(playerMapXPos + 1, playerMapYPos);
eventHandler.sendEvent("playerMoving", _local2);
moveCnt = 32 / speed;
}
function updatePushingAnimationRight() {
if (prevDir != "pushingRight") {
pushingFlag = true;
prevDir = "pushingRight";
animFrame = anim_pushright;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
moveCnt = 32 / speed;
}
function walkRightFunc() {
sprite._x = sprite._x + speed;
if ((--moveCnt) == 0) {
playerMapXPos++;
inputFunc = playerInput;
calculateMovementMode();
}
}
function scrollRightFunc() {
scroller.scrollRight();
scroller2.scrollRight();
playField3._x = mainMovie.playField._x;
if ((--moveCnt) == 0) {
playerMapXPos++;
inputFunc = playerInput;
calculateMovementMode();
}
}
function moveLeft() {
oldMapXPos = playerMapXPos;
oldMapYPos = playerMapYPos;
var _local3 = playerMapXPos - 1;
var _local4 = playerMapYPos;
var _local2 = map2[_local4][_local3][1];
if (cantMove_left == true) {
updatePushingAnimationLeft();
stillSlidingFlag = false;
return(undefined);
}
var _local5 = map2[playerMapYPos - 1][_local3][0];
if ((_local5 == 58) || (_local5 == 59)) {
zdepth = 1;
spriteTop._visible = true;
}
if (checkForObjectCollision(_local4, _local3) == true) {
if (_local2 == 100) {
updatePushingAnimationLeft();
return(undefined);
}
updateWalkingAnimationLeft();
return(undefined);
}
_local2 = checkForAttributeCollision(_local4, _local3, "Left", 16);
if (_local2 == 0) {
updateWalkingAnimationLeft();
return(undefined);
}
if (_local2 == collision_movingCrate) {
if (modeLeft == "Walking") {
inputFunc = walkLeftFunc;
} else {
inputFunc = scrollLeftFunc;
}
updatePushingAnimationLeft();
return(undefined);
}
if (_local2 == collision_pushingCrate) {
updatePushingAnimationLeft();
stillSlidingFlag = false;
return(undefined);
}
stillSlidingFlag = false;
if (_local2 == collision_unlockedDoor) {
return(undefined);
}
if (_local2 == collision_doorUnlockedNow) {
return(undefined);
}
updatePushingAnimationLeft();
}
function updateWalkingAnimationLeft() {
if (prevDir != "Left") {
prevDir = "Left";
animFrame = anim_left;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
if (modeLeft == "Walking") {
inputFunc = walkLeftFunc;
} else {
inputFunc = scrollLeftFunc;
}
var _local2 = new flash.geom.Point(playerMapXPos - 1, playerMapYPos);
eventHandler.sendEvent("playerMoving", _local2);
moveCnt = 32 / speed;
}
function updatePushingAnimationLeft() {
if (prevDir != "pushingLeft") {
pushingFlag = true;
prevDir = "pushingLeft";
animFrame = anim_pushleft;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
moveCnt = 32 / speed;
}
function walkLeftFunc() {
sprite._x = sprite._x - speed;
if ((--moveCnt) == 0) {
playerMapXPos--;
inputFunc = playerInput;
calculateMovementMode();
}
}
function scrollLeftFunc() {
scroller.scrollLeft();
scroller2.scrollLeft();
playField3._x = mainMovie.playField._x;
if ((--moveCnt) == 0) {
playerMapXPos--;
inputFunc = playerInput;
calculateMovementMode();
}
}
function moveDown() {
oldMapXPos = playerMapXPos;
oldMapYPos = playerMapYPos;
var _local4 = playerMapXPos;
var _local3 = playerMapYPos + 1;
if (cantMove_down == true) {
updatePushingAnimationDown();
stillSlidingFlag = false;
return(undefined);
}
if (checkForObjectCollision(_local3, _local4) == true) {
var _local2 = map2[_local3][_local4][1];
if (_local2 == 100) {
updatePushingAnimationDown();
return(undefined);
}
updateWalkingAnimationDown();
return(undefined);
}
var _local2 = checkForAttributeCollision(_local3, _local4, "Down", 16);
if (_local2 == 0) {
updateWalkingAnimationDown();
return(undefined);
}
if (_local2 == collision_movingCrate) {
if (modeDown == "Walking") {
inputFunc = walkDownFunc;
} else {
inputFunc = scrollDownFunc;
}
updatePushingAnimationDown();
return(undefined);
}
if (_local2 == collision_pushingCrate) {
updatePushingAnimationDown();
stillSlidingFlag = false;
return(undefined);
}
stillSlidingFlag = false;
if (_local2 == collision_unlockedDoor) {
return(undefined);
}
if (_local2 == collision_doorUnlockedNow) {
return(undefined);
}
var _local5 = map[_local3][_local4][0];
if ((_local5 >= 35) && (_local5 <= 44)) {
var _local6 = map2[playerMapYPos][playerMapXPos][0];
if (_local6 == 0) {
animFrame = anim_jumping;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
soundHandler.playSound(falldownSFX);
inputFunc = fallingDown;
return(undefined);
}
}
updatePushingAnimationDown();
}
function updateWalkingAnimationDown() {
if (prevDir != "Down") {
prevDir = "Down";
animFrame = anim_down;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
if (modeDown == "Walking") {
inputFunc = walkDownFunc;
} else {
inputFunc = scrollDownFunc;
}
var _local2 = new flash.geom.Point(playerMapXPos, playerMapYPos + 1);
eventHandler.sendEvent("playerMoving", _local2);
moveCnt = 32 / speed;
}
function updatePushingAnimationDown() {
if (prevDir != "pushingDown") {
pushingFlag = true;
prevDir = "pushingDown";
animFrame = anim_pushdown;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
moveCnt = 32 / speed;
}
function walkDownFunc() {
sprite._y = sprite._y + speed;
if ((--moveCnt) == 0) {
sprite.setMask(null);
teleportDoorMask.removeMovieClip();
playerMapYPos++;
inputFunc = playerInput;
calculateMovementMode();
}
}
function scrollDownFunc() {
scroller.scrollDown();
scroller2.scrollDown();
playField3._y = mainMovie.playField._y;
teleportDoorMask._y = teleportDoorMask._y - speed;
if ((--moveCnt) == 0) {
sprite.setMask(null);
teleportDoorMask.removeMovieClip();
playerMapYPos++;
inputFunc = playerInput;
calculateMovementMode();
}
}
function moveUp() {
oldMapXPos = playerMapXPos;
oldMapYPos = playerMapYPos;
var _local5 = playerMapXPos;
var _local4 = playerMapYPos - 1;
if (cantMove_up == true) {
updatePushingAnimationUp();
stillSlidingFlag = false;
return(undefined);
}
if (checkForObjectCollision(_local4, _local5) == true) {
var _local2 = map2[_local4][_local5][1];
if (_local2 == 100) {
var _local3 = map2[playerMapYPos - 2][playerMapXPos][0];
if (_local3 == undefined) {
levelCompletedAnim();
return(undefined);
}
if ((_local3 >= 61) && (_local3 <= 64)) {
var _local6 = new flash.geom.Point(playerMapXPos, playerMapYPos - 2);
var _local7 = new flash.geom.Point(playerMapXPos, playerMapYPos - 1);
if (testForUnlockingExit(_local3, _local6) == true) {
levelCompletedAnim();
return(undefined);
}
} else {
levelCompletedAnim();
return(undefined);
}
}
updateWalkingAnimationUp();
return(undefined);
}
var _local2 = checkForAttributeCollision(_local4, _local5, "Up", 16);
if (_local2 == 0) {
updateWalkingAnimationUp();
return(undefined);
}
if (_local2 == collision_movingCrate) {
if (modeUp == "Walking") {
inputFunc = walkUpFunc;
} else {
inputFunc = scrollUpFunc;
}
updatePushingAnimationUp();
return(undefined);
}
if (_local2 == collision_pushingCrate) {
updatePushingAnimationUp();
stillSlidingFlag = false;
return(undefined);
}
stillSlidingFlag = false;
if (_local2 == collision_unlockedDoor) {
if (level == 1) {
changingLevelInit();
}
return(undefined);
}
if (_local2 == collision_doorUnlockedNow) {
return(undefined);
}
if (_local2 == collision_helpScroll) {
gameController.getOverlayHandler().displayHelpScrollInit();
return(undefined);
}
updatePushingAnimationUp();
}
function updateWalkingAnimationUp() {
if (prevDir != "Up") {
prevDir = "Up";
animFrame = anim_up;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
if (modeUp == "Walking") {
inputFunc = walkUpFunc;
} else {
inputFunc = scrollUpFunc;
}
var _local2 = new flash.geom.Point(playerMapXPos, playerMapYPos + 1);
eventHandler.sendEvent("playerMoving", _local2);
moveCnt = 32 / speed;
}
function updatePushingAnimationUp() {
if (prevDir != "pushingUp") {
prevDir = "pushingUp";
pushingFlag = true;
animFrame = anim_pushup;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
}
moveCnt = 32 / speed;
}
function walkUpFunc() {
sprite._y = sprite._y - speed;
if ((--moveCnt) == 0) {
playerMapYPos--;
inputFunc = playerInput;
calculateMovementMode();
} else if (moveCnt == 4) {
var _local2 = map[playerMapYPos - 1][playerMapXPos][1];
if (_local2 == 8) {
map[playerMapYPos][playerMapXPos][1] = oldAttribute;
playerMapYPos--;
teleporting();
}
}
}
function scrollUpFunc() {
scroller.scrollUp();
scroller2.scrollUp();
playField3._y = mainMovie.playField._y;
if ((--moveCnt) == 0) {
playerMapYPos--;
inputFunc = playerInput;
calculateMovementMode();
} else if (moveCnt == 4) {
var _local2 = map[playerMapYPos - 1][playerMapXPos][1];
if (_local2 == 8) {
map[playerMapYPos][playerMapXPos][1] = oldAttribute;
playerMapYPos--;
teleporting();
}
}
}
function calculateMovementMode() {
map[oldMapYPos][oldMapXPos][1] = oldAttribute;
oldAttribute = map[playerMapYPos][playerMapXPos][1];
map[playerMapYPos][playerMapXPos][1] = 5;
updateCracks();
cantMove_up = (cantMove_down = (cantMove_left = (cantMove_right = false)));
if (carryingLantern == true) {
handleLantern();
}
if ((oldAttribute == 2) || (oldAttribute == 3)) {
var _local6 = {frame:oldAttribute, pos:new flash.geom.Point(playerMapXPos, playerMapYPos)};
crackQueue.push(_local6);
} else {
if ((oldAttribute == 6) || (oldAttribute == 4)) {
if ((carryingLantern == true) && (oldAttribute == 4)) {
} else if (map[playerMapYPos][playerMapXPos][0] == 22) {
inputFunc = waitingForFallToFinish;
animFrame = anim_falling;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
soundHandler.playSound(fallingtodeathSFX);
return(undefined);
}
}
if (oldAttribute == 9) {
objectHandler.switchCollision(playerMapYPos, playerMapXPos);
cantMove_up = (cantMove_down = (cantMove_left = (cantMove_right = false)));
} else {
if (oldAttribute == 10) {
killed();
return(undefined);
}
if (oldAttribute == 0) {
cantMove_up = (cantMove_down = (cantMove_left = (cantMove_right = false)));
var _local5 = map[playerMapYPos][playerMapXPos][0];
var _local3 = collisionLookUp[_local5 - 1];
if (_local3 != 0) {
setUpPossibleDirections(_local3);
} else {
var _local4;
if (zdepth == 0) {
_local4 = map2[playerMapYPos][playerMapXPos][0];
if ((_local4 == 58) || (_local4 == 59)) {
if (map2[playerMapYPos - 2][playerMapXPos][0] == 0) {
cantMove_up = true;
}
if (map2[playerMapYPos + 1][playerMapXPos][0] == 0) {
cantMove_down = true;
}
}
}
}
}
}
}
var _local2;
if (zdepth == 1) {
_local2 = map2[playerMapYPos - 1][playerMapXPos][0];
if ((_local2 != 58) && (_local2 != 59)) {
if ((((prevDir == "Left") || (prevDir == "pushingLeft")) || (prevDir == "Right")) || (prevDir == "pushingRight")) {
spriteTop._visible = false;
zdepth = 0;
}
}
}
if (zdepth == 1) {
_local2 = map2[playerMapYPos][playerMapXPos][0];
if ((_local2 == 58) || (_local2 == 59)) {
cantMove_left = (cantMove_right = true);
}
}
if (zdepth == 2) {
_local2 = map2[playerMapYPos][playerMapXPos][0];
if (_local2 == 57) {
cantMove_up = (cantMove_down = true);
} else {
zdepth = 0;
spriteTop._visible = false;
}
}
setMovementMode();
}
function setMovementMode() {
if ((sprite._x - 214) > 192) {
var _local3 = scroller.getMapXPos();
if (_local3 <= mapWidth) {
modeRight = "Scrolling";
} else {
modeRight = "Walking";
}
} else {
modeRight = "Walking";
}
if ((sprite._x - 214) < 192) {
if (playerMapXPos > 5) {
modeLeft = "Scrolling";
} else {
modeLeft = "Walking";
}
} else {
modeLeft = "Walking";
}
if ((sprite._y - 10) < 192) {
if (playerMapYPos > 5) {
modeUp = "Scrolling";
} else {
modeUp = "Walking";
}
} else {
modeUp = "Walking";
}
if ((sprite._y - 10) > 192) {
var _local2 = scroller.getMapYPos();
if (_local2 <= mapHeight) {
modeDown = "Scrolling";
} else {
modeDown = "Walking";
}
} else {
modeDown = "Walking";
}
}
function setUpPossibleDirections(collisionMap) {
var _local2;
var _local4 = collisionMap.length;
var _local3 = -1;
while (_local3++ , _local3 != _local4) {
_local2 = collisionMap[_local3];
if (_local2 == 1) {
cantMove_up = true;
} else if (_local2 == 2) {
cantMove_down = true;
} else if (_local2 == 3) {
cantMove_left = true;
} else if (_local2 == 4) {
cantMove_right = true;
}
}
}
function testCollisionMask(direction, ypos, xpos) {
var _local7 = map[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
if (direction == "Left") {
if (_local7 == 33) {
if (zdepth == 2) {
return(false);
}
return(true);
}
} else if (direction == "Right") {
if (_local7 == 34) {
if (zdepth == 2) {
return(false);
}
return(true);
}
}
var _local5 = collisionLookUp[_local7 - 1];
if ((_local5 == 0) || (_local5 == undefined)) {
return(false);
}
var _local4;
if (direction == "Up") {
_local4 = 2;
} else if (direction == "Down") {
_local4 = 1;
} else if (direction == "Left") {
_local4 = 4;
} else {
_local4 = 3;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function fallingDown() {
if ((sprite._y - 10) > 192) {
var _local2 = scroller.getMapYPos();
if (_local2 <= mapHeight) {
modeDown = "Scrolling";
inputFunc = jumpDownScrollDownFunc;
} else {
modeDown = "Walking";
inputFunc = jumpDownWalkDownFunc;
}
} else {
modeDown = "Walking";
inputFunc = jumpDownWalkDownFunc;
}
sprite.anim.gotoAndStop(1);
moveCnt = 32 / speed;
}
function jumpDownWalkDownFunc() {
sprite._y = sprite._y + speed;
if ((--moveCnt) == 0) {
playerMapYPos++;
var _local2 = true;
var _local4 = map[playerMapYPos][playerMapXPos][1];
if (_local4 == 254) {
_local2 = false;
}
if (_local2 == true) {
inputFunc = playerInput;
animFrame = anim_static;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
var _local3;
if ((sprite._y - 10) > 192) {
_local3 = scroller.getMapYPos();
if (_local3 <= mapHeight) {
modeDown = "Scrolling";
} else {
modeDown = "Walking";
}
} else {
modeDown = "Walking";
}
} else {
inputFunc = fallingDown;
}
}
}
function jumpDownScrollDownFunc() {
scroller.scrollDown();
scroller2.scrollDown();
if ((--moveCnt) == 0) {
playerMapYPos++;
var _local2 = true;
var _local4 = map[playerMapYPos][playerMapXPos][1];
if (_local4 == 254) {
_local2 = false;
}
if (_local2 == true) {
inputFunc = playerInput;
animFrame = anim_static;
sprite.gotoAndStop(animFrame);
sprite.anim.gotoAndPlay(1);
var _local3;
if ((sprite._y - 10) > 192) {
_local3 = scroller.getMapYPos();
if (_local3 <= mapHeight) {
modeDown = "Scrolling";
} else {
modeDown = "Walking";
}
} else {
modeDown = "Walking";
}
} else {
inputFunc = fallingDown;
}
}
}
function handleLantern() {
if (lanternTile == 4) {
scroller.alterTile(15, previousPos);
}
if (lanternTileUp == 4) {
var _local2 = new flash.geom.Point(previousPos.x, previousPos.y - 1);
scroller.alterTile(15, _local2);
}
if (lanternTileDown == 4) {
var _local2 = new flash.geom.Point(previousPos.x, previousPos.y + 1);
scroller.alterTile(15, _local2);
}
if (lanternTileLeft == 4) {
var _local2 = new flash.geom.Point(previousPos.x - 1, previousPos.y);
scroller.alterTile(15, _local2);
}
if (lanternTileRight == 4) {
var _local2 = new flash.geom.Point(previousPos.x + 1, previousPos.y);
scroller.alterTile(15, _local2);
}
previousPos = new flash.geom.Point(playerMapXPos, playerMapYPos);
lanternTile = map[playerMapYPos][playerMapXPos][1];
lanternTileUp = map[playerMapYPos - 1][playerMapXPos][1];
lanternTileDown = map[playerMapYPos + 1][playerMapXPos][1];
lanternTileLeft = map[playerMapYPos][playerMapXPos - 1][1];
lanternTileRight = map[playerMapYPos][playerMapXPos + 1][1];
if (oldAttribute == 4) {
scroller.alterTile(14, previousPos);
}
if (lanternTileUp == 4) {
var _local2 = new flash.geom.Point(previousPos.x, previousPos.y - 1);
scroller.alterTile(13, _local2);
}
if (lanternTileDown == 4) {
var _local2 = new flash.geom.Point(previousPos.x, previousPos.y + 1);
scroller.alterTile(13, _local2);
}
if (lanternTileLeft == 4) {
var _local2 = new flash.geom.Point(previousPos.x - 1, previousPos.y);
scroller.alterTile(13, _local2);
}
if (lanternTileRight == 4) {
var _local2 = new flash.geom.Point(previousPos.x + 1, previousPos.y);
scroller.alterTile(13, _local2);
}
cantMove_up = (cantMove_down = (cantMove_left = (cantMove_right = false)));
}
function teleporting() {
soundHandler.playSound(warp1SFX);
animFrame = anim_teleportingOut;
sprite.gotoAndStop(animFrame);
inputFunc = waitingForTeleportOutAnimToEnd;
}
function waitingForTeleportOutAnimToEnd() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
var _local3 = gameController.getObjectHandler().teleporting(playerMapYPos, playerMapXPos);
var _local2 = _local3.pos;
teleportingToATileFlag = _local3.teleportingToATileFlag;
var _local6 = false;
var _local5 = scroller.getMapTopLeftXPos();
if (_local5 < _local2.x) {
if ((_local5 + 13) > _local2.x) {
var _local4 = scroller.getMapTopLeftYPos();
if (_local4 < _local2.y) {
if ((_local4 + 13) > _local2.y) {
_local6 = true;
}
}
}
}
oldMapXPos = (playerMapXPos = _local2.x);
oldMapYPos = (playerMapYPos = _local2.y);
oldAttribute = map[playerMapYPos][playerMapXPos][1];
map[playerMapYPos][playerMapXPos][1] = 5;
if (_local6 == false) {
inputFunc = fadeOutScreenGrab;
gameController.getOverlayHandler().grabScreen();
gameController.repositionScroller(_local2);
} else {
inputFunc = null;
teleportingBack();
}
}
}
function fadeOutScreenGrab() {
var _local2 = mainMovie.grabHolder;
_local2._alpha = _local2._alpha - 10;
if (_local2._alpha <= 0) {
gameController.getOverlayHandler().releaseGrabbedScreen();
inputFunc = null;
teleportingBack();
}
}
function waitingForTeleportInAnimToEnd() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
animFrame = anim_down;
sprite.gotoAndStop(animFrame);
if (teleportingToATileFlag == false) {
moveDown();
} else {
teleportingToATileFlag = false;
inputFunc = playerInput;
}
}
}
function levelCompletedAnim() {
moveDelayCnt = 20;
soundHandler.playSound(warp1SFX);
animFrame = anim_teleportingOut;
sprite.gotoAndStop(animFrame);
inputFunc = waitingForLevelCompletedAnimToEnd;
}
function waitingForLevelCompletedAnimToEnd() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
gameController.levelComplete();
}
}
function testForUnlockingADoor(lock, lockPos, doorPos, horizontalFlag) {
lock = lock - 60;
var _local7 = inventory.length;
if (_local7 == 0) {
return(false);
}
var _local5;
var _local4 = -1;
while (_local4++ , _local4 != _local7) {
_local5 = inventory[_local4];
if (_local5 == lock) {
removeFromInventory(_local5, _local4);
soundHandler.playSound(unlockDoorSFX);
map2[lockPos.y][lockPos.x][0] = 60;
map2[lockPos.y][lockPos.x][1] = 0;
scroller2.alterTile(59, lockPos);
map[doorPos.y][doorPos.x][1] = 16;
if (horizontalFlag == true) {
var _local6 = map[doorPos.y][doorPos.x][0];
scroller2.alterTile(_local6 - 1, doorPos);
}
return(true);
}
}
return(false);
}
function testForUnlockingExit(lock, lockPos) {
lock = lock - 60;
var _local5 = inventory.length;
if (_local5 == 0) {
return(false);
}
var _local3;
var _local2 = -1;
while (_local2++ , _local2 != _local5) {
_local3 = inventory[_local2];
if (_local3 == lock) {
removeFromInventory(_local3, _local2);
soundHandler.playSound(unlockDoorSFX);
map2[lockPos.y][lockPos.x][0] = 60;
scroller2.alterTile(59, lockPos);
return(true);
}
}
}
function openHorizontalDoor(doorPos) {
var _local3 = map[doorPos.y][doorPos.x][0];
map2[doorPos.y][doorPos.x][0] = _local3;
scroller2.alterTile(_local3 - 1, doorPos);
map2[doorPos.y - 1][doorPos.x][0] = 60;
var _local4 = new flash.geom.Point(doorPos.x, doorPos.y - 1);
scroller2.alterTile(59, _local4);
map[doorPos.y][doorPos.x][1] = 0;
map[doorPos.y][doorPos.x][0] = 51;
}
function openDoor(doorPos, direction) {
soundHandler.playSound(doorCreakSFX);
if ((direction == "Right") || (direction == "Left")) {
openHorizontalDoor(doorPos);
return(undefined);
}
map[doorPos.y][doorPos.x][1] = 0;
map[doorPos.y][doorPos.x][0] = 51;
scroller.alterTile(50, doorPos);
}
function removeFromInventory(inventoryItem, arg) {
inventory.splice(arg, 1);
hudObj.removeFromInventory(inventoryItem);
}
function waitingForFightToFinish() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
animFrame = anim_static;
sprite.gotoAndStop(animFrame);
staticCnt = 0;
sprite._x = (32 * playerMapXPos) + mainMovie.playField._x;
sprite._y = (32 * playerMapYPos) + mainMovie.playField._y;
gnome.fightOver(playerMapXPos, playerMapYPos);
soundHandler.playSound(sighSFX);
inputFunc = waitingForRecoveryAfterAFight;
}
}
function waitingForRecoveryAfterAFight() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
stillSlidingFlag = false;
prevDir = null;
inputFunc = playerInput;
}
}
function changingLevelInit() {
animFrame = anim_walkingThroughLevelDoor;
sprite.gotoAndStop(animFrame);
var _local2 = objectHandler.lobbyDoorCheck(playerMapYPos - 1, playerMapXPos);
gameController.setLevel(_local2 + 1);
inputFunc = waitingForLevelChangeAnimToEnd;
}
function waitingForLevelChangeAnimToEnd() {
if (sprite.anim._currentframe == sprite.anim._totalframes) {
inputFunc = null;
playerLobbyXPos = playerMapXPos;
playerLobbyYPos = playerMapYPos;
gameController.levelChanged();
}
}
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
var collision_movingCrate = 1;
var collision_pushingCrate = 2;
var collision_unlockedDoor = 3;
var collision_doorUnlockedNow = 4;
var collision_helpScroll = 5;
var inkey = Key.isDown;
var anim_down = 1;
var anim_up = 2;
var anim_left = 3;
var anim_right = 4;
var anim_pushdown = 5;
var anim_pushup = 6;
var anim_pushleft = 7;
var anim_pushright = 8;
var anim_static = 9;
var anim_falling = 10;
var anim_jumping = 11;
var anim_killed = 12;
var anim_teleportingOut = 13;
var anim_teleportingIn = 14;
var anim_walkingThroughLevelDoor = 15;
var anim_punchUp = 16;
}
Symbol 643 MovieClip [__Packages.gamingyourway.common.EventBroadcaster] Frame 0
class gamingyourway.common.EventBroadcaster
{
var broadcasterObject;
function EventBroadcaster () {
broadcasterObject = new Object();
AsBroadcaster.initialize(broadcasterObject);
}
function toString() {
return("EventBroadcaster");
}
function sendEvent(event, arg) {
var _local2 = broadcasterObject.broadcastMessage(event, arg);
}
function subscribeToEvent(obj) {
broadcasterObject.addListener(obj);
}
function unsubscribeToEvent(obj) {
broadcasterObject.removeListener(obj);
}
}
Symbol 644 MovieClip [__Packages.mx.utils.Delegate] Frame 0
class mx.utils.Delegate extends Object
{
var func;
function Delegate (f) {
super();
func = f;
}
static function create(obj, func) {
var _local2 = function () {
var _local2 = arguments.callee.target;
var _local3 = arguments.callee.func;
return(_local3.apply(_local2, arguments));
};
_local2.target = obj;
_local2.func = func;
return(_local2);
}
function createDelegate(obj) {
return(create(obj, func));
}
}
Symbol 645 MovieClip [__Packages.gamingyourway.common.XMLmakeObj] Frame 0
class gamingyourway.common.XMLmakeObj extends XML
{
function XMLmakeObj () {
super();
}
function makeObj(xObj) {
var _local2 = new Object();
var _local7;
for (_local7 in xObj.attributes) {
_local2[_local7] = xObj.attributes[_local7];
}
var _local5;
var _local3;
var _local6;
var _local8;
var _local9;
for (_local5 in xObj.childNodes) {
_local3 = xObj.childNodes[_local5].nodeName;
_local6 = xObj.childNodes[_local5].nodeType;
_local8 = xObj.childNodes[_local5].nodeValue;
if (_local6 == 3) {
_local2._value = _local8;
_local2["._type"] = "text";
}
if ((_local6 == 1) && (_local3 != null)) {
if (_local2[_local3] == null) {
_local2[_local3] = makeObj(xObj.childNodes[_local5]);
} else if (_local2[_local3]._type != "array") {
_local2[_local3] = [_local2[_local3]];
_local2[_local3]._type = "array";
}
if (_local2[_local3]._type == "array") {
_local2[_local3].unshift(makeObj(xObj.childNodes[_local5], {}));
}
}
}
return(_local2);
}
}
Symbol 646 MovieClip [__Packages.Morpheme.IO.MapLoader] Frame 0
class Morpheme.IO.MapLoader
{
var main, mainMovie, eventHandler, varReciever, varSender, tileSheetHolder, mcLoader, mclistener, tempMapSrc, callBack;
function MapLoader () {
}
function toString() {
return("MapLoader");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
eventHandler = main.getInitInstance().getEventHandler();
}
function loadMap(filename) {
varReciever = new LoadVars();
varReciever.onData = mx.utils.Delegate.create(this, onMapLoaded);
varSender = new LoadVars();
varSender.sendAndLoad("http://www.gimme5games.com/phantommansion/pm_red/res/_maps/" + filename, varReciever, "POST");
progressBarEnterFrameInit();
}
function tileLoader() {
tileSheetHolder = mainMovie.createEmptyMovieClip("tileSheetHolder" + mainMovie.getNextHighestDepth(), mainMovie.getNextHighestDepth());
mainMovie.loadingbar._width = 1;
mainMovie.loadingbar._visible = true;
mcLoader = new MovieClipLoader();
mclistener = new Object();
mclistener.onLoadStart = function (target_mc) {
target_mc._visible = false;
};
mclistener.onLoadInit = mx.utils.Delegate.create(this, tilesLoaded);
mclistener.onLoadProgress = mx.utils.Delegate.create(this, progressBarUpdate);
mcLoader.addListener(mclistener);
mcLoader.loadClip("http://www.gimme5games.com/phantommansion/pm_red/res/_tiles/tiles.png", tileSheetHolder);
}
function getLoadedMap() {
return(tempMapSrc);
}
function getTileSheetHolder() {
return(tileSheetHolder);
}
function setCallBack(arg) {
callBack = arg;
}
function setRemoveMC(arg) {
arg.removeMovieClip();
}
function onMapLoaded(src) {
var _local2 = new gamingyourway.common.XMLmakeObj();
_local2.ignoreWhite = true;
_local2.parseXML(src);
tempMapSrc = _local2.makeObj(_local2);
progressBarEnterFrameKill();
callBack();
}
function tilesLoaded() {
mcLoader.removeListener(mclistener);
delete mcLoader;
mainMovie.loadingbar._visible = false;
eventHandler.sendEvent("tileLoaded");
}
function progressBarEnterFrameInit() {
mainMovie.loadingbar._width = 1;
mainMovie.loadingbar._visible = true;
mainMovie.loadingbar.onEnterFrame = mx.utils.Delegate.create(this, progressBarUpdateLoadVars);
}
function progressBarEnterFrameKill() {
mainMovie.loadingbar._visible = false;
delete mainMovie.loadingbar.onEnterFrame;
}
function progressBarUpdateLoadVars() {
var _local2 = varReciever.getBytesLoaded();
var _local3 = varReciever.getBytesTotal();
var _local4 = Math.floor((_local2 / _local3) * 100);
if (_local2 == undefined) {
return(undefined);
}
mainMovie.loadingbar._width = _local4;
}
function progressBarUpdate(target, loadedBytes, totalBytes) {
var _local2 = Math.floor((loadedBytes / totalBytes) * 100);
if (loadedBytes != undefined) {
mainMovie.loadingbar._width = _local2;
}
}
var tilesLoading = false;
}
Symbol 647 MovieClip [__Packages.Morpheme.LevelHandler] Frame 0
class Morpheme.LevelHandler
{
var tileSheetStorage, levelStorage, tilesLoadedFlag, main, mainMovie, eventHandler, scroller, gameController, scroller2, speed, level, xmlObj, mapLoader;
function LevelHandler () {
tileSheetStorage = new Array();
levelStorage = new Array();
tilesLoadedFlag = false;
}
function toString() {
return("LevelHandler");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
}
function init() {
if (scroller == undefined) {
scroller = gameController.getScroller();
scroller2 = gameController.getScroller2();
speed = gameController.getPlayer().getSpeed();
}
level = gameController.getLevel();
initScroller();
}
function parseXML() {
xmlObj = main.getInitInstance().getXMLLoaderObj().getXMLObj();
xmlObj = xmlObj.project;
var _local4;
var _local2;
var _local3;
var _local6 = Number(xmlObj.layergroup.length);
var _local5 = -1;
while (_local5++ , _local5 != _local6) {
_local2 = new Object();
_local3 = xmlObj.layergroup[_local5];
_local2.name = _local3.name._value;
_local4 = _local3.objectlayer.xmlFile.slice(1);
_local2.objectFilename = _local4;
_local2.objectMapDimensions = new flash.geom.Point(Number(_local3.objectlayer.objectmap.width._value), Number(_local3.objectlayer.objectmap.height._value));
_local4 = _local3.tilelayer[0].xmlFile.slice(1);
_local2.itemsFilename = _local4;
_local4 = _local3.tilelayer[1].xmlFile.slice(1);
_local2.mapFilename = _local4;
_local2.loadedFlag = false;
_local2.parsedMap = null;
_local2.parsedMapLayer2 = null;
_local2.parsedMapMaster = null;
_local2.parsedMapLayer2Master = null;
_local2.objectsList = null;
_local2.itemsList = null;
levelStorage.push(_local2);
}
}
function loadLevel() {
if (gameController == undefined) {
gameController = main.getInitInstance().getGameControllerObj();
}
level = gameController.getLevel();
var _local2 = levelStorage[level - 1];
if (_local2.loadedFlag == false) {
_local2.loadedFlag = true;
mapLoader = main.getInitInstance().getMapLoader();
mapLoader.setCallBack(mx.utils.Delegate.create(this, tilemapLoaded));
mapLoader.loadMap(_local2.mapFilename);
} else {
resetLevel();
eventHandler.sendEvent("levelReadyToPlay");
}
}
function resetLevel() {
var _local2 = levelStorage[level - 1];
_local2.parsedMap = duplicateMap(_local2.parsedMapMaster);
_local2.parsedMapLayer2 = duplicateMap(_local2.parsedMapLayer2Master);
scroller.reset();
scroller2.reset();
}
function openGateWay() {
var _local6 = levelStorage[level - 1];
var _local3 = _local6.gateWay;
scroller.alterTile(53, _local3);
_local6.parsedMapLayer2[_local3.y][_local3.x][1] = 100;
_local6.parsedMap[_local3.y][_local3.x][1] = 254;
_local6.parsedMap[_local3.y][_local3.x][0] = 54;
var _local4 = mainMovie.playField.getNextHighestDepth();
var _local2;
var _local5 = -1;
while (_local5++ , _local5 != 8) {
_local2 = mainMovie.playField.attachMovie("particle2", "particle2" + _local4, _local4++);
_local2.xposition = (_local2._x = (_local3.x * 32) + 16);
_local2.yposition = (_local2._y = (_local3.y * 32) + 16);
_local2.xvel = (Math.random() * 10) - 5;
_local2.yvel = (Math.random() * 10) - 5;
_local2.gravity = 0.3;
_local2.onEnterFrame = function () {
this.yposition = this.yposition + this.yvel;
this.yvel = this.yvel + this.gravity;
this.xposition = this.xposition + this.xvel;
this._y = this.yposition;
this._x = this.xposition;
this._alpha = this._alpha - 5;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
}
}
function tileLoaded() {
tilesLoadedFlag = true;
convertTilesToPixels();
}
function getMap() {
var _local2 = levelStorage[level - 1];
return(_local2.parsedMap);
}
function getMap2() {
var _local2 = levelStorage[level - 1];
return(_local2.parsedMapLayer2);
}
function getLevelObject() {
return(levelStorage[level - 1]);
}
function getLevelStorage() {
return(levelStorage);
}
function getTileSheet() {
return(tileSheetStorage[0]);
}
function getLevelName(arg) {
if (gameController == undefined) {
gameController = main.getInitInstance().getGameControllerObj();
scroller = gameController.getScroller();
scroller2 = gameController.getScroller2();
speed = gameController.getPlayer().getSpeed();
}
level = gameController.getLevel();
var _local2;
if (arg == undefined) {
_local2 = levelStorage[level - 1].name;
} else {
_local2 = levelStorage[arg].name;
}
return(_local2);
}
function getAttribute(arg) {
return(attributesLookUp[arg - 1]);
}
function getNumberOfLevels() {
return(levelStorage.length);
}
function getGateWayPos() {
var _local2 = levelStorage[level - 1];
return(_local2.gateWay);
}
function duplicateMap(source) {
var _local7 = source[0].length;
var _local9 = source.length;
var _local4;
var _local6;
var _local5;
var _local8 = [];
var _local1;
var _local2 = -1;
while (_local2++ , _local2 != _local9) {
_local1 = -1;
_local4 = new Array();
while (_local1++ , _local1 != _local7) {
_local6 = source[_local2][_local1][0];
_local5 = source[_local2][_local1][1];
_local4.push([_local6, _local5]);
}
_local8[_local2] = _local4;
}
return(_local8);
}
function tilemapLoaded() {
var _local19 = mapLoader.getLoadedMap();
var _local18 = _local19.tiledLayer.data.tiledata;
var _local16 = _local18.split(",");
var _local2;
var _local9;
var _local11 = levelStorage[level - 1];
var _local12 = _local11.objectMapDimensions.x;
var _local13 = _local11.objectMapDimensions.y;
var _local8 = new Array();
var _local7 = new Array();
var _local6;
var _local10;
var _local17 = _local13;
if (_local13 < 13) {
_local17 = 13;
}
var _local14 = _local12;
if (_local12 < 11) {
_local14 = 11;
}
var _local4;
var _local3 = -1;
while (_local3++ , _local3 != _local17) {
_local8[_local3] = new Array();
_local7[_local3] = new Array();
_local4 = -1;
while (_local4++ , _local4 != _local14) {
_local8[_local3][_local4][0] = 16;
_local8[_local3][_local4][1] = 6;
_local7[_local3][_local4][0] = 0;
_local7[_local3][_local4][1] = 0;
}
}
var _local15 = 0;
_local4 = -1;
while (_local4++ , _local4 != _local12) {
_local3 = -1;
while (_local3++ , _local3 != _local13) {
_local10 = false;
_local6 = _local10;
_local2 = Number(_local16[_local15++]);
_local9 = attributesLookUp[_local2];
if (_local2 == 54) {
_local11.gateWay = new flash.geom.Point(_local4, _local3);
}
if (_local2 == 55) {
_local6 = true;
}
if ((_local2 >= 60) && (_local2 < 64)) {
_local10 = true;
_local6 = _local10;
}
if ((_local2 == 57) || (_local2 == 58)) {
_local6 = true;
}
if (_local2 == 56) {
_local6 = true;
}
if (_local2 == 67) {
_local2 = 59;
_local6 = true;
}
if (_local2 == 88) {
_local2 = 74;
_local6 = true;
}
if (_local2 == 89) {
_local2 = 75;
_local6 = true;
}
if (_local2 == 90) {
_local2 = 84;
_local6 = true;
}
if (_local2 == 91) {
_local2 = 85;
_local6 = true;
}
if (_local2 == 92) {
_local2 = 71;
_local6 = true;
}
if (_local2 == 93) {
_local2 = 76;
_local6 = true;
}
if (_local6 == false) {
_local8[_local3][_local4] = [_local2 + 1, _local9];
_local7[_local3][_local4] = [0, 0];
} else {
_local8[_local3][_local4] = [1, 0];
_local7[_local3][_local4] = [_local2 + 1, _local9];
}
}
}
var _local5;
_local3 = 0;
while (_local3++ , _local3 != _local13) {
_local4 = 0;
while (_local4++ , _local4 < _local12) {
_local2 = _local7[_local3][_local4][0];
if ((_local2 >= 61) && (_local2 < 65)) {
_local5 = _local8[_local3 - 1][_local4][0];
if (((((((_local5 == 60) || (_local5 == 75)) || (_local5 == 76)) || (_local5 == 85)) || (_local5 == 86)) || (_local5 == 72)) || (_local5 == 77)) {
_local8[_local3][_local4] = _local7[_local3][_local4];
_local7[_local3][_local4] = [0, 0];
} else {
_local5 = _local7[_local3 - 1][_local4][0];
if (((((((_local5 == 60) || (_local5 == 75)) || (_local5 == 76)) || (_local5 == 85)) || (_local5 == 86)) || (_local5 == 72)) || (_local5 == 77)) {
_local8[_local3][_local4] = _local7[_local3][_local4];
_local7[_local3][_local4] = [0, 0];
}
}
}
}
}
_local11.parsedMap = _local8;
_local11.parsedMapMaster = duplicateMap(_local11.parsedMap);
_local11.parsedMapLayer2 = _local7;
_local11.parsedMapLayer2Master = duplicateMap(_local11.parsedMapLayer2);
loadItemsLayer();
}
function loadItemsLayer() {
var _local2 = levelStorage[level - 1];
mapLoader = main.getInitInstance().getMapLoader();
mapLoader.setCallBack(mx.utils.Delegate.create(this, itemsLayerLoaded));
mapLoader.loadMap(_local2.itemsFilename);
}
function itemsLayerLoaded() {
var _local14 = mapLoader.getLoadedMap();
var _local13 = _local14.tiledLayer.data.tiledata;
var _local10 = _local13.split(",");
var _local8 = levelStorage[level - 1];
var _local12 = _local8.objectMapDimensions.x;
var _local11 = _local8.objectMapDimensions.y;
_local8.itemsList = new Array();
var _local2;
var _local9 = 0;
var _local3;
var _local7 = -1;
var _local4;
while (_local7++ , _local7 != _local12) {
_local3 = -1;
while (_local3++ , _local3 != _local11) {
_local2 = Number(_local10[_local9++]);
if (_local2 != -1) {
_local4 = {value:_local2, pos:new flash.geom.Point(_local7, _local3)};
_local8.itemsList.push(_local4);
}
}
}
loadObjectsLayer();
}
function loadObjectsLayer() {
var _local2 = levelStorage[level - 1];
mapLoader = main.getInitInstance().getMapLoader();
mapLoader.setCallBack(mx.utils.Delegate.create(this, objectsLayerLoaded));
mapLoader.loadMap(_local2.objectFilename);
}
function objectsLayerLoaded() {
var _local5 = mapLoader.getLoadedMap();
_local5 = _local5.objectLayer.data;
var _local6 = levelStorage[level - 1];
_local6.objectsList = new Array();
var _local3;
var _local2;
var _local7 = _local5.object.length;
if (_local7 == undefined) {
_local3 = _local5.object;
_local2 = new Object();
_local2.value = Number(_local3.value);
_local2.pos = new flash.geom.Point(Number(_local3.x), Number(_local3.y));
_local2.id = Number(_local3.id);
_local2.func = Number(_local3.function);
_local2.param1 = Number(_local3.param1);
_local2.param2 = Number(_local3.param2);
_local6.objectsList.push(_local2);
} else {
var _local4 = -1;
while (_local4++ , _local4 != _local7) {
_local3 = _local5.object[_local4];
_local2 = new Object();
_local2.value = Number(_local3.value);
_local2.pos = new flash.geom.Point(Number(_local3.x), Number(_local3.y));
_local2.id = Number(_local3.id);
_local2.func = Number(_local3.function);
_local2.param1 = Number(_local3.param1);
_local2.param2 = Number(_local3.param2);
_local6.objectsList.push(_local2);
}
}
eventHandler.sendEvent("levelReadyToPlay");
}
function initScroller() {
var _local4 = levelStorage[level - 1];
var _local7 = _local4.parsedMap[0].length;
var _local8 = _local4.parsedMap.length;
var _local12 = new flash.geom.Point(_local7, _local8);
var _local5 = main.getInitInstance().getGameControllerObj().getPlayer();
_local5.setMapProperties(_local12);
_local5.setMap(_local4.parsedMap);
_local5.setMap2(_local4.parsedMapLayer2);
_local5.setPlayersPosition();
var _local9 = _local5.getPlayersMapPosition();
var _local3 = _local9.x - 6;
if (_local3 < 0) {
_local3 = 0;
} else if ((_local3 + 13) > _local7) {
var _local11 = Math.abs(_local7 - (_local3 + 13));
_local3 = _local3 - _local11;
}
var _local2 = _local9.y - 6;
if (_local2 < 0) {
_local2 = 0;
} else if ((_local2 + 13) > _local8) {
var _local10 = Math.abs(_local8 - (_local2 + 13));
_local2 = _local2 - _local10;
}
var _local14 = new flash.geom.Point(_local3, _local2);
var _local6 = {mapData:_local4.parsedMap, speed:speed, tileHeight:32, tileWidth:32, visAreaX:13, visAreaY:13, container:mainMovie.playField, startPos:_local14, tileSheet:tileSheetStorage[0]};
scroller.setAll(_local6);
scroller.init();
_local6 = {mapData:_local4.parsedMapLayer2, speed:speed, tileHeight:32, tileWidth:32, visAreaX:13, visAreaY:13, container:mainMovie.playField2, startPos:_local14, debugFlag:true, tileSheet:tileSheetStorage[0]};
scroller2.setAll(_local6);
scroller2.init();
_local5.setPlayerSpriteXYPos();
mainMovie.playField3._x = mainMovie.playField._x;
mainMovie.playField3._y = mainMovie.playField._y;
}
function convertTilesToPixels() {
var _local2 = main.getInitInstance().getMapLoader().getTileSheetHolder();
var _local3 = new flash.display.BitmapData(_local2._width, _local2._height, true, 0);
_local3.draw(_local2);
main.getInitInstance().getMapLoader().setRemoveMC(_local2);
tileSheetStorage.push(_local3);
}
var attributesLookUp = new Array(0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 3, 6, 254, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 13, 254, 254, 254, 254, 15, 0, 0, 0, 100, 254, 0, 0, 0, 0, 254, 36, 39, 38, 37, 254, 254, 254, 0, 254, 254, 0, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 0);
}
Symbol 648 MovieClip [__Packages.Morpheme.Objects.SkullDoors] Frame 0
class Morpheme.Objects.SkullDoors
{
var main, gameController, position, numberOfSkullsToUnlock, levelNum, status, sprite;
function SkullDoors (cntArg, pos, param1) {
main = Main.getInstance();
gameController = main.getInitInstance().getGameControllerObj();
position = new flash.geom.Point(pos.x, pos.y);
numberOfSkullsToUnlock = cntArg;
levelNum = param1;
createSprite();
status = "Active";
checkUnlocked();
}
function toString() {
return("SkullDoors");
}
function checkUnlocked() {
var _local3;
var _local2;
var _local4 = gameController.getLevel();
if (_local4 == 1) {
_local3 = gameController.getGlobalSkulls();
var _local5 = gameController.getCompletedLevelFlag(levelNum - 1);
if (_local5 == 1) {
sprite.gotoAndStop(2);
_local2 = gameController.getLevelHandler().getMap();
_local2[position.y][position.x][1] = 16;
status = "Completed";
return(undefined);
}
} else {
_local3 = gameController.getSkulls();
}
if (_local3 >= numberOfSkullsToUnlock) {
status = "Collected";
_local2 = gameController.getLevelHandler().getMap();
_local2[position.y][position.x][1] = 16;
sprite._visible = false;
}
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(17);
}
function getStatus() {
return(status);
}
function getNumberOfSkullsToUnlock() {
return(numberOfSkullsToUnlock);
}
function getLevelToGoTo() {
dispose();
return(levelNum);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("skullDoor", "skullDoor" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
sprite.gotoAndStop(1);
}
}
Symbol 649 MovieClip [__Packages.gamingyourway.common.SoundHandler] Frame 0
class gamingyourway.common.SoundHandler
{
var masterVolume;
function SoundHandler (vol) {
if (vol == undefined) {
masterVolume = 100;
} else {
masterVolume = vol;
}
}
function toString() {
return("SoundHandler");
}
function createSound(mc, linkageID) {
mc._sfx = new Sound(mc);
mc._sfx.attachSound(linkageID);
var _local2 = mc._sfx;
setDefaultVolume(_local2);
_local2._object = this;
_local2._MovieClip = mc;
_local2._playing = false;
_local2._linkage = linkageID;
mc._object = this;
return(_local2);
}
function createSoundAndMC(mcHolder, linkageID) {
var _local2 = mcHolder.createEmptyMovieClip("mc_" + linkageID, mcHolder.getNextHighestDepth());
var _local3 = createSound(_local2, linkageID);
return(_local3);
}
function createPlayAndDispose(mcHolder, linkageID) {
if (masterVolume == 0) {
return(undefined);
}
var _local2 = mcHolder.createEmptyMovieClip("mc_" + linkageID, mcHolder.getNextHighestDepth());
var sound = createSound(_local2, linkageID);
sound.start();
sound.setVolume(masterVolume);
sound.onSoundComplete = function () {
sound.stop();
var _local1 = sound._MovieClip;
_local1.removeMovieClip();
};
}
function playSound(sfx) {
if (sfx._playing == true) {
return(undefined);
}
sfx._playing = true;
sfx.start();
sfx.onSoundComplete = function () {
sfx._playing = false;
};
}
function stopSound(sfx) {
delete sfx.onSoundComplete;
sfx._playing = false;
sfx.stop();
}
function loopSound(sfx) {
sfx._playing = true;
sfx.start();
sfx.onSoundComplete = function () {
sfx._object.loopSound(sfx);
};
}
function simpleLoopSound(sfx, offset) {
sfx._playing = true;
if (offset == undefined) {
sfx.start(0, 9999999);
} else {
sfx.start(offset, 9999999);
}
sfx.onSoundComplete = function () {
sfx._object.simpleLoopSound(sfx);
};
}
function chainSounds(sfx, sfx2) {
sfx._playing = true;
sfx._chainedSFX = sfx2;
sfx.start();
sfx.onSoundComplete = function () {
sfx._chainedSFX.start();
};
}
function mute(sfx) {
sfx.setVolume(0);
}
function setDefaultVolume(sfx, vol) {
if (vol == undefined) {
vol = masterVolume;
}
sfx.setVolume(vol);
var _local2 = sfx._MovieClip;
if (_local2.fadingUp == true) {
if (_local2.endVolume >= vol) {
_local2.endVolume = vol;
}
_local2.fadingUp = false;
delete _local2.onEnterFrame;
}
}
function fadeSoundIn(sfx, speed, endVolume, amount) {
var mc = sfx._MovieClip;
mc.speed = speed;
if (endVolume == undefined) {
mc.endVolume = getMasterVolume();
} else {
if (endVolume > masterVolume) {
endVolume = masterVolume;
}
mc.endVolume = endVolume;
}
if (amount != undefined) {
mc.amount = amount;
} else {
mc.amount = 1;
}
mc.delay = 0;
mc.fadingUp = true;
mc._prevPosition = mc._sfx.position;
mc.onEnterFrame = function () {
if ((++mc.delay) >= mc.speed) {
mc.delay = 0;
var _local1 = mc._sfx.getVolume();
if (_local1 < mc.endVolume) {
_local1 = _local1 + mc.amount;
} else {
_local1 = mc.endVolume;
mc.fadingUp = false;
delete mc.onEnterFrame;
}
mc._sfx.setVolume(_local1);
}
};
}
function fadeSoundOut(sfx, speed, endVolume, amount) {
var mc = sfx._MovieClip;
mc.speed = speed;
if (endVolume == undefined) {
mc.endVolume = 0;
} else {
if (endVolume > masterVolume) {
endVolume = masterVolume;
}
mc.endVolume = endVolume;
}
if (amount != undefined) {
mc.amount = amount;
} else {
mc.amount = 1;
}
mc.delay = 0;
mc.onEnterFrame = function () {
if ((++mc.delay) >= mc.speed) {
mc.delay = 0;
var _local1 = mc._sfx.getVolume();
if (_local1 > mc.endVolume) {
_local1 = _local1 - mc.amount;
} else {
if (_local1 == mc.endVolume) {
if (_local1 == 0) {
mc._object.stopSound(mc._sfx);
}
delete mc.onEnterFrame;
return(undefined);
}
_local1 = mc.endVolume;
}
mc._sfx.setVolume(_local1);
}
};
}
function getMasterVolume() {
return(masterVolume);
}
function getPlayingStatus(sfx) {
return(sfx._playing);
}
function setMasterVolume(arg) {
masterVolume = arg;
}
function setDistancePan(sfx) {
var _local2 = sfx._MovieClip;
sfx.setPan(_local2._x / soundRatio);
}
function toggleVolume() {
trace("SoundHandler.toggleVolume()");
if (masterVolume == 0) {
setMasterVolume(100);
} else {
setMasterVolume(0);
}
}
var soundRatio = Stage.width / 100;
}
Symbol 650 MovieClip [__Packages.Morpheme.PiP] Frame 0
class Morpheme.PiP
{
var main, mainMovie, gameController, pipOverlaySprite, container, container2, action, itemPosition, itemID, scroller, scroller2, delayCnt;
function PiP () {
}
function toString() {
return("PiP");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
gameController = main.getInitInstance().getGameControllerObj();
}
function init(position, idArg, actionArg) {
gameController.getOverlayHandler().grabScreen();
pipOverlaySprite = mainMovie.attachMovie("pipOverlay", "pipOverlay", mainMovie.getNextHighestDepth());
container = pipOverlaySprite.playField.createEmptyMovieClip("container", 1);
container2 = pipOverlaySprite.playField.createEmptyMovieClip("container2", 2);
action = actionArg;
itemPosition = position;
itemID = idArg;
var _local2 = new flash.geom.Point(itemPosition.x, itemPosition.y);
if (_local2.x < 2) {
_local2.x = 0;
} else {
_local2.x = _local2.x - 2;
}
if (_local2.y < 2) {
_local2.y = 0;
} else {
_local2.y = _local2.y - 2;
}
if (scroller == undefined) {
scroller = new gamingyourway.scrollerEngine.Joseph();
scroller2 = new gamingyourway.scrollerEngine.Joseph();
}
var _local3 = gameController.getLevelHandler();
var _local5 = _local3.getMap();
var _local9 = _local3.getTileSheet();
var _local4 = {mapData:_local5, speed:0, tileHeight:32, tileWidth:32, visAreaX:5, visAreaY:5, container:pipOverlaySprite.playField.container, startPos:_local2, tileSheet:_local9};
scroller.setAll(_local4);
scroller.init();
var _local6 = _local3.getMap2();
_local4 = {mapData:_local6, speed:0, tileHeight:32, tileWidth:32, visAreaX:5, visAreaY:5, container:pipOverlaySprite.playField.container2, startPos:_local2, tileSheet:_local9};
scroller2.setAll(_local4);
scroller2.init();
delayCnt = 0;
if (action == "exit") {
pipOverlaySprite._visible = false;
mainMovie.grabHolder._visible = false;
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, openExitDelay);
} else {
gameController.getMaster().pause();
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, firstDelay);
}
}
function firstDelay() {
if ((++delayCnt) == 40) {
delayCnt = 0;
delete pipOverlaySprite.onEnterFrame;
if (action == "add") {
plotItem();
} else if (action == "change") {
changeTile();
} else if (action == "exit") {
showExit();
}
}
}
function plotItem() {
var _local2;
if ((itemID >= item_KeyCircle) && (itemID <= item_KeyCross)) {
_local2 = pipOverlaySprite.playField.attachMovie("keys", "keys", pipOverlaySprite.playField.getNextHighestDepth());
_local2.gotoAndStop(itemID + 1);
}
if ((itemID >= item_Booze) && (itemID <= item_Cure)) {
_local2 = pipOverlaySprite.playField.attachMovie("bottles", "bottles", pipOverlaySprite.playField.getNextHighestDepth());
_local2.gotoAndStop((itemID - item_Booze) + 1);
}
if (itemID == item_WoodenCrate) {
_local2 = pipOverlaySprite.playField.attachMovie("woodenCrate", "woodenCrate", pipOverlaySprite.playField.getNextHighestDepth());
}
if (itemID == item_MetalCrate) {
_local2 = pipOverlaySprite.playField.attachMovie("metalCrate", "metalCrate", pipOverlaySprite.playField.getNextHighestDepth());
}
if (itemID == item_Skull) {
_local2 = pipOverlaySprite.playField.attachMovie("skull", "skull", pipOverlaySprite.playField.getNextHighestDepth());
}
if (itemID == item_Lantern) {
_local2 = pipOverlaySprite.playField.attachMovie("lantern", "lantern", pipOverlaySprite.playField.getNextHighestDepth());
}
if (itemID == item_Cross) {
_local2 = pipOverlaySprite.playField.attachMovie("crucifix", "crucifix", pipOverlaySprite.playField.getNextHighestDepth());
}
if ((itemID == baddie_zombieRight) || (itemID == baddie_zombieLeft)) {
_local2 = pipOverlaySprite.playField.attachMovie("zombie", "zombie", pipOverlaySprite.playField.getNextHighestDepth());
if (itemID == baddie_zombieRight) {
_local2.gotoAndStop(2);
}
_local2.anim.gotoAndStop(1);
}
if ((itemID == baddie_skeletonUp) || (itemID == baddie_skeletonDown)) {
_local2 = pipOverlaySprite.playField.attachMovie("skeleton", "skeleton", pipOverlaySprite.playField.getNextHighestDepth());
if (itemID == baddie_skeletonDown) {
_local2.gotoAndStop(2);
}
_local2.anim.gotoAndStop(1);
}
if ((itemID >= baddie_BlueGhostUp) && (itemID <= baddie_BlueGhostLeft)) {
_local2 = pipOverlaySprite.playField.attachMovie("blueGhost", "blueGhost", pipOverlaySprite.playField.getNextHighestDepth());
if (itemID == baddie_BlueGhostUp) {
_local2.gotoAndStop(1);
} else if (itemID == baddie_BlueGhostRight) {
_local2.gotoAndStop(2);
} else if (itemID == baddie_BlueGhostDown) {
_local2.gotoAndStop(3);
} else {
_local2.gotoAndStop(4);
}
_local2.anim.gotoAndStop(1);
}
if ((itemID >= baddie_RedGhostUp) && (itemID <= baddie_RedGhostLeft)) {
_local2 = pipOverlaySprite.playField.attachMovie("redGhost", "redGhost", pipOverlaySprite.playField.getNextHighestDepth());
if (itemID == baddie_RedGhostUp) {
_local2.gotoAndStop(1);
} else if (itemID == baddie_RedGhostRight) {
_local2.gotoAndStop(2);
} else if (itemID == baddie_RedGhostDown) {
_local2.gotoAndStop(3);
} else {
_local2.gotoAndStop(4);
}
_local2.anim.gotoAndStop(1);
}
_local2._x = 64;
_local2._y = 64;
var _local4 = pipOverlaySprite.playField.getNextHighestDepth();
var _local3 = pipOverlaySprite.playField.attachMovie("sparkle", "sparkle" + _local4, _local4);
_local3.blendMode = 8;
_local3._x = _local2._x;
_local3._y = _local2._y;
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, secondDelay);
}
function changeTile() {
scroller.alterTile(itemID, itemPosition);
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, secondDelay);
}
function showExit() {
gameController.getLevelHandler().openGateWay();
scroller.alterTile(53, itemPosition);
var _local3 = pipOverlaySprite.playField.getNextHighestDepth();
var _local2;
var _local4 = -1;
while (_local4++ , _local4 != 8) {
_local2 = pipOverlaySprite.playField.attachMovie("particle2", "particle2" + _local3, _local3++);
_local2.xposition = (_local2._x = 80);
_local2.yposition = (_local2._y = 80);
_local2.xvel = (Math.random() * 10) - 5;
_local2.yvel = (Math.random() * 10) - 5;
_local2.gravity = 0.3;
_local2.onEnterFrame = function () {
this.yposition = this.yposition + this.yvel;
this.yvel = this.yvel + this.gravity;
this.xposition = this.xposition + this.xvel;
this._y = this.yposition;
this._x = this.xposition;
this._alpha = this._alpha - 5;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
}
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, secondDelay);
}
function secondDelay() {
if ((++delayCnt) == 70) {
delete pipOverlaySprite.onEnterFrame;
dispose();
}
}
function dispose() {
pipOverlaySprite.removeMovieClip();
gameController.getMaster().resume();
gameController.getOverlayHandler().releaseGrabbedScreen();
}
function openExitDelay() {
if ((++delayCnt) == 20) {
gameController.getMaster().pause();
gameController.getOverlayHandler().releaseGrabbedScreen();
gameController.getOverlayHandler().grabScreen();
pipOverlaySprite.swapDepths(mainMovie.getNextHighestDepth());
pipOverlaySprite._visible = true;
mainMovie.grabHolder._visible = true;
pipOverlaySprite.onEnterFrame = mx.utils.Delegate.create(this, firstDelay);
}
}
var item_KeyCircle = 0;
var item_KeySquare = 1;
var item_KeyTriangle = 2;
var item_KeyCross = 3;
var item_Lantern = 4;
var item_Cross = 5;
var item_Booze = 6;
var item_Ice = 7;
var item_Cure = 8;
var item_Skull = 9;
var object_teleportDoor = 10;
var object_skullDoor = 11;
var object_switch = 12;
var item_WoodenCrate = 13;
var item_MetalCrate = 14;
var baddie_zombieRight = 24;
var baddie_zombieLeft = 26;
var baddie_skeletonUp = 23;
var baddie_skeletonDown = 25;
var baddie_BlueGhostUp = 27;
var baddie_BlueGhostRight = 28;
var baddie_BlueGhostDown = 29;
var baddie_BlueGhostLeft = 30;
var baddie_RedGhostUp = 31;
var baddie_RedGhostRight = 32;
var baddie_RedGhostDown = 33;
var baddie_RedGhostLeft = 34;
}
Symbol 651 MovieClip [__Packages.Morpheme.Objects.Switches] Frame 0
class Morpheme.Objects.Switches
{
var main, gameController, levelHandler, eventHandler, soundHandler, pip, num, position, id, func, param1, param2, status, itemCollectedFlag, pressedFlag, mainFunc, clickonSFX, sprite, clickoffSFX, holdDownFlag, funcCall, originalTile, originalAttribute, positionStorage;
function Switches (paramObj, pos, numArg) {
main = Main.getInstance();
gameController = main.getInitInstance().getGameControllerObj();
levelHandler = gameController.getLevelHandler();
eventHandler = main.getInitInstance().getEventHandler();
soundHandler = gameController.getSoundHandler();
pip = gameController.getPiP();
num = numArg;
position = new flash.geom.Point(pos.x, pos.y);
id = paramObj.id;
func = paramObj.func;
param1 = paramObj.param1;
param2 = paramObj.param2;
createSprite();
status = "Active";
itemCollectedFlag = (pressedFlag = false);
mainFunc = null;
clickonSFX = soundHandler.createSound(sprite, "sndclickon");
clickoffSFX = soundHandler.createSound(sprite, "sndclickoff");
}
function toString() {
return("Switches");
}
function pressed() {
sprite.gotoAndStop(2);
handlePressedSwitch();
if (holdDownFlag == true) {
mainFunc = waitingForSwitchToBeReleased;
}
}
function testForDeactivating(switchNumberArg) {
if (switchNumberArg != num) {
return(false);
}
itemCollectedFlag = true;
return(true);
}
function mainLoop() {
mainFunc();
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(9);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("switch", "switch" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
}
function waitingForSwitchToBeReleased() {
var _local2 = levelHandler.getMap();
var _local4 = _local2[position.y][position.x][1];
var _local3 = new flash.geom.Point(param1, param2);
if (_local4 == 9) {
sprite.gotoAndStop(1);
soundHandler.playSound(clickoffSFX);
pressedFlag = false;
mainFunc = null;
if (itemCollectedFlag == true) {
return(undefined);
}
if (funcCall == 0) {
gameController.getObjectHandler().removeItem(id, _local3);
} else if (funcCall == 1) {
_local2[param2][param1][0] = originalTile;
_local2[param2][param1][1] = originalAttribute;
var _local5 = gameController.getScroller();
_local5.alterTile(originalTile - 1, _local3);
} else if (funcCall == 2) {
floodFill(true);
} else if (funcCall == 3) {
changeTeleportDistination();
} else if (funcCall == 4) {
addItem();
} else if (funcCall == 5) {
gameController.getObjectHandler().removeItem(id, _local3);
}
}
}
function handlePressedSwitch() {
if (pressedFlag == true) {
return(undefined);
}
pressedFlag = true;
soundHandler.playSound(clickonSFX);
if (func >= 64) {
status = "Inactive";
func = func - 64;
holdDownFlag = false;
} else {
holdDownFlag = true;
}
funcCall = func;
if (func == 0) {
if (itemCollectedFlag == false) {
if (pipTriggeredFlag == false) {
var _local2 = levelHandler.getMap();
var _local4 = _local2[position.y][position.x][1];
if (testPiPPosition() == true) {
pipTriggeredFlag = true;
pip.init(new flash.geom.Point(param1, param2), id, "add");
}
}
addItem();
}
} else if (func == 1) {
if (pipTriggeredFlag == false) {
var _local2 = levelHandler.getMap();
var _local4 = _local2[position.y][position.x][1];
if (testPiPPosition() == true) {
pipTriggeredFlag = true;
pip.init(new flash.geom.Point(param1, param2), id, "change");
}
}
changeTile();
} else if (func == 2) {
floodFill();
} else if (func == 3) {
changeTeleportDistination();
} else if (func == 4) {
var _local3 = new flash.geom.Point(param1, param2);
gameController.getObjectHandler().removeItem(id, _local3);
} else if (func == 5) {
if (pipTriggeredFlag == false) {
var _local2 = levelHandler.getMap();
var _local4 = _local2[position.y][position.x][1];
if (testPiPPosition() == true) {
pipTriggeredFlag = true;
pip.init(new flash.geom.Point(param1, param2), id, "add");
}
}
addItem();
}
}
function testPiPPosition() {
var _local2 = gameController.getScroller();
var _local5 = _local2.getMapTopLeftXPos();
var _local4 = _local2.getMapTopLeftXPos();
if (_local4 < param1) {
if ((_local4 + 13) > param1) {
var _local3 = _local2.getMapTopLeftYPos();
if (_local3 < param2) {
if ((_local3 + 13) > param2) {
return(false);
}
}
}
}
return(true);
}
function addItem() {
var _local2 = new flash.geom.Point(param1, param2);
gameController.getObjectHandler().addItem(id, _local2, num);
}
function changeTile() {
var _local3 = new flash.geom.Point(param1, param2);
var _local2 = levelHandler.getMap();
originalTile = _local2[param2][param1][0];
originalAttribute = _local2[param2][param1][1];
_local2[param2][param1][0] = id + 1;
_local2[param2][param1][1] = gameController.getLevelHandler().getAttribute(id);
var _local4 = gameController.getScroller();
_local4.alterTile(id, _local3);
if (id == 54) {
var _local5 = gameController.getLevelHandler().getMap2();
_local5[param2][param1][1] = _local2[param2][param1][1];
}
}
function floodFill(restoreFlag) {
if (restoreFlag == undefined) {
var _local2 = levelHandler.getMap();
var _local3 = _local2[param2][param1][0];
originalTile = _local3;
originalAttribute = _local2[param2][param1][1];
positionStorage = new Array();
if (id == undefined) {
id = 0;
}
floodFillRecursive(id + 1, param1, param2, _local3);
eventHandler.sendEvent("restoreOldAttribute");
} else {
unFlood(originalTile);
eventHandler.sendEvent("restoreOldAttribute");
}
}
function floodFillRecursive(tileValueToChangeTo, xpos, ypos, tileValueToChange) {
var _local6 = levelHandler.getMap();
var _local8 = _local6[ypos][xpos][0];
var _local7 = new flash.geom.Point(xpos, ypos);
var _local9 = gameController.getScroller();
if ((_local8 != tileValueToChangeTo) && (_local8 == tileValueToChange)) {
_local6[ypos][xpos][0] = tileValueToChangeTo;
_local6[ypos][xpos][1] = attributesLookUp[tileValueToChangeTo - 1];
var _local10 = attributesLookUp[tileValueToChange - 1];
positionStorage.push([_local7, _local10]);
_local9.alterTile(tileValueToChangeTo - 1, _local7);
floodFillRecursive(tileValueToChangeTo, xpos - 1, ypos, tileValueToChange);
floodFillRecursive(tileValueToChangeTo, xpos + 1, ypos, tileValueToChange);
floodFillRecursive(tileValueToChangeTo, xpos, ypos - 1, tileValueToChange);
floodFillRecursive(tileValueToChangeTo, xpos, ypos + 1, tileValueToChange);
}
}
function unFlood(tileValueToChangeTo) {
var _local4 = levelHandler.getMap();
var _local7 = gameController.getScroller();
var _local2;
var _local6 = positionStorage.length;
var _local3 = -1;
while (_local3++ , _local3 != _local6) {
_local2 = positionStorage[_local3][0];
_local4[_local2.y][_local2.x][0] = tileValueToChangeTo;
_local4[_local2.y][_local2.x][1] = positionStorage[_local3][1];
_local7.alterTile(tileValueToChangeTo - 1, _local2);
}
}
function changeTeleportDistination() {
gameController.getObjectHandler().alterTeleportDestination(param1, param2);
}
var pipTriggeredFlag = false;
var attributesLookUp = new Array(0, 0, 10, 18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2, 3, 6, 254, 0, 0, 0, 0, 0, 0, 0, 18, 18, 0, 0, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 13, 254, 254, 254, 254, 15, 0, 0, 20, 100, 254, 0, 19, 18, 18, 254, 36, 39, 38, 37, 254, 254, 0, 0);
}
Symbol 652 MovieClip [__Packages.Morpheme.Objects.TeleportDoors] Frame 0
class Morpheme.Objects.TeleportDoors
{
var main, gameController, position, id, func, param1, param2, sprite, param1BackUp;
function TeleportDoors (paramObj, pos) {
main = Main.getInstance();
gameController = main.getInitInstance().getGameControllerObj();
position = new flash.geom.Point(pos.x, pos.y);
id = paramObj.id;
func = paramObj.func;
param1 = paramObj.param1;
param2 = paramObj.param2;
createSprite();
}
function toString() {
return("TeleportDoors");
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(8);
}
function getID() {
return(id);
}
function getDestID() {
return(param1);
}
function getFunctionType() {
return(func);
}
function getTilePosition() {
return(new flash.geom.Point(param1, param2));
}
function setNewDestination(arg) {
if (param1BackUp == undefined) {
param1BackUp = param1;
param1 = arg;
} else {
param1 = param1BackUp;
param1BackUp = undefined;
}
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("teleportDoor", "teleportDoor" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
}
}
Symbol 653 MovieClip [__Packages.Morpheme.Objects.Keys] Frame 0
class Morpheme.Objects.Keys
{
var main, position, itemValue, frame, status, sprite, switchNumber, soundHandler, originalAttribute, baseDepth;
function Keys (type, pos, doorPos) {
main = Main.getInstance();
position = new flash.geom.Point(pos.x, pos.y);
itemValue = type;
frame = type + 1;
createSprite();
status = "Active";
}
function toString() {
return("Keys");
}
function collected() {
status = "Collected";
sprite._visible = false;
main.getInitInstance().getGameControllerObj().getPlayer().addToInventory(frame);
if (switchNumber != undefined) {
main.getInitInstance().getGameControllerObj().getObjectHandler().clearSwitchFunc(switchNumber);
}
main.getInitInstance().getGameControllerObj().getObjectHandler().removeItem(itemValue, position);
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
var _local2 = main.getMainMovie();
soundHandler.createPlayAndDispose(_local2, "sndpickup");
var _local3 = main.getInitInstance().getEventHandler();
_local3.sendEvent("playerCollectedKey");
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(frame + 31);
}
function getOriginalAttribute() {
return(originalAttribute);
}
function getItemValue() {
return(itemValue);
}
function setOriginalAttribute(arg) {
originalAttribute = arg;
}
function setSwitchNumber(arg) {
switchNumber = arg;
var _local4 = main.getMainMovie();
var _local3 = _local4.playField.getNextHighestDepth();
var _local2 = _local4.playField.attachMovie("sparkle", "sparkle" + _local3, _local3);
_local2.blendMode = 8;
_local2._x = position.x * 32;
_local2._y = position.y * 32;
}
function createSprite() {
var _local2 = main.getMainMovie();
if (baseDepth == undefined) {
baseDepth = _local2.playField.getNextHighestDepth();
}
sprite = _local2.playField.attachMovie("keys", "key" + baseDepth, baseDepth);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
sprite.gotoAndStop(frame);
}
var frame_circle = 0;
var frame_square = 1;
var frame_triangle = 2;
var frame_cross = 3;
}
Symbol 654 MovieClip [__Packages.Morpheme.Objects.Skulls] Frame 0
class Morpheme.Objects.Skulls
{
var main, position, itemValue, status, soundHandler, skullCollectedSFX, sprite, sndlastskull, originalAttribute;
function Skulls (pos) {
main = Main.getInstance();
position = new flash.geom.Point(pos.x, pos.y);
itemValue = 9;
createSprite();
status = "Active";
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
skullCollectedSFX = soundHandler.createSound(sprite, "sndskullCollected");
sndlastskull = soundHandler.createSound(sprite, "sndlastskull");
}
function toString() {
return("Skulls");
}
function collected() {
status = "Collected";
sprite._visible = false;
if (main.getInitInstance().getGameControllerObj().skullCollected() == true) {
soundHandler.playSound(sndlastskull);
} else {
soundHandler.playSound(skullCollectedSFX);
}
particlesInit(6);
}
function dispose() {
soundHandler.stopSound(skullCollectedSFX);
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(64);
}
function getOriginalAttribute() {
return(originalAttribute);
}
function getItemValue() {
return(itemValue);
}
function setOriginalAttribute(arg) {
originalAttribute = arg;
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("skull", "skull" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
}
function particlesInit(numberOfParticles) {
var _local4 = main.getMainMovie();
var _local3 = _local4.playField.getNextHighestDepth();
var _local2;
var _local5 = -1;
while (_local5++ , _local5 != numberOfParticles) {
_local2 = _local4.playField.attachMovie("particle", "particle" + _local3, _local3++);
_local2.xposition = (_local2._x = sprite._x + 16);
_local2.yposition = (_local2._y = sprite._y - 8);
_local2.xvel = (Math.random() * 10) - 5;
_local2.yvel = (Math.random() * 10) - 5;
_local2.gravity = 0.3;
_local2.onEnterFrame = function () {
this.yposition = this.yposition + this.yvel;
this.yvel = this.yvel + this.gravity;
this.xposition = this.xposition + this.xvel;
this._y = this.yposition;
this._x = this.xposition;
this._alpha = this._alpha - 5;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
}
}
}
Symbol 655 MovieClip [__Packages.Morpheme.Objects.Bottles] Frame 0
class Morpheme.Objects.Bottles
{
var main, itemValue, position, status, soundHandler, drinkSFX, sprite, hiccupSFX, sighSFX, wobbleSFX, maskCollectedSFX, originalAttribute;
function Bottles (typeArg, pos) {
main = Main.getInstance();
itemValue = typeArg;
position = new flash.geom.Point(pos.x, pos.y);
createSprite();
status = "Active";
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
drinkSFX = soundHandler.createSound(sprite, "snddrink");
hiccupSFX = soundHandler.createSound(sprite, "sndhiccup");
sighSFX = soundHandler.createSound(sprite, "sndsigh");
wobbleSFX = soundHandler.createSound(sprite, "sndwobble");
maskCollectedSFX = soundHandler.createSound(sprite, "sndskullCollected");
}
function toString() {
return("Bottles");
}
function collected() {
status = "Collected";
sprite._visible = false;
if (itemValue == item_Booze) {
soundHandler.chainSounds(drinkSFX, hiccupSFX);
main.getInitInstance().getGameControllerObj().getPlayer().pissedKeys();
} else if (itemValue == item_Cure) {
soundHandler.chainSounds(drinkSFX, sighSFX);
main.getInitInstance().getGameControllerObj().getPlayer().cured();
} else if (itemValue == item_Ice) {
soundHandler.chainSounds(drinkSFX, wobbleSFX);
main.getInitInstance().getGameControllerObj().getPlayer().sliding();
} else {
soundHandler.playSound(maskCollectedSFX);
particlesInit(8);
main.getInitInstance().getGameControllerObj().gameComplete();
}
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(itemValue + 59);
}
function getOriginalAttribute() {
return(originalAttribute);
}
function getItemValue() {
return(itemValue);
}
function setOriginalAttribute(arg) {
originalAttribute = arg;
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("bottles", "bottles" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
sprite.gotoAndStop(itemValue - 5);
}
function particlesInit(numberOfParticles) {
var _local4 = main.getMainMovie();
var _local3 = _local4.playField.getNextHighestDepth();
var _local2;
var _local5 = -1;
while (_local5++ , _local5 != numberOfParticles) {
_local2 = _local4.playField.attachMovie("particle", "particle" + _local3, _local3++);
_local2.xposition = (_local2._x = sprite._x + 16);
_local2.yposition = (_local2._y = sprite._y - 8);
_local2.xvel = (Math.random() * 10) - 5;
_local2.yvel = (Math.random() * 10) - 5;
_local2.gravity = 0.3;
_local2.onEnterFrame = function () {
this.yposition = this.yposition + this.yvel;
this.yvel = this.yvel + this.gravity;
this.xposition = this.xposition + this.xvel;
this._y = this.yposition;
this._x = this.xposition;
this._alpha = this._alpha - 5;
if (this._alpha <= 0) {
this.removeMovieClip();
}
};
}
}
var item_Ice = 6;
var item_Booze = 7;
var item_Cure = 8;
var item_Mask = 35;
}
Symbol 656 MovieClip [__Packages.Morpheme.Baddies.Gnome] Frame 0
class Morpheme.Baddies.Gnome
{
var main, eventHandler, levelHandler, mapWidth, mapHeight, objectHandler, playerObj, playerSprite, num, startPos, map, oldAttribute, leftPossible, rightPossible, upPossible, downPossible, playerZdepth, stealing, alreadyStolen, ignoreCollisionsFlag, moveCnt, moveFunc, soundHandler, laughSFX, sprite, spriteTop, map2, zdepth, currentDir, prevDir;
function Gnome (numArg, pos) {
main = Main.getInstance();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
var _local2 = levelHandler.getLevelObject();
mapWidth = _local2.objectMapDimensions.x;
mapHeight = _local2.objectMapDimensions.y;
objectHandler = main.getInitInstance().getGameControllerObj().getObjectHandler();
playerObj = main.getInitInstance().getGameControllerObj().getPlayer();
playerSprite = playerObj.getSprite();
num = numArg;
startPos = new flash.geom.Point(pos.x, pos.y);
map = levelHandler.getMap();
oldAttribute = map[startPos.y][startPos.x][1];
if (testCollisionMask("Left", startPos.y, startPos.x) == true) {
leftPossible = false;
} else {
leftPossible = true;
}
if (testCollisionMask("Right", startPos.y, startPos.x) == true) {
rightPossible = false;
} else {
rightPossible = true;
}
if (testCollisionMask("Up", startPos.y, startPos.x) == true) {
upPossible = false;
} else {
upPossible = true;
}
if (testCollisionMask("Down", startPos.y, startPos.x) == true) {
downPossible = false;
} else {
downPossible = true;
}
playerZdepth = playerObj.getZdepth();
stealing = (alreadyStolen = false);
ignoreCollisionsFlag = false;
handleDepthSorting();
createSprite();
moveCnt = 32 / speed;
moveFunc = null;
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
laughSFX = soundHandler.createSound(sprite, "sndlaugh");
}
function toString() {
return("Gnome");
}
function mainloop() {
moveFunc();
}
function pauseAnim() {
sprite.anim.gotoAndStop(sprite.anim._currentframe);
}
function resumeAnim() {
sprite.anim.gotoAndPlay(sprite.anim._currentframe);
}
function fightOver(playerMapXPos, playerMapYPos) {
sprite._visible = (spriteTop._visible = true);
ignoreCollisionsFlag = true;
soundHandler.playSound(laughSFX);
var _local2 = new flash.geom.Point(playerMapXPos, playerMapYPos);
playerMoving(_local2);
}
function dispose() {
sprite.removeMovieClip();
spriteTop.removeMovieClip();
eventHandler.unsubscribeToEvent(this);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == startPos.x) {
if (pos.y == startPos.y) {
oldAttribute = newAttribute;
}
}
}
function playerMoving(newPlayerPos) {
if (newPlayerPos == undefined) {
return(undefined);
}
var _local4;
var _local3;
var _local5 = Math.abs(newPlayerPos.x - startPos.x);
var _local6 = Math.abs(newPlayerPos.y - startPos.y);
if (stealing == true) {
if (newPlayerPos.x > startPos.x) {
_local4 = 0;
} else if (newPlayerPos.x < startPos.x) {
_local4 = 1;
}
if (newPlayerPos.y > startPos.y) {
_local3 = 3;
} else if (newPlayerPos.y < startPos.y) {
_local3 = 2;
}
_local5 = Math.abs(newPlayerPos.x - startPos.x);
_local6 = Math.abs(newPlayerPos.y - startPos.y);
if (_local5 < _local6) {
getPossibleDirections(_local4, _local3);
} else {
getPossibleDirections(_local3, _local4);
}
} else {
if (newPlayerPos.x > startPos.x) {
_local4 = 1;
} else if (newPlayerPos.x < startPos.x) {
_local4 = 0;
} else if (startPos.x < (mapWidth / 2)) {
_local4 = 0;
} else {
_local4 = 1;
}
if (newPlayerPos.y > startPos.y) {
_local3 = 2;
} else if (newPlayerPos.y < startPos.y) {
_local3 = 3;
} else if (startPos.y < (mapHeight / 2)) {
_local3 = 2;
} else {
_local3 = 3;
}
var _local8 = Math.abs(newPlayerPos.x - startPos.x);
var _local7 = Math.abs(newPlayerPos.y - startPos.y);
if (_local8 >= _local7) {
getPossibleDirections(_local4, _local3);
} else {
getPossibleDirections(_local3, _local4);
}
}
}
function playerCollectedKey() {
if (alreadyStolen == false) {
alreadyStolen = (stealing = true);
}
}
function getSprite() {
return(sprite);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("gnome", "gnome" + _local2, _local2);
sprite._x = startPos.x * 32;
sprite._y = startPos.y * 32;
sprite.gotoAndStop(num - 20);
sprite.anim.gotoAndStop(1);
spriteTop = _local3.playField3.attachMovie("gnome", "gnome" + _local2, _local2);
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndStop(1);
}
function handleDepthSorting() {
map2 = levelHandler.getMap2();
var _local2 = map2[startPos.y][startPos.x][0];
var _local6 = map[startPos.y][startPos.x][0];
var _local3 = zdepth;
var _local5;
if ((_local2 == 58) || (_local2 == 59)) {
if ((currentDir == "Up") || (currentDir == "Down")) {
_local5 = map2[startPos.y][startPos.x][0];
if (_local5 == 0) {
zdepth = 1;
spriteTop._visible = true;
}
} else {
zdepth = 0;
spriteTop._visible = false;
}
}
if (_local2 == 57) {
if ((currentDir == "Left") || (currentDir == "Right")) {
var _local4 = map2[startPos.y][startPos.x][0];
if ((_local4 != 57) && (_local3 != 2)) {
zdepth = 2;
spriteTop._visible = true;
} else if (_local3 != 2) {
zdepth = 0;
spriteTop._visible = false;
}
} else {
zdepth = 0;
spriteTop._visible = false;
}
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Left", startPos.y, startPos.x) == true) {
leftPossible = false;
} else {
leftPossible = true;
}
sprite.anim.gotoAndStop(1);
spriteTop.anim.gotoAndStop(1);
moveFunc = null;
if (ignoreCollisionsFlag == true) {
ignoreCollisionsFlag = false;
playerMoving();
}
} else if (moveCnt == 7) {
if (oldAttribute != 255) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.x--;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (alreadyStolen == true) {
if (ignoreCollisionsFlag == false) {
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().punchUpWithGnome(stealing, this);
caughtPlayer();
}
}
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Right", startPos.y, startPos.x) == true) {
rightPossible = false;
} else {
rightPossible = true;
}
ignoreCollisionsFlag = false;
sprite.anim.gotoAndStop(1);
spriteTop.anim.gotoAndStop(1);
moveFunc = null;
if (ignoreCollisionsFlag == true) {
ignoreCollisionsFlag = false;
playerMoving();
}
} else if (moveCnt == 7) {
if (oldAttribute != 255) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.x++;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (alreadyStolen == true) {
if (ignoreCollisionsFlag == false) {
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().punchUpWithGnome(stealing, this);
caughtPlayer();
}
}
}
}
}
function moveUp() {
sprite._y = sprite._y - speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Up", startPos.y, startPos.x) == true) {
upPossible = false;
} else {
upPossible = true;
}
ignoreCollisionsFlag = false;
sprite.anim.gotoAndStop(1);
spriteTop.anim.gotoAndStop(1);
moveFunc = null;
if (ignoreCollisionsFlag == true) {
ignoreCollisionsFlag = false;
playerMoving();
}
} else if (moveCnt == 7) {
if (oldAttribute != 255) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.y--;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (alreadyStolen == true) {
if (ignoreCollisionsFlag == false) {
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().punchUpWithGnome(stealing, this);
caughtPlayer();
}
}
}
}
}
function moveDown() {
sprite._y = sprite._y + speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Down", startPos.y, startPos.x) == true) {
downPossible = false;
} else {
downPossible = true;
}
ignoreCollisionsFlag = false;
sprite.anim.gotoAndStop(1);
spriteTop.anim.gotoAndStop(1);
moveFunc = null;
if (ignoreCollisionsFlag == true) {
ignoreCollisionsFlag = false;
playerMoving();
}
} else if (moveCnt == 7) {
if (oldAttribute != 255) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.y++;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (alreadyStolen == true) {
if (ignoreCollisionsFlag == false) {
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().punchUpWithGnome(stealing, this);
caughtPlayer();
}
}
}
}
}
function getPossibleDirections(bestHorizontalDirection, bestVerticalDirection) {
map = levelHandler.getMap();
map2 = levelHandler.getMap2();
var _local2 = new Array();
_local2[0] = (_local2[1] = (_local2[2] = (_local2[3] = -1)));
if (prevDir != 1) {
if (testPossibleDirectionRight() == true) {
_local2[0] = 0;
}
}
if (prevDir != 0) {
if (testPossibleDirectionLeft() == true) {
_local2[1] = 1;
}
}
if (prevDir != 3) {
if (testPossibleDirectionUp() == true) {
_local2[2] = 2;
}
}
if (prevDir != 2) {
if (testPossibleDirectionDown() == true) {
_local2[3] = 3;
}
}
var _local5 = -1;
var _local3;
var _local4 = -1;
while (_local4++ , _local4 != _local2.length) {
_local3 = _local2[_local4];
if ((_local3 == bestHorizontalDirection) || (_local3 == bestVerticalDirection)) {
_local5 = _local3;
break;
}
}
if (_local5 == -1) {
var _local6 = new Array();
if (_local2[0] != -1) {
_local6.push(0);
}
if (_local2[1] != -1) {
_local6.push(1);
}
if (_local2[2] != -1) {
_local6.push(2);
}
if (_local2[3] != -1) {
_local6.push(3);
}
_local5 = _local6[int(Math.random() * _local6.length)];
}
playerZdepth = playerObj.getZdepth();
prevDir = _local5;
if (_local5 == 1) {
currentDir = "Left";
rightPossible = (upPossible = (downPossible = true));
sprite.gotoAndStop(4);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveLeft;
} else if (_local5 == 0) {
currentDir = "Right";
leftPossible = (upPossible = (downPossible = true));
sprite.gotoAndStop(2);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveRight;
} else if (_local5 == 2) {
currentDir = "Up";
leftPossible = (rightPossible = (downPossible = true));
sprite.gotoAndStop(1);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveUp;
} else {
currentDir = "Down";
leftPossible = (rightPossible = (upPossible = true));
sprite.gotoAndStop(3);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveDown;
}
}
function testPossibleDirectionLeft() {
if (leftPossible == true) {
var _local2 = map[startPos.y][startPos.x - 1][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Left", startPos.y, startPos.x - 1, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Right", startPos.y, startPos.x - 1) == false) {
return(true);
}
}
return(false);
}
function testPossibleDirectionRight() {
if (rightPossible == true) {
var _local2 = map[startPos.y][startPos.x + 1][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Right", startPos.y, startPos.x + 1, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Left", startPos.y, startPos.x + 1) == false) {
return(true);
}
}
return(false);
}
function testPossibleDirectionUp() {
if (upPossible == true) {
var _local2 = map[startPos.y - 1][startPos.x][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Up", startPos.y - 1, startPos.x, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Down", startPos.y + 1, startPos.x) == false) {
return(true);
}
}
return(false);
}
function testPossibleDirectionDown() {
if (downPossible == true) {
var _local2 = map[startPos.y + 1][startPos.x][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Down", startPos.y + 1, startPos.x, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Up", startPos.y - 1, startPos.x) == false) {
return(true);
}
}
return(false);
}
function testCollisionMask(direction, ypos, xpos) {
var _local7 = map[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == "Left") {
_local4 = 3;
} else if (direction == "Right") {
_local4 = 4;
} else if (direction == "Up") {
_local4 = 1;
} else {
_local4 = 2;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function testForSwitch(currentTileArg) {
if (currentTileArg == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(startPos.y, startPos.x);
return(true);
}
return(false);
}
function caughtPlayer() {
sprite._visible = (spriteTop._visible = false);
if (stealing == true) {
stealing = false;
} else {
dispose();
}
}
var speed = 4;
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 657 MovieClip [__Packages.Morpheme.Objects.ObjectHandler] Frame 0
class Morpheme.Objects.ObjectHandler
{
var main, mainMovie, levelHandler, skullDoorStorage, switchStorage, teleportDoorStorage, objectStorage, cratesStorage, keyStorage, skullsStorage, bottleStorage, crucifixStorage, lanternStorage, map2, map;
function ObjectHandler () {
}
function toString() {
return("ObjectHandler");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
}
function init() {
if (levelHandler == undefined) {
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
}
var _local24 = levelHandler.getLevelObject();
skullDoorStorage = new Array();
switchStorage = new Array();
teleportDoorStorage = new Array();
var _local22 = _local24.objectsList;
var _local10;
var _local2;
var _local3;
var _local25;
var _local5;
var _local15;
var _local11;
var _local16;
var _local6 = _local22.length;
var _local4 = -1;
while (_local4++ , _local4 != _local6) {
_local2 = _local22[_local4];
_local3 = _local2.value;
_local10 = _local2.id;
if (_local3 == object_skullDoor) {
_local15 = new Morpheme.Objects.SkullDoors(_local10, _local2.pos, _local2.param1);
skullDoorStorage.push(_local15);
} else if (_local3 == object_switch) {
_local5 = {id:_local2.id, func:_local2.func, param1:_local2.param1, param2:_local2.param2};
_local11 = new Morpheme.Objects.Switches(_local5, _local2.pos, switchStorage.length);
switchStorage.push(_local11);
} else if (_local3 == object_teleportDoor) {
_local5 = {id:_local2.id, func:_local2.func, param1:_local2.param1, param2:_local2.param2};
_local16 = new Morpheme.Objects.TeleportDoors(_local5, _local2.pos);
teleportDoorStorage.push(_local16);
}
}
objectStorage = new Array();
cratesStorage = new Array();
keyStorage = new Array();
skullsStorage = new Array();
bottleStorage = new Array();
crucifixStorage = new Array();
lanternStorage = new Array();
var _local23 = _local24.itemsList;
var _local8;
var _local12;
var _local13;
var _local7;
var _local9;
var _local14;
var _local17;
_local6 = _local23.length;
_local4 = -1;
while (_local4++ , _local4 != _local6) {
_local2 = _local23[_local4];
_local3 = _local2.value;
if (_local3 == item_Skull) {
_local12 = new Morpheme.Objects.Skulls(_local2.pos);
skullsStorage.push(_local12);
} else if (_local3 <= 3) {
_local8 = new Morpheme.Objects.Keys(_local3, _local2.pos);
keyStorage.push(_local8);
} else if (((_local3 >= item_Booze) && (_local3 <= item_Cure)) || (_local3 == item_Mask)) {
_local13 = new Morpheme.Objects.Bottles(_local3, _local2.pos);
bottleStorage.push(_local13);
} else if (_local3 == item_WoodenCrate) {
_local7 = new Morpheme.Objects.WoodenCrates(_local2.pos);
cratesStorage.push(_local7);
} else if (_local3 == item_MetalCrate) {
_local9 = new Morpheme.Objects.MetalCrates(_local2.pos);
cratesStorage.push(_local9);
} else if (_local3 == item_Cross) {
_local14 = new Morpheme.Objects.Crucifix(_local2.pos);
crucifixStorage.push(_local14);
} else if (_local3 == item_Lantern) {
_local17 = new Morpheme.Objects.Lantern(_local2.pos);
lanternStorage.push(_local17);
}
}
plotObjectsIntoMap();
}
function addItem(arg, pos, switchNumber) {
var _local3;
var _local4;
if ((arg >= item_KeyCircle) && (arg <= item_KeyCross)) {
_local4 = map2[pos.y][pos.x][1];
var _local6 = new Morpheme.Objects.Keys(arg, pos);
_local6.setSwitchNumber(switchNumber);
keyStorage.push(_local6);
if (map[pos.y][pos.x][1] == 5) {
_local6.collected();
return(undefined);
}
_local3 = _local6.getAttribute();
if (_local4 == _local3) {
_local6.dispose();
keyStorage.splice(keyStorage.length - 1, 1);
return(undefined);
}
_local6.setOriginalAttribute(map2[pos.y][pos.x][1]);
map2[pos.y][pos.x][1] = _local3;
objectStorage.push([_local3, _local6]);
return(undefined);
}
if ((arg >= item_Booze) && (arg <= item_Cure)) {
_local4 = map2[pos.y][pos.x][1];
var _local8 = new Morpheme.Objects.Bottles(arg, pos);
bottleStorage.push(_local8);
if (map[pos.y][pos.x][1] == 5) {
_local8.collected();
return(undefined);
}
_local3 = _local8.getAttribute();
if (_local4 == _local3) {
_local8.dispose();
bottleStorage.splice(bottleStorage.length - 1, 1);
return(undefined);
}
_local8.setOriginalAttribute(map2[pos.y][pos.x][1]);
map2[pos.y][pos.x][1] = _local3;
objectStorage.push([_local3, _local8]);
return(undefined);
}
if (arg == item_WoodenCrate) {
_local4 = map[pos.y][pos.x][1];
var _local11 = new Morpheme.Objects.WoodenCrates(pos);
cratesStorage.push(_local11);
_local3 = _local11.getAttribute();
if (_local4 == _local3) {
_local11.dispose();
cratesStorage.splice(cratesStorage.length - 1, 1);
return(undefined);
}
return(undefined);
}
if (arg == item_MetalCrate) {
_local4 = map[pos.y][pos.x][1];
var _local12 = new Morpheme.Objects.MetalCrates(pos);
cratesStorage.push(_local12);
_local3 = _local12.getAttribute();
if (_local4 == _local3) {
_local12.dispose();
cratesStorage.splice(cratesStorage.length - 1, 1);
return(undefined);
}
return(undefined);
}
if (arg == item_Skull) {
_local4 = map2[pos.y][pos.x][1];
var _local7 = new Morpheme.Objects.Skulls(pos);
skullsStorage.push(_local7);
if (map[pos.y][pos.x][1] == 5) {
_local7.collected();
return(undefined);
}
_local3 = _local7.getAttribute();
if (_local4 == _local3) {
_local7.dispose();
skullsStorage.splice(skullsStorage.length - 1, 1);
return(undefined);
}
_local7.setOriginalAttribute(map2[pos.y][pos.x][1]);
map2[pos.y][pos.x][1] = _local3;
objectStorage.push([_local3, _local7]);
return(undefined);
}
if (arg == item_Cross) {
_local4 = map2[pos.y][pos.x][1];
var _local9 = new Morpheme.Objects.Crucifix(pos);
crucifixStorage.push(_local9);
if (map[pos.y][pos.x][1] == 5) {
_local9.collected();
return(undefined);
}
_local3 = _local9.getAttribute();
if (_local4 == _local3) {
_local9.dispose();
crucifixStorage.splice(crucifixStorage.length - 1, 1);
return(undefined);
}
_local9.setOriginalAttribute(map2[pos.y][pos.x][1]);
map2[pos.y][pos.x][1] = _local3;
objectStorage.push([_local3, _local9]);
return(undefined);
}
if (arg == item_Lantern) {
_local4 = map2[pos.y][pos.x][1];
var _local10 = new Morpheme.Objects.Lantern(pos);
lanternStorage.push(_local10);
if (map[pos.y][pos.x][1] == 5) {
_local10.collected();
return(undefined);
}
_local3 = _local10.getAttribute();
if (_local4 == _local3) {
_local10.dispose();
lanternStorage.splice(lanternStorage.length - 1, 1);
return(undefined);
}
_local10.setOriginalAttribute(map2[pos.y][pos.x][1]);
map2[pos.y][pos.x][1] = _local3;
objectStorage.push([_local3, _local10]);
return(undefined);
}
main.getInitInstance().getGameControllerObj().getBaddieHandler().addItem(arg, pos);
}
function removeItem(arg, pos) {
var _local5;
var _local6;
var _local2;
var _local9;
var _local4 = -1;
var _local7 = objectStorage.length;
while (_local4++ , _local4 != _local7) {
_local2 = objectStorage[_local4][1];
_local6 = _local2.getItemValue();
if (arg == _local6) {
_local5 = _local2.getPosition();
if (pos.x == _local5.x) {
if (pos.y == _local5.y) {
map2[pos.y][pos.x][1] = _local2.getOriginalAttribute();
_local2.dispose();
objectStorage.splice(_local4, 1);
break;
}
}
}
}
}
function clearSwitchFunc(switchNumber) {
var _local3;
var _local4 = switchStorage.length;
var _local2 = -1;
do {
_local2++;
if (_local2 == _local4) {
break;
}
_local3 = switchStorage[_local2];
} while (_local3.testForDeactivating(switchNumber) != true);
}
function objectCollision(num, yPos, xPos) {
var _local7 = xPos;
var _local8 = yPos;
var _local2;
var _local5;
var _local4 = -1;
var _local6 = objectStorage.length;
while (_local4++ , _local4 != _local6) {
_local5 = objectStorage[_local4][0];
if (_local5 == num) {
var _local3 = objectStorage[_local4][1];
_local2 = _local3.getPosition();
if (_local2.x == _local7) {
if (_local2.y == _local8) {
objectStorage[_local4][0] = 0;
map2[_local2.y][_local2.x][1] = _local3.getOriginalAttribute();
_local3.collected();
break;
}
}
}
}
}
function crateCollision(dir, yPos, xPos, zdepth) {
var _local11 = xPos;
var _local10 = yPos;
var _local3;
var _local2;
var _local6;
var _local8 = false;
var _local12 = map2[yPos - 1][xPos][0];
if (_local12 == 59) {
_local8 = true;
}
var _local5 = -1;
var _local9 = cratesStorage.length;
while (_local5++ , _local5 != _local9) {
_local2 = cratesStorage[_local5];
if (_local2.getStatus() != "inactive") {
_local3 = _local2.getPosition();
if (_local3.x == _local11) {
if (_local3.y == _local10) {
if (_local8 == true) {
return(_local2.beingPushed(dir, zdepth));
}
_local6 = _local2.getZdepth();
if (_local6 == zdepth) {
return(_local2.beingPushed(dir, zdepth));
}
return("ignore");
}
}
}
}
}
function switchCollision(yPos, xPos) {
var _local7 = xPos;
var _local6 = yPos;
var _local2;
var _local3;
var _local10;
var _local4 = -1;
var _local5 = switchStorage.length;
while (_local4++ , _local4 != _local5) {
_local3 = switchStorage[_local4];
_local2 = _local3.getPosition();
if (_local2.x == _local7) {
if (_local2.y == _local6) {
_local3.pressed();
break;
}
}
}
}
function skullDoorCheck() {
var _local4 = skullDoorStorage.length;
var _local3 = -1;
var _local2;
while (_local3++ , _local3 != _local4) {
_local2 = skullDoorStorage[_local3];
if (_local2.status == "Active") {
_local2.checkUnlocked();
}
}
}
function lobbyDoorCheck(yPos, xPos) {
var _local2;
var _local5 = skullDoorStorage.length;
var _local4 = -1;
var _local3;
while (_local4++ , _local4 != _local5) {
_local3 = skullDoorStorage[_local4];
_local2 = _local3.getPosition();
if (_local2.x == xPos) {
if (_local2.y == yPos) {
return(_local3.getLevelToGoTo());
}
}
}
return(-1);
}
function teleporting(yPos, xPos) {
var _local10 = xPos;
var _local9 = yPos;
var _local11;
var _local2;
var _local7;
var _local4;
var _local8;
var _local13;
var _local17;
var _local16;
var _local3 = -1;
var _local5 = teleportDoorStorage.length;
while (_local3++ , _local3 != _local5) {
_local2 = teleportDoorStorage[_local3];
_local11 = _local2.getPosition();
if (_local11.x == _local10) {
if (_local11.y == _local9) {
if (_local2.getFunctionType() == 1) {
_local4 = {pos:_local2.getTilePosition(), teleportingToATileFlag:true};
return(_local4);
}
_local7 = _local2.getDestID();
break;
}
}
}
var _local6;
_local3 = -1;
while (_local3++ , _local3 != _local5) {
_local2 = teleportDoorStorage[_local3];
_local6 = _local2.getID();
if (_local6 == _local7) {
_local8 = _local2.getPosition();
break;
}
}
_local4 = {pos:_local8, teleportingToATileFlag:false};
return(_local4);
}
function alterTeleportDestination(teleportID, newDestination) {
var _local2;
var _local4;
var _local3 = -1;
var _local5 = teleportDoorStorage.length;
while (_local3++ , _local3 != _local5) {
_local2 = teleportDoorStorage[_local3];
_local4 = _local2.getID();
if (_local4 == teleportID) {
_local2.setNewDestination(newDestination);
break;
}
}
}
function mainloop() {
var _local2 = -1;
var _local3 = cratesStorage.length;
var _local4;
while (_local2++ , _local2 != _local3) {
_local4 = cratesStorage[_local2];
_local4.mainloop();
}
_local2 = -1;
_local3 = switchStorage.length;
var _local5;
while (_local2++ , _local2 != _local3) {
_local5 = switchStorage[_local2];
_local5.mainLoop();
}
}
function houseKeeping() {
var _local3;
var _local4 = objectStorage.length;
var _local2 = -1;
while (_local2++ , _local2 != _local4) {
_local3 = objectStorage[_local2][1];
_local3.dispose();
}
_local4 = cratesStorage.length;
_local2 = -1;
while (_local2++ , _local2 != _local4) {
_local3 = cratesStorage[_local2];
_local3.dispose();
}
_local4 = skullDoorStorage.length;
_local2 = -1;
while (_local2++ , _local2 != _local4) {
_local3 = skullDoorStorage[_local2];
_local3.dispose();
}
}
function plotObjectsIntoMap() {
map2 = main.getInitInstance().getGameControllerObj().getLevelHandler().getMap2();
var _local2;
var _local6;
var _local7;
var _local10;
var _local8;
var _local9;
var _local11;
var _local12;
var _local13;
var _local3;
var _local4 = -1;
var _local5 = keyStorage.length;
while (_local4++ , _local4 != _local5) {
_local6 = keyStorage[_local4];
_local2 = _local6.getPosition();
_local3 = _local6.getAttribute();
_local6.setOriginalAttribute(map2[_local2.y][_local2.x][1]);
map2[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local6]);
}
_local4 = -1;
_local5 = skullsStorage.length;
while (_local4++ , _local4 != _local5) {
_local7 = skullsStorage[_local4];
_local2 = _local7.getPosition();
_local3 = _local7.getAttribute();
_local7.setOriginalAttribute(map2[_local2.y][_local2.x][1]);
map2[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local7]);
}
_local4 = -1;
_local5 = bottleStorage.length;
while (_local4++ , _local4 != _local5) {
_local8 = bottleStorage[_local4];
_local2 = _local8.getPosition();
_local3 = _local8.getAttribute();
_local8.setOriginalAttribute(map2[_local2.y][_local2.x][1]);
map2[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local8]);
}
_local4 = -1;
_local5 = crucifixStorage.length;
while (_local4++ , _local4 != _local5) {
_local9 = crucifixStorage[_local4];
_local2 = _local9.getPosition();
_local3 = _local9.getAttribute();
_local9.setOriginalAttribute(map2[_local2.y][_local2.x][1]);
map2[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local9]);
}
_local4 = -1;
_local5 = lanternStorage.length;
while (_local4++ , _local4 != _local5) {
_local11 = lanternStorage[_local4];
_local2 = _local11.getPosition();
_local3 = _local11.getAttribute();
_local11.setOriginalAttribute(map2[_local2.y][_local2.x][1]);
map2[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local11]);
}
map = main.getInitInstance().getGameControllerObj().getLevelHandler().getMap();
_local4 = -1;
_local5 = switchStorage.length;
while (_local4++ , _local4 != _local5) {
_local12 = switchStorage[_local4];
_local2 = _local12.getPosition();
_local3 = _local12.getAttribute();
map[_local2.y][_local2.x][0] = 1;
map[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local12]);
}
_local4 = -1;
_local5 = teleportDoorStorage.length;
while (_local4++ , _local4 != _local5) {
_local13 = teleportDoorStorage[_local4];
_local2 = _local13.getPosition();
_local3 = _local13.getAttribute();
map[_local2.y][_local2.x][0] = 1;
map[_local2.y][_local2.x][1] = _local3;
objectStorage.push([_local3, _local13]);
}
_local4 = -1;
_local5 = skullDoorStorage.length;
while (_local4++ , _local4 != _local5) {
_local10 = skullDoorStorage[_local4];
if (_local10.getStatus() == "Active") {
_local2 = _local10.getPosition();
map[_local2.y][_local2.x][1] = _local10.getAttribute();
}
objectStorage.push([_local3, _local10]);
}
}
var testDataWoodenCrates = new Array([7, 7]);
var item_KeyCircle = 0;
var item_KeySquare = 1;
var item_KeyTriangle = 2;
var item_KeyCross = 3;
var item_Lantern = 4;
var item_Cross = 5;
var item_Booze = 6;
var item_Ice = 7;
var item_Cure = 8;
var item_Skull = 9;
var object_teleportDoor = 10;
var object_skullDoor = 11;
var object_switch = 12;
var item_WoodenCrate = 13;
var item_MetalCrate = 14;
var item_Mask = 35;
}
Symbol 658 MovieClip [__Packages.Morpheme.Baddies.Skeletons] Frame 0
class Morpheme.Baddies.Skeletons
{
var main, eventHandler, levelHandler, mapHeight, objectHandler, playerObj, playerSprite, num, startPos, map, oldAttribute, zdepth, playerZdepth, upPossible, downPossible, moveCnt, moveFunc, map2, currentDir, sprite, soundHandler, skeletonSFX, spriteTop;
function Skeletons (numArg, pos) {
main = Main.getInstance();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
var _local2 = levelHandler.getLevelObject();
mapHeight = _local2.objectMapDimensions.y;
objectHandler = main.getInitInstance().getGameControllerObj().getObjectHandler();
playerObj = main.getInitInstance().getGameControllerObj().getPlayer();
playerSprite = playerObj.getSprite();
num = numArg;
startPos = new flash.geom.Point(pos.x, pos.y);
map = levelHandler.getMap();
oldAttribute = map[startPos.y][startPos.x][1];
zdepth = 0;
playerZdepth = playerObj.getZdepth();
if (testCollisionMask("Up", startPos.y, startPos.x) == true) {
upPossible = false;
} else {
upPossible = true;
}
if (testCollisionMask("Down", startPos.y, startPos.x) == true) {
downPossible = false;
} else {
downPossible = true;
}
playerZdepth = playerObj.getZdepth();
handleDepthSorting();
createSprite();
moveCnt = 32 / speed;
moveFunc = getPossibleDirections;
}
function toString() {
return("Skeletons");
}
function mainloop() {
map = levelHandler.getMap();
map2 = levelHandler.getMap2();
moveFunc(currentDir);
}
function pauseAnim() {
sprite.anim.gotoAndStop(sprite.anim._currentframe);
}
function resumeAnim() {
sprite.anim.gotoAndPlay(sprite.anim._currentframe);
}
function dispose() {
soundHandler.stopSound(skeletonSFX);
sprite.removeMovieClip();
spriteTop.removeMovieClip();
}
function startSkeletonSFX() {
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
skeletonSFX = soundHandler.createSound(sprite, "sndskeleton");
soundHandler.simpleLoopSound(skeletonSFX);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == startPos.x) {
if (pos.y == startPos.y) {
oldAttribute = newAttribute;
}
}
}
function crateBeingPushed(posPoint) {
if (posPoint.x != startPos.x) {
return(undefined);
}
var _local2 = startPos.clone();
if (moveCnt > 14) {
if (currentDir == "Up") {
_local2.y--;
} else {
_local2.y++;
}
}
if (_local2.y == posPoint.y) {
if (currentDir == "Up") {
currentDir = "Down";
upPossible = true;
sprite.gotoAndStop(2);
moveFunc = moveDown;
} else {
sprite.gotoAndStop(1);
currentDir = "Up";
downPossible = true;
moveFunc = moveUp;
}
sprite.anim.gotoAndPlay(1);
handleDepthSorting();
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
}
}
function getSprite() {
return(sprite);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("skeleton", "skeleton" + _local2, _local2);
sprite._x = startPos.x * 32;
sprite._y = startPos.y * 32;
if (num == 23) {
currentDir = "Up";
} else {
currentDir = "Down";
sprite.gotoAndStop(2);
}
spriteTop = _local3.playField3.attachMovie("skeleton", "skeleton" + _local2, _local2);
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
spriteTop.gotoAndStop(sprite._currentframe);
}
function handleDepthSorting() {
map2 = levelHandler.getMap2();
var _local2 = startPos.x;
var _local5 = map2[startPos.y][_local2][0];
var _local3 = map2[startPos.y - 1][_local2][0];
zdepth = 0;
if ((_local3 == 58) || (_local3 == 59)) {
zdepth = 1;
}
if ((_local5 == 58) || (_local5 == 59)) {
zdepth = 1;
}
var _local4 = map2[startPos.y + 1][_local2][0];
if ((_local4 == 58) || (_local4 == 59)) {
zdepth = 1;
}
if (zdepth == 1) {
spriteTop._visible = true;
sprite._visible = false;
} else {
sprite._visible = true;
spriteTop._visible = false;
}
}
function moveUp() {
sprite._y = sprite._y - speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Up", startPos.y, startPos.x) == true) {
upPossible = false;
} else {
upPossible = true;
}
moveFunc = getPossibleDirections;
} else if (moveCnt == 14) {
if ((((oldAttribute != 255) && (oldAttribute != 5)) && (oldAttribute != 96)) && (oldAttribute != 97)) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.y--;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
upPossible = false;
moveFunc = getPossibleDirections;
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveDown() {
sprite._y = sprite._y + speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Down", startPos.y, startPos.x) == true) {
downPossible = false;
} else {
downPossible = true;
}
moveFunc = getPossibleDirections;
} else if (moveCnt == 14) {
if ((((oldAttribute != 255) && (oldAttribute != 5)) && (oldAttribute != 96)) && (oldAttribute != 97)) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.y++;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
downPossible = false;
moveFunc = getPossibleDirections;
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function getPossibleDirections(preferedDir) {
var _local3 = new Array();
_local3[0] = (_local3[1] = -1);
if (preferedDir == "Up") {
if (testPossibleDirectionUp() != true) {
if (testPossibleDirectionDown() == true) {
_local3[1] = 1;
}
} else {
_local3[0] = 0;
}
} else if (testPossibleDirectionDown() != true) {
if (testPossibleDirectionUp() == true) {
_local3[0] = 0;
}
} else {
_local3[1] = 1;
}
var _local7 = 255;
var _local6 = 255;
if (preferedDir == "Up") {
_local7 = 0;
_local6 = 1;
} else {
_local7 = 1;
_local6 = 0;
}
var _local5 = -1;
var _local2;
var _local4 = -1;
while (_local4++ , _local4 != _local3.length) {
_local2 = _local3[_local4];
if (_local2 == _local7) {
_local5 = _local2;
break;
}
}
if (_local5 == -1) {
_local4 = -1;
while (_local4++ , _local4 != _local3.length) {
_local2 = _local3[_local4];
if (_local2 == _local6) {
_local5 = _local2;
break;
}
}
}
if (_local5 == 0) {
playerZdepth = playerObj.getZdepth();
sprite.gotoAndStop(1);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
currentDir = "Up";
downPossible = true;
handleDepthSorting();
moveFunc = moveUp;
} else if (_local5 == 1) {
playerZdepth = playerObj.getZdepth();
currentDir = "Down";
upPossible = true;
sprite.gotoAndStop(2);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveDown;
} else {
sprite.anim.gotoAndStop(1);
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
}
function testPossibleDirectionUp() {
if (upPossible == true) {
var _local2 = map[startPos.y - 1][startPos.x][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Up", startPos.y - 1, startPos.x, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Up", startPos.y - 1, startPos.x) == false) {
return(true);
}
}
return(false);
}
function testPossibleDirectionDown() {
if (downPossible == true) {
var _local2 = map[startPos.y + 1][startPos.x][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Down", startPos.y + 1, startPos.x, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Down", startPos.y + 1, startPos.x) == false) {
return(true);
}
}
return(false);
}
function testCollisionMask(direction, ypos, xpos) {
var _local7 = map[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local4 = collisionLookUp[_local7 - 1];
if (_local4 == 0) {
return(false);
}
var _local5;
if (direction == "Up") {
_local5 = 1;
} else if (direction == "Down") {
_local5 = 2;
}
var _local3;
var _local6 = _local4.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local4[_local2];
if (_local5 == _local3) {
return(true);
}
}
return(false);
}
function testForSwitch(currentTileArg) {
if (currentTileArg == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(startPos.y, startPos.x);
return(true);
}
return(false);
}
var speed = 2;
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 659 MovieClip [__Packages.Morpheme.Baddies.Zombies] Frame 0
class Morpheme.Baddies.Zombies
{
var main, eventHandler, levelHandler, mapHeight, objectHandler, playerObj, playerSprite, num, startPos, map, oldAttribute, leftPossible, rightPossible, playerZdepth, moveCnt, moveFunc, soundHandler, zombieMoanSFX, sprite, sfxCnt, map2, currentDir, spriteTop, zdepth;
function Zombies (numArg, pos) {
main = Main.getInstance();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
var _local2 = levelHandler.getLevelObject();
mapHeight = _local2.objectMapDimensions.y;
objectHandler = main.getInitInstance().getGameControllerObj().getObjectHandler();
playerObj = main.getInitInstance().getGameControllerObj().getPlayer();
playerSprite = playerObj.getSprite();
num = numArg;
startPos = new flash.geom.Point(pos.x, pos.y);
map = levelHandler.getMap();
oldAttribute = map[startPos.y][startPos.x][1];
if (testCollisionMask("Left", startPos.y, startPos.x) == true) {
leftPossible = false;
} else {
leftPossible = true;
}
if (testCollisionMask("Right", startPos.y, startPos.x) == true) {
rightPossible = false;
} else {
rightPossible = true;
}
playerZdepth = playerObj.getZdepth();
handleDepthSorting();
createSprite();
moveCnt = 32 / speed;
moveFunc = getPossibleDirections;
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
zombieMoanSFX = soundHandler.createSound(sprite, "sndzombie");
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function toString() {
return("Zombies");
}
function mainloop() {
map = levelHandler.getMap();
map2 = levelHandler.getMap2();
moveFunc(currentDir);
if ((--sfxCnt) <= 0) {
eventHandler.sendEvent("zombieMoaning");
soundHandler.playSound(zombieMoanSFX);
}
}
function pauseAnim() {
sprite.anim.gotoAndStop(sprite.anim._currentframe);
}
function resumeAnim() {
sprite.anim.gotoAndPlay(sprite.anim._currentframe);
}
function dispose() {
soundHandler.stopSound(zombieMoanSFX);
sprite.removeMovieClip();
spriteTop.removeMovieClip();
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == startPos.x) {
if (pos.y == startPos.y) {
oldAttribute = newAttribute;
}
}
}
function zombieMoaning() {
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function crateBeingPushed(posPoint) {
if (posPoint.y != startPos.y) {
return(undefined);
}
var _local2 = startPos.clone();
if (moveCnt > 14) {
if (currentDir == "Left") {
_local2.x--;
} else {
_local2.x++;
}
}
if (_local2.x == posPoint.x) {
if (currentDir == "Left") {
currentDir = "Right";
leftPossible = true;
sprite.gotoAndStop(2);
moveFunc = moveRight;
} else {
sprite.gotoAndStop(1);
currentDir = "Left";
rightPossible = true;
moveFunc = moveLeft;
}
sprite.anim.gotoAndPlay(1);
handleDepthSorting();
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
}
}
function getSprite() {
return(sprite);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("zombie", "zombie" + _local2, _local2);
sprite._x = startPos.x * 32;
sprite._y = startPos.y * 32;
if (num == 26) {
currentDir = "Left";
} else {
currentDir = "Right";
sprite.gotoAndStop(2);
}
spriteTop = _local3.playField3.attachMovie("zombie", "zombie" + _local2, _local2);
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
spriteTop.gotoAndStop(sprite._currentframe);
}
function handleDepthSorting() {
map2 = levelHandler.getMap2();
var _local2 = map2[startPos.y][startPos.x][0];
var _local4 = map2[startPos.y][startPos.x + 1][0];
var _local3 = map2[startPos.y][startPos.x - 1][0];
if (currentDir == "Left") {
if ((_local2 == 57) || (_local3 == 57)) {
zdepth = 2;
} else {
_local2 = map2[startPos.y - 1][startPos.x][0];
_local3 = map2[startPos.y - 1][startPos.x - 1][0];
if ((_local2 == 59) || (_local3 == 59)) {
zdepth = 2;
} else {
zdepth = 0;
}
}
} else if ((_local2 == 57) || (_local4 == 57)) {
zdepth = 2;
} else {
_local2 = map2[startPos.y - 1][startPos.x][0];
_local4 = map2[startPos.y - 1][startPos.x + 1][0];
if ((_local2 == 59) || (_local4 == 59)) {
zdepth = 2;
} else {
zdepth = 0;
}
}
if (zdepth != 2) {
sprite._visible = true;
spriteTop._visible = false;
} else {
spriteTop._visible = true;
sprite._visible = false;
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Left", startPos.y, startPos.x) == true) {
leftPossible = false;
} else {
leftPossible = true;
}
moveFunc = getPossibleDirections;
} else if (moveCnt == 14) {
if ((oldAttribute != 255) && (oldAttribute != 5)) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.x--;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
leftPossible = false;
moveFunc = getPossibleDirections;
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
if (testCollisionMask("Right", startPos.y, startPos.x) == true) {
rightPossible = false;
} else {
rightPossible = true;
}
moveFunc = getPossibleDirections;
} else if (moveCnt == 14) {
if ((oldAttribute != 255) && (oldAttribute != 5)) {
map[startPos.y][startPos.x][1] = oldAttribute;
}
startPos.x++;
oldAttribute = map[startPos.y][startPos.x][1];
map[startPos.y][startPos.x][1] = 255;
testForSwitch(oldAttribute);
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
rightPossible = false;
moveFunc = getPossibleDirections;
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function getPossibleDirections(preferedDir) {
var _local3 = new Array();
_local3[0] = (_local3[1] = -1);
if (preferedDir == "Left") {
if (testPossibleDirectionLeft() != true) {
if (testPossibleDirectionRight() == true) {
_local3[1] = 1;
}
} else {
_local3[0] = 0;
}
} else if (testPossibleDirectionRight() != true) {
if (testPossibleDirectionLeft() == true) {
_local3[0] = 0;
}
} else {
_local3[1] = 1;
}
var _local7 = 255;
var _local6 = 255;
if (preferedDir == "Left") {
_local7 = 0;
_local6 = 1;
} else {
_local7 = 1;
_local6 = 0;
}
var _local5 = -1;
var _local2;
var _local4 = -1;
while (_local4++ , _local4 != _local3.length) {
_local2 = _local3[_local4];
if (_local2 == _local7) {
_local5 = _local2;
break;
}
}
if (_local5 == -1) {
_local4 = -1;
while (_local4++ , _local4 != _local3.length) {
_local2 = _local3[_local4];
if (_local2 == _local6) {
_local5 = _local2;
break;
}
}
}
if (_local5 == 0) {
playerZdepth = playerObj.getZdepth();
sprite.gotoAndStop(1);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
currentDir = "Left";
rightPossible = true;
handleDepthSorting();
moveFunc = moveLeft;
} else if (_local5 == 1) {
playerZdepth = playerObj.getZdepth();
currentDir = "Right";
leftPossible = true;
sprite.gotoAndStop(2);
sprite.anim.gotoAndPlay(1);
spriteTop.gotoAndStop(sprite._currentframe);
spriteTop.anim.gotoAndPlay(1);
handleDepthSorting();
moveFunc = moveRight;
} else {
sprite.anim.gotoAndStop(1);
if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
}
function testPossibleDirectionLeft() {
if (leftPossible == true) {
var _local2 = map[startPos.y][startPos.x - 1][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Left", startPos.y, startPos.x - 1, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Right", startPos.y, startPos.x - 1) == false) {
return(true);
}
}
return(false);
}
function testPossibleDirectionRight() {
if (rightPossible == true) {
var _local2 = map[startPos.y][startPos.x + 1][1];
if (_local2 > 4) {
if (_local2 == 96) {
var _local3 = objectHandler.crateCollision("Right", startPos.y, startPos.x + 1, zdepth);
if (_local3 != "No") {
return(true);
}
} else {
if (((_local2 == 9) || (_local2 == 10)) || (_local2 == 255)) {
return(true);
}
if (_local2 == 5) {
if (main.getInitInstance().getGameControllerObj().getPlayer().getPlayersStatus() == false) {
return(true);
}
}
}
} else if (testCollisionMask("Left", startPos.y, startPos.x + 1) == false) {
return(true);
}
}
return(false);
}
function testCollisionMask(direction, ypos, xpos) {
var _local7 = map[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local4 = collisionLookUp[_local7 - 1];
if (_local4 == 0) {
return(false);
}
var _local5;
if (direction == "Left") {
_local5 = 3;
} else if (direction == "Right") {
_local5 = 4;
}
var _local3;
var _local6 = _local4.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local4[_local2];
if (_local5 == _local3) {
return(true);
}
}
return(false);
}
function testForSwitch(currentTileArg) {
if (currentTileArg == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(startPos.y, startPos.x);
return(true);
}
return(false);
}
var speed = 2;
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 660 MovieClip [__Packages.Morpheme.Baddies.BlueGhosts] Frame 0
class Morpheme.Baddies.BlueGhosts
{
var main, levelHandler, eventHandler, playerObj, playerSprite, startPos, oldPos, map, oldAttribute, zdepth, direction, soundHandler, ghost1SFX, sprite, ghost2SFX, sfxCnt, moveFunc, playerZdepth, moveCnt;
function BlueGhosts (numArg, pos) {
main = Main.getInstance();
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
playerObj = main.getInitInstance().getGameControllerObj().getPlayer();
playerSprite = playerObj.getSprite();
startPos = new flash.geom.Point(pos.x, pos.y);
oldPos = startPos.clone();
map = levelHandler.getMap();
oldAttribute = map[oldPos.y][oldPos.x][1];
zdepth = 0;
direction = numArg - 26;
createSprite();
setDirection();
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
ghost1SFX = soundHandler.createSound(sprite, "sndghost1");
ghost2SFX = soundHandler.createSound(sprite, "sndghost2");
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function toString() {
return("BlueGhosts");
}
function mainloop() {
map = levelHandler.getMap();
moveFunc();
if ((--sfxCnt) <= 0) {
eventHandler.sendEvent("ghostMoaning");
var _local2 = int(Math.random() * 10);
if (_local2 < 5) {
soundHandler.playSound(ghost1SFX);
} else {
soundHandler.playSound(ghost2SFX);
}
}
}
function dispose() {
soundHandler.stopSound(ghost1SFX);
soundHandler.stopSound(ghost2SFX);
sprite.removeMovieClip();
}
function pauseAnim() {
sprite.anim.gotoAndStop(sprite.anim._currentframe);
}
function resumeAnim() {
sprite.anim.gotoAndPlay(sprite.anim._currentframe);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == startPos.x) {
if (pos.y == startPos.y) {
oldAttribute = newAttribute;
}
}
}
function ghostMoaning() {
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function getSprite() {
return(sprite);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("blueGhost", "blueGhost" + _local2, _local2);
sprite._x = startPos.x * 32;
sprite._y = startPos.y * 32;
sprite.gotoAndStop(direction);
}
function mapCollisionCheck(dir) {
map = levelHandler.getMap();
var _local8;
var _local7;
playerZdepth = playerObj.getZdepth();
if (testCollisionMask(dir, startPos.y, startPos.x) == true) {
return(true);
}
if (dir == 1) {
_local8 = startPos.x;
_local7 = startPos.y - 1;
} else if (dir == 2) {
_local8 = startPos.x + 1;
_local7 = startPos.y;
} else if (dir == 3) {
_local8 = startPos.x;
_local7 = startPos.y + 1;
} else {
_local8 = startPos.x - 1;
_local7 = startPos.y;
}
if (testCollisionMaskNextTile(dir, _local7, _local8) == true) {
return(true);
}
var _local10 = map[_local7][_local8][1];
if ((_local10 >= 96) && (_local10 != 255)) {
return(true);
}
if (_local10 == 0) {
var _local11 = map[startPos.y][startPos.x][0];
var _local5 = collisionLookUp[_local11 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (dir == 1) {
_local4 = 3;
} else if (direction == 2) {
_local4 = 4;
} else if (direction == 3) {
_local4 = 1;
} else {
_local4 = 2;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
}
return(false);
}
function testForSwitch() {
var _local2 = map[startPos.y][startPos.x][1];
if (_local2 == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(startPos.y, startPos.x);
}
}
function testCollisionMask(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local4 = collisionLookUp[_local7 - 1];
if (_local4 == 0) {
return(false);
}
var _local3;
var _local5 = _local4.length;
var _local2 = -1;
while (_local2++ , _local2 != _local5) {
_local3 = _local4[_local2];
if (direction == _local3) {
return(true);
}
}
return(false);
}
function testCollisionMaskNextTile(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == 1) {
_local4 = 3;
} else if (direction == 4) {
_local4 = 1;
} else if (direction == 4) {
_local4 = 2;
} else {
_local4 = 4;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function setDirection() {
moveCnt = 32 / speed;
if (direction == 1) {
moveFunc = moveUp;
} else if (direction == 2) {
moveFunc = moveRight;
} else if (direction == 3) {
moveFunc = moveDown;
} else {
moveFunc = moveLeft;
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.x--;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(3) == false) {
direction = 3;
moveFunc = moveDown;
} else if (mapCollisionCheck(1) == false) {
direction = 1;
moveFunc = moveUp;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveUp() {
sprite._y = sprite._y - speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.y--;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(4) == false) {
direction = 4;
moveFunc = moveLeft;
} else if (mapCollisionCheck(2) == false) {
direction = 2;
moveFunc = moveRight;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.x++;
map[oldPos.y][oldPos.x][1] = oldAttribute;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(1) == false) {
direction = 1;
moveFunc = moveUp;
} else if (mapCollisionCheck(3) == false) {
direction = 3;
moveFunc = moveDown;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveDown() {
sprite._y = sprite._y + speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.y++;
map[oldPos.y][oldPos.x][1] = oldAttribute;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(2) == false) {
direction = 2;
moveFunc = moveRight;
} else if (mapCollisionCheck(4) == false) {
direction = 4;
moveFunc = moveLeft;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
var speed = 2;
var collisionLookUp = new Array(0, 0, 0, [2, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [3], [3, 2], [3, 4], [3], [3], [4], [2], [4, 2], [4, 2], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 3], [4, 2], [4, 2], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 661 MovieClip [__Packages.Morpheme.Baddies.RedGhosts] Frame 0
class Morpheme.Baddies.RedGhosts
{
var main, levelHandler, eventHandler, playerObj, playerSprite, startPos, oldPos, map, oldAttribute, zdepth, direction, soundHandler, ghost1SFX, sprite, ghost2SFX, sfxCnt, moveFunc, playerZdepth, moveCnt;
function RedGhosts (numArg, pos) {
main = Main.getInstance();
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
playerObj = main.getInitInstance().getGameControllerObj().getPlayer();
playerSprite = playerObj.getSprite();
startPos = new flash.geom.Point(pos.x, pos.y);
oldPos = startPos.clone();
map = levelHandler.getMap();
oldAttribute = map[oldPos.y][oldPos.x][1];
zdepth = 0;
direction = numArg - 30;
createSprite();
setDirection();
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
ghost1SFX = soundHandler.createSound(sprite, "sndghost1");
ghost2SFX = soundHandler.createSound(sprite, "sndghost2");
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function toString() {
return("RedGhosts");
}
function mainloop() {
map = levelHandler.getMap();
moveFunc();
if ((--sfxCnt) <= 0) {
eventHandler.sendEvent("ghostMoaning");
var _local2 = int(Math.random() * 10);
if (_local2 < 5) {
soundHandler.playSound(ghost1SFX);
} else {
soundHandler.playSound(ghost2SFX);
}
}
}
function dispose() {
soundHandler.stopSound(ghost1SFX);
soundHandler.stopSound(ghost2SFX);
sprite.removeMovieClip();
}
function pauseAnim() {
sprite.anim.gotoAndStop(sprite.anim._currentframe);
}
function resumeAnim() {
sprite.anim.gotoAndPlay(sprite.anim._currentframe);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == startPos.x) {
if (pos.y == startPos.y) {
oldAttribute = newAttribute;
}
}
}
function ghostMoaning() {
sfxCnt = int(Math.random() * 10) + 5;
sfxCnt = sfxCnt * 31;
}
function getSprite() {
return(sprite);
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("redGhost", "redGhost" + _local2, _local2);
sprite._x = startPos.x * 32;
sprite._y = startPos.y * 32;
sprite.gotoAndStop(direction);
}
function mapCollisionCheck(dir) {
map = levelHandler.getMap();
var _local8;
var _local7;
playerZdepth = playerObj.getZdepth();
if (testCollisionMask(dir, startPos.y, startPos.x) == true) {
return(true);
}
if (dir == 1) {
_local8 = startPos.x;
_local7 = startPos.y - 1;
} else if (dir == 2) {
_local8 = startPos.x + 1;
_local7 = startPos.y;
} else if (dir == 3) {
_local8 = startPos.x;
_local7 = startPos.y + 1;
} else {
_local8 = startPos.x - 1;
_local7 = startPos.y;
}
if (testCollisionMaskNextTile(dir, _local7, _local8) == true) {
return(true);
}
var _local10 = map[_local7][_local8][1];
if ((_local10 >= 96) && (_local10 != 255)) {
return(true);
}
if (_local10 == 0) {
var _local11 = map[startPos.y][startPos.x][0];
_local11 = map[_local7][_local8][0];
var _local5 = collisionLookUp[_local11 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (dir == 1) {
_local4 = 3;
} else if (direction == 2) {
_local4 = 4;
} else if (direction == 3) {
_local4 = 1;
} else {
_local4 = 2;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
}
return(false);
}
function testCollisionMask(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local4 = collisionLookUp[_local7 - 1];
if (_local4 == 0) {
return(false);
}
var _local3;
var _local5 = _local4.length;
var _local2 = -1;
while (_local2++ , _local2 != _local5) {
_local3 = _local4[_local2];
if (direction == _local3) {
return(true);
}
}
return(false);
}
function testCollisionMaskNextTile(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == 1) {
_local4 = 3;
} else if (direction == 4) {
_local4 = 1;
} else if (direction == 4) {
_local4 = 2;
} else {
_local4 = 4;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function testForSwitch() {
var _local2 = map[startPos.y][startPos.x][1];
if (_local2 == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(startPos.y, startPos.x);
}
}
function setDirection() {
moveCnt = 32 / speed;
if (direction == 1) {
moveFunc = moveUp;
} else if (direction == 2) {
moveFunc = moveRight;
} else if (direction == 3) {
moveFunc = moveDown;
} else {
moveFunc = moveLeft;
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.x--;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(1) == false) {
direction = 1;
moveFunc = moveUp;
} else if (mapCollisionCheck(3) == false) {
direction = 3;
moveFunc = moveDown;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveUp() {
sprite._y = sprite._y - speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.y--;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(2) == false) {
direction = 2;
moveFunc = moveRight;
} else if (mapCollisionCheck(4) == false) {
direction = 4;
moveFunc = moveLeft;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.x++;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(3) == false) {
direction = 3;
moveFunc = moveDown;
} else if (mapCollisionCheck(1) == false) {
direction = 1;
moveFunc = moveUp;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
function moveDown() {
sprite._y = sprite._y + speed;
if ((--moveCnt) == 0) {
moveCnt = 32 / speed;
oldPos = startPos.clone();
startPos.y++;
if (oldAttribute != 255) {
map[oldPos.y][oldPos.x][1] = oldAttribute;
}
oldAttribute = map[startPos.y][startPos.x][1];
testForSwitch();
map[startPos.y][startPos.x][1] = 255;
if (mapCollisionCheck(direction) == true) {
if (mapCollisionCheck(4) == false) {
direction = 4;
moveFunc = moveLeft;
} else if (mapCollisionCheck(2) == false) {
direction = 2;
moveFunc = moveRight;
}
sprite.gotoAndStop(direction);
}
} else if (zdepth == playerZdepth) {
if (sprite.hitAreaMC.hitTest(playerSprite.hitAreaMC)) {
main.getInitInstance().getGameControllerObj().getPlayer().killed();
}
}
}
var speed = 2;
var collisionLookUp = new Array(0, 0, 0, [2, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [3], [3, 2], [3, 4], [3], [3], [4], [2], [4, 2], [4, 2], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 3], [4, 2], [4, 2], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 662 MovieClip [__Packages.Morpheme.Baddies.BaddieHandler] Frame 0
class Morpheme.Baddies.BaddieHandler
{
var main, mainMovie, levelHandler, baddieStorage;
function BaddieHandler () {
}
function toString() {
return("BaddieHandler");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
}
function init() {
if (levelHandler == undefined) {
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
}
baddieStorage = new Array();
var _local9;
var _local13 = levelHandler.getLevelObject();
var _local11 = _local13.itemsList;
var _local3;
var _local2;
var _local14;
var _local4;
var _local8;
var _local5;
var _local6;
var _local7;
var _local12 = _local11.length;
var _local10 = -1;
while (_local10++ , _local10 != _local12) {
_local3 = _local11[_local10];
_local2 = _local3.value;
if ((_local2 == baddie_zombieRight) || (_local2 == baddie_zombieLeft)) {
_local8 = new Morpheme.Baddies.Zombies(_local2, _local3.pos);
baddieStorage.push([_local8, _local8.getSprite()]);
} else if ((_local2 == baddie_skeletonUp) || (_local2 == baddie_skeletonDown)) {
_local4 = new Morpheme.Baddies.Skeletons(_local2, _local3.pos);
if (_local9 == undefined) {
_local9 = _local4;
}
baddieStorage.push([_local4, _local4.getSprite()]);
} else if ((_local2 >= baddie_BlueGhostUp) && (_local2 <= baddie_BlueGhostLeft)) {
_local5 = new Morpheme.Baddies.BlueGhosts(_local2, _local3.pos);
baddieStorage.push([_local5, _local5.getSprite()]);
} else if ((_local2 >= baddie_RedGhostUp) && (_local2 <= baddie_RedGhostLeft)) {
_local6 = new Morpheme.Baddies.RedGhosts(_local2, _local3.pos);
baddieStorage.push([_local6, _local6.getSprite()]);
} else if ((_local2 >= baddie_gnomeUp) && (_local2 <= baddie_gnomeLeft)) {
_local7 = new Morpheme.Baddies.Gnome(_local2, _local3.pos);
baddieStorage.push([_local7, _local7.getSprite()]);
}
}
if (_local9 != undefined) {
_local9.startSkeletonSFX();
}
}
function mainloop() {
var _local3;
var _local2 = -1;
var _local4 = baddieStorage.length;
while (_local2++ , _local2 != _local4) {
_local3 = baddieStorage[_local2][0];
_local3.mainloop();
}
}
function pauseAllAnims() {
var _local3;
var _local2 = -1;
var _local4 = baddieStorage.length;
while (_local2++ , _local2 != _local4) {
_local3 = baddieStorage[_local2][0];
_local3.pauseAnim();
}
}
function resumeAllAnims() {
var _local3;
var _local2 = -1;
var _local4 = baddieStorage.length;
while (_local2++ , _local2 != _local4) {
_local3 = baddieStorage[_local2][0];
_local3.resumeAnim();
}
}
function houseKeeping() {
var _local3;
var _local2 = -1;
var _local4 = baddieStorage.length;
while (_local2++ , _local2 != _local4) {
_local3 = baddieStorage[_local2][0];
_local3.dispose();
}
}
function addItem(arg, pos) {
if ((arg == baddie_zombieRight) || (arg == baddie_zombieLeft)) {
var _local6 = new Morpheme.Baddies.Zombies(arg, pos);
baddieStorage.push([_local6, _local6.getSprite()]);
return(undefined);
}
if ((arg == baddie_skeletonUp) || (arg == baddie_skeletonDown)) {
var _local7 = new Morpheme.Baddies.Skeletons(arg, pos);
baddieStorage.push([_local7, _local7.getSprite()]);
return(undefined);
}
if ((arg >= baddie_BlueGhostUp) && (arg <= baddie_BlueGhostLeft)) {
var _local4 = new Morpheme.Baddies.BlueGhosts(arg, pos);
baddieStorage.push([_local4, _local4.getSprite()]);
return(undefined);
}
if ((arg >= baddie_RedGhostUp) && (arg <= baddie_RedGhostLeft)) {
var _local5 = new Morpheme.Baddies.RedGhosts(arg, pos);
baddieStorage.push([_local5, _local5.getSprite()]);
}
}
function getBaddieStorage() {
return(baddieStorage);
}
var baddie_gnomeUp = 20;
var baddie_gnomeRight = 21;
var baddie_gnomeDown = 22;
var baddie_gnomeLeft = 23;
var baddie_zombieRight = 24;
var baddie_zombieLeft = 26;
var baddie_skeletonUp = 23;
var baddie_skeletonDown = 25;
var baddie_BlueGhostUp = 27;
var baddie_BlueGhostRight = 28;
var baddie_BlueGhostDown = 29;
var baddie_BlueGhostLeft = 30;
var baddie_RedGhostUp = 31;
var baddie_RedGhostRight = 32;
var baddie_RedGhostDown = 33;
var baddie_RedGhostLeft = 34;
}
Symbol 663 MovieClip [__Packages.Morpheme.Objects.WoodenCrates] Frame 0
class Morpheme.Objects.WoodenCrates
{
var main, levelHandler, baddieHandler, eventHandler, position, itemValue, zdepth, oldAttribute, status, beingPushedFlag, moveFunc, soundHandler, woodSFX, sprite, direction, fallingFlag, moveCnt, spriteTop, baseDepth, teleportingToATileFlag, map2;
function WoodenCrates (pos) {
main = Main.getInstance();
var _local2 = main.getInitInstance().getGameControllerObj();
levelHandler = _local2.getLevelHandler();
baddieHandler = _local2.getBaddieHandler();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
position = new flash.geom.Point(pos.x, pos.y);
itemValue = 13;
zdepth = 0;
var _local3 = levelHandler.getMap();
oldAttribute = _local3[position.y][position.x][1];
setMapAttributes();
createSprite();
status = "active";
beingPushedFlag = false;
moveFunc = null;
handleDepthSorting();
soundHandler = _local2.getSoundHandler();
woodSFX = soundHandler.createSound(sprite, "sndwood");
}
function toString() {
return("WoodenCrates");
}
function beingPushed(dir) {
if (beingPushedFlag == true) {
return("No");
}
if (testCollisionMask(dir, position.y, position.x) == true) {
return("No");
}
var _local7 = levelHandler.getMap();
var _local10 = levelHandler.getMap2();
var _local4;
var _local12;
var _local5;
var _local3;
var _local2;
if (dir == "Up") {
_local3 = position.x;
_local2 = position.y - 1;
_local5 = moveUp;
} else if (dir == "Right") {
_local3 = position.x + 1;
_local2 = position.y;
_local5 = moveRight;
} else if (dir == "Down") {
_local3 = position.x;
_local2 = position.y + 1;
_local5 = moveDown;
} else {
_local3 = position.x - 1;
_local2 = position.y;
_local5 = moveLeft;
}
direction = dir;
_local4 = _local7[_local2][_local3][1];
if (((_local4 > 4) && (_local4 != 18)) && (_local4 != 19)) {
if (_local4 == 6) {
fallingFlag = true;
} else {
if ((_local4 < 8) || (_local4 > 10)) {
return("No");
}
if (_local4 == 8) {
var _local13 = main.getInitInstance().getGameControllerObj().getObjectHandler().teleporting(_local2, _local3);
var _local9 = _local13.pos;
var _local11 = _local7[_local9.y + 1][_local9.x][1];
if (_local11 > 10) {
return("No");
}
}
}
} else {
_local12 = _local10[_local2][_local3][1];
if (_local12 > 0) {
return("No");
}
if (testCollisionMaskNextTile(dir, _local2, _local3) == true) {
return("No");
}
}
var _local8 = _local10[position.y][position.x][0];
if (zdepth == 0) {
if ((direction == "Up") || (direction == "Down")) {
if (zdepth == 0) {
if (_local8 == 58) {
return("No");
}
}
} else if (_local8 == 57) {
return("No");
}
}
handleDepthSorting(_local2, _local3);
soundHandler.playSound(woodSFX);
var _local15 = new flash.geom.Point(_local3, _local2);
eventHandler.sendEvent("crateBeingPushed", _local15);
_local7[position.y][position.x][1] = oldAttribute;
moveCnt = 32 / speed;
moveFunc = _local5;
beingPushedFlag = true;
var _local14 = main.getMainMovie();
sprite.swapDepths(_local14.playField.getNextHighestDepth());
return("Yes");
}
function mainloop() {
moveFunc();
}
function dispose() {
moveFunc = null;
sprite.removeMovieClip();
spriteTop.removeMovieClip();
eventHandler.unsubscribeToEvent(this);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == position.x) {
if (pos.y == position.y) {
oldAttribute = newAttribute;
}
}
}
function restoreOldAttribute() {
var _local2 = levelHandler.getMap();
_local2[position.y][position.x][1] = 96;
}
function getPosition() {
return(position);
}
function getAttribute() {
return(96);
}
function getStatus() {
return(status);
}
function getItemValue() {
return(itemValue);
}
function getZdepth() {
return(zdepth);
}
function createSprite() {
var _local2 = main.getMainMovie();
baseDepth = _local2.playField.getNextHighestDepth();
sprite = _local2.playField.attachMovie("woodenCrate", "woodenCrate" + baseDepth, baseDepth);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
spriteTop = _local2.playField3.attachMovie("woodenCrate", "woodenCrate" + baseDepth, baseDepth);
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
}
function setMapAttributes() {
var _local2 = levelHandler.getMap();
oldAttribute = _local2[position.y][position.x][1];
_local2[position.y][position.x][1] = 96;
if (oldAttribute == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(position.y, position.x);
} else if (oldAttribute == 8) {
beingPushedFlag = false;
_local2[position.y][position.x][1] = oldAttribute;
var _local3 = main.getInitInstance().getGameControllerObj().getObjectHandler().teleporting(position.y, position.x);
var _local4 = _local3.pos;
teleportingToATileFlag = _local3.teleportingToATileFlag;
position.x = _local4.x;
position.y = _local4.y;
oldAttribute = _local2[position.y][position.x][1];
sprite._x = position.x * 32;
sprite._y = position.y * 32;
sprite.gotoAndPlay(2);
if (teleportingToATileFlag != true) {
beingPushed("Down");
}
}
sprite.swapDepths(baseDepth);
}
function handleDepthSorting(ypos, xpos) {
map2 = levelHandler.getMap2();
var _local5 = map2[ypos][xpos][0];
var _local4 = map2[ypos - 1][xpos][0];
var _local9 = zdepth;
zdepth = 0;
if ((direction == "Left") || (direction == "Right")) {
if (_local5 == 57) {
zdepth = 2;
} else if (direction == "Right") {
var _local7 = map2[ypos][xpos - 1][0];
if (_local7 == 57) {
zdepth = 2;
}
} else {
var _local8 = map2[ypos][xpos + 1][0];
if (_local8 == 57) {
zdepth = 2;
}
}
if (_local4 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
if (direction == "Left") {
var _local8 = map2[ypos - 1][xpos + 1][0];
if (_local8 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
} else {
var _local7 = map2[ypos - 1][xpos - 1][0];
if (_local7 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
}
} else {
var _local6 = map2[ypos + 1][xpos][0];
if ((_local5 == 58) || (_local5 == 59)) {
zdepth = 1;
} else if (direction == "Down") {
if ((_local4 == 58) || (_local4 == 59)) {
zdepth = 1;
}
} else if ((_local6 == 58) || (_local6 == 59)) {
spriteTop._visible = true;
sprite._visible = false;
return(undefined);
}
}
if (zdepth != 0) {
spriteTop._visible = true;
sprite._visible = false;
} else {
sprite._visible = true;
spriteTop._visible = false;
}
}
function testCollisionMask(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == "Up") {
_local4 = 1;
} else if (direction == "Down") {
_local4 = 2;
} else if (direction == "Left") {
_local4 = 3;
} else {
_local4 = 4;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function testCollisionMaskNextTile(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == "Up") {
_local4 = 2;
} else if (direction == "Down") {
_local4 = 1;
} else if (direction == "Left") {
_local4 = 4;
} else {
_local4 = 3;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function moveDown() {
sprite._y = sprite._y + speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.y++;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.y++;
setMapAttributes();
}
}
}
function moveUp() {
sprite._y = sprite._y - speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.y--;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.y--;
setMapAttributes();
}
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.x--;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.x--;
setMapAttributes();
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.x++;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.x++;
setMapAttributes();
}
}
}
function pushedIntoAnAbyss() {
status = "inactive";
var _local2 = levelHandler.getMap();
_local2[position.y][position.x][0] = 18;
_local2[position.y][position.x][1] = 0;
var _local4 = main.getInitInstance().getGameControllerObj().getScroller();
_local4.alterTile(17, position);
sprite.removeMovieClip();
var _local3 = main.getMainMovie();
soundHandler.createPlayAndDispose(_local3, "sndthunk");
main.getInitInstance().getGameControllerObj().rumbleScreen();
}
var speed = 4;
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 664 MovieClip [__Packages.Morpheme.Objects.MetalCrates] Frame 0
class Morpheme.Objects.MetalCrates
{
var main, levelHandler, baddieHandler, eventHandler, position, itemValue, zdepth, oldAttribute, status, beingPushedFlag, moveFunc, soundHandler, metalSFX, sprite, direction, fallingFlag, moveCnt, spriteTop, baseDepth, teleportingToATileFlag, map2;
function MetalCrates (pos) {
main = Main.getInstance();
var _local2 = main.getInitInstance().getGameControllerObj();
levelHandler = _local2.getLevelHandler();
baddieHandler = _local2.getBaddieHandler();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
position = new flash.geom.Point(pos.x, pos.y);
itemValue = 13;
zdepth = 0;
var _local3 = levelHandler.getMap();
oldAttribute = _local3[position.y][position.x][1];
setMapAttributes();
createSprite();
status = "active";
beingPushedFlag = false;
moveFunc = null;
handleDepthSorting();
soundHandler = _local2.getSoundHandler();
metalSFX = soundHandler.createSound(sprite, "sndmetal2");
}
function toString() {
return("MetalCrates");
}
function beingPushed(dir) {
if (beingPushedFlag == true) {
return("No");
}
if (testCollisionMask(dir, position.y, position.x) == true) {
return("No");
}
var _local7 = levelHandler.getMap();
var _local10 = levelHandler.getMap2();
var _local4;
var _local12;
var _local5;
var _local3;
var _local2;
if (dir == "Up") {
_local3 = position.x;
_local2 = position.y - 1;
_local5 = moveUp;
} else if (dir == "Right") {
_local3 = position.x + 1;
_local2 = position.y;
_local5 = moveRight;
} else if (dir == "Down") {
_local3 = position.x;
_local2 = position.y + 1;
_local5 = moveDown;
} else {
_local3 = position.x - 1;
_local2 = position.y;
_local5 = moveLeft;
}
direction = dir;
_local4 = _local7[_local2][_local3][1];
if (((_local4 > 4) && (_local4 != 18)) && (_local4 != 19)) {
if (_local4 == 6) {
fallingFlag = true;
} else {
if ((_local4 < 8) || (_local4 > 10)) {
return("No");
}
if (_local4 == 8) {
var _local13 = main.getInitInstance().getGameControllerObj().getObjectHandler().teleporting(_local2, _local3);
var _local9 = _local13.pos;
var _local11 = _local7[_local9.y + 1][_local9.x][1];
if (_local11 > 10) {
return("No");
}
}
}
} else {
_local12 = _local10[_local2][_local3][1];
if (_local12 > 0) {
return("No");
}
if (testCollisionMaskNextTile(dir, _local2, _local3) == true) {
return("No");
}
}
var _local8 = _local10[position.y][position.x][0];
if (zdepth == 0) {
if ((direction == "Up") || (direction == "Down")) {
if (zdepth == 0) {
if (_local8 == 58) {
return("No");
}
}
} else if (_local8 == 57) {
return("No");
}
}
handleDepthSorting(_local2, _local3);
soundHandler.playSound(metalSFX);
var _local15 = new flash.geom.Point(_local3, _local2);
eventHandler.sendEvent("crateBeingPushed", _local15);
_local7[position.y][position.x][1] = oldAttribute;
moveCnt = 32 / speed;
moveFunc = _local5;
beingPushedFlag = true;
var _local14 = main.getMainMovie();
sprite.swapDepths(_local14.playField.getNextHighestDepth());
return("Yes");
}
function mainloop() {
moveFunc();
}
function dispose() {
moveFunc = null;
sprite.removeMovieClip();
spriteTop.removeMovieClip();
eventHandler.unsubscribeToEvent(this);
}
function checkForTileBeneathChanging(pos, newAttribute) {
if (pos.x == position.x) {
if (pos.y == position.y) {
oldAttribute = newAttribute;
}
}
}
function restoreOldAttribute() {
var _local2 = levelHandler.getMap();
_local2[position.y][position.x][1] = 97;
}
function getPosition() {
return(position);
}
function getAttribute() {
return(97);
}
function getStatus() {
return(status);
}
function getItemValue() {
return(itemValue);
}
function getZdepth() {
return(zdepth);
}
function createSprite() {
var _local2 = main.getMainMovie();
baseDepth = _local2.playField.getNextHighestDepth();
sprite = _local2.playField.attachMovie("metalCrate", "metalCrate" + baseDepth, baseDepth);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
spriteTop = _local2.playField3.attachMovie("metalCrate", "metalCrate" + baseDepth, baseDepth);
spriteTop._x = sprite._x;
spriteTop._y = sprite._y;
}
function setMapAttributes() {
var _local2 = levelHandler.getMap();
oldAttribute = _local2[position.y][position.x][1];
_local2[position.y][position.x][1] = 97;
if (oldAttribute == 9) {
main.getInitInstance().getGameControllerObj().getObjectHandler().switchCollision(position.y, position.x);
} else if (oldAttribute == 8) {
beingPushedFlag = false;
_local2[position.y][position.x][1] = oldAttribute;
var _local3 = main.getInitInstance().getGameControllerObj().getObjectHandler().teleporting(position.y, position.x);
var _local4 = _local3.pos;
teleportingToATileFlag = _local3.teleportingToATileFlag;
position.x = _local4.x;
position.y = _local4.y;
oldAttribute = _local2[position.y][position.x][1];
sprite._x = position.x * 32;
sprite._y = position.y * 32;
sprite.gotoAndPlay(2);
if (teleportingToATileFlag != true) {
beingPushed("Down");
}
}
sprite.swapDepths(baseDepth);
}
function handleDepthSorting(ypos, xpos) {
map2 = levelHandler.getMap2();
var _local5 = map2[ypos][xpos][0];
var _local4 = map2[ypos - 1][xpos][0];
zdepth = 0;
if ((direction == "Left") || (direction == "Right")) {
if (_local5 == 57) {
zdepth = 2;
} else if (direction == "Right") {
var _local7 = map2[ypos][xpos - 1][0];
if (_local7 == 57) {
zdepth = 2;
}
} else {
var _local8 = map2[ypos][xpos + 1][0];
if (_local8 == 57) {
zdepth = 2;
}
}
if (_local4 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
if (direction == "Left") {
var _local8 = map2[ypos - 1][xpos + 1][0];
if (_local8 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
} else {
var _local7 = map2[ypos - 1][xpos - 1][0];
if (_local7 == 59) {
spriteTop._visible = true;
sprite._visible = false;
zdepth = 1;
return(undefined);
}
}
} else if ((_local5 == 58) || (_local5 == 59)) {
zdepth = 1;
} else if (direction == "Down") {
if ((_local4 == 58) || (_local4 == 59)) {
zdepth = 1;
}
} else {
var _local6 = map2[ypos + 1][xpos][0];
if ((_local6 == 58) || (_local6 == 59)) {
spriteTop._visible = true;
sprite._visible = false;
return(undefined);
}
}
if (zdepth != 0) {
spriteTop._visible = true;
sprite._visible = false;
} else {
sprite._visible = true;
spriteTop._visible = false;
}
}
function testCollisionMask(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == "Up") {
_local4 = 1;
} else if (direction == "Down") {
_local4 = 2;
} else if (direction == "Left") {
_local4 = 3;
} else {
_local4 = 4;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function testCollisionMaskNextTile(direction, ypos, xpos) {
var _local8 = levelHandler.getMap();
var _local7 = _local8[ypos][xpos][0];
if (_local7 == undefined) {
return(true);
}
var _local5 = collisionLookUp[_local7 - 1];
if (_local5 == 0) {
return(false);
}
var _local4;
if (direction == "Up") {
_local4 = 2;
} else if (direction == "Down") {
_local4 = 1;
} else if (direction == "Left") {
_local4 = 4;
} else {
_local4 = 3;
}
var _local3;
var _local6 = _local5.length;
var _local2 = -1;
while (_local2++ , _local2 != _local6) {
_local3 = _local5[_local2];
if (_local4 == _local3) {
return(true);
}
}
return(false);
}
function moveDown() {
sprite._y = sprite._y + speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.y++;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.y++;
setMapAttributes();
}
}
}
function moveUp() {
sprite._y = sprite._y - speed;
spriteTop._y = sprite._y;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.y--;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.y--;
setMapAttributes();
}
}
}
function moveLeft() {
sprite._x = sprite._x - speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.x--;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.x--;
setMapAttributes();
}
}
}
function moveRight() {
sprite._x = sprite._x + speed;
spriteTop._x = sprite._x;
if ((--moveCnt) == 0) {
beingPushedFlag = false;
moveFunc = null;
if (fallingFlag == true) {
position.x++;
pushedIntoAnAbyss();
} else {
handleDepthSorting(position.y, position.x);
}
} else if (moveCnt == 7) {
if (fallingFlag != true) {
position.x++;
setMapAttributes();
}
}
}
function pushedIntoAnAbyss() {
status = "inactive";
var _local2 = levelHandler.getMap();
_local2[position.y][position.x][0] = 18;
_local2[position.y][position.x][1] = 0;
var _local4 = main.getInitInstance().getGameControllerObj().getScroller();
_local4.alterTile(17, position);
sprite.removeMovieClip();
var _local3 = main.getMainMovie();
soundHandler.createPlayAndDispose(_local3, "sndthunk");
main.getInitInstance().getGameControllerObj().rumbleScreen();
}
var speed = 4;
var collisionLookUp = new Array(0, 0, 0, [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [2], [2, 4], [2, 3], [2], [2], [3], [4], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, [1, 2], [3, 4], [3, 4], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
}
Symbol 665 MovieClip [__Packages.Morpheme.Objects.Crucifix] Frame 0
class Morpheme.Objects.Crucifix
{
var main, position, status, soundHandler, sprite, originalAttribute, devilTileStorage, levelHandler;
function Crucifix (pos) {
main = Main.getInstance();
position = new flash.geom.Point(pos.x, pos.y);
createSprite();
status = "Active";
}
function toString() {
return("Crucifix");
}
function collected() {
status = "Collected";
removeDevilTiles();
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
var _local2 = main.getMainMovie();
soundHandler.createPlayAndDispose(_local2, "sndpickup");
dispose();
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(68);
}
function getOriginalAttribute() {
return(originalAttribute);
}
function setOriginalAttribute(arg) {
originalAttribute = arg;
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("crucifix", "crucifix" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
}
function removeDevilTiles() {
devilTileStorage = new Array();
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
var _local11 = levelHandler.getLevelObject();
var _local7 = _local11.objectMapDimensions.x;
var _local10 = _local11.objectMapDimensions.y;
var _local4 = levelHandler.getMap();
var _local8 = main.getInitInstance().getGameControllerObj().getScroller();
var _local9 = main.getInitInstance().getEventHandler();
var _local5;
var _local6;
var _local2;
var _local3 = 0;
while (_local3++ , _local3 != _local10) {
_local2 = 0;
while (_local2++ , _local2 < _local7) {
_local6 = _local4[_local3][_local2][0];
if (_local6 == 3) {
_local4[_local3][_local2][0] = 1;
_local5 = new flash.geom.Point(_local2, _local3);
if (_local4[_local3][_local2][1] == 10) {
_local4[_local3][_local2][1] = 0;
} else {
_local9.sendEvent("checkForTileBeneathChanging", _local5, 0);
}
_local8.alterTile(86, _local5);
devilTileStorage.push(_local5);
}
}
}
}
}
Symbol 666 MovieClip [__Packages.Morpheme.Objects.Lantern] Frame 0
class Morpheme.Objects.Lantern
{
var main, position, status, soundHandler, sprite, originalAttribute;
function Lantern (pos) {
main = Main.getInstance();
position = new flash.geom.Point(pos.x, pos.y);
createSprite();
status = "Active";
}
function toString() {
return("Lantern");
}
function collected() {
status = "Collected";
main.getInitInstance().getGameControllerObj().getPlayer().lanterCollected();
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
var _local2 = main.getMainMovie();
soundHandler.createPlayAndDispose(_local2, "sndpickup");
dispose();
}
function dispose() {
sprite.removeMovieClip();
}
function getPosition() {
return(position);
}
function getAttribute() {
return(69);
}
function getOriginalAttribute() {
return(originalAttribute);
}
function setOriginalAttribute(arg) {
originalAttribute = arg;
}
function createSprite() {
var _local3 = main.getMainMovie();
var _local2 = _local3.playField.getNextHighestDepth();
sprite = _local3.playField.attachMovie("lantern", "lantern" + _local2, _local2);
sprite._x = position.x * 32;
sprite._y = position.y * 32;
}
}
Symbol 667 MovieClip [__Packages.Morpheme.HUD] Frame 0
class Morpheme.HUD
{
var main, mainMovie, infoBar;
function HUD () {
}
function toString() {
return("HUD");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
infoBar = mainMovie.infoBar;
}
function houseKeeping() {
infoBar.remainingSkulls.text = 0;
clearKeys();
}
function clearKeys() {
infoBar.roundKeys.text = 0;
infoBar.squareKeys.text = 0;
infoBar.triangleKeys.text = 0;
infoBar.crossKeys.text = 0;
}
function updateSkulls(skulls) {
infoBar.remainingSkulls.text = skulls;
}
function removeFromInventory(inventoryItem) {
if (inventoryItem == 1) {
infoBar.roundKeys.text--;
} else if (inventoryItem == 2) {
infoBar.squareKeys.text--;
} else if (inventoryItem == 3) {
infoBar.triangleKeys.text--;
} else if (inventoryItem == 4) {
infoBar.crossKeys.text--;
}
}
function updateInventoryHUD(inventoryItem) {
if (inventoryItem == 1) {
infoBar.roundKeys.text++;
} else if (inventoryItem == 2) {
infoBar.squareKeys.text++;
} else if (inventoryItem == 3) {
infoBar.triangleKeys.text++;
} else if (inventoryItem == 4) {
infoBar.crossKeys.text++;
}
}
function updateTimer(mins, secs) {
var _local3;
if (mins < 10) {
_local3 = "0" + mins;
} else {
_local3 = mins.toString();
}
var _local2;
if (secs < 10) {
_local2 = "0" + secs;
} else {
_local2 = secs.toString();
}
infoBar.minutes.text = _local3;
infoBar.seconds.text = _local2;
}
function emptyTimerAndBest() {
infoBar.minutes.text = (infoBar.seconds.text = "--");
infoBar.bestMinutes.text = (infoBar.bestSeconds.text = "--");
}
function setBestTime(time) {
var _local4;
if (time.minutes < 10) {
_local4 = "0" + time.minutes;
} else {
_local4 = time.minutes.toString();
}
var _local3;
if (time.seconds < 10) {
_local3 = "0" + time.seconds;
} else {
_local3 = time.seconds.toString();
}
infoBar.bestMinutes.text = _local4;
infoBar.bestSeconds.text = _local3;
}
}
Symbol 668 MovieClip [__Packages.Morpheme.Master] Frame 0
class Morpheme.Master
{
var gameControllerObj, main, mainMovie, player, baddieHandler, objectHandler, hudObj, levelHandler, level, timerFunc, tick, minutes, seconds, keyScanDelay, methodStore, cameraDest, panCameraMovementStorage, gameCompleteCnt, cameraPanPause;
function Master () {
}
function toString() {
return("Master");
}
function mainLoopInit() {
if (gameControllerObj == undefined) {
main = Main.getInstance();
mainMovie = main.getMainMovie();
gameControllerObj = main.getInitInstance().getGameControllerObj();
player = gameControllerObj.getPlayer();
baddieHandler = gameControllerObj.getBaddieHandler();
objectHandler = gameControllerObj.getObjectHandler();
hudObj = gameControllerObj.getHUD();
levelHandler = gameControllerObj.getLevelHandler();
}
level = gameControllerObj.getLevel();
if (level == 1) {
timerFunc = null;
hudObj.emptyTimerAndBest();
} else {
timerFunc = handleTimer;
tick = (minutes = (seconds = 0));
hudObj.updateTimer(minutes, seconds);
var _local2 = gameControllerObj.getBestTimeHandler().getBestTime(levelHandler.getLevelName());
hudObj.setBestTime(_local2);
}
keyScanDelay = 10;
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, mainloop);
}
function houseKeeping() {
delete mainMovie.onEnterFrame;
}
function pause() {
if (mainMovie.onEnterFrame != undefined) {
methodStore = mainMovie.onEnterFrame;
} else {
methodStore = null;
}
houseKeeping();
}
function resume() {
if (methodStore != null) {
mainMovie.onEnterFrame = methodStore;
}
}
function panCameraInit(destPos) {
var _local4 = gameControllerObj.getLevelHandler().getLevelObject();
var _local5 = _local4.parsedMap[0].length;
var _local6 = _local4.parsedMap.length;
var _local3 = destPos.x - 6;
if (_local3 < 0) {
_local3 = 0;
} else if ((_local3 + 13) > _local5) {
var _local8 = Math.abs(_local5 - (_local3 + 13));
_local3 = _local3 - _local8;
}
var _local2 = destPos.y - 6;
if (_local2 < 0) {
_local2 = 0;
} else if ((_local2 + 13) > _local6) {
var _local7 = Math.abs(_local6 - (_local2 + 13));
_local2 = _local2 - _local7;
}
cameraDest = new flash.geom.Point(_local3, _local2);
panCameraMovementStorage = new Array();
player.cameraPanning = true;
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, panCamera);
}
function gameCompleteInit() {
gameCompleteCnt = 0;
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, gameComplete);
}
function getTime() {
var _local2 = {minutes:minutes, seconds:seconds};
return(_local2);
}
function mainloop() {
objectHandler.mainloop();
player.mainloop();
baddieHandler.mainloop();
timerFunc();
mainMovie.spinner._rotation++;
scanForOptionsSelected();
}
function gameComplete() {
if ((++gameCompleteCnt) == 31) {
delete mainMovie.onEnterFrame;
main.getInitInstance().getAttractObj().outroInit();
}
}
function handleTimer() {
if ((++tick) == 31) {
tick = 0;
if ((++seconds) == 60) {
seconds = 0;
minutes++;
}
hudObj.updateTimer(minutes, seconds);
}
}
function panCamera() {
var _local3 = gameControllerObj.getScroller();
var _local4 = gameControllerObj.getScroller2();
player.inputFunc();
var _local2 = new Object();
var _local7 = cameraDest.x;
var _local6 = cameraDest.y;
var _local8 = _local3.getMapTopLeftXPos();
var _local5 = _local3.getMapTopLeftYPos();
if (_local8 < _local7) {
_local3.scrollRight();
_local4.scrollRight();
player.sprite._x = player.sprite._x - 4;
_local2.horizontal = "Right";
} else if (_local8 > _local7) {
_local3.scrollLeft();
_local4.scrollLeft();
player.sprite._x = player.sprite._x + 4;
_local2.horizontal = "Left";
} else {
_local2.horizontal = "null";
}
if (_local5 < _local6) {
_local3.scrollDown();
_local4.scrollDown();
player.sprite._y = player.sprite._y - 4;
_local2.vertical = "down";
} else if (_local5 > _local6) {
_local3.scrollUp();
_local4.scrollUp();
player.sprite._y = player.sprite._y + 4;
_local2.vertical = "up";
} else {
_local2.vertical = "null";
}
panCameraMovementStorage.push(_local2);
mainMovie.playField3._x = mainMovie.playField._x;
mainMovie.playField3._y = mainMovie.playField._y;
player.spriteTop._x = player.sprite._x;
player.spriteTop._y = player.sprite._y;
if ((_local5 == _local6) && (_local8 == _local7)) {
cameraPanPause = 62;
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, cameraPanPauseLoop);
}
}
function cameraPanPauseLoop() {
if ((--cameraPanPause) == 0) {
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, returnCameraPos);
} else if (cameraPanPause == 31) {
if (gameControllerObj.openGatewayFlag == true) {
levelHandler.openGateWay();
}
}
}
function returnCameraPos() {
if (panCameraMovementStorage.length == 0) {
player.cameraPanning = false;
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, mainloop);
}
player.inputFunc();
var _local4 = gameControllerObj.getScroller();
var _local2 = gameControllerObj.getScroller2();
var _local3 = panCameraMovementStorage.shift();
if (_local3.vertical == "Up") {
_local4.scrollDown();
_local2.scrollDown();
player.sprite._y = player.sprite._y - 4;
panCameraMovementStorage.push("Down");
} else if (_local3.vertical == "Down") {
_local4.scrollUp();
_local2.scrollUp();
player.sprite._y = player.sprite._y + 4;
panCameraMovementStorage.push("Up");
} else if (_local3.horizontal == "Left") {
_local4.scrollRight();
_local2.scrollRight();
player.sprite._x = player.sprite._x - 4;
} else if (_local3.horizontal == "Right") {
_local4.scrollLeft();
_local2.scrollLeft();
player.sprite._x = player.sprite._x + 4;
}
mainMovie.playField3._x = mainMovie.playField._x;
mainMovie.playField3._y = mainMovie.playField._y;
player.spriteTop._x = player.sprite._x;
player.spriteTop._y = player.sprite._y;
}
function scanForOptionsSelected() {
if ((--keyScanDelay) <= 0) {
if (Key.isDown(32)) {
pause();
main.getInitInstance().getGameControllerObj().getOverlayHandler().displayOptionsInit();
}
}
}
}
Symbol 669 MovieClip [__Packages.Morpheme.Objects.FlamesHandler] Frame 0
class Morpheme.Objects.FlamesHandler
{
var main, mainMovie, levelHandler, map, flameStorage;
function FlamesHandler () {
}
function toString() {
return("FlamesHandler");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
}
function init() {
if (levelHandler == undefined) {
levelHandler = main.getInitInstance().getGameControllerObj().getLevelHandler();
}
var _local7 = levelHandler.getLevelObject();
var _local5 = _local7.objectMapDimensions.x;
var _local6 = _local7.objectMapDimensions.y;
map = levelHandler.getMap();
flameStorage = new Array();
var _local4;
var _local2;
var _local3 = -1;
while (_local3++ , _local3 != _local6) {
_local2 = 0;
while (_local2++ , _local2 < _local5) {
_local4 = map[_local3][_local2][0];
if (_local4 == 46) {
flameStorage.push(createSprite(_local2, _local3));
}
}
}
}
function houseKeeping() {
var _local4 = flameStorage.length;
var _local2 = -1;
var _local3;
while (_local2++ , _local2 != _local4) {
_local3 = flameStorage[_local2];
_local3.removeMovieClip();
}
}
function createSprite(xpos, ypos) {
var _local3 = mainMovie.playField.getNextHighestDepth();
var _local2 = mainMovie.playField.attachMovie("flames", "flame" + _local3, _local3);
_local2._x = xpos * 32;
_local2._y = ypos * 32;
_local2.blendMode = 14;
var _local4 = int(Math.random() * _local2._totalframes);
_local2.gotoAndPlay(_local4);
return(_local2);
}
}
Symbol 670 MovieClip [__Packages.Morpheme.IO.BestTimeHandler] Frame 0
class Morpheme.IO.BestTimeHandler
{
var bestTimeStorage, mySo, main;
function BestTimeHandler () {
bestTimeStorage = new Array();
mySo = SharedObject.getLocal("GamingYourWayPresentsPhantomMansion");
if (mySo.data.bestTimeStorage != undefined) {
retrieveData();
}
}
function toString() {
return("BestTimeHandler");
}
function oneShot() {
main = Main.getInstance();
}
function populateTable(levelStorage) {
if (bestTimeStorage.length != 0) {
return(undefined);
}
var _local3;
var _local4 = levelStorage.length;
var _local2 = -1;
while (_local2++ , _local2 != _local4) {
_local3 = levelStorage[_local2].name;
bestTimeStorage.push([_local3, [99, 99]]);
}
saveData();
}
function testForNewBestTime(levelName, timeObject) {
var _local3;
var _local4 = bestTimeStorage.length;
var _local2 = -1;
do {
_local2++;
if (_local2 == _local4) {
break;
}
_local3 = bestTimeStorage[_local2][0];
} while (_local3 != levelName);
var _local7 = bestTimeStorage[_local2][1][0];
var _local8 = bestTimeStorage[_local2][1][1];
if (timeObject.minutes < _local7) {
bestTimeStorage[_local2][1][0] = timeObject.minutes;
bestTimeStorage[_local2][1][1] = timeObject.seconds;
saveData();
} else if (timeObject.minutes == _local7) {
if (timeObject.seconds <= _local8) {
bestTimeStorage[_local2][1][0] = timeObject.minutes;
bestTimeStorage[_local2][1][1] = timeObject.seconds;
saveData();
}
}
}
function getBestTime(levelName) {
var _local3;
var _local4 = bestTimeStorage.length;
var _local2 = -1;
do {
_local2++;
if (_local2 == _local4) {
break;
}
_local3 = bestTimeStorage[_local2][0];
} while (_local3 != levelName);
var _local6 = bestTimeStorage[_local2][1][0];
var _local7 = bestTimeStorage[_local2][1][1];
if (_local6 == undefined) {
_local7 = 99;
_local6 = _local7;
}
if ((_local6 == 99) && (_local7 == 99)) {
var _local9 = {minutes:0, seconds:0};
return(_local9);
}
var _local8 = {minutes:_local6, seconds:_local7};
return(_local8);
}
function loadGame() {
if (mySo.data.completedLevelsArray == undefined) {
var _local2 = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
mySo.data.completedLevelsArray = _local2;
mySo.data.globalSkulls = 1;
return(false);
}
main.getInitInstance().getGameControllerObj().gameLoaded(mySo.data.completedLevelsArray, mySo.data.globalSkulls);
}
function saveGame(completedLevelsArray, globalSkulls) {
var _local3 = new Array();
var _local4 = completedLevelsArray.length;
var _local2 = -1;
while (_local2++ , _local2 != _local4) {
_local3.push(completedLevelsArray[_local2]);
}
mySo.data.completedLevelsArray = _local3;
mySo.data.globalSkulls = globalSkulls;
mySo.flush();
}
function retrieveData() {
var _local3 = mySo.data.bestTimeStorage;
var _local4 = _local3.length;
var _local2 = -1;
while (_local2++ , _local2 != _local4) {
bestTimeStorage[_local2] = _local3[_local2];
}
}
function saveData() {
mySo.data.bestTimeStorage = bestTimeStorage;
mySo.flush();
}
}
Symbol 671 MovieClip [__Packages.Morpheme.OverlayHandler] Frame 0
class Morpheme.OverlayHandler
{
var windowGrab, main, mainMovie, eventHandler, overlaySprite, callBack, currentPosition, keyboardDelay;
function OverlayHandler () {
windowGrab = new flash.display.BitmapData(416, 416, false, 0);
}
function toString() {
return("OverlayHandler");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
eventHandler = main.getInitInstance().getEventHandler();
eventHandler.subscribeToEvent(this);
}
function grabScreen() {
var _local2 = new flash.display.BitmapData(636, 434, false, 0);
_local2.draw(mainMovie);
windowGrab.copyPixels(_local2, new flash.geom.Rectangle(214, 10, 416, 416), new flash.geom.Point());
_local2.dispose();
var _local3 = mainMovie.createEmptyMovieClip("grabHolder", mainMovie.getNextHighestDepth());
_local3.attachBitmap(windowGrab, 1);
_local3._x = 214;
_local3._y = 10;
}
function releaseGrabbedScreen() {
mainMovie.grabHolder.removeMovieClip();
}
function fadeDownGrabbedScreenInit() {
mainMovie.grabHolder.onEnterFrame = mx.utils.Delegate.create(this, fadeDownGrabbedScreen);
}
function displayLobbyScrollWhenLoading() {
overlaySprite = mainMovie.attachMovie("overlay", "overlay", mainMovie.getNextHighestDepth());
var _local2 = main.getInitInstance().getGameControllerObj().getLevel();
overlaySprite.gotoAndStop(4);
overlaySprite.continueButton._visible = false;
}
function displayLevelName() {
grabScreen();
overlaySprite = mainMovie.attachMovie("overlay", "overlay", mainMovie.getNextHighestDepth());
overlaySprite.gotoAndStop(1);
overlaySprite.levelName.text = main.getInitInstance().getGameControllerObj().getLevelHandler().getLevelName();
overlaySprite.continueButton._visible = false;
}
function displayOptionsInit() {
grabScreen();
overlaySprite = mainMovie.attachMovie("overlay", "overlay", mainMovie.getNextHighestDepth());
overlaySprite.gotoAndStop(2);
initOptionsButtons();
}
function displayHelpScrollInit() {
main.getInitInstance().getGameControllerObj().getMaster().pause();
grabScreen();
overlaySprite = mainMovie.attachMovie("overlay", "overlay", mainMovie.getNextHighestDepth());
var _local2 = main.getInitInstance().getGameControllerObj().getLevel();
overlaySprite.gotoAndStop(_local2 + 4);
overlaySprite.continueButton.onPress = mx.utils.Delegate.create(this, helpContinueButtonPressed);
keyboardInit_helpScroll();
}
function removeOverlay() {
overlaySprite.removeMovieClip();
}
function levelReadyToPlay() {
var _local2 = overlaySprite.continueButton;
_local2._visible = true;
_local2.onPress = mx.utils.Delegate.create(this, levelNameDisplayedContinueButtonPressed);
keyboardInit_levelNameDisplayed();
}
function rumbleFinished() {
releaseGrabbedScreen();
}
function levelNameDisplayedContinueButtonPressed() {
overlaySprite.continueButton._visible = false;
main.getInitInstance().getGameControllerObj().continueGame();
}
function fadeDownGrabbedScreen() {
var _local2 = mainMovie.grabHolder;
_local2._alpha = _local2._alpha - 10;
if (_local2._alpha <= 0) {
delete _local2.onEnterFrame;
releaseGrabbedScreen();
callBack();
callBack = null;
}
}
function initOptionsButtons() {
overlaySprite.continueButton.onPress = mx.utils.Delegate.create(this, optionsContinueButtonPressed);
overlaySprite.continueButton.onRollOver = mx.utils.Delegate.create(this, optionsContinueButtonRolledOver);
var _local2 = main.getInitInstance().getGameControllerObj().getLevel();
if (_local2 == 1) {
overlaySprite.restartButton._alpha = 40;
overlaySprite.quitButton._alpha = 40;
} else {
overlaySprite.restartButton.onPress = mx.utils.Delegate.create(this, optionsRestartButtonPressed);
overlaySprite.quitButton.onPress = mx.utils.Delegate.create(this, optionsQuitButtonPressed);
overlaySprite.restartButton.onRollOver = mx.utils.Delegate.create(this, optionsRestartButtonRolledOver);
overlaySprite.quitButton.onRollOver = mx.utils.Delegate.create(this, optionsQuitButtonRolledOver);
}
overlaySprite.quitGameButton.onPress = mx.utils.Delegate.create(this, optionsQuitGameButtonPressed);
overlaySprite.quitGameButton.onRollOver = mx.utils.Delegate.create(this, optionsQuitGameButtonRolledOver);
overlaySprite.storyButton.onPress = mx.utils.Delegate.create(this, optionsStoryButtonPressed);
overlaySprite.storyButton.onRollOver = mx.utils.Delegate.create(this, optionsStoryButtonRolledOver);
keyboardInit_options();
}
function optionsContinueButtonPressed() {
removeOverlay();
fadeDownGrabbedScreenInit();
main.getInitInstance().getGameControllerObj().getMaster().resume();
}
function optionsRestartButtonPressed() {
removeOverlay();
fadeDownGrabbedScreenInit();
main.getInitInstance().getGameControllerObj().playerDead();
}
function optionsQuitButtonPressed() {
removeOverlay();
fadeDownGrabbedScreenInit();
main.getInitInstance().getGameControllerObj().resetNumberOfCollectedSkulls();
main.getInitInstance().getGameControllerObj().setLevel(1);
main.getInitInstance().getGameControllerObj().levelChanged();
}
function optionsQuitGameButtonPressed() {
getURL ("http://www.gimme5games.com/index.jsp?id=pm_hub", "_blank");
}
function optionsStoryButtonPressed() {
overlaySprite.storyScreen._alpha = 0;
overlaySprite.storyScreen._visible = true;
overlaySprite.storyScreen.onEnterFrame = mx.utils.Delegate.create(this, fadeUpStoryScreen);
}
function fadeUpStoryScreen() {
overlaySprite.storyScreen._alpha = overlaySprite.storyScreen._alpha + 10;
if (overlaySprite.storyScreen._alpha >= 100) {
overlaySprite.storyScreen._alpha = 100;
delete overlaySprite.storyScreen.onEnterFrame;
overlaySprite.storyScreen.backButton.onPress = mx.utils.Delegate.create(this, fadeDownStoryScreenInit);
}
}
function fadeDownStoryScreenInit() {
overlaySprite.storyScreen.onEnterFrame = mx.utils.Delegate.create(this, fadeDownStoryScreen);
}
function fadeDownStoryScreen() {
overlaySprite.storyScreen._alpha = overlaySprite.storyScreen._alpha - 10;
if (overlaySprite.storyScreen._alpha <= 0) {
delete overlaySprite.storyScreen.onEnterFrame;
overlaySprite.storyScreen._visible = false;
}
}
function optionsContinueButtonRolledOver() {
currentPosition = 1;
}
function optionsStoryButtonRolledOver() {
currentPosition = 2;
}
function optionsRestartButtonRolledOver() {
currentPosition = 3;
}
function optionsQuitButtonRolledOver() {
currentPosition = 4;
}
function optionsQuitGameButtonRolledOver() {
currentPosition = 5;
}
function helpContinueButtonPressed() {
removeOverlay();
callBack = mx.utils.Delegate.create(main.getInitInstance().getGameControllerObj().getMaster(), main.getInitInstance().getGameControllerObj().getMaster().resume);
fadeDownGrabbedScreenInit();
}
function keyboardInit_levelNameDisplayed() {
overlaySprite.onEnterFrame = mx.utils.Delegate.create(this, scanlevelNameDisplayedKeys);
}
function scanlevelNameDisplayedKeys() {
if (inkey(32) || (inkey(13))) {
delete overlaySprite.onEnterFrame;
main.getInitInstance().getGameControllerObj().getMaster().keyScanDelay = 10;
levelNameDisplayedContinueButtonPressed();
}
}
function keyboardInit_helpScroll() {
overlaySprite.onEnterFrame = mx.utils.Delegate.create(this, scanHelpScroll);
}
function scanHelpScroll() {
if (inkey(32) || (inkey(13))) {
delete overlaySprite.onEnterFrame;
main.getInitInstance().getGameControllerObj().getMaster().keyScanDelay = 10;
helpContinueButtonPressed();
}
}
function keyboardInit_options() {
currentPosition = 1;
keyboardDelay = 5;
overlaySprite.onEnterFrame = mx.utils.Delegate.create(this, scanOptionsKeys);
}
function scanOptionsKeys() {
if (currentPosition == 1) {
overlaySprite.continueButton.gotoAndStop(2);
overlaySprite.storyButton.gotoAndStop(1);
overlaySprite.restartButton.gotoAndStop(1);
overlaySprite.quitButton.gotoAndStop(1);
overlaySprite.quitGameButton.gotoAndStop(1);
} else if (currentPosition == 2) {
overlaySprite.continueButton.gotoAndStop(1);
overlaySprite.storyButton.gotoAndStop(2);
overlaySprite.restartButton.gotoAndStop(1);
overlaySprite.quitButton.gotoAndStop(1);
overlaySprite.quitGameButton.gotoAndStop(1);
} else if (currentPosition == 3) {
overlaySprite.continueButton.gotoAndStop(1);
overlaySprite.storyButton.gotoAndStop(1);
overlaySprite.restartButton.gotoAndStop(2);
overlaySprite.quitButton.gotoAndStop(1);
overlaySprite.quitGameButton.gotoAndStop(1);
} else if (currentPosition == 4) {
overlaySprite.continueButton.gotoAndStop(1);
overlaySprite.storyButton.gotoAndStop(1);
overlaySprite.restartButton.gotoAndStop(1);
overlaySprite.quitButton.gotoAndStop(2);
overlaySprite.quitGameButton.gotoAndStop(1);
} else {
overlaySprite.continueButton.gotoAndStop(1);
overlaySprite.storyButton.gotoAndStop(1);
overlaySprite.restartButton.gotoAndStop(1);
overlaySprite.quitButton.gotoAndStop(1);
overlaySprite.quitGameButton.gotoAndStop(2);
}
if ((--keyboardDelay) > 0) {
return(undefined);
}
if (inkey(32) || (inkey(13))) {
main.getInitInstance().getGameControllerObj().getMaster().keyScanDelay = 15;
if (currentPosition == 1) {
delete overlaySprite.onEnterFrame;
optionsContinueButtonPressed();
} else if (currentPosition == 2) {
optionsStoryButtonPressed();
} else {
delete overlaySprite.onEnterFrame;
if (currentPosition == 3) {
optionsRestartButtonPressed();
} else if (currentPosition == 4) {
optionsQuitButtonPressed();
} else {
optionsQuitGameButtonPressed();
}
}
}
if (inkey(38)) {
if (currentPosition == 1) {
return(undefined);
}
keyboardDelay = 5;
if (overlaySprite.restartButton._alpha != 100) {
if (currentPosition == 5) {
currentPosition = 2;
} else if (currentPosition == 2) {
currentPosition = 1;
}
return(undefined);
}
currentPosition--;
} else if (inkey(40)) {
keyboardDelay = 5;
if (overlaySprite.restartButton._alpha != 100) {
if (currentPosition == 1) {
currentPosition = 2;
} else if (currentPosition == 2) {
currentPosition = 5;
}
return(undefined);
}
if (currentPosition == 5) {
return(undefined);
}
currentPosition++;
}
}
var inkey = Key.isDown;
}
Symbol 672 MovieClip [__Packages.gamingyourway.common.Rumble] Frame 0
class gamingyourway.common.Rumble
{
var blurFlag, duration, eventHandler, controllerMC, targetMC, targetMCX, targetMCY, n, x, y, yNumber, dx, dy, frXcn, rumbleCnt, freqXcn, freqYcn, ffreqX, ffreqY, ampx, ampy, tx, ty, frX, frYcn, fx, fy, frY, freqX, freqY, step, oppRand, randX, randY, keepX, keepY, maxx, maxy, allowx, allowy, minx, miny, maxdy, maxdx, maxspeed, mindy, mindx, acccn;
function Rumble () {
blurFlag = false;
duration = 30;
}
function toString() {
return("Rumble");
}
function startRumble() {
var _local6 = Main.getInstance();
eventHandler = _local6.getInitInstance().getEventHandler();
controllerMC = targetMC.createEmptyMovieClip("rumbling_" + targetMC._name, targetMC.getNextHighestDepth());
if (blurFlag == true) {
var _local5 = 0;
var _local4 = 0;
var _local3 = new flash.filters.BlurFilter(_local5, _local4, 1);
var _local2 = new Array();
_local2.push(_local3);
targetMC.filters = _local2;
}
resetVars();
controllerMC.onEnterFrame = mx.utils.Delegate.create(this, rumbleoEF);
}
function setTargetMC(target) {
targetMC = target;
targetMCX = target._x;
targetMCY = target._y;
}
function setBlur(arg) {
blurFlag = arg;
}
function setDuration(arg) {
duration = arg;
}
function resetVars() {
n = (x = (y = (yNumber = (dx = (dy = (frXcn = (rumbleCnt = (freqXcn = (freqYcn = (ffreqX = (ffreqY = (ampx = (ampy = 0)))))))))))));
tx = (ty = (frX = (frYcn = (fx = (fy = 1)))));
frY = 1.25;
freqX = 0.333333333333333;
freqY = 0.5;
step = (Math.PI/2);
oppRand = 2.5;
randX = Math.random() * oppRand;
randY = Math.random() * oppRand;
keepX = (keepY = 11);
maxx = (maxy = (allowx = (allowy = 8)));
minx = (miny = 2);
maxdy = (maxdx = (maxspeed = 2));
mindy = maxspeed * -1;
mindx = maxspeed * -1;
acccn = 5;
}
function rumbleoEF() {
if ((++rumbleCnt) == duration) {
targetMC._x = targetMCX;
targetMC._y = targetMCY;
targetMC.filters = null;
controllerMC.removeMovieClip();
eventHandler.sendEvent("rumbleFinished");
return(undefined);
}
n = n + step;
tx++;
ty++;
fx = Math.sin((frX * n) + frXcn);
fy = Math.sin((frY * n) + frYcn);
ffreqX = Math.sin(freqX * n);
ffreqY = Math.sin(freqY * n);
if (tx >= keepX) {
randX = Math.random() * oppRand;
randY = Math.random() * oppRand;
tx = (ty = 0);
}
dx = dx + ((randX * fx) + ffreqX);
dy = dy + ((randY * fy) + ffreqY);
if (dx > maxdx) {
var _local2 = targetMC.filters;
_local2[0].blurX = 8;
targetMC.filters = _local2;
dx = maxdx;
} else if (dx < mindx) {
var _local2 = targetMC.filters;
_local2[0].blurX = 8;
targetMC.filters = _local2;
dx = mindx;
} else {
var _local2 = targetMC.filters;
_local2[0].blurX = 0;
targetMC.filters = _local2;
}
if (dy > maxdy) {
var _local2 = targetMC.filters;
_local2[0].blurY = 8;
targetMC.filters = _local2;
dy = maxdy;
} else if (dy < mindy) {
var _local2 = targetMC.filters;
_local2[0].blurY = 8;
targetMC.filters = _local2;
dy = mindy;
} else {
var _local2 = targetMC.filters;
_local2[0].blurY = 0;
targetMC.filters = _local2;
}
x = x + dx;
y = y + dy;
if (x <= (minx + acccn)) {
dx = dx + oppRand;
} else if (x >= (maxx - acccn)) {
dx = dx - oppRand;
}
if (y <= (miny + acccn)) {
dy = dy + oppRand;
} else if (y >= (maxy - acccn)) {
dy = dy - oppRand;
}
targetMC._x = targetMCX + (x / 2);
targetMC._y = targetMCY + (y / 2);
}
}
Symbol 673 MovieClip [__Packages.Morpheme.Attract] Frame 0
class Morpheme.Attract
{
var tilesLoadedFlag, mapLoadedFlag, introDisplayedFlag, main, mainMovie, attractMode, intro, outro, soundHandler, snd33secs, sndEND, savedGameFlag;
function Attract () {
tilesLoadedFlag = (mapLoadedFlag = (introDisplayedFlag = false));
}
function toString() {
return("Attract");
}
function oneShot() {
main = Main.getInstance();
mainMovie = main.getMainMovie();
attractMode = mainMovie.attractMode;
intro = mainMovie.intro;
outro = mainMovie.outro;
soundHandler = main.getInitInstance().getGameControllerObj().getSoundHandler();
snd33secs = soundHandler.createSound(attractMode, "snd33secs");
sndEND = soundHandler.createSound(attractMode, "sndEND");
}
function preInit() {
savedGameFlag = main.getInitInstance().getGameControllerObj().getBestTimeHandler().loadGame();
soundHandler.playSound(snd33secs);
runIntro();
}
function init() {
intro._visible = false;
attractMode.gotoAndStop(2);
attractMode._visible = true;
initTitleButtons();
}
function killAttractMode() {
attractMode.onEnterFrame = mx.utils.Delegate.create(this, fadeDownAttract);
}
function outroInit() {
outro._visible = true;
outro._alpha = 0;
outro.gotoAndPlay(1);
runOutro();
}
function initButton(mc) {
mc.enabled = true;
mc.useHandCursor = true;
}
function killButton(mc) {
mc.enabled = false;
mc.useHandCursor = false;
mc.gotoAndStop(1);
}
function initTitleButtons() {
initButton(attractMode.startButton);
attractMode.startButton.onPress = mx.utils.Delegate.create(this, startButtonPressed);
attractMode.startButton.onEnterFrame = mx.utils.Delegate.create(this, scanForKeys);
}
function scanForKeys() {
if (inkey(32) || (inkey(13))) {
startButtonPressed();
}
}
function startButtonPressed() {
delete attractMode.startButton.onEnterFrame;
killButton(attractMode.startButton);
main.getInitInstance().getGameControllerObj().startGame();
}
function attractEnd() {
killButton(attractMode.continueButton);
attractMode.onEnterFrame = mx.utils.Delegate.create(this, fadeDownAttract);
}
function fadeDownAttract() {
attractMode._alpha = attractMode._alpha - 10;
if (attractMode._alpha <= 0) {
attractMode._visible = false;
attractMode.gotoAndStop(1);
attractMode._alpha = 100;
delete attractMode.onEnterFrame;
}
}
function runIntro() {
intro.anim.gotoAndPlay(1);
intro.onEnterFrame = mx.utils.Delegate.create(this, introWait);
}
function introWait() {
if (intro.anim._currentframe == intro.anim._totalframes) {
delete intro.onEnterFrame;
_root.exitTitleScreen();
}
if ((Key.isDown(32) || (Key.isDown(13))) || (Key.isDown(1))) {
soundHandler.fadeSoundOut(snd33secs, 1, 0, 10);
intro.anim.gotoAndStop(intro._totalframes);
delete intro.onEnterFrame;
_root.exitTitleScreen();
}
}
function fadeDownIntro() {
intro._alpha = intro._alpha - 10;
if (intro._alpha <= 0) {
intro._visible = false;
delete intro.onEnterFrame;
_root.exitTitleScreen();
}
}
function runOutro() {
soundHandler.playSound(sndEND);
outro._alpha = 100;
outro._visible = true;
outro.onEnterFrame = mx.utils.Delegate.create(this, outroWait);
}
function outroWait() {
if (outro._currentframe == outro._totalframes) {
delete outro.onEnterFrame;
setUpOutroBackButton();
} else if (outro._currentframe == 5) {
main.getInitInstance().getGameControllerObj().houseKeeping();
}
}
function setUpOutroBackButton() {
outro.story.backButton.onPress = mx.utils.Delegate.create(this, outroDone);
}
function outroDone() {
delete outro.story.backButton.onPress;
init();
outro.onEnterFrame = mx.utils.Delegate.create(this, fadeDownOutro);
}
function fadeDownOutro() {
outro._alpha = outro._alpha - 10;
if (outro._alpha <= 0) {
outro._visible = false;
delete intro.onEnterFrame;
}
}
var inkey = Key.isDown;
}
Symbol 674 MovieClip [__Packages.Morpheme.IO.XMLLoader] Frame 0
class Morpheme.IO.XMLLoader
{
var varReciever, varSender, xmlObj, callBack;
function XMLLoader () {
}
function toString() {
return("XMLLoader");
}
function loadXML(filename) {
varReciever = new LoadVars();
varReciever.onData = mx.utils.Delegate.create(this, onDataDelegated);
varSender = new LoadVars();
varSender.sendAndLoad(filename, varReciever, "POST");
}
function getXMLObj() {
return(xmlObj);
}
function setCallBack(arg) {
callBack = arg;
}
function onDataDelegated(src) {
if (src == undefined) {
trace("XML file structure invalid / failed to load");
return(undefined);
}
var _local2 = new gamingyourway.common.XMLmakeObj();
_local2.ignoreWhite = true;
_local2.parseXML(src);
xmlObj = _local2.makeObj(_local2);
callBack();
}
}
Symbol 675 MovieClip [__Packages.Morpheme.Init] Frame 0
class Morpheme.Init
{
var main, mainMovie, eventHandler, xmlLoader, mapLoader, gameControllerObj, attractObj;
function Init () {
main = Main.getInstance();
mainMovie = main.getMainMovie();
eventHandler = new gamingyourway.common.EventBroadcaster();
xmlLoader = new Morpheme.IO.XMLLoader();
mapLoader = new Morpheme.IO.MapLoader();
gameControllerObj = new Morpheme.GameController();
attractObj = new Morpheme.Attract();
}
function startOneFramePause() {
mainMovie.onEnterFrame = mx.utils.Delegate.create(this, oneFramePause);
}
function toString() {
return("Init");
}
function oneShot() {
gameControllerObj.oneShot();
mapLoader.oneShot();
attractObj.oneShot();
xmlLoader.setCallBack(mx.utils.Delegate.create(this, startGame));
xmlLoader.loadXML("http://www.gimme5games.com/phantommansion/pm_red/res/_maps/deluxe.xml");
}
function getXMLLoaderObj() {
return(xmlLoader);
}
function getEventHandler() {
return(eventHandler);
}
function getMapLoader() {
return(mapLoader);
}
function getGameControllerObj() {
return(gameControllerObj);
}
function getAttractObj() {
return(attractObj);
}
function oneFramePause() {
delete mainMovie.onEnterFrame;
oneShot();
}
function startGame() {
gameControllerObj.parseXML();
mapLoader.tileLoader();
attractObj.preInit();
}
}
Symbol 676 MovieClip [__Packages.com.iga.IGAController] Frame 0
class com.iga.IGAController extends mx.core.UIComponent
{
var useHandCursor, boundingBox_mc, width, height, invalidate, _visible, txtTrace;
function IGAController () {
super();
}
function init() {
super.init();
useHandCursor = false;
boundingBox_mc._visible = false;
boundingBox_mc._width = 0;
boundingBox_mc._height = 0;
}
function createChildren() {
theController = boundingBox_mc._parent;
__width = width;
__height = height;
size();
}
function size() {
super.size();
invalidate();
}
function draw() {
super.draw();
if ((!getDebug()) && (!_global.isLivePreview)) {
_visible = false;
} else {
txtTrace.setSize(__width - 25, __height);
txtTrace._x = 25;
}
}
function initProps(_appId, _cellIds, _debug, _hostAddress, _hostPort, _hostSvc, _impReportSecs) {
setAppId(_appId);
setCellIds(_cellIds);
setDebug(_debug);
setHostAddress(_hostAddress);
setHostPort(_hostPort);
setHostSvc(_hostSvc);
}
function startSession() {
if (!com.iga.IGAControllerStatic.inited) {
com.iga.IGAControllerStatic.startSession(theController);
}
}
function getAppId() {
return(appId);
}
function setAppId(appId) {
this.appId = appId;
}
function getCellIds() {
return(cellIds);
}
function setCellIds(cellIds) {
this.cellIds = cellIds;
}
function getDebug() {
return(debug);
}
function setDebug(debug) {
this.debug = debug;
}
function getHostAddress() {
return(hostAddress);
}
function setHostAddress(hostAddress) {
this.hostAddress = hostAddress;
}
function getHostPort() {
return(hostPort);
}
function setHostPort(hostPort) {
this.hostPort = hostPort;
}
function getHostSvc() {
if (hostSvc.substr(0, 1) != "/") {
hostSvc = "/" + hostSvc;
}
return(hostSvc);
}
function setHostSvc(hostSvc) {
this.hostSvc = hostSvc;
}
function getAutoRefresh() {
return(autoRefresh);
}
function setAutoRefresh(autoRefresh) {
this.autoRefresh = autoRefresh;
}
function getDefaultMC() {
return(defaultMC);
}
function setDefaultMC(defaultMC) {
this.defaultMC = defaultMC;
}
static var symbolName = "IGAController";
static var symbolOwner = com.iga.IGAController;
var className = "IGAController";
var theController = null;
var __width = 0;
var __height = 0;
var appId = 0;
var cellIds = new Array();
var debug = false;
var hostAddress = "";
var hostPort = 0;
var hostSvc = "/";
var autoRefresh = true;
var defaultMC = "";
}
Symbol 774 MovieClip [__Packages.mx.skins.Border] Frame 0
class mx.skins.Border extends mx.core.UIObject
{
function Border () {
super();
}
function init(Void) {
super.init();
}
static var symbolName = "Border";
static var symbolOwner = mx.skins.Border;
var className = "Border";
var tagBorder = 0;
var idNames = new Array("border_mc");
}
Symbol 775 MovieClip [__Packages.mx.skins.RectBorder] Frame 0
class mx.skins.RectBorder extends mx.skins.Border
{
var __width, __height, offset, __borderMetrics;
function RectBorder () {
super();
}
function get width() {
return(__width);
}
function get height() {
return(__height);
}
function init(Void) {
super.init();
}
function draw(Void) {
size();
}
function getBorderMetrics(Void) {
var _local2 = offset;
if (__borderMetrics == undefined) {
__borderMetrics = {left:_local2, top:_local2, right:_local2, bottom:_local2};
} else {
__borderMetrics.left = _local2;
__borderMetrics.top = _local2;
__borderMetrics.right = _local2;
__borderMetrics.bottom = _local2;
}
return(__borderMetrics);
}
function get borderMetrics() {
return(getBorderMetrics());
}
function drawBorder(Void) {
}
function size(Void) {
drawBorder();
}
function setColor(Void) {
drawBorder();
}
static var symbolName = "RectBorder";
static var symbolOwner = mx.skins.RectBorder;
static var version = "2.0.2.126";
var className = "RectBorder";
var borderStyleName = "borderStyle";
var borderColorName = "borderColor";
var shadowColorName = "shadowColor";
var highlightColorName = "highlightColor";
var buttonColorName = "buttonColor";
var backgroundColorName = "backgroundColor";
}
Symbol 776 MovieClip [__Packages.mx.managers.DepthManager] Frame 0
class mx.managers.DepthManager
{
var _childCounter, createClassObject, createObject, _parent, swapDepths, _topmost, getDepth;
function DepthManager () {
MovieClip.prototype.createClassChildAtDepth = createClassChildAtDepth;
MovieClip.prototype.createChildAtDepth = createChildAtDepth;
MovieClip.prototype.setDepthTo = setDepthTo;
MovieClip.prototype.setDepthAbove = setDepthAbove;
MovieClip.prototype.setDepthBelow = setDepthBelow;
MovieClip.prototype.findNextAvailableDepth = findNextAvailableDepth;
MovieClip.prototype.shuffleDepths = shuffleDepths;
MovieClip.prototype.getDepthByFlag = getDepthByFlag;
MovieClip.prototype.buildDepthTable = buildDepthTable;
_global.ASSetPropFlags(MovieClip.prototype, "createClassChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "createChildAtDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthTo", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthAbove", 1);
_global.ASSetPropFlags(MovieClip.prototype, "setDepthBelow", 1);
_global.ASSetPropFlags(MovieClip.prototype, "findNextAvailableDepth", 1);
_global.ASSetPropFlags(MovieClip.prototype, "shuffleDepths", 1);
_global.ASSetPropFlags(MovieClip.prototype, "getDepthByFlag", 1);
_global.ASSetPropFlags(MovieClip.prototype, "buildDepthTable", 1);
}
static function sortFunction(a, b) {
if (a.getDepth() > b.getDepth()) {
return(1);
}
return(-1);
}
static function test(depth) {
if (depth == reservedDepth) {
return(false);
}
return(true);
}
static function createClassObjectAtDepth(className, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createClassChildAtDepth(className, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createClassChildAtDepth(className, kTop, initObj);
break;
}
return(_local1);
}
static function createObjectAtDepth(linkageName, depthSpace, initObj) {
var _local1;
switch (depthSpace) {
case kCursor :
_local1 = holder.createChildAtDepth(linkageName, kTopmost, initObj);
break;
case kTooltip :
_local1 = holder.createChildAtDepth(linkageName, kTop, initObj);
break;
}
return(_local1);
}
function createClassChildAtDepth(className, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local5 = "down";
if (depthFlag == kBottom) {
_local5 = "up";
}
var _local6;
if (_local3[_local2] != undefined) {
_local6 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local5);
}
var _local4 = createClassObject(className, "depthChild" + (_childCounter++), _local2, initObj);
if (_local6 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local6, _local3, _local5);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function createChildAtDepth(linkageName, depthFlag, initObj) {
if (_childCounter == undefined) {
_childCounter = 0;
}
var _local3 = buildDepthTable();
var _local2 = getDepthByFlag(depthFlag, _local3);
var _local5 = "down";
if (depthFlag == kBottom) {
_local5 = "up";
}
var _local6;
if (_local3[_local2] != undefined) {
_local6 = _local2;
_local2 = findNextAvailableDepth(_local2, _local3, _local5);
}
var _local4 = createObject(linkageName, "depthChild" + (_childCounter++), _local2, initObj);
if (_local6 != undefined) {
_local3[_local2] = _local4;
shuffleDepths(_local4, _local6, _local3, _local5);
}
if (depthFlag == kTopmost) {
_local4._topmost = true;
}
return(_local4);
}
function setDepthTo(depthFlag) {
var _local2 = _parent.buildDepthTable();
var _local3 = _parent.getDepthByFlag(depthFlag, _local2);
if (_local2[_local3] != undefined) {
shuffleDepths(MovieClip(this), _local3, _local2, undefined);
} else {
swapDepths(_local3);
}
if (depthFlag == kTopmost) {
_topmost = true;
} else {
delete _topmost;
}
}
function setDepthAbove(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local2 = targetInstance.getDepth() + 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local2] != undefined) && (getDepth() < _local2)) {
_local2 = _local2 - 1;
}
if (_local2 > highestDepth) {
_local2 = highestDepth;
}
if (_local2 == highestDepth) {
_parent.shuffleDepths(this, _local2, _local3, "down");
} else if (_local3[_local2] != undefined) {
_parent.shuffleDepths(this, _local2, _local3, undefined);
} else {
swapDepths(_local2);
}
}
function setDepthBelow(targetInstance) {
if (targetInstance._parent != _parent) {
return(undefined);
}
var _local6 = targetInstance.getDepth() - 1;
var _local3 = _parent.buildDepthTable();
if ((_local3[_local6] != undefined) && (getDepth() > _local6)) {
_local6 = _local6 + 1;
}
var _local4 = lowestDepth + numberOfAuthortimeLayers;
var _local5;
for (_local5 in _local3) {
var _local2 = _local3[_local5];
if (_local2._parent != undefined) {
_local4 = Math.min(_local4, _local2.getDepth());
}
}
if (_local6 < _local4) {
_local6 = _local4;
}
if (_local6 == _local4) {
_parent.shuffleDepths(this, _local6, _local3, "up");
} else if (_local3[_local6] != undefined) {
_parent.shuffleDepths(this, _local6, _local3, undefined);
} else {
swapDepths(_local6);
}
}
function findNextAvailableDepth(targetDepth, depthTable, direction) {
var _local5 = lowestDepth + numberOfAuthortimeLayers;
if (targetDepth < _local5) {
targetDepth = _local5;
}
if (depthTable[targetDepth] == undefined) {
return(targetDepth);
}
var _local1 = targetDepth;
var _local2 = targetDepth;
if (direction == "down") {
while (depthTable[_local2] != undefined) {
_local2--;
}
return(_local2);
}
while (depthTable[_local1] != undefined) {
_local1++;
}
return(_local1);
}
function shuffleDepths(subject, targetDepth, depthTable, direction) {
var _local9 = lowestDepth + numberOfAuthortimeLayers;
var _local8 = _local9;
var _local5;
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local9 = Math.min(_local9, _local7.getDepth());
}
}
if (direction == undefined) {
if (subject.getDepth() > targetDepth) {
direction = "up";
} else {
direction = "down";
}
}
var _local1 = new Array();
for (_local5 in depthTable) {
var _local7 = depthTable[_local5];
if (_local7._parent != undefined) {
_local1.push(_local7);
}
}
_local1.sort(sortFunction);
if (direction == "up") {
var _local3;
var _local11;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.pop();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
_local11 = subject.getDepth();
_local3 = _local1.pop();
var _local4 = _local3.getDepth();
if (_local11 > (_local4 + 1)) {
if (_local4 >= 0) {
subject.swapDepths(_local4 + 1);
} else if ((_local11 > _local8) && (_local4 < _local8)) {
subject.swapDepths(_local8);
}
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
} else if (direction == "down") {
var _local3;
do {
if (_local1.length <= 0) {
break;
}
_local3 = _local1.shift();
} while (_local3 != subject);
do {
if (_local1.length <= 0) {
break;
}
var _local11 = _local3.getDepth();
_local3 = _local1.shift();
var _local4 = _local3.getDepth();
if ((_local11 < (_local4 - 1)) && (_local4 > 0)) {
subject.swapDepths(_local4 - 1);
}
subject.swapDepths(_local3);
} while (_local4 != targetDepth);
}
}
function getDepthByFlag(depthFlag, depthTable) {
var _local2 = 0;
if ((depthFlag == kTop) || (depthFlag == kNotopmost)) {
var _local5 = 0;
var _local7 = false;
var _local8;
for (_local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
if (!_local9._topmost) {
_local2 = Math.max(_local2, _local9.getDepth());
} else if (!_local7) {
_local5 = _local9.getDepth();
_local7 = true;
} else {
_local5 = Math.min(_local5, _local9.getDepth());
}
}
}
}
_local2 = _local2 + 20;
if (_local7) {
if (_local2 >= _local5) {
_local2 = _local5 - 1;
}
}
} else if (depthFlag == kBottom) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.min(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 - 20;
} else if (depthFlag == kTopmost) {
for (var _local8 in depthTable) {
var _local9 = depthTable[_local8];
var _local3 = typeof(_local9);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local9.__getTextFormat != undefined))) {
if (_local9.getDepth() <= highestDepth) {
_local2 = Math.max(_local2, _local9.getDepth());
}
}
}
_local2 = _local2 + 100;
}
if (_local2 >= highestDepth) {
_local2 = highestDepth;
}
var _local6 = lowestDepth + numberOfAuthortimeLayers;
for (var _local9 in depthTable) {
var _local4 = depthTable[_local9];
if (_local4._parent != undefined) {
_local6 = Math.min(_local6, _local4.getDepth());
}
}
if (_local2 <= _local6) {
_local2 = _local6;
}
return(_local2);
}
function buildDepthTable(Void) {
var _local5 = new Array();
var _local4;
for (_local4 in this) {
var _local2 = this[_local4];
var _local3 = typeof(_local2);
if ((_local3 == "movieclip") || ((_local3 == "object") && (_local2.__getTextFormat != undefined))) {
if (_local2._parent == this) {
_local5[_local2.getDepth()] = _local2;
}
}
}
return(_local5);
}
static var reservedDepth = 1048575;
static var highestDepth = 1048574;
static var lowestDepth = -16383;
static var numberOfAuthortimeLayers = 383;
static var kCursor = 101;
static var kTooltip = 102;
static var kTop = 201;
static var kBottom = 202;
static var kTopmost = 203;
static var kNotopmost = 204;
static var holder = _root.createEmptyMovieClip("reserved", reservedDepth);
static var __depthManager = new mx.managers.DepthManager();
}
Symbol 777 MovieClip [__Packages.mx.core.View] Frame 0
class mx.core.View extends mx.core.UIComponent
{
var tabChildren, tabEnabled, boundingBox_mc, border_mc, __get__width, __get__height, __tabIndex, depth, createObject, createClassObject, loadExternal, destroyObject, createClassChildAtDepth, doLater;
function View () {
super();
}
function init() {
super.init();
tabChildren = true;
tabEnabled = false;
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
function size() {
border_mc.move(0, 0);
border_mc.setSize(__get__width(), __get__height());
doLayout();
}
function draw() {
size();
}
function get numChildren() {
var _local3 = childNameBase;
var _local2 = 0;
while (true) {
if (this[_local3 + _local2] == undefined) {
return(_local2);
}
_local2++;
}
}
function get tabIndex() {
return((tabEnabled ? (__tabIndex) : undefined));
}
function addLayoutObject(object) {
}
function createChild(className, instanceName, initProps) {
if (depth == undefined) {
depth = 1;
}
var _local2;
if (typeof(className) == "string") {
_local2 = createObject(className, instanceName, depth++, initProps);
} else {
_local2 = createClassObject(className, instanceName, depth++, initProps);
}
if (_local2 == undefined) {
_local2 = loadExternal(className, _loadExternalClass, instanceName, depth++, initProps);
} else {
this[childNameBase + numChildren] = _local2;
_local2._complete = true;
childLoaded(_local2);
}
addLayoutObject(_local2);
return(_local2);
}
function getChildAt(childIndex) {
return(this[childNameBase + childIndex]);
}
function destroyChildAt(childIndex) {
if (!((childIndex >= 0) && (childIndex < numChildren))) {
return(undefined);
}
var _local4 = childNameBase + childIndex;
var _local6 = numChildren;
var _local3;
for (_local3 in this) {
if (_local3 == _local4) {
_local4 = "";
destroyObject(_local3);
break;
}
}
var _local2 = Number(childIndex);
while (_local2 < (_local6 - 1)) {
this[childNameBase + _local2] = this[childNameBase + (_local2 + 1)];
_local2++;
}
delete this[childNameBase + (_local6 - 1)];
depth--;
}
function initLayout() {
if (!hasBeenLayedOut) {
doLayout();
}
}
function doLayout() {
hasBeenLayedOut = true;
}
function createChildren() {
if (border_mc == undefined) {
border_mc = createClassChildAtDepth(_global.styles.rectBorderClass, mx.managers.DepthManager.kBottom, {styleName:this});
}
doLater(this, "initLayout");
}
function convertToUIObject(obj) {
}
function childLoaded(obj) {
convertToUIObject(obj);
}
static function extension() {
mx.core.ExternalContent.enableExternalContent();
}
static var symbolName = "View";
static var symbolOwner = mx.core.View;
static var version = "2.0.2.126";
var className = "View";
static var childNameBase = "_child";
var hasBeenLayedOut = false;
var _loadExternalClass = "UIComponent";
}
Symbol 778 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 779 MovieClip [__Packages.mx.events.UIEventDispatcher] Frame 0
class mx.events.UIEventDispatcher extends mx.events.EventDispatcher
{
var dispatchQueue, owner, __sentLoadEvent, __origAddEventListener;
function UIEventDispatcher () {
super();
}
static function addKeyEvents(obj) {
if (obj.keyHandler == undefined) {
var _local1 = (obj.keyHandler = new Object());
_local1.owner = obj;
_local1.onKeyDown = _fEventDispatcher.onKeyDown;
_local1.onKeyUp = _fEventDispatcher.onKeyUp;
}
Key.addListener(obj.keyHandler);
}
static function removeKeyEvents(obj) {
Key.removeListener(obj.keyHandler);
}
static function addLoadEvents(obj) {
if (obj.onLoad == undefined) {
obj.onLoad = _fEventDispatcher.onLoad;
obj.onUnload = _fEventDispatcher.onUnload;
if (obj.getBytesTotal() == obj.getBytesLoaded()) {
obj.doLater(obj, "onLoad");
}
}
}
static function removeLoadEvents(obj) {
delete obj.onLoad;
delete obj.onUnload;
}
static function initialize(obj) {
if (_fEventDispatcher == undefined) {
_fEventDispatcher = new mx.events.UIEventDispatcher();
}
obj.addEventListener = _fEventDispatcher.__addEventListener;
obj.__origAddEventListener = _fEventDispatcher.addEventListener;
obj.removeEventListener = _fEventDispatcher.removeEventListener;
obj.dispatchEvent = _fEventDispatcher.dispatchEvent;
obj.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
function dispatchEvent(eventObj) {
if (eventObj.target == undefined) {
eventObj.target = this;
}
this[eventObj.type + "Handler"](eventObj);
dispatchQueue(mx.events.EventDispatcher, eventObj);
dispatchQueue(this, eventObj);
}
function onKeyDown(Void) {
owner.dispatchEvent({type:"keyDown", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)});
}
function onKeyUp(Void) {
owner.dispatchEvent({type:"keyUp", code:Key.getCode(), ascii:Key.getAscii(), shiftKey:Key.isDown(16), ctrlKey:Key.isDown(17)});
}
function onLoad(Void) {
if (__sentLoadEvent != true) {
dispatchEvent({type:"load"});
}
__sentLoadEvent = true;
}
function onUnload(Void) {
dispatchEvent({type:"unload"});
}
function __addEventListener(event, handler) {
__origAddEventListener(event, handler);
var _local3 = lowLevelEvents;
for (var _local5 in _local3) {
if (mx.events.UIEventDispatcher[_local5][event] != undefined) {
var _local2 = _local3[_local5][0];
mx.events.UIEventDispatcher[_local2](this);
}
}
}
function removeEventListener(event, handler) {
var _local6 = "__q_" + event;
mx.events.EventDispatcher._removeEventListener(this[_local6], event, handler);
if (this[_local6].length == 0) {
var _local2 = lowLevelEvents;
for (var _local5 in _local2) {
if (mx.events.UIEventDispatcher[_local5][event] != undefined) {
var _local3 = _local2[_local5][1];
mx.events.UIEventDispatcher[_local2[_local5][1]](this);
}
}
}
}
static var keyEvents = {keyDown:1, keyUp:1};
static var loadEvents = {load:1, unload:1};
static var lowLevelEvents = {keyEvents:["addKeyEvents", "removeKeyEvents"], loadEvents:["addLoadEvents", "removeLoadEvents"]};
static var _fEventDispatcher = undefined;
}
Symbol 780 MovieClip [__Packages.mx.core.ExternalContent] Frame 0
class mx.core.ExternalContent
{
var createObject, numChildren, prepList, doLater, loadList, dispatchEvent, loadedList, childLoaded;
function ExternalContent () {
}
function loadExternal(url, placeholderClassName, instanceName, depth, initProps) {
var _local2;
_local2 = createObject(placeholderClassName, instanceName, depth, initProps);
this[mx.core.View.childNameBase + numChildren] = _local2;
if (prepList == undefined) {
prepList = new Object();
}
prepList[instanceName] = {obj:_local2, url:url, complete:false, initProps:initProps};
prepareToLoadMovie(_local2);
return(_local2);
}
function prepareToLoadMovie(obj) {
obj.unloadMovie();
doLater(this, "waitForUnload");
}
function waitForUnload() {
var _local3;
for (_local3 in prepList) {
var _local2 = prepList[_local3];
if (_local2.obj.getBytesTotal() == 0) {
if (loadList == undefined) {
loadList = new Object();
}
loadList[_local3] = _local2;
_local2.obj.loadMovie(_local2.url);
delete prepList[_local3];
doLater(this, "checkLoadProgress");
} else {
doLater(this, "waitForUnload");
}
}
}
function checkLoadProgress() {
var _local8 = false;
var _local3;
for (_local3 in loadList) {
var _local2 = loadList[_local3];
_local2.loaded = _local2.obj.getBytesLoaded();
_local2.total = _local2.obj.getBytesTotal();
if (_local2.total > 0) {
_local2.obj._visible = false;
dispatchEvent({type:"progress", target:_local2.obj, current:_local2.loaded, total:_local2.total});
if (_local2.loaded == _local2.total) {
if (loadedList == undefined) {
loadedList = new Object();
}
loadedList[_local3] = _local2;
delete loadList[_local3];
doLater(this, "contentLoaded");
}
} else if (_local2.total == -1) {
if (_local2.failedOnce != undefined) {
_local2.failedOnce++;
if (_local2.failedOnce > 3) {
dispatchEvent({type:"complete", target:_local2.obj, current:_local2.loaded, total:_local2.total});
delete loadList[_local3];
}
} else {
_local2.failedOnce = 0;
}
}
_local8 = true;
}
if (_local8) {
doLater(this, "checkLoadProgress");
}
}
function contentLoaded() {
var _local4;
for (_local4 in loadedList) {
var _local2 = loadedList[_local4];
_local2.obj._visible = true;
_local2.obj._complete = true;
var _local3;
for (_local3 in _local2.initProps) {
_local2.obj[_local3] = _local2.initProps[_local3];
}
childLoaded(_local2.obj);
dispatchEvent({type:"complete", target:_local2.obj, current:_local2.loaded, total:_local2.total});
delete loadedList[_local4];
}
}
function convertToUIObject(obj) {
if (obj.setSize == undefined) {
var _local2 = mx.core.UIObject.prototype;
obj.addProperty("width", _local2.__get__width, null);
obj.addProperty("height", _local2.__get__height, null);
obj.addProperty("left", _local2.__get__left, null);
obj.addProperty("x", _local2.__get__x, null);
obj.addProperty("top", _local2.__get__top, null);
obj.addProperty("y", _local2.__get__y, null);
obj.addProperty("right", _local2.__get__right, null);
obj.addProperty("bottom", _local2.__get__bottom, null);
obj.addProperty("visible", _local2.__get__visible, _local2.__set__visible);
obj.move = mx.core.UIObject.prototype.move;
obj.setSize = mx.core.UIObject.prototype.setSize;
obj.size = mx.core.UIObject.prototype.size;
mx.events.UIEventDispatcher.initialize(obj);
}
}
static function enableExternalContent() {
}
static function classConstruct() {
var _local1 = mx.core.View.prototype;
var _local2 = mx.core.ExternalContent.prototype;
_local1.loadExternal = _local2.loadExternal;
_local1.prepareToLoadMovie = _local2.prepareToLoadMovie;
_local1.waitForUnload = _local2.waitForUnload;
_local1.checkLoadProgress = _local2.checkLoadProgress;
_local1.contentLoaded = _local2.contentLoaded;
_local1.convertToUIObject = _local2.convertToUIObject;
return(true);
}
static var classConstructed = classConstruct();
static var ViewDependency = mx.core.View;
}
Symbol 781 MovieClip [__Packages.mx.skins.CustomBorder] Frame 0
class mx.skins.CustomBorder extends mx.skins.Border
{
var __width, __height, l_mc, setSkin, minHeight, minWidth, m_mc, r_mc;
function CustomBorder () {
super();
}
function get width() {
return(__width);
}
function get height() {
return(__height);
}
function init(Void) {
super.init();
}
function createChildren(Void) {
}
function draw(Void) {
if (l_mc == undefined) {
var _local2 = setSkin(tagL, leftSkin);
if (horizontal) {
minHeight = l_mc._height;
minWidth = l_mc._width;
} else {
minHeight = l_mc._height;
minWidth = l_mc._width;
}
}
if (m_mc == undefined) {
setSkin(tagM, middleSkin);
if (horizontal) {
minHeight = m_mc._height;
minWidth = minWidth + m_mc._width;
} else {
minHeight = minHeight + m_mc._height;
minWidth = m_mc._width;
}
}
if (r_mc == undefined) {
setSkin(tagR, rightSkin);
if (horizontal) {
minHeight = r_mc._height;
minWidth = minWidth + r_mc._width;
} else {
minHeight = minHeight + r_mc._height;
minWidth = r_mc._width;
}
}
size();
}
function size(Void) {
l_mc.move(0, 0);
if (horizontal) {
r_mc.move(width - r_mc.width, 0);
m_mc.move(l_mc.width, 0);
m_mc.setSize(r_mc.x - m_mc.x, m_mc.height);
} else {
r_mc.move(0, height - r_mc.height, 0);
m_mc.move(0, l_mc.height);
m_mc.setSize(m_mc.width, r_mc.y - m_mc.y);
}
}
static var symbolName = "CustomBorder";
static var symbolOwner = mx.skins.CustomBorder;
static var version = "2.0.2.126";
var className = "CustomBorder";
static var tagL = 0;
static var tagM = 1;
static var tagR = 2;
var idNames = new Array("l_mc", "m_mc", "r_mc");
var leftSkin = "F3PieceLeft";
var middleSkin = "F3PieceMiddle";
var rightSkin = "F3PieceRight";
var horizontal = true;
}
Symbol 782 MovieClip [__Packages.mx.controls.scrollClasses.ScrollThumb] Frame 0
class mx.controls.scrollClasses.ScrollThumb extends mx.skins.CustomBorder
{
var useHandCursor, ymin, ymax, datamin, datamax, scrollMove, lastY, _ymouse, _y, _parent, onMouseMove, grip_mc, setSkin, gripSkin, __get__width, __get__height;
function ScrollThumb () {
super();
}
function createChildren(Void) {
super.createChildren();
useHandCursor = false;
}
function setRange(_ymin, _ymax, _datamin, _datamax) {
ymin = _ymin;
ymax = _ymax;
datamin = _datamin;
datamax = _datamax;
}
function dragThumb(Void) {
scrollMove = _ymouse - lastY;
scrollMove = scrollMove + _y;
if (scrollMove < ymin) {
scrollMove = ymin;
} else if (scrollMove > ymax) {
scrollMove = ymax;
}
_parent.isScrolling = true;
_y = scrollMove;
var _local2 = Math.round(((datamax - datamin) * (_y - ymin)) / (ymax - ymin)) + datamin;
_parent.scrollPosition = _local2;
_parent.dispatchScrollEvent("ThumbTrack");
updateAfterEvent();
}
function stopDragThumb(Void) {
_parent.isScrolling = false;
_parent.dispatchScrollEvent("ThumbPosition");
_parent.dispatchScrollChangedEvent();
delete onMouseMove;
}
function onPress(Void) {
_parent.pressFocus();
lastY = _ymouse;
onMouseMove = dragThumb;
super.onPress();
}
function onRelease(Void) {
_parent.releaseFocus();
stopDragThumb();
super.onRelease();
}
function onReleaseOutside(Void) {
_parent.releaseFocus();
stopDragThumb();
super.onReleaseOutside();
}
function draw() {
super.draw();
if (grip_mc == undefined) {
setSkin(3, gripSkin);
}
}
function size() {
super.size();
grip_mc.move((__get__width() - grip_mc.width) / 2, (__get__height() - grip_mc.height) / 2);
}
static var symbolOwner = mx.skins.CustomBorder.symbolOwner;
var className = "ScrollThumb";
var btnOffset = 0;
var horizontal = false;
var idNames = new Array("l_mc", "m_mc", "r_mc", "grip_mc");
}
Symbol 783 MovieClip [__Packages.mx.controls.SimpleButton] Frame 0
class mx.controls.SimpleButton extends mx.core.UIComponent
{
static var emphasizedStyleDeclaration;
var preset, boundingBox_mc, useHandCursor, skinName, linkLength, iconName, destroyObject, __width, _width, __height, _height, __emphaticStyleName, styleName, enabled, invalidate, pressFocus, dispatchEvent, autoRepeat, interval, getStyle, releaseFocus, createLabel, invalidateStyle;
function SimpleButton () {
super();
}
function init(Void) {
super.init();
if (preset == undefined) {
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
useHandCursor = false;
}
function createChildren(Void) {
if (preset != undefined) {
var _local2 = this[idNames[preset]];
this[refNames[preset]] = _local2;
skinName = _local2;
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
}
initializing = false;
} else if (__state == true) {
setStateVar(true);
} else {
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
}
}
}
function setIcon(tag, linkageName) {
return(setSkin(tag + 8, linkageName));
}
function changeIcon(tag, linkageName) {
linkLength = linkageName.length;
var _local2 = stateNames[tag] + "Icon";
this[_local2] = linkageName;
this[idNames[tag + 8]] = _local2;
setStateVar(getState());
}
function changeSkin(tag, linkageName) {
var _local2 = stateNames[tag] + "Skin";
this[_local2] = linkageName;
this[idNames[tag]] = _local2;
setStateVar(getState());
}
function viewIcon(varName) {
var _local4 = varName + "Icon";
var _local3 = this[_local4];
if (typeof(_local3) == "string") {
var _local5 = _local3;
if (__emphasized) {
if (this[_local3 + "Emphasized"].length > 0) {
_local3 = _local3 + "Emphasized";
}
}
if (this[_local3].length == 0) {
return(undefined);
}
_local3 = setIcon(tagMap[_local5], this[_local3]);
if ((_local3 == undefined) && (_global.isLivePreview)) {
_local3 = setIcon(0, "ButtonIcon");
}
this[_local4] = _local3;
}
iconName._visible = false;
iconName = _local3;
iconName._visible = true;
}
function removeIcons() {
var _local3 = 0;
while (_local3 < 2) {
var _local2 = 8;
while (_local2 < 16) {
destroyObject(idNames[_local2]);
this[stateNames[_local2 - 8] + "Icon"] = "";
_local2++;
}
_local3++;
}
refresh();
}
function setSkin(tag, linkageName, initobj) {
var _local3 = super.setSkin(tag, linkageName, ((initobj != undefined) ? (initobj) : ({styleName:this})));
calcSize(tag, _local3);
return(_local3);
}
function calcSize(Void) {
__width = _width;
__height = _height;
}
function viewSkin(varName, initObj) {
var _local3 = varName + "Skin";
var _local2 = this[_local3];
if (typeof(_local2) == "string") {
var _local4 = _local2;
if (__emphasized) {
if (this[_local2 + "Emphasized"].length > 0) {
_local2 = _local2 + "Emphasized";
}
}
if (this[_local2].length == 0) {
return(undefined);
}
_local2 = setSkin(tagMap[_local4], this[_local2], ((initObj != undefined) ? (initObj) : ({styleName:this})));
this[_local3] = _local2;
}
skinName._visible = false;
skinName = _local2;
skinName._visible = true;
}
function showEmphasized(e) {
if (e && (!__emphatic)) {
if (emphasizedStyleDeclaration != undefined) {
__emphaticStyleName = styleName;
styleName = emphasizedStyleDeclaration;
}
__emphatic = true;
} else {
if (__emphatic) {
styleName = __emphaticStyleName;
}
__emphatic = false;
}
}
function refresh(Void) {
var _local2 = getState();
if (enabled == false) {
viewIcon("disabled");
viewSkin("disabled");
} else {
viewSkin(phase);
viewIcon(phase);
}
setView(phase == "down");
iconName.enabled = enabled;
}
function setView(offset) {
if (iconName == undefined) {
return(undefined);
}
var _local2 = (offset ? (btnOffset) : 0);
iconName._x = ((__width - iconName._width) / 2) + _local2;
iconName._y = ((__height - iconName._height) / 2) + _local2;
}
function setStateVar(state) {
if (state) {
if (trueOverSkin.length == 0) {
rolloverSkin = tus;
} else {
rolloverSkin = trs;
}
if (trueOverIcon.length == 0) {
rolloverIcon = tui;
} else {
rolloverIcon = tri;
}
upSkin = tus;
downSkin = tds;
disabledSkin = dts;
upIcon = tui;
downIcon = tdi;
disabledIcon = dti;
} else {
if (falseOverSkin.length == 0) {
rolloverSkin = fus;
} else {
rolloverSkin = frs;
}
if (falseOverIcon.length == 0) {
rolloverIcon = fui;
} else {
rolloverIcon = fri;
}
upSkin = fus;
downSkin = fds;
disabledSkin = dfs;
upIcon = fui;
downIcon = fdi;
disabledIcon = dfi;
}
__state = state;
}
function setState(state) {
if (state != __state) {
setStateVar(state);
invalidate();
}
}
function size(Void) {
refresh();
}
function draw(Void) {
if (initializing) {
initializing = false;
skinName.visible = true;
iconName.visible = true;
}
size();
}
function getState(Void) {
return(__state);
}
function setToggle(val) {
__toggle = val;
if (__toggle == false) {
setState(false);
}
}
function getToggle(Void) {
return(__toggle);
}
function set toggle(val) {
setToggle(val);
//return(toggle);
}
function get toggle() {
return(getToggle());
}
function set value(val) {
setSelected(val);
//return(value);
}
function get value() {
return(getSelected());
}
function set selected(val) {
setSelected(val);
//return(selected);
}
function get selected() {
return(getSelected());
}
function setSelected(val) {
if (__toggle) {
setState(val);
} else {
setState((initializing ? (val) : (__state)));
}
}
function getSelected() {
return(__state);
}
function setEnabled(val) {
if (enabled != val) {
super.setEnabled(val);
invalidate();
}
}
function onPress(Void) {
pressFocus();
phase = "down";
refresh();
dispatchEvent({type:"buttonDown"});
if (autoRepeat) {
interval = setInterval(this, "onPressDelay", getStyle("repeatDelay"));
}
}
function onPressDelay(Void) {
dispatchEvent({type:"buttonDown"});
if (autoRepeat) {
clearInterval(interval);
interval = setInterval(this, "onPressRepeat", getStyle("repeatInterval"));
}
}
function onPressRepeat(Void) {
dispatchEvent({type:"buttonDown"});
updateAfterEvent();
}
function onRelease(Void) {
releaseFocus();
phase = "rollover";
if (interval != undefined) {
clearInterval(interval);
delete interval;
}
if (getToggle()) {
setState(!getState());
} else {
refresh();
}
dispatchEvent({type:"click"});
}
function onDragOut(Void) {
phase = "up";
refresh();
dispatchEvent({type:"buttonDragOut"});
}
function onDragOver(Void) {
if (phase != "up") {
onPress();
return(undefined);
}
phase = "down";
refresh();
}
function onReleaseOutside(Void) {
releaseFocus();
phase = "up";
if (interval != undefined) {
clearInterval(interval);
delete interval;
}
}
function onRollOver(Void) {
phase = "rollover";
refresh();
}
function onRollOut(Void) {
phase = "up";
refresh();
}
function getLabel(Void) {
return(fui.text);
}
function setLabel(val) {
if (typeof(fui) == "string") {
createLabel("fui", 8, val);
fui.styleName = this;
} else {
fui.text = val;
}
var _local4 = fui._getTextFormat();
var _local2 = _local4.getTextExtent2(val);
fui._width = _local2.width + 5;
fui._height = _local2.height + 5;
iconName = fui;
setView(__state);
}
function get emphasized() {
return(__emphasized);
}
function set emphasized(val) {
__emphasized = val;
var _local2 = 0;
while (_local2 < 8) {
this[idNames[_local2]] = stateNames[_local2] + "Skin";
if (typeof(this[idNames[_local2 + 8]]) == "movieclip") {
this[idNames[_local2 + 8]] = stateNames[_local2] + "Icon";
}
_local2++;
}
showEmphasized(__emphasized);
setStateVar(__state);
invalidateStyle();
//return(emphasized);
}
function keyDown(e) {
if (e.code == 32) {
onPress();
}
}
function keyUp(e) {
if (e.code == 32) {
onRelease();
}
}
function onKillFocus(newFocus) {
super.onKillFocus();
if (phase != "up") {
phase = "up";
refresh();
}
}
static var symbolName = "SimpleButton";
static var symbolOwner = mx.controls.SimpleButton;
static var version = "2.0.2.126";
var className = "SimpleButton";
var style3dInset = 4;
var btnOffset = 1;
var __toggle = false;
var __state = false;
var __emphasized = false;
var __emphatic = false;
static var falseUp = 0;
static var falseDown = 1;
static var falseOver = 2;
static var falseDisabled = 3;
static var trueUp = 4;
static var trueDown = 5;
static var trueOver = 6;
static var trueDisabled = 7;
var falseUpSkin = "SimpleButtonUp";
var falseDownSkin = "SimpleButtonIn";
var falseOverSkin = "";
var falseDisabledSkin = "SimpleButtonUp";
var trueUpSkin = "SimpleButtonIn";
var trueDownSkin = "";
var trueOverSkin = "";
var trueDisabledSkin = "SimpleButtonIn";
var falseUpIcon = "";
var falseDownIcon = "";
var falseOverIcon = "";
var falseDisabledIcon = "";
var trueUpIcon = "";
var trueDownIcon = "";
var trueOverIcon = "";
var trueDisabledIcon = "";
var phase = "up";
var fui = "falseUpIcon";
var fus = "falseUpSkin";
var fdi = "falseDownIcon";
var fds = "falseDownSkin";
var frs = "falseOverSkin";
var fri = "falseOverIcon";
var dfi = "falseDisabledIcon";
var dfs = "falseDisabledSkin";
var tui = "trueUpIcon";
var tus = "trueUpSkin";
var tdi = "trueDownIcon";
var tds = "trueDownSkin";
var trs = "trueOverSkin";
var tri = "trueOverIcon";
var dts = "trueDisabledSkin";
var dti = "trueDisabledIcon";
var rolloverSkin = mx.controls.SimpleButton.prototype.frs;
var rolloverIcon = mx.controls.SimpleButton.prototype.fri;
var upSkin = mx.controls.SimpleButton.prototype.fus;
var downSkin = mx.controls.SimpleButton.prototype.fds;
var disabledSkin = mx.controls.SimpleButton.prototype.dfs;
var upIcon = mx.controls.SimpleButton.prototype.fui;
var downIcon = mx.controls.SimpleButton.prototype.fdi;
var disabledIcon = mx.controls.SimpleButton.prototype.dfi;
var initializing = true;
var idNames = ["fus", "fds", "frs", "dfs", "tus", "tds", "trs", "dts", "fui", "fdi", "fri", "dfi", "tui", "tdi", "tri", "dti"];
var stateNames = ["falseUp", "falseDown", "falseOver", "falseDisabled", "trueUp", "trueDown", "trueOver", "trueDisabled"];
var refNames = ["upSkin", "downSkin", "rolloverSkin", "disabledSkin"];
var tagMap = {falseUpSkin:0, falseDownSkin:1, falseOverSkin:2, falseDisabledSkin:3, trueUpSkin:4, trueDownSkin:5, trueOverSkin:6, trueDisabledSkin:7, falseUpIcon:0, falseDownIcon:1, falseOverIcon:2, falseDisabledIcon:3, trueUpIcon:4, trueDownIcon:5, trueOverIcon:6, trueDisabledIcon:7};
}
Symbol 784 MovieClip [__Packages.mx.controls.scrollClasses.ScrollBar] Frame 0
class mx.controls.scrollClasses.ScrollBar extends mx.core.UIComponent
{
var isScrolling, scrollTrack_mc, scrollThumb_mc, __height, tabEnabled, focusEnabled, boundingBox_mc, setSkin, upArrow_mc, _minHeight, _minWidth, downArrow_mc, createObject, createClassObject, enabled, _height, dispatchEvent, minMode, maxMode, plusMode, minusMode, _parent, getStyle, scrolling, _ymouse;
function ScrollBar () {
super();
}
function get scrollPosition() {
return(_scrollPosition);
}
function set scrollPosition(pos) {
_scrollPosition = pos;
if (isScrolling != true) {
pos = Math.min(pos, maxPos);
pos = Math.max(pos, minPos);
var _local3 = (((pos - minPos) * (scrollTrack_mc.height - scrollThumb_mc._height)) / (maxPos - minPos)) + scrollTrack_mc.top;
scrollThumb_mc.move(0, _local3);
}
//return(scrollPosition);
}
function get pageScrollSize() {
return(largeScroll);
}
function set pageScrollSize(lScroll) {
largeScroll = lScroll;
//return(pageScrollSize);
}
function set lineScrollSize(sScroll) {
smallScroll = sScroll;
//return(lineScrollSize);
}
function get lineScrollSize() {
return(smallScroll);
}
function get virtualHeight() {
return(__height);
}
function init(Void) {
super.init();
_scrollPosition = 0;
tabEnabled = false;
focusEnabled = false;
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
function createChildren(Void) {
if (scrollTrack_mc == undefined) {
setSkin(skinIDTrack, scrollTrackName);
}
scrollTrack_mc.visible = false;
var _local3 = new Object();
_local3.enabled = false;
_local3.preset = mx.controls.SimpleButton.falseDisabled;
_local3.initProperties = 0;
_local3.autoRepeat = true;
_local3.tabEnabled = false;
var _local2;
if (upArrow_mc == undefined) {
_local2 = createButton(upArrowName, "upArrow_mc", skinIDUpArrow, _local3);
}
_local2.buttonDownHandler = onUpArrow;
_local2.clickHandler = onScrollChanged;
_minHeight = _local2.height;
_minWidth = _local2.width;
if (downArrow_mc == undefined) {
_local2 = createButton(downArrowName, "downArrow_mc", skinIDDownArrow, _local3);
}
_local2.buttonDownHandler = onDownArrow;
_local2.clickHandler = onScrollChanged;
_minHeight = _minHeight + _local2.height;
}
function createButton(linkageName, id, skinID, o) {
if (skinID == skinIDUpArrow) {
o.falseUpSkin = upArrowUpName;
o.falseDownSkin = upArrowDownName;
o.falseOverSkin = upArrowOverName;
} else {
o.falseUpSkin = downArrowUpName;
o.falseDownSkin = downArrowDownName;
o.falseOverSkin = downArrowOverName;
}
var _local3 = createObject(linkageName, id, skinID, o);
this[id].visible = false;
this[id].useHandCursor = false;
return(_local3);
}
function createThumb(Void) {
var _local2 = new Object();
_local2.validateNow = true;
_local2.tabEnabled = false;
_local2.leftSkin = thumbTopName;
_local2.middleSkin = thumbMiddleName;
_local2.rightSkin = thumbBottomName;
_local2.gripSkin = thumbGripName;
createClassObject(mx.controls.scrollClasses.ScrollThumb, "scrollThumb_mc", skinIDThumb, _local2);
}
function setScrollProperties(pSize, mnPos, mxPos, ls) {
var _local4;
var _local2 = scrollTrack_mc;
pageSize = pSize;
largeScroll = (((ls != undefined) && (ls > 0)) ? (ls) : (pSize));
minPos = Math.max(mnPos, 0);
maxPos = Math.max(mxPos, 0);
_scrollPosition = Math.max(minPos, _scrollPosition);
_scrollPosition = Math.min(maxPos, _scrollPosition);
if (((maxPos - minPos) > 0) && (enabled)) {
var _local5 = _scrollPosition;
if (!initializing) {
upArrow_mc.enabled = true;
downArrow_mc.enabled = true;
}
_local2.onPress = (_local2.onDragOver = startTrackScroller);
_local2.onRelease = releaseScrolling;
_local2.onDragOut = (_local2.stopScrolling = stopScrolling);
_local2.onReleaseOutside = releaseScrolling;
_local2.useHandCursor = false;
if (scrollThumb_mc == undefined) {
createThumb();
}
var _local3 = scrollThumb_mc;
if (scrollTrackOverName.length > 0) {
_local2.onRollOver = trackOver;
_local2.onRollOut = trackOut;
}
_local4 = (pageSize / ((maxPos - minPos) + pageSize)) * _local2.height;
if (_local4 < _local3.minHeight) {
if (_local2.height < _local3.minHeight) {
_local3.__set__visible(false);
} else {
_local4 = _local3.minHeight;
_local3.__set__visible(true);
_local3.setSize(_minWidth, _local3.minHeight + 0);
}
} else {
_local3.__set__visible(true);
_local3.setSize(_minWidth, _local4);
}
_local3.setRange(upArrow_mc.__get__height() + 0, (virtualHeight - downArrow_mc.__get__height()) - _local3.__get__height(), minPos, maxPos);
_local5 = Math.min(_local5, maxPos);
scrollPosition = (Math.max(_local5, minPos));
} else {
scrollThumb_mc.__set__visible(false);
if (!initializing) {
upArrow_mc.enabled = false;
downArrow_mc.enabled = false;
}
delete _local2.onPress;
delete _local2.onDragOver;
delete _local2.onRelease;
delete _local2.onDragOut;
delete _local2.onRollOver;
delete _local2.onRollOut;
delete _local2.onReleaseOutside;
}
if (initializing) {
scrollThumb_mc.__set__visible(false);
}
}
function setEnabled(enabledFlag) {
super.setEnabled(enabledFlag);
setScrollProperties(pageSize, minPos, maxPos, largeScroll);
}
function draw(Void) {
if (initializing) {
initializing = false;
scrollTrack_mc.visible = true;
upArrow_mc.__set__visible(true);
downArrow_mc.__set__visible(true);
}
size();
}
function size(Void) {
if (_height == 1) {
return(undefined);
}
if (upArrow_mc == undefined) {
return(undefined);
}
var _local3 = upArrow_mc.__get__height();
var _local2 = downArrow_mc.__get__height();
upArrow_mc.move(0, 0);
var _local4 = scrollTrack_mc;
_local4._y = _local3;
_local4._height = (virtualHeight - _local3) - _local2;
downArrow_mc.move(0, virtualHeight - _local2);
setScrollProperties(pageSize, minPos, maxPos, largeScroll);
}
function dispatchScrollEvent(detail) {
dispatchEvent({type:"scroll", detail:detail});
}
function isScrollBarKey(k) {
if (k == 36) {
if (scrollPosition != 0) {
scrollPosition = (0);
dispatchScrollEvent(minMode);
}
return(true);
}
if (k == 35) {
if (scrollPosition < maxPos) {
scrollPosition = (maxPos);
dispatchScrollEvent(maxMode);
}
return(true);
}
return(false);
}
function scrollIt(inc, mode) {
var _local3 = smallScroll;
if (inc != "Line") {
_local3 = ((largeScroll == 0) ? (pageSize) : (largeScroll));
}
var _local2 = _scrollPosition + (mode * _local3);
if (_local2 > maxPos) {
_local2 = maxPos;
} else if (_local2 < minPos) {
_local2 = minPos;
}
if (scrollPosition != _local2) {
scrollPosition = (_local2);
var _local4 = ((mode < 0) ? (minusMode) : (plusMode));
dispatchScrollEvent(inc + _local4);
}
}
function startTrackScroller(Void) {
_parent.pressFocus();
if (_parent.scrollTrackDownName.length > 0) {
if (_parent.scrollTrackDown_mc == undefined) {
_parent.setSkin(skinIDTrackDown, scrollTrackDownName);
} else {
_parent.scrollTrackDown_mc.visible = true;
}
}
_parent.trackScroller();
_parent.scrolling = setInterval(_parent, "scrollInterval", getStyle("repeatDelay"), "Page", -1);
}
function scrollInterval(inc, mode) {
clearInterval(scrolling);
if (inc == "Page") {
trackScroller();
} else {
scrollIt(inc, mode);
}
scrolling = setInterval(this, "scrollInterval", getStyle("repeatInterval"), inc, mode);
}
function trackScroller(Void) {
if ((scrollThumb_mc._y + scrollThumb_mc.__get__height()) < _ymouse) {
scrollIt("Page", 1);
} else if (scrollThumb_mc._y > _ymouse) {
scrollIt("Page", -1);
}
}
function dispatchScrollChangedEvent(Void) {
dispatchEvent({type:"scrollChanged"});
}
function stopScrolling(Void) {
clearInterval(_parent.scrolling);
_parent.scrollTrackDown_mc.visible = false;
}
function releaseScrolling(Void) {
_parent.releaseFocus();
stopScrolling();
_parent.dispatchScrollChangedEvent();
}
function trackOver(Void) {
if (_parent.scrollTrackOverName.length > 0) {
if (_parent.scrollTrackOver_mc == undefined) {
_parent.setSkin(skinIDTrackOver, scrollTrackOverName);
} else {
_parent.scrollTrackOver_mc.visible = true;
}
}
}
function trackOut(Void) {
_parent.scrollTrackOver_mc.visible = false;
}
function onUpArrow(Void) {
_parent.scrollIt("Line", -1);
}
function onDownArrow(Void) {
_parent.scrollIt("Line", 1);
}
function onScrollChanged(Void) {
_parent.dispatchScrollChangedEvent();
}
static var symbolOwner = mx.core.UIComponent;
var className = "ScrollBar";
var minPos = 0;
var maxPos = 0;
var pageSize = 0;
var largeScroll = 0;
var smallScroll = 1;
var _scrollPosition = 0;
var scrollTrackName = "ScrollTrack";
var scrollTrackOverName = "";
var scrollTrackDownName = "";
var upArrowName = "BtnUpArrow";
var upArrowUpName = "ScrollUpArrowUp";
var upArrowOverName = "ScrollUpArrowOver";
var upArrowDownName = "ScrollUpArrowDown";
var downArrowName = "BtnDownArrow";
var downArrowUpName = "ScrollDownArrowUp";
var downArrowOverName = "ScrollDownArrowOver";
var downArrowDownName = "ScrollDownArrowDown";
var thumbTopName = "ScrollThumbTopUp";
var thumbMiddleName = "ScrollThumbMiddleUp";
var thumbBottomName = "ScrollThumbBottomUp";
var thumbGripName = "ScrollThumbGripUp";
static var skinIDTrack = 0;
static var skinIDTrackOver = 1;
static var skinIDTrackDown = 2;
static var skinIDUpArrow = 3;
static var skinIDDownArrow = 4;
static var skinIDThumb = 5;
var idNames = new Array("scrollTrack_mc", "scrollTrackOver_mc", "scrollTrackDown_mc", "upArrow_mc", "downArrow_mc");
var clipParameters = {minPos:1, maxPos:1, pageSize:1, scrollPosition:1, lineScrollSize:1, pageScrollSize:1, visible:1, enabled:1};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.scrollClasses.ScrollBar.prototype.clipParameters, mx.core.UIComponent.prototype.clipParameters);
var initializing = true;
}
Symbol 785 MovieClip [__Packages.mx.core.ScrollView] Frame 0
class mx.core.ScrollView extends mx.core.View
{
var __width, hScroller, vScroller, __maxHPosition, propsInited, scrollAreaChanged, specialHScrollCase, createObject, viewableColumns, __height, oldRndUp, viewableRows, __viewMetrics, owner, enabled, border_mc, __get__width, __get__height, invLayout, mask_mc, _parent, dispatchEvent;
function ScrollView () {
super();
}
function getHScrollPolicy(Void) {
return(__hScrollPolicy);
}
function setHScrollPolicy(policy) {
__hScrollPolicy = policy.toLowerCase();
if (__width == undefined) {
return(undefined);
}
setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding);
}
function get hScrollPolicy() {
return(getHScrollPolicy());
}
function set hScrollPolicy(policy) {
setHScrollPolicy(policy);
//return(hScrollPolicy);
}
function getVScrollPolicy(Void) {
return(__vScrollPolicy);
}
function setVScrollPolicy(policy) {
__vScrollPolicy = policy.toLowerCase();
if (__width == undefined) {
return(undefined);
}
setScrollProperties(numberOfCols, columnWidth, rowC, rowH, heightPadding, widthPadding);
}
function get vScrollPolicy() {
return(getVScrollPolicy());
}
function set vScrollPolicy(policy) {
setVScrollPolicy(policy);
//return(vScrollPolicy);
}
function get hPosition() {
return(getHPosition());
}
function set hPosition(pos) {
setHPosition(pos);
//return(hPosition);
}
function getHPosition(Void) {
return(__hPosition);
}
function setHPosition(pos) {
hScroller.__set__scrollPosition(pos);
__hPosition = pos;
}
function get vPosition() {
return(getVPosition());
}
function set vPosition(pos) {
setVPosition(pos);
//return(vPosition);
}
function getVPosition(Void) {
return(__vPosition);
}
function setVPosition(pos) {
vScroller.__set__scrollPosition(pos);
__vPosition = pos;
}
function get maxVPosition() {
var _local2 = vScroller.maxPos;
return(((_local2 == undefined) ? 0 : (_local2)));
}
function get maxHPosition() {
return(getMaxHPosition());
}
function set maxHPosition(pos) {
setMaxHPosition(pos);
//return(maxHPosition);
}
function getMaxHPosition(Void) {
if (__maxHPosition != undefined) {
return(__maxHPosition);
}
var _local2 = hScroller.maxPos;
return(((_local2 == undefined) ? 0 : (_local2)));
}
function setMaxHPosition(pos) {
__maxHPosition = pos;
}
function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) {
var _local3 = getViewMetrics();
if (hPadding == undefined) {
hPadding = 0;
}
if (wPadding == undefined) {
wPadding = 0;
}
propsInited = true;
delete scrollAreaChanged;
heightPadding = hPadding;
widthPadding = wPadding;
if (colWidth == 0) {
colWidth = 1;
}
if (rwHeight == 0) {
rwHeight = 1;
}
var _local4 = Math.ceil((((__width - _local3.left) - _local3.right) - widthPadding) / colWidth);
if ((__hScrollPolicy == "on") || ((_local4 < colCount) && (__hScrollPolicy == "auto"))) {
if ((hScroller == undefined) || (specialHScrollCase)) {
delete specialHScrollCase;
hScroller = mx.controls.scrollClasses.ScrollBar(createObject("HScrollBar", "hSB", 1001));
hScroller.__set__lineScrollSize(20);
hScroller.scrollHandler = scrollProxy;
hScroller.__set__scrollPosition(__hPosition);
scrollAreaChanged = true;
}
if ((((numberOfCols != colCount) || (columnWidth != colWidth)) || (viewableColumns != _local4)) || (scrollAreaChanged)) {
hScroller.setScrollProperties(_local4, 0, colCount - _local4);
viewableColumns = _local4;
numberOfCols = colCount;
columnWidth = colWidth;
}
} else if (((__hScrollPolicy == "auto") || (__hScrollPolicy == "off")) && (hScroller != undefined)) {
hScroller.removeMovieClip();
delete hScroller;
scrollAreaChanged = true;
}
if (heightPadding == undefined) {
heightPadding = 0;
}
var _local5 = Math.ceil((((__height - _local3.top) - _local3.bottom) - heightPadding) / rwHeight);
var _local8 = (((__height - _local3.top) - _local3.bottom) % rwHeight) != 0;
if ((__vScrollPolicy == "on") || ((_local5 < (rwCount + _local8)) && (__vScrollPolicy == "auto"))) {
if (vScroller == undefined) {
vScroller = mx.controls.scrollClasses.ScrollBar(createObject("VScrollBar", "vSB", 1002));
vScroller.scrollHandler = scrollProxy;
vScroller.__set__scrollPosition(__vPosition);
scrollAreaChanged = true;
rowH = 0;
}
if ((((rowC != rwCount) || (rowH != rwHeight)) || ((viewableRows + _local8) != (_local5 + oldRndUp))) || (scrollAreaChanged)) {
vScroller.setScrollProperties(_local5, 0, (rwCount - _local5) + _local8);
viewableRows = _local5;
rowC = rwCount;
rowH = rwHeight;
oldRndUp = _local8;
}
} else if (((__vScrollPolicy == "auto") || (__vScrollPolicy == "off")) && (vScroller != undefined)) {
vScroller.removeMovieClip();
delete vScroller;
scrollAreaChanged = true;
}
numberOfCols = colCount;
columnWidth = colWidth;
if (scrollAreaChanged) {
doLayout();
var _local2 = __viewMetrics;
var _local12 = ((owner != undefined) ? (owner) : this);
_local12.layoutContent(_local2.left, _local2.top, ((columnWidth * numberOfCols) - _local2.left) - _local2.right, rowC * rowH, (__width - _local2.left) - _local2.right, (__height - _local2.top) - _local2.bottom);
}
if (!enabled) {
setEnabled(false);
}
}
function getViewMetrics(Void) {
var _local2 = __viewMetrics;
var _local3 = border_mc.__get__borderMetrics();
_local2.left = _local3.left;
_local2.right = _local3.right;
if (vScroller != undefined) {
_local2.right = _local2.right + vScroller.minWidth;
}
_local2.top = _local3.top;
if ((hScroller == undefined) && ((__hScrollPolicy == "on") || (__hScrollPolicy == true))) {
hScroller = mx.controls.scrollClasses.ScrollBar(createObject("FHScrollBar", "hSB", 1001));
specialHScrollCase = true;
}
_local2.bottom = _local3.bottom;
if (hScroller != undefined) {
_local2.bottom = _local2.bottom + hScroller.minHeight;
}
return(_local2);
}
function doLayout(Void) {
var _local10 = __get__width();
var _local8 = __get__height();
delete invLayout;
var _local3 = (__viewMetrics = getViewMetrics());
var _local2 = _local3.left;
var _local9 = _local3.right;
var _local5 = _local3.top;
var _local11 = _local3.bottom;
var _local7 = hScroller;
var _local6 = vScroller;
_local7.setSize((_local10 - _local2) - _local9, _local7.minHeight + 0);
_local7.move(_local2, _local8 - _local11);
_local6.setSize(_local6.minWidth + 0, (_local8 - _local5) - _local11);
_local6.move(_local10 - _local9, _local5);
var _local4 = mask_mc;
_local4._width = (_local10 - _local2) - _local9;
_local4._height = (_local8 - _local5) - _local11;
_local4._x = _local2;
_local4._y = _local5;
}
function createChild(id, name, props) {
var _local2 = super.createChild(id, name, props);
return(_local2);
}
function init(Void) {
super.init();
__viewMetrics = new Object();
if (_global.__SVMouseWheelManager == undefined) {
var _local4 = (_global.__SVMouseWheelManager = new Object());
_local4.onMouseWheel = __onMouseWheel;
Mouse.addListener(_local4);
}
}
function __onMouseWheel(delta, scrollTarget) {
var _local4 = scrollTarget;
var _local1;
while (_local4 != undefined) {
if (_local4 instanceof mx.core.ScrollView) {
_local1 = _local4;
}
_local4 = _local4._parent;
}
if (_local1 != undefined) {
_local4 = ((delta <= 0) ? 1 : -1);
var _local2 = _local1.vScroller.lineScrollSize;
if (_local2 == undefined) {
_local2 = 0;
}
_local2 = Math.max(Math.abs(delta), _local2);
var _local3 = _local1.vPosition + (_local2 * _local4);
_local1.vPosition = Math.max(0, Math.min(_local3, _local1.maxVPosition));
_local1.dispatchEvent({type:"scroll", direction:"vertical", position:_local1.vPosition});
}
}
function createChildren(Void) {
super.createChildren();
if (mask_mc == undefined) {
mask_mc = createObject("BoundingBox", "mask_mc", MASK_DEPTH);
}
mask_mc._visible = false;
}
function invalidate(Void) {
super.invalidate();
}
function draw(Void) {
size();
}
function size(Void) {
super.size();
}
function scrollProxy(docObj) {
_parent.onScroll(docObj);
}
function onScroll(docObj) {
var _local3 = docObj.target;
var _local2 = _local3.scrollPosition;
if (_local3 == vScroller) {
var _local4 = "vertical";
var _local5 = "__vPosition";
} else {
var _local4 = "horizontal";
var _local5 = "__hPosition";
}
this[_local5] = _local2;
dispatchEvent({type:"scroll", direction:_local4, position:_local2});
}
function setEnabled(v) {
vScroller.enabled = (hScroller.enabled = v);
}
function childLoaded(obj) {
super.childLoaded(obj);
obj.setMask(mask_mc);
}
static var symbolName = "ScrollView";
static var symbolOwner = mx.core.ScrollView;
static var version = "2.0.2.126";
var className = "ScrollView";
var __vScrollPolicy = "auto";
var __hScrollPolicy = "off";
var __vPosition = 0;
var __hPosition = 0;
var numberOfCols = 0;
var rowC = 0;
var columnWidth = 1;
var rowH = 0;
var heightPadding = 0;
var widthPadding = 0;
var MASK_DEPTH = 10000;
}
Symbol 786 MovieClip [__Packages.mx.controls.TextArea] Frame 0
class mx.controls.TextArea extends mx.core.ScrollView
{
var label, invalidate, initText, dispatchValueChangedEvent, getHPosition, setHPosition, getVPosition, setVPosition, _color, focusTextField, tfx, tfy, tfw, tfh, doLater, _vpos, _hpos, hookedV, vScroller, hookedH, hScroller, getViewMetrics, __get__width, __get__height, hScrollPolicy, vScrollPolicy, getStyle, getFocusManager, addEventListener, removeEventListener, _getTextFormat;
function TextArea () {
super();
}
function get maxChars() {
return(label.maxChars);
}
function set maxChars(x) {
label.maxChars = x;
//return(maxChars);
}
function get length() {
return(label.length);
}
function get restrict() {
return(label.restrict);
}
function set restrict(s) {
label.restrict = ((s == "") ? null : (s));
//return(restrict);
}
function get wordWrap() {
return(label.wordWrap);
}
function set wordWrap(s) {
label.wordWrap = s;
invalidate();
//return(wordWrap);
}
function get editable() {
return(__editable);
}
function set editable(x) {
__editable = x;
label.type = (x ? "input" : "dynamic");
//return(editable);
}
function get password() {
return(label.password);
}
function set password(s) {
label.password = s;
//return(password);
}
function get html() {
return(getHtml());
}
function set html(value) {
setHtml(value);
//return(html);
}
function getHtml() {
return(label.html);
}
function setHtml(value) {
if (value != label.html) {
label.html = value;
}
}
function get text() {
return(getText());
}
function set text(t) {
setText(t);
//return(text);
}
function getText() {
if (initializing) {
return(initText);
}
var _local2 = label;
if (_local2.html == true) {
return(_local2.htmlText);
}
return(_local2.text);
}
function setText(t) {
if (initializing) {
initText = t;
} else {
var _local2 = label;
if (_local2.html == true) {
_local2.htmlText = t;
} else {
_local2.text = t;
}
invalidate();
}
dispatchValueChangedEvent(t);
}
function get hPosition() {
return(getHPosition());
}
function set hPosition(pos) {
setHPosition(pos);
label.hscroll = pos;
label.background = false;
//return(hPosition);
}
function get vPosition() {
return(getVPosition());
}
function set vPosition(pos) {
setVPosition(pos);
label.scroll = pos + 1;
label.background = false;
//return(vPosition);
}
function get maxVPosition() {
var _local2 = label.maxscroll - 1;
return(((_local2 == undefined) ? 0 : (_local2)));
}
function get maxHPosition() {
var _local2 = label.maxhscroll;
return(((_local2 == undefined) ? 0 : (_local2)));
}
function init(Void) {
super.init();
label.styleName = this;
_color = mx.core.UIObject.textColorList;
focusTextField = label;
label.owner = this;
label.onSetFocus = function (x) {
this._parent.onSetFocus(x);
};
label.onKillFocus = function (x) {
this._parent.onKillFocus(x);
};
label.drawFocus = function (b) {
this._parent.drawFocus(b);
};
label.onChanged = function () {
this.owner.adjustScrollBars();
this.owner.dispatchEvent({type:"change"});
this.owner.dispatchValueChangedEvent(this.owner.text);
};
label.onScroller = function () {
this.owner.hPosition = this.hscroll;
this.owner.vPosition = this.scroll - 1;
};
if (text == undefined) {
text = ("");
}
}
function createChildren(Void) {
super.createChildren();
label.autoSize = "none";
}
function layoutContent(x, y, totalW, totalH, displayW, displayH) {
var _local2 = label;
if ((((tfx != x) || (tfy != y)) || (tfw != displayW)) || (tfh != displayH)) {
tfx = x;
tfy = y;
tfw = displayW;
tfh = displayH;
_local2.move(tfx, tfy);
_local2.setSize(tfw, tfh);
doLater(this, "adjustScrollBars");
}
}
function scrollChanged(Void) {
var _local2 = Selection;
if (_local2.lastBeginIndex != undefined) {
restoreSelection();
}
label.background = false;
}
function onScroll(docObj) {
var _local3 = label;
super.onScroll(docObj);
_local3.hscroll = hPosition + 0;
_local3.scroll = vPosition + 1;
_vpos = _local3.scroll;
_hpos = _local3.hscroll;
_local3.background = false;
if (hookedV != true) {
vScroller.addEventListener("scrollChanged", this);
hookedV = true;
}
if (hookedH != true) {
hScroller.addEventListener("scrollChanged", this);
hookedH = true;
}
}
function size(Void) {
var _local3 = getViewMetrics();
var _local7 = _local3.left + _local3.right;
var _local4 = _local3.top + _local3.bottom;
var _local6 = _local3.left;
var _local5 = _local3.top;
tfx = _local6;
tfy = _local5;
tfw = __get__width() - _local7;
tfh = __get__height() - _local4;
super.size();
label.move(tfx, tfy);
label.setSize(tfw, tfh);
if (__get__height() <= 40) {
hScrollPolicy = "off";
vScrollPolicy = "off";
}
doLater(this, "adjustScrollBars");
}
function setEnabled(enable) {
vScroller.enabled = enable;
hScroller.enabled = enable;
label.type = (((editable == false) || (enable == false)) ? "dynamic" : "input");
label.selectable = enable;
var _local3 = getStyle((enable ? "color" : "disabledColor"));
if (_local3 == undefined) {
_local3 = (enable ? 0 : 8947848);
}
setColor(_local3);
}
function setColor(col) {
label.textColor = col;
}
function setFocus(Void) {
Selection.setFocus(label);
}
function onSetFocus(x) {
var f = Selection.getFocus();
var o = eval (f);
if (o != label) {
Selection.setFocus(label);
return(undefined);
}
getFocusManager().defaultPushButtonEnabled = false;
addEventListener("keyDown", this);
super.onSetFocus(x);
}
function onKillFocus(x) {
getFocusManager().defaultPushButtonEnabled = true;
removeEventListener("keyDown", this);
super.onKillFocus(x);
}
function restoreSelection(x) {
var _local2 = Selection;
Selection.setSelection(_local2.lastBeginIndex, _local2.lastEndIndex);
label.scroll = _vpos;
label.hscroll = _hpos;
}
function getLineOffsets(Void) {
var _local16 = _getTextFormat();
var _local18 = _local16.getTextExtent2(label.text);
var _local5 = _root._getTextExtent;
_local5.setNewTextFormat(TextFormat(_local16));
var _local14 = label.wordWrap;
var _local9 = 0;
var _local7 = (label._width - 2) - 2;
var _local12 = new Array();
var _local17 = new String(label.text);
var _local15 = _local17.split("\r");
var _local11 = 0;
while (_local11 < _local15.length) {
_local12.push(_local9);
var _local4 = _local15[_local11];
_local5.text = _local4;
var _local13 = Math.ceil(_local5.textWidth / _local7);
var _local10 = Math.floor(_local4.length / _local13);
var _local3;
while (_local14 && (_local5.textWidth > _local7)) {
_local3 = _local4.indexOf(" ", _local10);
var _local6;
if (_local3 == -1) {
_local3 = _local4.lastIndexOf(" ");
if (_local3 == -1) {
_local3 = _local10;
}
}
_local6 = _local4.substr(0, _local3);
_local5.text = _local6;
if (_local5.textWidth > _local7) {
while (_local5.textWidth > _local7) {
var _local8 = _local3;
_local3 = _local4.lastIndexOf(" ", _local3 - 1);
if (_local3 == -1) {
_local3 = _local8 - 1;
}
_local6 = _local4.substr(0, _local3);
_local5.text = _local6;
}
} else if (_local5.textWidth < _local7) {
var _local8 = _local3;
while (_local5.textWidth < _local7) {
_local8 = _local3;
_local3 = _local4.indexOf(" ", _local3 + 1);
if (_local3 == -1) {
if (_local4.indexOf(" ", 0) != -1) {
break;
}
_local3 = _local8 + 1;
}
_local6 = _local4.substr(0, _local3);
_local5.text = _local6;
}
_local3 = _local8;
}
_local9 = _local9 + _local3;
_local12.push(_local9 + 1);
_local4 = _local4.substr(_local3);
if (_local4.charAt(0) == " ") {
_local4 = _local4.substr(1, _local4.length - 1);
_local9 = _local9 + 1;
}
_local5.text = _local4;
}
_local9 = _local9 + (_local4.length + 1);
_local11++;
}
return(_local12);
}
function keyDown(e) {
var _local5 = e.code;
if (_local5 == 34) {
var _local6 = (label.bottomScroll - label.scroll) + 1;
var _local3 = getLineOffsets();
var _local2 = Math.min(label.bottomScroll + 1, label.maxscroll);
if (_local2 == label.maxscroll) {
var _local4 = label.length;
Selection.setSelection(_local4, _local4);
} else {
label.scroll = _local2;
Selection.setSelection(_local3[_local2 - 1], _local3[_local2 - 1]);
}
} else if (_local5 == 33) {
var _local6 = (label.bottomScroll - label.scroll) + 1;
var _local3 = getLineOffsets();
var _local2 = label.scroll - 1;
if (_local2 < 1) {
Selection.setSelection(0, 0);
} else {
Selection.setSelection(_local3[_local2 - 1], _local3[_local2 - 1]);
label.scroll = Math.max(_local2 - _local6, 1);
}
}
}
function draw(Void) {
var _local2 = label;
var _local4 = getText();
if (initializing) {
initializing = false;
delete initText;
}
var _local3 = _getTextFormat();
_local2.embedFonts = _local3.embedFonts == true;
if (_local3 != undefined) {
_local2.setTextFormat(_local3);
_local2.setNewTextFormat(_local3);
}
_local2.multiline = true;
_local2.wordWrap = wordWrap == true;
if (_local2.html == true) {
_local2.setTextFormat(_local3);
_local2.htmlText = _local4;
} else {
_local2.text = _local4;
}
_local2.type = ((editable == true) ? "input" : "dynamic");
size();
_local2.background = false;
}
function adjustScrollBars() {
var _local2 = label;
var _local4 = (_local2.bottomScroll - _local2.scroll) + 1;
var _local3 = (_local4 + _local2.maxscroll) - 1;
if (_local3 < 1) {
_local3 = 1;
}
var _local5 = 0;
if ((_local2.textWidth + 5) > _local2._width) {
if (!_local2.wordWrap) {
_local5 = _local2._width + _local2.maxhscroll;
}
} else {
_local2.hscroll = 0;
_local2.background = false;
}
if ((_local2.height / _local4) != Math.round(_local2.height / _local4)) {
_local3--;
}
setScrollProperties(_local5, 1, _local3, _local2.height / _local4);
}
function setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding) {
super.setScrollProperties(colCount, colWidth, rwCount, rwHeight, hPadding, wPadding);
if (vScroller == undefined) {
hookedV = false;
}
if (hScroller == undefined) {
hookedH = false;
}
}
function get tabIndex() {
return(label.tabIndex);
}
function set tabIndex(w) {
label.tabIndex = w;
//return(tabIndex);
}
function set _accProps(val) {
label._accProps = val;
//return(_accProps);
}
function get _accProps() {
return(label._accProps);
}
function get styleSheet() {
return(label.styleSheet);
}
function set styleSheet(v) {
label.styleSheet = v;
//return(styleSheet);
}
static var symbolName = "TextArea";
static var symbolOwner = mx.controls.TextArea;
static var version = "2.0.2.126";
var className = "TextArea";
var initializing = true;
var clipParameters = {text:1, wordWrap:1, editable:1, maxChars:1, restrict:1, html:1, password:1};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.TextArea.prototype.clipParameters, mx.core.ScrollView.prototype.clipParameters);
var __vScrollPolicy = "auto";
var __hScrollPolicy = "auto";
var __editable = true;
}
Symbol 787 MovieClip [__Packages.com.iga.IGAControllerStatic] Frame 0
class com.iga.IGAControllerStatic
{
static var txtTrace, hostPort, contentPort;
function IGAControllerStatic () {
}
static function startSession(igaController) {
txtTrace = igaController.txtTrace;
appId = igaController.getAppId();
cellIds = igaController.getCellIds();
debug = igaController.getDebug();
hostAddress = igaController.getHostAddress();
hostPort = igaController.getHostPort();
hostSvc = igaController.getHostSvc();
autoRefresh = igaController.getAutoRefresh();
defaultMC = igaController.getDefaultMC();
var flash_cookie = SharedObject.getLocal("iga");
var _local3 = ((("http://" + hostAddress) + ":") + hostPort) + hostSvc;
_local3 = _local3 + ("?MessageId=" + MSG_ID_START_SESSION);
_local3 = _local3 + ("&Platform=" + PLATFORM);
_local3 = _local3 + ("&ApplicationId=" + appId);
if (flash_cookie.size != 0) {
if (flash_cookie.data.UserId != undefined) {
_local3 = _local3 + ("&UserId=" + flash_cookie.data.UserId);
}
}
DEBUG("START SESSION, url = " + _local3);
DEBUG((("STAGE WIDTH = " + Stage.width) + ", STAGE HEIGHT = ") + Stage.height);
var loadVars = new LoadVars();
loadVars.onLoad = function (success) {
if (success) {
var _local3 = parseInt(this.MessageId);
if (_local3 == com.iga.IGAControllerStatic.MSG_ID_SESSION_START) {
for (var _local2 in this) {
com.iga.IGAControllerStatic.DEBUG((_local2 + " = ") + this[_local2]);
}
com.iga.IGAControllerStatic.DEBUG("SESSION STARTED, sessionId = " + this.SessionId);
com.iga.IGAControllerStatic.sessionId = this.SessionId;
com.iga.IGAControllerStatic.contentAddress = this.ContentAddress;
com.iga.IGAControllerStatic.contentPort = parseInt(loadVars.ContentPort);
com.iga.IGAControllerStatic.impressionAddress = this.ImpressionAddress;
com.iga.IGAControllerStatic.impressionPort = parseInt(loadVars.ImpressionPort);
com.iga.IGAControllerStatic.userId = parseInt(this.UserId);
flash_cookie.data.UserId = com.iga.IGAControllerStatic.userId;
flash_cookie.flush();
if (this.ImpressionSecs != undefined) {
com.iga.IGAControllerStatic.impressionSecs = parseInt(this.ImpressionSecs);
}
com.iga.IGAControllerStatic.sessionStarted();
} else {
com.iga.IGAControllerStatic.handleError(_local3);
com.iga.IGAControllerStatic.sessionStarted();
}
} else {
com.iga.IGAControllerStatic.handleError(com.iga.IGAControllerStatic.MSG_ID_INTERNAL_SERVER_ERROR);
com.iga.IGAControllerStatic.sessionStarted();
}
};
loadVars.sendAndLoad(_local3, loadVars, "POST");
}
static function sessionStarted() {
getContentList();
}
static function getContentList() {
DEBUG((("getContentList called, contentIdx = " + cellIdx) + ", contents.length = ") + cellIds.length);
if (cellIdx == cellIds.length) {
loadContent();
} else {
var _local3 = ((("http://" + contentAddress) + ":") + contentPort) + hostSvc;
_local3 = _local3 + ("?MessageId=" + MSG_ID_GET_CONTENT_LIST);
_local3 = _local3 + ("&SessionId=" + sessionId);
var currentCellID = cellIds[cellIdx++];
_local3 = _local3 + ("&CellId=" + currentCellID);
DEBUG("GET CONTENT LIST, url = " + _local3);
var _local4 = new LoadVars();
_local4.onLoad = function (success) {
var _local2 = new com.iga.IGAContent();
_local2.cellId = currentCellID;
if (success) {
var _local3 = parseInt(this.MessageId);
if (_local3 == com.iga.IGAControllerStatic.MSG_ID_CONTENT_LIST) {
_local2.validContent = true;
_local2.contentId = parseInt(this.ContentId);
_local2.minRefresh = this.MinRefresh;
_local2.maxRefresh = this.MaxRefresh;
_local2.targetURL = this.URL;
} else {
_local2.validContent = false;
_local2.minRefresh = 0;
_local2.maxRefresh = 10000;
_local2.contentId = 0;
}
} else {
trace("***error - cellid = " + _local2.cellId);
_local2.validContent = false;
_local2.minRefresh = 0;
_local2.maxRefresh = 10000;
_local2.contentId = 0;
}
com.iga.IGAControllerStatic.contents.push(_local2);
com.iga.IGAControllerStatic.getContentList();
};
_local4.sendAndLoad(_local3, _local4, "POST");
}
}
static function loadContent() {
if (contentIdx == contents.length) {
inited = true;
_root.IGA_contentLoaded();
} else {
var _local2 = contents[contentIdx++];
_local2.load();
}
}
static function getIGAContentForCell(cellId) {
var _local1 = 0;
while (_local1 < contents.length) {
if (contents[_local1].cellId == cellId) {
return(contents[_local1]);
}
_local1++;
}
return(null);
}
static function handleError(messageId) {
DEBUG("ERROR, messageId = " + messageId);
}
static function DEBUG(txt) {
if (debug) {
trace(txt);
txtTrace.text = txtTrace.text + (txt + "\r");
}
}
static var SDK_VERSION = 1;
static var PLATFORM = 3;
static var USER_ID = -1;
static var MAX_CONTENT_RESULTS = 1;
static var MSG_ID_START_SESSION = 100;
static var MSG_ID_END_SESSION = 101;
static var MSG_ID_GET_CONTENT_LIST = 200;
static var MSG_ID_GET_CONTENT = 210;
static var MSG_ID_REPORT_IMPRESSION = 300;
static var MSG_ID_REPORT_CLICK = 400;
static var MSG_ID_SESSION_START = 500;
static var MSG_ID_CONTENT_LIST = 600;
static var MSG_ID_CONTENT = 610;
static var MSG_ID_ACKNOWLEDGE = 900;
static var MSG_ID_NO_DATA_AVAILABLE = 901;
static var MSG_ID_UNSUPPORTED_FUNCTION = 905;
static var MSG_ID_INVALID_PARAMETER_ERROR = 951;
static var MSG_ID_INTERNAL_SERVER_ERROR = 952;
static var MSG_ID_APPLICATION_DISABLED = 990;
static var inited = false;
static var contents = new Array();
static var cellIdx = 0;
static var contentIdx = 0;
static var appId = 0;
static var cellIds = null;
static var debug = false;
static var hostAddress = "";
static var hostSvc = "";
static var autoRefresh = true;
static var defaultMC = "";
static var sessionId = "";
static var contentAddress = "";
static var impressionAddress = "";
static var userId = USER_ID;
}
Symbol 788 MovieClip [__Packages.com.iga.IGAContent] Frame 0
class com.iga.IGAContent extends MovieClip
{
function IGAContent () {
super();
}
function load() {
var tempName = ("igaContent" + contentId);
var self = this;
if (_root[tempName] != undefined) {
com.iga.IGAControllerStatic.DEBUG(("SKIPPED LOADING igaContent" + contentId) + " (ALREADY EXISTS).");
self.impressionSent = false;
self.contentDisplayed = false;
loadComplete();
return(undefined);
}
if (validContent) {
com.iga.IGAControllerStatic.DEBUG((((((((("RESOURCE LOAD, cellId = " + cellId) + ", contentId = ") + contentId) + ", targetURL = ") + targetURL) + ", minRefresh = ") + minRefresh) + ", maxRefresh = ") + maxRefresh);
} else {
com.iga.IGAControllerStatic.DEBUG(((("RESOURCE LOAD, cellId = " + cellId) + ", contentId = ") + contentId) + ", validContent = FALSE");
var _local6 = com.iga.IGAControllerStatic.defaultMC;
_root.attachMovie(_local6, tempName, _root.getNextHighestDepth());
com.iga.IGAControllerStatic.DEBUG("DEFAULT CONTENT LOADED.");
self.impressionSent = false;
self.contentDisplayed = false;
_root[tempName].nativeWidth = _root[tempName]._width;
_root[tempName].nativeHeight = _root[tempName]._height;
loadComplete();
return(undefined);
}
var _local5 = new Object();
_local5.onLoadInit = function (target) {
com.iga.IGAControllerStatic.DEBUG("NEW CONTENT LOADED.");
self.impressionSent = false;
self.contentDisplayed = false;
_root[tempName].nativeWidth = _root[tempName]._width;
_root[tempName].nativeHeight = _root[tempName]._height;
self.loadComplete();
};
var _local4 = new MovieClipLoader();
_local4.addListener(_local5);
com.iga.IGAControllerStatic.DEBUG(("CREATING EMPTY MOVIE CLIP " + tempName) + " TO STORE CONTENT...");
_root.createEmptyMovieClip(tempName, _root.getNextHighestDepth());
var _local3 = ((("http://" + com.iga.IGAControllerStatic.contentAddress) + ":") + com.iga.IGAControllerStatic.contentPort) + com.iga.IGAControllerStatic.hostSvc;
_local3 = _local3 + ("?MessageId=" + com.iga.IGAControllerStatic.MSG_ID_GET_CONTENT);
_local3 = _local3 + ("&SessionId=" + com.iga.IGAControllerStatic.sessionId);
_local3 = _local3 + ("&ContentId=" + contentId);
_local4.loadClip(_local3, _root["igaContent" + contentId]);
com.iga.IGAControllerStatic.DEBUG((("LOADING CLIP INTO igaContent" + contentId) + ", URL = ") + _local3);
}
function loadComplete() {
if (firstContent) {
_root["igaContent" + contentId]._visible = false;
com.iga.IGAControllerStatic.loadContent();
return(undefined);
}
startImpressionTimer();
if (lastContentId != contentId) {
_root["igaContent" + contentId]._visible = false;
}
}
function reportClick() {
var _local2 = ((("http://" + com.iga.IGAControllerStatic.impressionAddress) + ":") + com.iga.IGAControllerStatic.impressionPort) + com.iga.IGAControllerStatic.hostSvc;
_local2 = _local2 + ("?MessageId=" + com.iga.IGAControllerStatic.MSG_ID_REPORT_CLICK);
_local2 = _local2 + ("&SessionId=" + com.iga.IGAControllerStatic.sessionId);
_local2 = _local2 + ("&CellId=" + cellId);
_local2 = _local2 + ("&ContentId=" + contentId);
com.iga.IGAControllerStatic.DEBUG("REPORT CLICK : " + _local2);
var _local3 = new LoadVars();
_local3.onLoad = function (success) {
if (success) {
var _local2 = parseInt(this.MessageId);
if (_local2 == com.iga.IGAControllerStatic.MSG_ID_ACKNOWLEDGE) {
com.iga.IGAControllerStatic.DEBUG("CLICK REPORT SUCCESSFUL");
} else {
com.iga.IGAControllerStatic.handleError(_local2);
}
} else {
com.iga.IGAControllerStatic.handleError(com.iga.IGAControllerStatic.MSG_ID_INTERNAL_SERVER_ERROR);
}
};
_local3.sendAndLoad(_local2, _local3, "POST");
}
function makeClickable() {
delete _root["igaContent" + contentId].onRelease;
var self = this;
if (self.targetURL) {
_root["igaContent" + contentId].onRelease = function () {
self.reportClick();
(this.getURL(self.targetURL, "_blank"));// not popped
};
}
}
function autoRefreshContent() {
if (duration < minRefresh) {
com.iga.IGAControllerStatic.DEBUG((("SKIPPING REFRESH BECAUSE OF MIN REFRESH RULE: MINREFRESH=" + minRefresh) + ", DURATION=") + duration);
return(undefined);
}
if (com.iga.IGAControllerStatic.autoRefresh) {
com.iga.IGAControllerStatic.DEBUG("-------- AUTO REFRESH ACTIVATED --------");
refreshContent();
} else {
com.iga.IGAControllerStatic.DEBUG("-------- AUTO REFRESH DISABLED --------");
}
}
function manuallyRefreshContent() {
com.iga.IGAControllerStatic.DEBUG("-------- MANUAL REFRESH ACTIVATED --------");
if (duration < minRefresh) {
com.iga.IGAControllerStatic.DEBUG((("SKIPPING REFRESH BECAUSE OF MIN REFRESH RULE: MINREFRESH=" + minRefresh) + ", DURATION=") + duration);
return(undefined);
}
ignoreDuration = true;
refreshContent();
}
function refreshContent() {
reportImpression();
var _local2 = ((("http://" + com.iga.IGAControllerStatic.contentAddress) + ":") + com.iga.IGAControllerStatic.contentPort) + com.iga.IGAControllerStatic.hostSvc;
_local2 = _local2 + ("?MessageId=" + com.iga.IGAControllerStatic.MSG_ID_GET_CONTENT_LIST);
_local2 = _local2 + ("&SessionId=" + com.iga.IGAControllerStatic.sessionId);
_local2 = _local2 + ("&CellId=" + cellId);
var self = this;
var _local3 = new LoadVars();
_local3.onLoad = function (success) {
if (success) {
var _local2 = parseInt(this.MessageId);
if (_local2 == com.iga.IGAControllerStatic.MSG_ID_CONTENT_LIST) {
self.lastContentId = self.contentId;
self.firstContent = false;
self.impressionSent = false;
self.validContent = true;
self.contentId = parseInt(this.ContentId);
self.minRefresh = this.MinRefresh;
self.maxRefresh = this.MaxRefresh;
self.targetURL = this.URL;
self.load();
} else {
self.lastContentId = self.contentId;
self.firstContent = false;
self.minRefresh = 3000;
self.maxRefresh = 10000;
self.contentId = 0;
self.validContent = false;
self.load();
}
} else {
self.lastContentId = self.contentId;
self.firstContent = false;
self.minRefresh = 3000;
self.maxRefresh = 10000;
self.contentId = 0;
self.validContent = false;
self.load();
}
};
com.iga.IGAControllerStatic.DEBUG("RELOAD CONTENT LIST, url = " + _local2);
_local3.sendAndLoad(_local2, _local3, "POST");
}
function startImpressionTimer() {
com.iga.IGAControllerStatic.DEBUG("START IMPRESSION TIMER CALLED");
ignoreDuration = false;
duration = 0;
}
function resetDuration() {
duration = 0;
}
function reportImpression() {
if (!validContent) {
return(undefined);
}
var _local2 = ((("http://" + com.iga.IGAControllerStatic.impressionAddress) + ":") + com.iga.IGAControllerStatic.impressionPort) + com.iga.IGAControllerStatic.hostSvc;
_local2 = _local2 + ("?MessageId=" + com.iga.IGAControllerStatic.MSG_ID_REPORT_IMPRESSION);
_local2 = _local2 + ("&SessionId=" + com.iga.IGAControllerStatic.sessionId);
_local2 = _local2 + ("&CellId=" + cellId);
_local2 = _local2 + ("&ContentId=" + contentId);
_local2 = _local2 + ("&Size=" + computeContentSize());
_local2 = _local2 + ("&Duration=" + duration);
var self = this;
var _local3 = new LoadVars();
_local3.onLoad = function (success) {
if (success) {
var _local2 = parseInt(this.MessageId);
if (_local2 == com.iga.IGAControllerStatic.MSG_ID_ACKNOWLEDGE) {
com.iga.IGAControllerStatic.DEBUG("IMPRESSION REPORT SUCCESSFUL");
self.resetDuration();
} else {
com.iga.IGAControllerStatic.handleError(_local2);
}
} else {
com.iga.IGAControllerStatic.handleError(com.iga.IGAControllerStatic.MSG_ID_INTERNAL_SERVER_ERROR);
}
};
com.iga.IGAControllerStatic.DEBUG("REP IMP : " + _local2);
_local3.sendAndLoad(_local2, _local3, "POST");
self.impressionSent = true;
}
function computeContentSize() {
return(int(((_root["igaContent" + contentId]._width * _root["igaContent" + contentId]._height) / (Stage.width * Stage.height)) * 100));
}
function getCurrentTimeMillis() {
var _local1 = new Date();
return(_local1.getTime());
}
var cellId = 0;
var contentId = 0;
var duration = 0;
var nativeHeight = 0;
var nativeWidth = 0;
var validContent = true;
var firstContent = true;
var contentDisplayed = false;
var impressionSent = false;
var ignoreDuration = false;
var lastContentId = 0;
var minRefresh = 0;
var maxRefresh = 0;
var targetURL = "";
}
Symbol 789 MovieClip [__Packages.mx.controls.HScrollBar] Frame 0
class mx.controls.HScrollBar extends mx.controls.scrollClasses.ScrollBar
{
var _minHeight, _minWidth, _xscale, _rotation, __width, scrollIt;
function HScrollBar () {
super();
}
function getMinWidth(Void) {
return(_minHeight);
}
function getMinHeight(Void) {
return(_minWidth);
}
function init(Void) {
super.init();
_xscale = -100;
_rotation = -90;
}
function get virtualHeight() {
return(__width);
}
function isScrollBarKey(k) {
if (k == 37) {
scrollIt("Line", -1);
return(true);
}
if (k == 39) {
scrollIt("Line", 1);
return(true);
}
return(super.isScrollBarKey(k));
}
static var symbolName = "HScrollBar";
static var symbolOwner = mx.core.UIComponent;
static var version = "2.0.2.126";
var className = "HScrollBar";
var minusMode = "Left";
var plusMode = "Right";
var minMode = "AtLeft";
var maxMode = "AtRight";
}
Symbol 790 MovieClip [__Packages.mx.controls.Button] Frame 0
class mx.controls.Button extends mx.controls.SimpleButton
{
var initializing, labelPath, initIcon, getState, enabled, phase, idNames, __width, __height, setState, invalidate, iconName, refresh, createLabel, _iconLinkageName, removeIcons, hitArea_mc, createEmptyObject;
function Button () {
super();
}
function init(Void) {
super.init();
}
function draw() {
if (initializing) {
labelPath.visible = true;
}
super.draw();
if (initIcon != undefined) {
_setIcon(initIcon);
}
delete initIcon;
}
function onRelease(Void) {
super.onRelease();
}
function createChildren(Void) {
super.createChildren();
}
function setSkin(tag, linkageName, initobj) {
return(super.setSkin(tag, linkageName, initobj));
}
function viewSkin(varName) {
var _local3 = (getState() ? "true" : "false");
_local3 = _local3 + (enabled ? (phase) : "disabled");
super.viewSkin(varName, {styleName:this, borderStyle:_local3});
}
function invalidateStyle(c) {
labelPath.invalidateStyle(c);
super.invalidateStyle(c);
}
function setColor(c) {
var _local2 = 0;
while (_local2 < 8) {
this[idNames[_local2]].redraw(true);
_local2++;
}
}
function setEnabled(enable) {
labelPath.enabled = enable;
super.setEnabled(enable);
}
function calcSize(tag, ref) {
if ((__width == undefined) || (__height == undefined)) {
return(undefined);
}
if (tag < 7) {
ref.setSize(__width, __height, true);
}
}
function size(Void) {
setState(getState());
setHitArea(__width, __height);
var _local3 = 0;
while (_local3 < 8) {
var _local4 = idNames[_local3];
if (typeof(this[_local4]) == "movieclip") {
this[_local4].setSize(__width, __height, true);
}
_local3++;
}
super.size();
}
function set labelPlacement(val) {
__labelPlacement = val;
invalidate();
//return(labelPlacement);
}
function get labelPlacement() {
return(__labelPlacement);
}
function getLabelPlacement(Void) {
return(__labelPlacement);
}
function setLabelPlacement(val) {
__labelPlacement = val;
invalidate();
}
function getBtnOffset(Void) {
if (getState()) {
var _local2 = btnOffset;
} else if (phase == "down") {
var _local2 = btnOffset;
} else {
var _local2 = 0;
}
return(_local2);
}
function setView(offset) {
var _local16 = (offset ? (btnOffset) : 0);
var _local12 = getLabelPlacement();
var _local7 = 0;
var _local6 = 0;
var _local9 = 0;
var _local8 = 0;
var _local5 = 0;
var _local4 = 0;
var _local3 = labelPath;
var _local2 = iconName;
var _local15 = _local3.textWidth;
var _local14 = _local3.textHeight;
var _local10 = (__width - borderW) - borderW;
var _local11 = (__height - borderW) - borderW;
if (_local2 != undefined) {
_local7 = _local2._width;
_local6 = _local2._height;
}
if ((_local12 == "left") || (_local12 == "right")) {
if (_local3 != undefined) {
_local9 = Math.min(_local10 - _local7, _local15 + 5);
_local3._width = _local9;
_local8 = Math.min(_local11, _local14 + 5);
_local3._height = _local8;
}
if (_local12 == "right") {
_local5 = _local7;
if (centerContent) {
_local5 = _local5 + (((_local10 - _local9) - _local7) / 2);
}
_local2._x = _local5 - _local7;
} else {
_local5 = (_local10 - _local9) - _local7;
if (centerContent) {
_local5 = _local5 / 2;
}
_local2._x = _local5 + _local9;
}
_local4 = 0;
_local2._y = _local4;
if (centerContent) {
_local2._y = (_local11 - _local6) / 2;
_local4 = (_local11 - _local8) / 2;
}
if (!centerContent) {
_local2._y = _local2._y + Math.max(0, (_local8 - _local6) / 2);
}
} else {
if (_local3 != undefined) {
_local9 = Math.min(_local10, _local15 + 5);
_local3._width = _local9;
_local8 = Math.min(_local11 - _local6, _local14 + 5);
_local3._height = _local8;
}
_local5 = (_local10 - _local9) / 2;
_local2._x = (_local10 - _local7) / 2;
if (_local12 == "top") {
_local4 = (_local11 - _local8) - _local6;
if (centerContent) {
_local4 = _local4 / 2;
}
_local2._y = _local4 + _local8;
} else {
_local4 = _local6;
if (centerContent) {
_local4 = _local4 + (((_local11 - _local8) - _local6) / 2);
}
_local2._y = _local4 - _local6;
}
}
var _local13 = borderW + _local16;
_local3._x = _local5 + _local13;
_local3._y = _local4 + _local13;
_local2._x = _local2._x + _local13;
_local2._y = _local2._y + _local13;
}
function set label(lbl) {
setLabel(lbl);
//return(label);
}
function setLabel(label) {
if (label == "") {
labelPath.removeTextField();
refresh();
return(undefined);
}
if (labelPath == undefined) {
var _local2 = createLabel("labelPath", 200, label);
_local2._width = _local2.textWidth + 5;
_local2._height = _local2.textHeight + 5;
if (initializing) {
_local2.visible = false;
}
} else {
delete labelPath.__text;
labelPath.text = label;
refresh();
}
}
function getLabel(Void) {
return(((labelPath.__text != undefined) ? (labelPath.__text) : (labelPath.text)));
}
function get label() {
return(getLabel());
}
function _getIcon(Void) {
return(_iconLinkageName);
}
function get icon() {
if (initializing) {
return(initIcon);
}
return(_iconLinkageName);
}
function _setIcon(linkage) {
if (initializing) {
if (linkage == "") {
return(undefined);
}
initIcon = linkage;
} else {
if (linkage == "") {
removeIcons();
return(undefined);
}
super.changeIcon(0, linkage);
super.changeIcon(1, linkage);
super.changeIcon(3, linkage);
super.changeIcon(4, linkage);
super.changeIcon(5, linkage);
_iconLinkageName = linkage;
refresh();
}
}
function set icon(linkage) {
_setIcon(linkage);
//return(icon);
}
function setHitArea(w, h) {
if (hitArea_mc == undefined) {
createEmptyObject("hitArea_mc", 100);
}
var _local2 = hitArea_mc;
_local2.clear();
_local2.beginFill(16711680);
_local2.drawRect(0, 0, w, h);
_local2.endFill();
_local2.setVisible(false);
}
static var symbolName = "Button";
static var symbolOwner = mx.controls.Button;
var className = "Button";
static var version = "2.0.2.126";
var btnOffset = 0;
var _color = "buttonColor";
var __label = "default value";
var __labelPlacement = "right";
var falseUpSkin = "ButtonSkin";
var falseDownSkin = "ButtonSkin";
var falseOverSkin = "ButtonSkin";
var falseDisabledSkin = "ButtonSkin";
var trueUpSkin = "ButtonSkin";
var trueDownSkin = "ButtonSkin";
var trueOverSkin = "ButtonSkin";
var trueDisabledSkin = "ButtonSkin";
var falseUpIcon = "";
var falseDownIcon = "";
var falseOverIcon = "";
var falseDisabledIcon = "";
var trueUpIcon = "";
var trueDownIcon = "";
var trueOverIcon = "";
var trueDisabledIcon = "";
var clipParameters = {labelPlacement:1, icon:1, toggle:1, selected:1, label:1};
static var mergedClipParameters = mx.core.UIObject.mergeClipParameters(mx.controls.Button.prototype.clipParameters, mx.controls.SimpleButton.prototype.clipParameters);
var centerContent = true;
var borderW = 1;
}
Symbol 791 MovieClip [__Packages.mx.skins.ColoredSkinElement] Frame 0
class mx.skins.ColoredSkinElement
{
var getStyle, _color, onEnterFrame;
function ColoredSkinElement () {
}
function setColor(c) {
if (c != undefined) {
var _local2 = new Color(this);
_local2.setRGB(c);
}
}
function draw(Void) {
setColor(getStyle(_color));
onEnterFrame = undefined;
}
function invalidateStyle(Void) {
onEnterFrame = draw;
}
static function setColorStyle(p, colorStyle) {
if (p._color == undefined) {
p._color = colorStyle;
}
p.setColor = mixins.setColor;
p.invalidateStyle = mixins.invalidateStyle;
p.draw = mixins.draw;
p.setColor(p.getStyle(colorStyle));
}
static var mixins = new mx.skins.ColoredSkinElement();
}
Symbol 792 MovieClip [__Packages.mx.core.ext.UIObjectExtensions] Frame 0
class mx.core.ext.UIObjectExtensions
{
function UIObjectExtensions () {
}
static function addGeometry(tf, ui) {
tf.addProperty("width", ui.__get__width, null);
tf.addProperty("height", ui.__get__height, null);
tf.addProperty("left", ui.__get__left, null);
tf.addProperty("x", ui.__get__x, null);
tf.addProperty("top", ui.__get__top, null);
tf.addProperty("y", ui.__get__y, null);
tf.addProperty("right", ui.__get__right, null);
tf.addProperty("bottom", ui.__get__bottom, null);
tf.addProperty("visible", ui.__get__visible, ui.__set__visible);
}
static function Extensions() {
if (bExtended == true) {
return(true);
}
bExtended = true;
var _local6 = mx.core.UIObject.prototype;
var _local9 = mx.skins.SkinElement.prototype;
addGeometry(_local9, _local6);
mx.events.UIEventDispatcher.initialize(_local6);
var _local13 = mx.skins.ColoredSkinElement;
mx.styles.CSSTextStyles.addTextStyles(_local6);
var _local5 = MovieClip.prototype;
_local5.getTopLevel = _local6.getTopLevel;
_local5.createLabel = _local6.createLabel;
_local5.createObject = _local6.createObject;
_local5.createClassObject = _local6.createClassObject;
_local5.createEmptyObject = _local6.createEmptyObject;
_local5.destroyObject = _local6.destroyObject;
_global.ASSetPropFlags(_local5, "getTopLevel", 1);
_global.ASSetPropFlags(_local5, "createLabel", 1);
_global.ASSetPropFlags(_local5, "createObject", 1);
_global.ASSetPropFlags(_local5, "createClassObject", 1);
_global.ASSetPropFlags(_local5, "createEmptyObject", 1);
_global.ASSetPropFlags(_local5, "destroyObject", 1);
_local5.__getTextFormat = _local6.__getTextFormat;
_local5._getTextFormat = _local6._getTextFormat;
_local5.getStyleName = _local6.getStyleName;
_local5.getStyle = _local6.getStyle;
_global.ASSetPropFlags(_local5, "__getTextFormat", 1);
_global.ASSetPropFlags(_local5, "_getTextFormat", 1);
_global.ASSetPropFlags(_local5, "getStyleName", 1);
_global.ASSetPropFlags(_local5, "getStyle", 1);
var _local7 = TextField.prototype;
addGeometry(_local7, _local6);
_local7.addProperty("enabled", function () {
return(this.__enabled);
}, function (x) {
this.__enabled = x;
this.invalidateStyle();
});
_local7.move = _local9.move;
_local7.setSize = _local9.setSize;
_local7.invalidateStyle = function () {
this.invalidateFlag = true;
};
_local7.draw = function () {
if (this.invalidateFlag) {
this.invalidateFlag = false;
var _local2 = this._getTextFormat();
this.setTextFormat(_local2);
this.setNewTextFormat(_local2);
this.embedFonts = _local2.embedFonts == true;
if (this.__text != undefined) {
if (this.text == "") {
this.text = this.__text;
}
delete this.__text;
}
this._visible = true;
}
};
_local7.setColor = function (color) {
this.textColor = color;
};
_local7.getStyle = _local5.getStyle;
_local7.__getTextFormat = _local6.__getTextFormat;
_local7.setValue = function (v) {
this.text = v;
};
_local7.getValue = function () {
return(this.text);
};
_local7.addProperty("value", function () {
return(this.getValue());
}, function (v) {
this.setValue(v);
});
_local7._getTextFormat = function () {
var _local2 = this.stylecache.tf;
if (_local2 != undefined) {
return(_local2);
}
_local2 = new TextFormat();
this.__getTextFormat(_local2);
this.stylecache.tf = _local2;
if (this.__enabled == false) {
if (this.enabledColor == undefined) {
var _local4 = this.getTextFormat();
this.enabledColor = _local4.color;
}
var _local3 = this.getStyle("disabledColor");
_local2.color = _local3;
} else if (this.enabledColor != undefined) {
if (_local2.color == undefined) {
_local2.color = this.enabledColor;
}
}
return(_local2);
};
_local7.getPreferredWidth = function () {
this.draw();
return(this.textWidth + 4);
};
_local7.getPreferredHeight = function () {
this.draw();
return(this.textHeight + 4);
};
TextFormat.prototype.getTextExtent2 = function (s) {
var _local3 = _root._getTextExtent;
if (_local3 == undefined) {
_root.createTextField("_getTextExtent", -2, 0, 0, 1000, 100);
_local3 = _root._getTextExtent;
_local3._visible = false;
}
_root._getTextExtent.text = s;
var _local4 = this.align;
this.align = "left";
_root._getTextExtent.setTextFormat(this);
this.align = _local4;
return({width:_local3.textWidth, height:_local3.textHeight});
};
if (_global.style == undefined) {
_global.style = new mx.styles.CSSStyleDeclaration();
_global.cascadingStyles = true;
_global.styles = new Object();
_global.skinRegistry = new Object();
if (_global._origWidth == undefined) {
_global.origWidth = Stage.width;
_global.origHeight = Stage.height;
}
}
var _local4 = _root;
while (_local4._parent != undefined) {
_local4 = _local4._parent;
}
_local4.addProperty("width", function () {
return(Stage.width);
}, null);
_local4.addProperty("height", function () {
return(Stage.height);
}, null);
_global.ASSetPropFlags(_local4, "width", 1);
_global.ASSetPropFlags(_local4, "height", 1);
return(true);
}
static var bExtended = false;
static var UIObjectExtended = Extensions();
static var UIObjectDependency = mx.core.UIObject;
static var SkinElementDependency = mx.skins.SkinElement;
static var CSSTextStylesDependency = mx.styles.CSSTextStyles;
static var UIEventDispatcherDependency = mx.events.UIEventDispatcher;
}
Symbol 793 MovieClip [__Packages.mx.skins.halo.Defaults] Frame 0
class mx.skins.halo.Defaults
{
var beginGradientFill, beginFill, moveTo, lineTo, curveTo, endFill;
function Defaults () {
}
static function setThemeDefaults() {
var _local2 = _global.style;
_local2.themeColor = 8453965 /* 0x80FF4D */;
_local2.disabledColor = 8684164 /* 0x848284 */;
_local2.modalTransparency = 0;
_local2.filled = true;
_local2.stroked = true;
_local2.strokeWidth = 1;
_local2.strokeColor = 0;
_local2.fillColor = 16777215 /* 0xFFFFFF */;
_local2.repeatInterval = 35;
_local2.repeatDelay = 500;
_local2.fontFamily = "_sans";
_local2.fontSize = 12;
_local2.selectionColor = 13500353 /* 0xCDFFC1 */;
_local2.rollOverColor = 14942166 /* 0xE3FFD6 */;
_local2.useRollOver = true;
_local2.backgroundDisabledColor = 14540253 /* 0xDDDDDD */;
_local2.selectionDisabledColor = 14540253 /* 0xDDDDDD */;
_local2.selectionDuration = 200;
_local2.openDuration = 250;
_local2.borderStyle = "inset";
_local2.color = 734012 /* 0x0B333C */;
_local2.textSelectedColor = 24371;
_local2.textRollOverColor = 2831164 /* 0x2B333C */;
_local2.textDisabledColor = 16777215 /* 0xFFFFFF */;
_local2.vGridLines = true;
_local2.hGridLines = false;
_local2.vGridLineColor = 6710886 /* 0x666666 */;
_local2.hGridLineColor = 6710886 /* 0x666666 */;
_local2.headerColor = 15395562 /* 0xEAEAEA */;
_local2.indentation = 17;
_local2.folderOpenIcon = "TreeFolderOpen";
_local2.folderClosedIcon = "TreeFolderClosed";
_local2.defaultLeafIcon = "TreeNodeIcon";
_local2.disclosureOpenIcon = "TreeDisclosureOpen";
_local2.disclosureClosedIcon = "TreeDisclosureClosed";
_local2.popupDuration = 150;
_local2.todayColor = 6710886 /* 0x666666 */;
_local2 = (_global.styles.ScrollSelectList = new mx.styles.CSSStyleDeclaration());
_local2.backgroundColor = 16777215 /* 0xFFFFFF */;
_local2.borderColor = 13290186 /* 0xCACACA */;
_local2.borderStyle = "inset";
_local2 = (_global.styles.ComboBox = new mx.styles.CSSStyleDeclaration());
_local2.borderStyle = "inset";
_local2 = (_global.styles.NumericStepper = new mx.styles.CSSStyleDeclaration());
_local2.textAlign = "center";
_local2 = (_global.styles.RectBorder = new mx.styles.CSSStyleDeclaration());
_local2.borderColor = 14015965 /* 0xD5DDDD */;
_local2.buttonColor = 7305079 /* 0x6F7777 */;
_local2.shadowColor = 15658734 /* 0xEEEEEE */;
_local2.highlightColor = 12897484 /* 0xC4CCCC */;
_local2.shadowCapColor = 14015965 /* 0xD5DDDD */;
_local2.borderCapColor = 9542041 /* 0x919999 */;
var _local4 = new Object();
_local4.borderColor = 16711680 /* 0xFF0000 */;
_local4.buttonColor = 16711680 /* 0xFF0000 */;
_local4.shadowColor = 16711680 /* 0xFF0000 */;
_local4.highlightColor = 16711680 /* 0xFF0000 */;
_local4.shadowCapColor = 16711680 /* 0xFF0000 */;
_local4.borderCapColor = 16711680 /* 0xFF0000 */;
mx.core.UIComponent.prototype.origBorderStyles = _local4;
var _local3;
_local3 = (_global.styles.TextInput = new mx.styles.CSSStyleDeclaration());
_local3.backgroundColor = 16777215 /* 0xFFFFFF */;
_local3.borderStyle = "inset";
_global.styles.TextArea = _global.styles.TextInput;
_local3 = (_global.styles.Window = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "default";
_local3 = (_global.styles.windowStyles = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3 = (_global.styles.dataGridStyles = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3 = (_global.styles.Alert = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "alert";
_local3 = (_global.styles.ScrollView = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "inset";
_local3 = (_global.styles.View = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "none";
_local3 = (_global.styles.ProgressBar = new mx.styles.CSSStyleDeclaration());
_local3.color = 11187123 /* 0xAAB3B3 */;
_local3.fontWeight = "bold";
_local3 = (_global.styles.AccordionHeader = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3.fontSize = "11";
_local3 = (_global.styles.Accordion = new mx.styles.CSSStyleDeclaration());
_local3.borderStyle = "solid";
_local3.backgroundColor = 16777215 /* 0xFFFFFF */;
_local3.borderColor = 9081738 /* 0x8A938A */;
_local3.headerHeight = 22;
_local3.marginLeft = (_local3.marginRight = (_local3.marginTop = (_local3.marginBottom = -1)));
_local3.verticalGap = -1;
_local3 = (_global.styles.DateChooser = new mx.styles.CSSStyleDeclaration());
_local3.borderColor = 9542041 /* 0x919999 */;
_local3.headerColor = 16777215 /* 0xFFFFFF */;
_local3 = (_global.styles.CalendarLayout = new mx.styles.CSSStyleDeclaration());
_local3.fontSize = 10;
_local3.textAlign = "right";
_local3.color = 2831164 /* 0x2B333C */;
_local3 = (_global.styles.WeekDayStyle = new mx.styles.CSSStyleDeclaration());
_local3.fontWeight = "bold";
_local3.fontSize = 11;
_local3.textAlign = "center";
_local3.color = 2831164 /* 0x2B333C */;
_local3 = (_global.styles.TodayStyle = new mx.styles.CSSStyleDeclaration());
_local3.color = 16777215 /* 0xFFFFFF */;
_local3 = (_global.styles.HeaderDateText = new mx.styles.CSSStyleDeclaration());
_local3.fontSize = 12;
_local3.fontWeight = "bold";
_local3.textAlign = "center";
}
function drawRoundRect(x, y, w, h, r, c, alpha, rot, gradient, ratios) {
if (typeof(r) == "object") {
var _local18 = r.br;
var _local16 = r.bl;
var _local15 = r.tl;
var _local10 = r.tr;
} else {
var _local10 = r;
var _local15 = _local10;
var _local16 = _local15;
var _local18 = _local16;
}
if (typeof(c) == "object") {
if (typeof(alpha) != "object") {
var _local9 = [alpha, alpha];
} else {
var _local9 = alpha;
}
if (ratios == undefined) {
ratios = [0, 255];
}
var _local14 = h * 0.7;
if (typeof(rot) != "object") {
var _local11 = {matrixType:"box", x:-_local14, y:_local14, w:w * 2, h:h * 4, r:rot * 0.0174532925199433 /* Math.PI/180 */};
} else {
var _local11 = rot;
}
if (gradient == "radial") {
beginGradientFill("radial", c, _local9, ratios, _local11);
} else {
beginGradientFill("linear", c, _local9, ratios, _local11);
}
} else if (c != undefined) {
beginFill(c, alpha);
}
r = _local18;
var _local13 = r - (r * 0.707106781186547);
var _local12 = r - (r * 0.414213562373095);
moveTo(x + w, (y + h) - r);
lineTo(x + w, (y + h) - r);
curveTo(x + w, (y + h) - _local12, (x + w) - _local13, (y + h) - _local13);
curveTo((x + w) - _local12, y + h, (x + w) - r, y + h);
r = _local16;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo(x + r, y + h);
curveTo(x + _local12, y + h, x + _local13, (y + h) - _local13);
curveTo(x, (y + h) - _local12, x, (y + h) - r);
r = _local15;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo(x, y + r);
curveTo(x, y + _local12, x + _local13, y + _local13);
curveTo(x + _local12, y, x + r, y);
r = _local10;
_local13 = r - (r * 0.707106781186547);
_local12 = r - (r * 0.414213562373095);
lineTo((x + w) - r, y);
curveTo((x + w) - _local12, y, (x + w) - _local13, y + _local13);
curveTo(x + w, y + _local12, x + w, y + r);
lineTo(x + w, (y + h) - r);
if (c != undefined) {
endFill();
}
}
static function classConstruct() {
mx.core.ext.UIObjectExtensions.Extensions();
setThemeDefaults();
mx.core.UIObject.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect;
return(true);
}
static var classConstructed = classConstruct();
static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration;
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
static var UIObjectDependency = mx.core.UIObject;
}
Symbol 794 MovieClip [__Packages.mx.managers.SystemManager] Frame 0
class mx.managers.SystemManager
{
static var _xAddEventListener, addEventListener, __addEventListener, _xRemoveEventListener, removeEventListener, __removeEventListener, form, __screen, dispatchEvent;
function SystemManager () {
}
static function init(Void) {
if (_initialized == false) {
_initialized = true;
mx.events.EventDispatcher.initialize(mx.managers.SystemManager);
Mouse.addListener(mx.managers.SystemManager);
Stage.addListener(mx.managers.SystemManager);
_xAddEventListener = addEventListener;
addEventListener = __addEventListener;
_xRemoveEventListener = removeEventListener;
removeEventListener = __removeEventListener;
}
}
static function addFocusManager(f) {
form = f;
f.focusManager.activate();
}
static function removeFocusManager(f) {
}
static function onMouseDown(Void) {
var _local1 = form;
_local1.focusManager._onMouseDown();
}
static function onResize(Void) {
var _local7 = Stage.width;
var _local6 = Stage.height;
var _local9 = _global.origWidth;
var _local8 = _global.origHeight;
var _local3 = Stage.align;
var _local5 = (_local9 - _local7) / 2;
var _local4 = (_local8 - _local6) / 2;
if (_local3 == "T") {
_local4 = 0;
} else if (_local3 == "B") {
_local4 = _local8 - _local6;
} else if (_local3 == "L") {
_local5 = 0;
} else if (_local3 == "R") {
_local5 = _local9 - _local7;
} else if (_local3 == "LT") {
_local4 = 0;
_local5 = 0;
} else if (_local3 == "TR") {
_local4 = 0;
_local5 = _local9 - _local7;
} else if (_local3 == "LB") {
_local4 = _local8 - _local6;
_local5 = 0;
} else if (_local3 == "RB") {
_local4 = _local8 - _local6;
_local5 = _local9 - _local7;
}
if (__screen == undefined) {
__screen = new Object();
}
__screen.x = _local5;
__screen.y = _local4;
__screen.width = _local7;
__screen.height = _local6;
_root.focusManager.relocate();
dispatchEvent({type:"resize"});
}
static function get screen() {
init();
if (__screen == undefined) {
onResize();
}
return(__screen);
}
static var _initialized = false;
static var idleFrames = 0;
static var isMouseDown = false;
static var forms = new Array();
}
Symbol 795 MovieClip [__Packages.mx.managers.FocusManager] Frame 0
class mx.managers.FocusManager extends mx.core.UIComponent
{
var __defaultPushButton, defPushButton, form, move, tabEnabled, _width, _height, _x, _y, _alpha, _parent, tabCapture, watch, lastMouse, _visible, lastFocus, doLater, lastSelFocus, cancelAllDoLaters, _searchKey, _lastTarget, _firstNode, _nextIsNext, _nextNode, _lastx, _prevNode, _needPrev, _foundList, _prevObj, _nextObj, _firstObj, _lastObj, _lastNode, lastTabFocus, findFocusFromObject;
function FocusManager () {
super();
}
function get defaultPushButton() {
return(__defaultPushButton);
}
function set defaultPushButton(x) {
if (x != __defaultPushButton) {
__defaultPushButton.__set__emphasized(false);
__defaultPushButton = x;
defPushButton = x;
x.__set__emphasized(true);
}
//return(defaultPushButton);
}
function getMaxTabIndex(o) {
var _local3 = 0;
var _local6;
for (_local6 in o) {
var _local2 = o[_local6];
if (_local2._parent == o) {
if (_local2.tabIndex != undefined) {
if (_local2.tabIndex > _local3) {
_local3 = _local2.tabIndex;
}
}
if (_local2.tabChildren == true) {
var _local4 = getMaxTabIndex(_local2);
if (_local4 > _local3) {
_local3 = _local4;
}
}
}
}
return(_local3);
}
function getNextTabIndex(Void) {
return(getMaxTabIndex(form) + 1);
}
function get nextTabIndex() {
return(getNextTabIndex());
}
function relocate(Void) {
var _local2 = mx.managers.SystemManager.__get__screen();
move(_local2.x - 1, _local2.y - 1);
}
function init(Void) {
super.init();
tabEnabled = false;
_width = (_height = 1);
_x = (_y = -1);
_alpha = 0;
_parent.focusManager = this;
_parent.tabChildren = true;
_parent.tabEnabled = false;
form = _parent;
_parent.addEventListener("hide", this);
_parent.addEventListener("reveal", this);
mx.managers.SystemManager.init();
mx.managers.SystemManager.addFocusManager(form);
tabCapture.tabIndex = 0;
watch("enabled", enabledChanged);
Selection.addListener(this);
lastMouse = new Object();
_global.ASSetPropFlags(_parent, "focusManager", 1);
_global.ASSetPropFlags(_parent, "tabChildren", 1);
_global.ASSetPropFlags(_parent, "tabEnabled", 1);
}
function enabledChanged(id, oldValue, newValue) {
_visible = newValue;
return(newValue);
}
function activate(Void) {
Key.addListener(this);
activated = (_visible = true);
if (lastFocus != undefined) {
bNeedFocus = true;
if (!mx.managers.SystemManager.isMouseDown) {
doLater(this, "restoreFocus");
}
}
}
function deactivate(Void) {
Key.removeListener(this);
activated = (_visible = false);
var _local2 = getSelectionFocus();
var _local3 = getActualFocus(_local2);
if (isOurFocus(_local3)) {
lastSelFocus = _local2;
lastFocus = _local3;
}
cancelAllDoLaters();
}
function isOurFocus(o) {
if (o.focusManager == this) {
return(true);
}
while (o != undefined) {
if (o.focusManager != undefined) {
return(false);
}
if (o._parent == _parent) {
return(true);
}
o = o._parent;
}
return(false);
}
function onSetFocus(o, n) {
if (n == null) {
if (activated) {
bNeedFocus = true;
}
} else {
var _local2 = getFocus();
if (isOurFocus(_local2)) {
bNeedFocus = false;
lastFocus = _local2;
lastSelFocus = n;
}
}
}
function restoreFocus(Void) {
var _local2 = lastSelFocus.hscroll;
if (_local2 != undefined) {
var _local5 = lastSelFocus.scroll;
var _local4 = lastSelFocus.background;
}
lastFocus.setFocus();
var _local3 = Selection;
Selection.setSelection(_local3.lastBeginIndex, _local3.lastEndIndex);
if (_local2 != undefined) {
lastSelFocus.scroll = _local5;
lastSelFocus.hscroll = _local2;
lastSelFocus.background = _local4;
}
}
function onUnload(Void) {
mx.managers.SystemManager.removeFocusManager(form);
}
function setFocus(o) {
if (o == null) {
Selection.setFocus(null);
} else if (o.setFocus == undefined) {
Selection.setFocus(o);
} else {
o.setFocus();
}
}
function getActualFocus(o) {
var _local1 = o._parent;
while (_local1 != undefined) {
if (_local1.focusTextField != undefined) {
while (_local1.focusTextField != undefined) {
o = _local1;
_local1 = _local1._parent;
if (_local1 == undefined) {
return(undefined);
}
if (_local1.focusTextField == undefined) {
return(o);
}
}
}
if (_local1.tabEnabled != true) {
return(o);
}
o = _local1;
_local1 = o._parent;
}
return(undefined);
}
function getSelectionFocus() {
var m = Selection.getFocus();
var o = eval (m);
return(o);
}
function getFocus(Void) {
var _local2 = getSelectionFocus();
return(getActualFocus(_local2));
}
function walkTree(p, index, groupName, dir, lookup, firstChild) {
var _local5 = true;
var _local11;
for (_local11 in p) {
var _local2 = p[_local11];
if ((((_local2._parent == p) && (_local2.enabled != false)) && (_local2._visible != false)) && ((_local2.tabEnabled == true) || ((_local2.tabEnabled != false) && ((((((((_local2.onPress != undefined) || (_local2.onRelease != undefined)) || (_local2.onReleaseOutside != undefined)) || (_local2.onDragOut != undefined)) || (_local2.onDragOver != undefined)) || (_local2.onRollOver != undefined)) || (_local2.onRollOut != undefined)) || (_local2 instanceof TextField))))) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
if (_local2 != _lastTarget) {
if (((_local2.groupName != undefined) || (groupName != undefined)) && (_local2.groupName == groupName)) {
continue;
}
if ((_local2 instanceof TextField) && (_local2.selectable == false)) {
continue;
}
if (_local5 || (((_local2.groupName != undefined) && (_local2.groupName == _firstNode.groupName)) && (_local2.selected == true))) {
if (firstChild) {
_firstNode = _local2;
firstChild = false;
}
}
if (_nextIsNext == true) {
if ((((_local2.groupName != undefined) && (_local2.groupName == _nextNode.groupName)) && (_local2.selected == true)) || ((_nextNode == undefined) && ((_local2.groupName == undefined) || ((_local2.groupName != undefined) && (_local2.groupName != groupName))))) {
_nextNode = _local2;
}
}
if ((_local2.groupName == undefined) || (groupName != _local2.groupName)) {
if (((_lastx.groupName != undefined) && (_local2.groupName == _lastx.groupName)) && (_lastx.selected == true)) {
} else {
_lastx = _local2;
}
}
} else {
_prevNode = _lastx;
_needPrev = false;
_nextIsNext = true;
}
if (_local2.tabIndex != undefined) {
if (_local2.tabIndex == index) {
if (_foundList[_local2._name] == undefined) {
if (_needPrev) {
_prevObj = _local2;
_needPrev = false;
}
_nextObj = _local2;
}
}
if (dir && (_local2.tabIndex > index)) {
if (((_nextObj == undefined) || ((_nextObj.tabIndex > _local2.tabIndex) && (((_local2.groupName == undefined) || (_nextObj.groupName == undefined)) || (_local2.groupName != _nextObj.groupName)))) || ((((_nextObj.groupName != undefined) && (_nextObj.groupName == _local2.groupName)) && (_nextObj.selected != true)) && ((_local2.selected == true) || (_nextObj.tabIndex > _local2.tabIndex)))) {
_nextObj = _local2;
}
} else if ((!dir) && (_local2.tabIndex < index)) {
if (((_prevObj == undefined) || ((_prevObj.tabIndex < _local2.tabIndex) && (((_local2.groupName == undefined) || (_prevObj.groupName == undefined)) || (_local2.groupName != _prevObj.groupName)))) || ((((_prevObj.groupName != undefined) && (_prevObj.groupName == _local2.groupName)) && (_prevObj.selected != true)) && ((_local2.selected == true) || (_prevObj.tabIndex < _local2.tabIndex)))) {
_prevObj = _local2;
}
}
if (((_firstObj == undefined) || ((_local2.tabIndex < _firstObj.tabIndex) && (((_local2.groupName == undefined) || (_firstObj.groupName == undefined)) || (_local2.groupName != _firstObj.groupName)))) || ((((_firstObj.groupName != undefined) && (_firstObj.groupName == _local2.groupName)) && (_firstObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex < _firstObj.tabIndex)))) {
_firstObj = _local2;
}
if (((_lastObj == undefined) || ((_local2.tabIndex > _lastObj.tabIndex) && (((_local2.groupName == undefined) || (_lastObj.groupName == undefined)) || (_local2.groupName != _lastObj.groupName)))) || ((((_lastObj.groupName != undefined) && (_lastObj.groupName == _local2.groupName)) && (_lastObj.selected != true)) && ((_local2.selected == true) || (_local2.tabIndex > _lastObj.tabIndex)))) {
_lastObj = _local2;
}
}
if (_local2.tabChildren) {
getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild));
}
_local5 = false;
} else if (((_local2._parent == p) && (_local2.tabChildren == true)) && (_local2._visible != false)) {
if (_local2 == _lastTarget) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
if (_prevNode == undefined) {
var _local3 = _lastx;
var _local7 = false;
while (_local3 != undefined) {
if (_local3 == _local2) {
_local7 = true;
break;
}
_local3 = _local3._parent;
}
if (_local7 == false) {
_prevNode = _lastx;
}
}
_needPrev = false;
if (_nextNode == undefined) {
_nextIsNext = true;
}
} else if (!((_local2.focusManager != undefined) && (_local2.focusManager._parent == _local2))) {
if (_local2._searchKey == _searchKey) {
continue;
}
_local2._searchKey = _searchKey;
getTabCandidateFromChildren(_local2, index, groupName, dir, _local5 && (firstChild));
}
_local5 = false;
}
}
_lastNode = _lastx;
if (lookup) {
if (p._parent != undefined) {
if (p != _parent) {
if ((_prevNode == undefined) && (dir)) {
_needPrev = true;
} else if ((_nextNode == undefined) && (!dir)) {
_nextIsNext = false;
}
_lastTarget = _lastTarget._parent;
getTabCandidate(p._parent, index, groupName, dir, true);
}
}
}
}
function getTabCandidate(o, index, groupName, dir, firstChild) {
var _local2;
var _local3 = true;
if (o == _parent) {
_local2 = o;
_local3 = false;
} else {
_local2 = o._parent;
if (_local2 == undefined) {
_local2 = o;
_local3 = false;
}
}
walkTree(_local2, index, groupName, dir, _local3, firstChild);
}
function getTabCandidateFromChildren(o, index, groupName, dir, firstChild) {
walkTree(o, index, groupName, dir, false, firstChild);
}
function getFocusManagerFromObject(o) {
while (o != undefined) {
if (o.focusManager != undefined) {
return(o.focusManager);
}
o = o._parent;
}
return(undefined);
}
function tabHandler(Void) {
bDrawFocus = true;
var _local5 = getSelectionFocus();
var _local4 = getActualFocus(_local5);
if (_local4 != _local5) {
_local5 = _local4;
}
if (getFocusManagerFromObject(_local5) != this) {
_local5 == undefined;
}
if (_local5 == undefined) {
_local5 = form;
} else if (_local5.tabIndex != undefined) {
if ((_foundList != undefined) || (_foundList.tabIndex != _local5.tabIndex)) {
_foundList = new Object();
_foundList.tabIndex = _local5.tabIndex;
}
_foundList[_local5._name] = _local5;
}
var _local3 = Key.isDown(16) != true;
_searchKey = getTimer();
_needPrev = true;
_nextIsNext = false;
_lastx = undefined;
_firstNode = undefined;
_lastNode = undefined;
_nextNode = undefined;
_prevNode = undefined;
_firstObj = undefined;
_lastObj = undefined;
_nextObj = undefined;
_prevObj = undefined;
_lastTarget = _local5;
var _local6 = _local5;
getTabCandidate(_local6, ((_local5.tabIndex == undefined) ? 0 : (_local5.tabIndex)), _local5.groupName, _local3, true);
var _local2;
if (_local3) {
if (_nextObj != undefined) {
_local2 = _nextObj;
} else {
_local2 = _firstObj;
}
} else if (_prevObj != undefined) {
_local2 = _prevObj;
} else {
_local2 = _lastObj;
}
if (_local2.tabIndex != _local5.tabIndex) {
_foundList = new Object();
_foundList.tabIndex = _local2.tabIndex;
_foundList[_local2._name] = _local2;
} else {
if (_foundList == undefined) {
_foundList = new Object();
_foundList.tabIndex = _local2.tabIndex;
}
_foundList[_local2._name] = _local2;
}
if (_local2 == undefined) {
if (_local3 == false) {
if (_nextNode != undefined) {
_local2 = _nextNode;
} else {
_local2 = _firstNode;
}
} else if ((_prevNode == undefined) || (_local5 == form)) {
_local2 = _lastNode;
} else {
_local2 = _prevNode;
}
}
if (_local2 == undefined) {
return(undefined);
}
lastTabFocus = _local2;
setFocus(_local2);
if (_local2.emphasized != undefined) {
if (defPushButton != undefined) {
_local5 = defPushButton;
defPushButton = _local2;
_local5.emphasized = false;
_local2.emphasized = true;
}
} else if ((defPushButton != undefined) && (defPushButton != __defaultPushButton)) {
_local5 = defPushButton;
defPushButton = __defaultPushButton;
_local5.emphasized = false;
__defaultPushButton.__set__emphasized(true);
}
}
function onKeyDown(Void) {
mx.managers.SystemManager.idleFrames = 0;
if (defaultPushButtonEnabled) {
if (Key.getCode() == 13) {
if (defaultPushButton != undefined) {
doLater(this, "sendDefaultPushButtonEvent");
}
}
}
}
function sendDefaultPushButtonEvent(Void) {
defPushButton.dispatchEvent({type:"click"});
}
function getMousedComponentFromChildren(x, y, o) {
for (var _local7 in o) {
var _local2 = o[_local7];
if (((_local2._visible && (_local2.enabled)) && (_local2._parent == o)) && (_local2._searchKey != _searchKey)) {
_local2._searchKey = _searchKey;
if (_local2.hitTest(x, y, true)) {
if ((_local2.onPress != undefined) || (_local2.onRelease != undefined)) {
return(_local2);
}
var _local3 = getMousedComponentFromChildren(x, y, _local2);
if (_local3 != undefined) {
return(_local3);
}
return(_local2);
}
}
}
return(undefined);
}
function mouseActivate(Void) {
if (!bNeedFocus) {
return(undefined);
}
_searchKey = getTimer();
var _local2 = getMousedComponentFromChildren(lastMouse.x, lastMouse.y, form);
if (_local2 instanceof mx.core.UIComponent) {
return(undefined);
}
_local2 = findFocusFromObject(_local2);
if (_local2 == lastFocus) {
return(undefined);
}
if (_local2 == undefined) {
doLater(this, "restoreFocus");
return(undefined);
}
var _local3 = _local2.hscroll;
if (_local3 != undefined) {
var _local6 = _local2.scroll;
var _local5 = _local2.background;
}
setFocus(_local2);
var _local4 = Selection;
Selection.setSelection(_local4.lastBeginIndex, _local4.lastEndIndex);
if (_local3 != undefined) {
_local2.scroll = _local6;
_local2.hscroll = _local3;
_local2.background = _local5;
}
}
function _onMouseDown(Void) {
bDrawFocus = false;
if (lastFocus != undefined) {
lastFocus.drawFocus(false);
}
mx.managers.SystemManager.idleFrames = 0;
var _local3 = Selection;
_local3.lastBeginIndex = Selection.getBeginIndex();
_local3.lastEndIndex = Selection.getEndIndex();
lastMouse.x = _root._xmouse;
lastMouse.y = _root._ymouse;
_root.localToGlobal(lastMouse);
}
function onMouseUp(Void) {
if (_visible) {
doLater(this, "mouseActivate");
}
}
function handleEvent(e) {
if (e.type == "reveal") {
mx.managers.SystemManager.activate(form);
} else {
mx.managers.SystemManager.deactivate(form);
}
}
static function enableFocusManagement() {
if (!initialized) {
initialized = true;
Object.registerClass("FocusManager", mx.managers.FocusManager);
if (_root.focusManager == undefined) {
_root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--);
}
}
}
static var symbolName = "FocusManager";
static var symbolOwner = mx.managers.FocusManager;
static var version = "2.0.2.126";
var className = "FocusManager";
var bNeedFocus = false;
var bDrawFocus = false;
var defaultPushButtonEnabled = true;
var activated = true;
static var initialized = false;
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
}
Symbol 796 MovieClip [__Packages.mx.skins.halo.FocusRect] Frame 0
class mx.skins.halo.FocusRect extends mx.skins.SkinElement
{
var boundingBox_mc, _xscale, _yscale, clear, beginFill, drawRoundRect, endFill, _visible;
function FocusRect () {
super();
boundingBox_mc._visible = false;
boundingBox_mc._width = (boundingBox_mc._height = 0);
}
function draw(o) {
o.adjustFocusRect();
}
function setSize(w, h, r, a, rectCol) {
_xscale = (_yscale = 100);
clear();
if (typeof(r) == "object") {
r.br = ((r.br > 2) ? (r.br - 2) : 0);
r.bl = ((r.bl > 2) ? (r.bl - 2) : 0);
r.tr = ((r.tr > 2) ? (r.tr - 2) : 0);
r.tl = ((r.tl > 2) ? (r.tl - 2) : 0);
beginFill(rectCol, a * 0.3);
drawRoundRect(0, 0, w, h, r);
drawRoundRect(2, 2, w - 4, h - 4, r);
endFill();
r.br = ((r.br > 1) ? (r.br + 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl + 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr + 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl + 1) : 0);
beginFill(rectCol, a * 0.3);
drawRoundRect(1, 1, w - 2, h - 2, r);
r.br = ((r.br > 1) ? (r.br - 1) : 0);
r.bl = ((r.bl > 1) ? (r.bl - 1) : 0);
r.tr = ((r.tr > 1) ? (r.tr - 1) : 0);
r.tl = ((r.tl > 1) ? (r.tl - 1) : 0);
drawRoundRect(2, 2, w - 4, h - 4, r);
endFill();
} else {
var _local5;
if (r != 0) {
_local5 = r - 2;
} else {
_local5 = 0;
}
beginFill(rectCol, a * 0.3);
drawRoundRect(0, 0, w, h, r);
drawRoundRect(2, 2, w - 4, h - 4, _local5);
endFill();
beginFill(rectCol, a * 0.3);
if (r != 0) {
_local5 = r - 2;
r = r - 1;
} else {
_local5 = 0;
r = 0;
}
drawRoundRect(1, 1, w - 2, h - 2, r);
drawRoundRect(2, 2, w - 4, h - 4, _local5);
endFill();
}
}
function handleEvent(e) {
if (e.type == "unload") {
_visible = true;
} else if (e.type == "resize") {
e.target.adjustFocusRect();
} else if (e.type == "move") {
e.target.adjustFocusRect();
}
}
static function classConstruct() {
mx.core.UIComponent.prototype.drawFocus = function (focused) {
var _local2 = this._parent.focus_mc;
if (!focused) {
_local2._visible = false;
this.removeEventListener("unload", _local2);
this.removeEventListener("move", _local2);
this.removeEventListener("resize", _local2);
} else {
if (_local2 == undefined) {
_local2 = this._parent.createChildAtDepth("FocusRect", mx.managers.DepthManager.kTop);
_local2.tabEnabled = false;
this._parent.focus_mc = _local2;
} else {
_local2._visible = true;
}
_local2.draw(this);
if (_local2.getDepth() < this.getDepth()) {
_local2.setDepthAbove(this);
}
this.addEventListener("unload", _local2);
this.addEventListener("move", _local2);
this.addEventListener("resize", _local2);
}
};
mx.core.UIComponent.prototype.adjustFocusRect = function () {
var _local2 = this.getStyle("themeColor");
if (_local2 == undefined) {
_local2 = 8453965 /* 0x80FF4D */;
}
var _local3 = this._parent.focus_mc;
_local3.setSize(this.width + 4, this.height + 4, 0, 100, _local2);
_local3.move(this.x - 2, this.y - 2);
};
TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus;
TextField.prototype.adjustFocusRect = mx.core.UIComponent.prototype.adjustFocusRect;
mx.skins.halo.FocusRect.prototype.drawRoundRect = mx.skins.halo.Defaults.prototype.drawRoundRect;
return(true);
}
static var classConstructed = classConstruct();
static var DefaultsDependency = mx.skins.halo.Defaults;
static var UIComponentDependency = mx.core.UIComponent;
}
Symbol 797 MovieClip [__Packages.mx.managers.OverlappedWindows] Frame 0
class mx.managers.OverlappedWindows
{
function OverlappedWindows () {
}
static function checkIdle(Void) {
if (mx.managers.SystemManager.idleFrames > 10) {
mx.managers.SystemManager.dispatchEvent({type:"idle"});
} else {
mx.managers.SystemManager.idleFrames++;
}
}
static function __addEventListener(e, o, l) {
if (e == "idle") {
if (mx.managers.SystemManager.interval == undefined) {
mx.managers.SystemManager.interval = setInterval(mx.managers.SystemManager.checkIdle, 100);
}
}
mx.managers.SystemManager._xAddEventListener(e, o, l);
}
static function __removeEventListener(e, o, l) {
if (e == "idle") {
if (mx.managers.SystemManager._xRemoveEventListener(e, o, l) == 0) {
clearInterval(mx.managers.SystemManager.interval);
}
} else {
mx.managers.SystemManager._xRemoveEventListener(e, o, l);
}
}
static function onMouseDown(Void) {
mx.managers.SystemManager.idleFrames = 0;
mx.managers.SystemManager.isMouseDown = true;
var _local5 = _root;
var _local3;
var _local8 = _root._xmouse;
var _local7 = _root._ymouse;
if (mx.managers.SystemManager.form.modalWindow == undefined) {
if (mx.managers.SystemManager.forms.length > 1) {
var _local6 = mx.managers.SystemManager.forms.length;
var _local4;
_local4 = 0;
while (_local4 < _local6) {
var _local2 = mx.managers.SystemManager.forms[_local4];
if (_local2._visible) {
if (_local2.hitTest(_local8, _local7)) {
if (_local3 == undefined) {
_local3 = _local2.getDepth();
_local5 = _local2;
} else if (_local3 < _local2.getDepth()) {
_local3 = _local2.getDepth();
_local5 = _local2;
}
}
}
_local4++;
}
if (_local5 != mx.managers.SystemManager.form) {
mx.managers.SystemManager.activate(_local5);
}
}
}
var _local9 = mx.managers.SystemManager.form;
_local9.focusManager._onMouseDown();
}
static function onMouseMove(Void) {
mx.managers.SystemManager.idleFrames = 0;
}
static function onMouseUp(Void) {
mx.managers.SystemManager.isMouseDown = false;
mx.managers.SystemManager.idleFrames = 0;
}
static function activate(f) {
if (mx.managers.SystemManager.form != undefined) {
if ((mx.managers.SystemManager.form != f) && (mx.managers.SystemManager.forms.length > 1)) {
var _local1 = mx.managers.SystemManager.form;
_local1.focusManager.deactivate();
}
}
mx.managers.SystemManager.form = f;
f.focusManager.activate();
}
static function deactivate(f) {
if (mx.managers.SystemManager.form != undefined) {
if ((mx.managers.SystemManager.form == f) && (mx.managers.SystemManager.forms.length > 1)) {
var _local5 = mx.managers.SystemManager.form;
_local5.focusManager.deactivate();
var _local3 = mx.managers.SystemManager.forms.length;
var _local1;
var _local2;
_local1 = 0;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1] == f) {
_local1 = _local1 + 1;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1]._visible == true) {
_local2 = mx.managers.SystemManager.forms[_local1];
}
_local1++;
}
mx.managers.SystemManager.form = _local2;
break;
}
if (mx.managers.SystemManager.forms[_local1]._visible == true) {
_local2 = mx.managers.SystemManager.forms[_local1];
}
_local1++;
}
_local5 = mx.managers.SystemManager.form;
_local5.focusManager.activate();
}
}
}
static function addFocusManager(f) {
mx.managers.SystemManager.forms.push(f);
mx.managers.SystemManager.activate(f);
}
static function removeFocusManager(f) {
var _local3 = mx.managers.SystemManager.forms.length;
var _local1;
_local1 = 0;
while (_local1 < _local3) {
if (mx.managers.SystemManager.forms[_local1] == f) {
if (mx.managers.SystemManager.form == f) {
mx.managers.SystemManager.deactivate(f);
}
mx.managers.SystemManager.forms.splice(_local1, 1);
return(undefined);
}
_local1++;
}
}
static function enableOverlappedWindows() {
if (!initialized) {
initialized = true;
mx.managers.SystemManager.checkIdle = checkIdle;
mx.managers.SystemManager.__addEventListener = __addEventListener;
mx.managers.SystemManager.__removeEventListener = __removeEventListener;
mx.managers.SystemManager.onMouseDown = onMouseDown;
mx.managers.SystemManager.onMouseMove = onMouseMove;
mx.managers.SystemManager.onMouseUp = onMouseUp;
mx.managers.SystemManager.activate = activate;
mx.managers.SystemManager.deactivate = deactivate;
mx.managers.SystemManager.addFocusManager = addFocusManager;
mx.managers.SystemManager.removeFocusManager = removeFocusManager;
}
}
static var initialized = false;
static var SystemManagerDependency = mx.managers.SystemManager;
}
Symbol 798 MovieClip [__Packages.mx.styles.CSSSetStyle] Frame 0
class mx.styles.CSSSetStyle
{
var styleName, stylecache, _color, setColor, invalidateStyle;
function CSSSetStyle () {
}
function _setStyle(styleProp, newValue) {
this[styleProp] = newValue;
if (mx.styles.StyleManager.TextStyleMap[styleProp] != undefined) {
if (styleProp == "color") {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
}
_level0.changeTextStyleInChildren(styleProp);
return(undefined);
}
if (mx.styles.StyleManager.isColorStyle(styleProp)) {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
if (styleProp == "themeColor") {
var _local7 = mx.styles.StyleManager.colorNames.haloBlue;
var _local6 = mx.styles.StyleManager.colorNames.haloGreen;
var _local8 = mx.styles.StyleManager.colorNames.haloOrange;
var _local4 = {};
_local4[_local7] = 12188666 /* 0xB9FBFA */;
_local4[_local6] = 13500353 /* 0xCDFFC1 */;
_local4[_local8] = 16766319 /* 0xFFD56F */;
var _local5 = {};
_local5[_local7] = 13958653 /* 0xD4FDFD */;
_local5[_local6] = 14942166 /* 0xE3FFD6 */;
_local5[_local8] = 16772787 /* 0xFFEEB3 */;
var _local9 = _local4[newValue];
var _local10 = _local5[newValue];
if (_local9 == undefined) {
_local9 = newValue;
}
if (_local10 == undefined) {
_local10 = newValue;
}
setStyle("selectionColor", _local9);
setStyle("rollOverColor", _local10);
}
_level0.changeColorStyleInChildren(styleName, styleProp, newValue);
} else {
if ((styleProp == "backgroundColor") && (isNaN(newValue))) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
_level0.notifyStyleChangeInChildren(styleName, styleProp, newValue);
}
}
function changeTextStyleInChildren(styleProp) {
var _local4 = getTimer();
var _local5;
for (_local5 in this) {
var _local2 = this[_local5];
if (_local2._parent == this) {
if (_local2.searchKey != _local4) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache.tf;
delete _local2.stylecache[styleProp];
}
_local2.invalidateStyle(styleProp);
_local2.changeTextStyleInChildren(styleProp);
_local2.searchKey = _local4;
}
}
}
}
function changeColorStyleInChildren(sheetName, colorStyle, newValue) {
var _local6 = getTimer();
var _local7;
for (_local7 in this) {
var _local2 = this[_local7];
if (_local2._parent == this) {
if (_local2.searchKey != _local6) {
if (((_local2.getStyleName() == sheetName) || (sheetName == undefined)) || (sheetName == "_global")) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache[colorStyle];
}
if (typeof(_local2._color) == "string") {
if (_local2._color == colorStyle) {
var _local4 = _local2.getStyle(colorStyle);
if (colorStyle == "color") {
if (stylecache.tf.color != undefined) {
stylecache.tf.color = _local4;
}
}
_local2.setColor(_local4);
}
} else if (_local2._color[colorStyle] != undefined) {
if (typeof(_local2) != "movieclip") {
_local2._parent.invalidateStyle();
} else {
_local2.invalidateStyle(colorStyle);
}
}
}
_local2.changeColorStyleInChildren(sheetName, colorStyle, newValue);
_local2.searchKey = _local6;
}
}
}
}
function notifyStyleChangeInChildren(sheetName, styleProp, newValue) {
var _local5 = getTimer();
var _local6;
for (_local6 in this) {
var _local2 = this[_local6];
if (_local2._parent == this) {
if (_local2.searchKey != _local5) {
if (((_local2.styleName == sheetName) || ((_local2.styleName != undefined) && (typeof(_local2.styleName) == "movieclip"))) || (sheetName == undefined)) {
if (_local2.stylecache != undefined) {
delete _local2.stylecache[styleProp];
delete _local2.stylecache.tf;
}
delete _local2.enabledColor;
_local2.invalidateStyle(styleProp);
}
_local2.notifyStyleChangeInChildren(sheetName, styleProp, newValue);
_local2.searchKey = _local5;
}
}
}
}
function setStyle(styleProp, newValue) {
if (stylecache != undefined) {
delete stylecache[styleProp];
delete stylecache.tf;
}
this[styleProp] = newValue;
if (mx.styles.StyleManager.isColorStyle(styleProp)) {
if (isNaN(newValue)) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
if (styleProp == "themeColor") {
var _local10 = mx.styles.StyleManager.colorNames.haloBlue;
var _local9 = mx.styles.StyleManager.colorNames.haloGreen;
var _local11 = mx.styles.StyleManager.colorNames.haloOrange;
var _local6 = {};
_local6[_local10] = 12188666 /* 0xB9FBFA */;
_local6[_local9] = 13500353 /* 0xCDFFC1 */;
_local6[_local11] = 16766319 /* 0xFFD56F */;
var _local7 = {};
_local7[_local10] = 13958653 /* 0xD4FDFD */;
_local7[_local9] = 14942166 /* 0xE3FFD6 */;
_local7[_local11] = 16772787 /* 0xFFEEB3 */;
var _local12 = _local6[newValue];
var _local13 = _local7[newValue];
if (_local12 == undefined) {
_local12 = newValue;
}
if (_local13 == undefined) {
_local13 = newValue;
}
setStyle("selectionColor", _local12);
setStyle("rollOverColor", _local13);
}
if (typeof(_color) == "string") {
if (_color == styleProp) {
if (styleProp == "color") {
if (stylecache.tf.color != undefined) {
stylecache.tf.color = newValue;
}
}
setColor(newValue);
}
} else if (_color[styleProp] != undefined) {
invalidateStyle(styleProp);
}
changeColorStyleInChildren(undefined, styleProp, newValue);
} else {
if ((styleProp == "backgroundColor") && (isNaN(newValue))) {
newValue = mx.styles.StyleManager.getColorName(newValue);
this[styleProp] = newValue;
if (newValue == undefined) {
return(undefined);
}
}
invalidateStyle(styleProp);
}
if (mx.styles.StyleManager.isInheritingStyle(styleProp) || (styleProp == "styleName")) {
var _local8;
var _local5 = newValue;
if (styleProp == "styleName") {
_local8 = ((typeof(newValue) == "string") ? (_global.styles[newValue]) : (_local5));
_local5 = _local8.themeColor;
if (_local5 != undefined) {
_local8.rollOverColor = (_local8.selectionColor = _local5);
}
}
notifyStyleChangeInChildren(undefined, styleProp, newValue);
}
}
static function enableRunTimeCSS() {
}
static function classConstruct() {
var _local2 = MovieClip.prototype;
var _local3 = mx.styles.CSSSetStyle.prototype;
mx.styles.CSSStyleDeclaration.prototype.setStyle = _local3._setStyle;
_local2.changeTextStyleInChildren = _local3.changeTextStyleInChildren;
_local2.changeColorStyleInChildren = _local3.changeColorStyleInChildren;
_local2.notifyStyleChangeInChildren = _local3.notifyStyleChangeInChildren;
_local2.setStyle = _local3.setStyle;
_global.ASSetPropFlags(_local2, "changeTextStyleInChildren", 1);
_global.ASSetPropFlags(_local2, "changeColorStyleInChildren", 1);
_global.ASSetPropFlags(_local2, "notifyStyleChangeInChildren", 1);
_global.ASSetPropFlags(_local2, "setStyle", 1);
var _local4 = TextField.prototype;
_local4.setStyle = _local2.setStyle;
_local4.changeTextStyleInChildren = _local3.changeTextStyleInChildren;
return(true);
}
static var classConstructed = classConstruct();
static var CSSStyleDeclarationDependency = mx.styles.CSSStyleDeclaration;
}
Symbol 799 MovieClip [__Packages.mx.core.ext.UIComponentExtensions] Frame 0
class mx.core.ext.UIComponentExtensions
{
function UIComponentExtensions () {
}
static function Extensions() {
if (bExtended == true) {
return(true);
}
bExtended = true;
TextField.prototype.setFocus = function () {
Selection.setFocus(this);
};
TextField.prototype.onSetFocus = function (oldFocus) {
if (this.tabEnabled != false) {
if (this.getFocusManager().bDrawFocus) {
this.drawFocus(true);
}
}
};
TextField.prototype.onKillFocus = function (oldFocus) {
if (this.tabEnabled != false) {
this.drawFocus(false);
}
};
TextField.prototype.drawFocus = mx.core.UIComponent.prototype.drawFocus;
TextField.prototype.getFocusManager = mx.core.UIComponent.prototype.getFocusManager;
mx.managers.OverlappedWindows.enableOverlappedWindows();
mx.styles.CSSSetStyle.enableRunTimeCSS();
mx.managers.FocusManager.enableFocusManagement();
}
static var bExtended = false;
static var UIComponentExtended = Extensions();
static var UIComponentDependency = mx.core.UIComponent;
static var FocusManagerDependency = mx.managers.FocusManager;
static var OverlappedWindowsDependency = mx.managers.OverlappedWindows;
}
Symbol 800 MovieClip [__Packages.mx.skins.halo.RectBorder] Frame 0
class mx.skins.halo.RectBorder extends mx.skins.RectBorder
{
var offset, getStyle, borderStyleName, __borderMetrics, className, borderColorName, backgroundColorName, shadowColorName, highlightColorName, buttonColorName, __get__width, __get__height, clear, _color, drawRoundRect, beginFill, drawRect, endFill;
function RectBorder () {
super();
}
function init(Void) {
borderWidths.default = 3;
super.init();
}
function getBorderMetrics(Void) {
if (offset == undefined) {
var _local3 = getStyle(borderStyleName);
offset = borderWidths[_local3];
}
if ((getStyle(borderStyleName) == "default") || (getStyle(borderStyleName) == "alert")) {
__borderMetrics = {left:3, top:1, right:3, bottom:3};
return(__borderMetrics);
}
return(super.getBorderMetrics());
}
function drawBorder(Void) {
var _local6 = _global.styles[className];
if (_local6 == undefined) {
_local6 = _global.styles.RectBorder;
}
var _local5 = getStyle(borderStyleName);
var _local7 = getStyle(borderColorName);
if (_local7 == undefined) {
_local7 = _local6[borderColorName];
}
var _local8 = getStyle(backgroundColorName);
if (_local8 == undefined) {
_local8 = _local6[backgroundColorName];
}
var _local16 = getStyle("backgroundImage");
if (_local5 != "none") {
var _local14 = getStyle(shadowColorName);
if (_local14 == undefined) {
_local14 = _local6[shadowColorName];
}
var _local13 = getStyle(highlightColorName);
if (_local13 == undefined) {
_local13 = _local6[highlightColorName];
}
var _local12 = getStyle(buttonColorName);
if (_local12 == undefined) {
_local12 = _local6[buttonColorName];
}
var _local11 = getStyle(borderCapColorName);
if (_local11 == undefined) {
_local11 = _local6[borderCapColorName];
}
var _local10 = getStyle(shadowCapColorName);
if (_local10 == undefined) {
_local10 = _local6[shadowCapColorName];
}
}
offset = borderWidths[_local5];
var _local9 = offset;
var _local3 = __get__width();
var _local4 = __get__height();
clear();
_color = undefined;
if (_local5 == "none") {
} else if (_local5 == "inset") {
_color = colorList;
draw3dBorder(_local11, _local12, _local7, _local13, _local14, _local10);
} else if (_local5 == "outset") {
_color = colorList;
draw3dBorder(_local11, _local7, _local12, _local14, _local13, _local10);
} else if (_local5 == "alert") {
var _local15 = getStyle("themeColor");
drawRoundRect(0, 5, _local3, _local4 - 5, 5, 6184542, 10);
drawRoundRect(1, 4, _local3 - 2, _local4 - 5, 4, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, 3, _local15, 50);
drawRoundRect(3, 1, _local3 - 6, _local4 - 4, 2, 16777215, 100);
} else if (_local5 == "default") {
drawRoundRect(0, 5, _local3, _local4 - 5, {tl:5, tr:5, br:0, bl:0}, 6184542, 10);
drawRoundRect(1, 4, _local3 - 2, _local4 - 5, {tl:4, tr:4, br:0, bl:0}, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(2, 0, _local3 - 4, _local4 - 2, {tl:3, tr:3, br:0, bl:0}, [12897484, 11844796], 100, 0, "radial");
drawRoundRect(3, 1, _local3 - 6, _local4 - 4, {tl:2, tr:2, br:0, bl:0}, 16777215, 100);
} else if (_local5 == "dropDown") {
drawRoundRect(0, 0, _local3 + 1, _local4, {tl:4, tr:0, br:0, bl:4}, [13290186, 7895160], 100, -10, "linear");
drawRoundRect(1, 1, _local3 - 1, _local4 - 2, {tl:3, tr:0, br:0, bl:3}, 16777215, 100);
} else if (_local5 == "menuBorder") {
var _local15 = getStyle("themeColor");
drawRoundRect(4, 4, _local3 - 2, _local4 - 3, 0, [6184542, 6184542], 10, 0, "radial");
drawRoundRect(4, 4, _local3 - 1, _local4 - 2, 0, 6184542, 10);
drawRoundRect(0, 0, _local3 + 1, _local4, 0, [0, 14342874], 100, 250, "linear");
drawRoundRect(0, 0, _local3 + 1, _local4, 0, _local15, 50);
drawRoundRect(2, 2, _local3 - 3, _local4 - 4, 0, 16777215, 100);
} else if (_local5 == "comboNonEdit") {
} else {
beginFill(_local7);
drawRect(0, 0, _local3, _local4);
drawRect(1, 1, _local3 - 1, _local4 - 1);
endFill();
_color = borderColorName;
}
if (_local8 != undefined) {
beginFill(_local8);
drawRect(_local9, _local9, __get__width() - _local9, __get__height() - _local9);
endFill();
}
}
function draw3dBorder(c1, c2, c3, c4, c5, c6) {
var _local3 = __get__width();
var _local2 = __get__height();
beginFill(c1);
drawRect(0, 0, _local3, _local2);
drawRect(1, 0, _local3 - 1, _local2);
endFill();
beginFill(c2);
drawRect(1, 0, _local3 - 1, 1);
endFill();
beginFill(c3);
drawRect(1, _local2 - 1, _local3 - 1, _local2);
endFill();
beginFill(c4);
drawRect(1, 1, _local3 - 1, 2);
endFill();
beginFill(c5);
drawRect(1, _local2 - 2, _local3 - 1, _local2 - 1);
endFill();
beginFill(c6);
drawRect(1, 2, _local3 - 1, _local2 - 2);
drawRect(2, 2, _local3 - 2, _local2 - 2);
endFill();
}
static function classConstruct() {
mx.core.ext.UIObjectExtensions.Extensions();
_global.styles.rectBorderClass = mx.skins.halo.RectBorder;
_global.skinRegistry.RectBorder = true;
return(true);
}
static var symbolName = "RectBorder";
static var symbolOwner = mx.skins.halo.RectBorder;
static var version = "2.0.2.126";
var borderCapColorName = "borderCapColor";
var shadowCapColorName = "shadowCapColor";
var colorList = {highlightColor:0, borderColor:0, buttonColor:0, shadowColor:0, borderCapColor:0, shadowCapColor:0};
var borderWidths = {none:0, solid:1, inset:2, outset:2, alert:3, dropDown:2, menuBorder:2, comboNonEdit:2};
static var classConstructed = classConstruct();
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
}
Symbol 801 MovieClip [__Packages.mx.skins.halo.ButtonSkin] Frame 0
class mx.skins.halo.ButtonSkin extends mx.skins.RectBorder
{
var __get__width, __get__height, getStyle, _parent, clear, drawRoundRect, __get__x, __get__y;
function ButtonSkin () {
super();
}
function init() {
super.init();
}
function size() {
drawHaloRect(__get__width(), __get__height());
}
function drawHaloRect(w, h) {
var _local6 = getStyle("borderStyle");
var _local4 = getStyle("themeColor");
var _local5 = _parent.emphasized;
clear();
switch (_local6) {
case "falseup" :
if (_local5) {
drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100);
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 75);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 85, 0, "radial");
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 75);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100);
} else {
drawRoundRect(0, 0, w, h, 5, 9542041, 100);
drawRoundRect(1, 1, w - 2, h - 2, 4, [13291985, 16250871], 100, 0, "radial");
drawRoundRect(2, 2, w - 4, h - 4, 3, [9542041, 13818586], 100, 0, "radial");
drawRoundRect(3, 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(3, 4, w - 6, h - 7, 2, 16316664, 100);
}
break;
case "falsedown" :
drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial");
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50);
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20);
break;
case "falserollover" :
drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100);
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial");
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 50);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100);
break;
case "falsedisabled" :
drawRoundRect(0, 0, w, h, 5, 13159628, 100);
drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100);
drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100);
drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100);
break;
case "trueup" :
drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial");
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50);
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16250871, 100);
break;
case "truedown" :
drawRoundRect(__get__x(), __get__y(), w, h, 5, 10066329, 100);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16579836], 100, 0, "radial");
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 50);
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 40);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, _local4, 20);
break;
case "truerollover" :
drawRoundRect(__get__x(), __get__y(), w, h, 5, 9542041, 100);
drawRoundRect(__get__x(), __get__y(), w, h, 5, _local4, 50);
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, [3355443, 16777215], 100, 0, "radial");
drawRoundRect(__get__x() + 1, __get__y() + 1, w - 2, h - 2, 4, _local4, 40);
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, [0, 14342874], 100, 0, "radial");
drawRoundRect(__get__x() + 2, __get__y() + 2, w - 4, h - 4, 3, _local4, 40);
drawRoundRect(__get__x() + 3, __get__y() + 3, w - 6, h - 6, 2, 16777215, 100);
drawRoundRect(__get__x() + 3, __get__y() + 4, w - 6, h - 7, 2, 16316664, 100);
break;
case "truedisabled" :
drawRoundRect(0, 0, w, h, 5, 13159628, 100);
drawRoundRect(1, 1, w - 2, h - 2, 4, 15921906, 100);
drawRoundRect(2, 2, w - 4, h - 4, 3, 13949401, 100);
drawRoundRect(3, 3, w - 6, h - 6, 2, 15921906, 100);
}
}
static function classConstruct() {
mx.core.ext.UIObjectExtensions.Extensions();
_global.skinRegistry.ButtonSkin = true;
return(true);
}
static var symbolName = "ButtonSkin";
static var symbolOwner = mx.skins.halo.ButtonSkin;
var className = "ButtonSkin";
var backgroundColorName = "buttonColor";
static var classConstructed = classConstruct();
static var UIObjectExtensionsDependency = mx.core.ext.UIObjectExtensions;
}
Symbol 802 MovieClip [__Packages.mx.controls.VScrollBar] Frame 0
class mx.controls.VScrollBar extends mx.controls.scrollClasses.ScrollBar
{
var scrollIt;
function VScrollBar () {
super();
}
function init(Void) {
super.init();
}
function isScrollBarKey(k) {
if (k == 38) {
scrollIt("Line", -1);
return(true);
}
if (k == 40) {
scrollIt("Line", 1);
return(true);
}
if (k == 33) {
scrollIt("Page", -1);
return(true);
}
if (k == 34) {
scrollIt("Page", 1);
return(true);
}
return(super.isScrollBarKey(k));
}
static var symbolName = "VScrollBar";
static var symbolOwner = mx.core.UIComponent;
static var version = "2.0.2.126";
var className = "VScrollBar";
var minusMode = "Up";
var plusMode = "Down";
var minMode = "AtTop";
var maxMode = "AtBottom";
}
Symbol 803 MovieClip [__Packages.ASLForm] Frame 0
class ASLForm extends mx.core.UIComponent
{
var useHandCursor, boundingBox_mc, _visible, invalidate;
function ASLForm () {
super();
}
function init() {
super.init();
useHandCursor = false;
boundingBox_mc._visible = false;
_visible = false;
}
function createChildren() {
size();
}
function size() {
super.size();
invalidate();
}
function draw() {
super.draw();
if (_global.isLivePreview) {
boundingBox_mc._visible = true;
} else {
boundingBox_mc._visible = false;
}
}
function cookieCheck() {
_root.otwSurvey = SharedObject.getLocal("otwSurvey");
if ((_root.otwSurvey.getSize() == 0) && (_global.aslEnabled)) {
_root.movSplash.hand._visible = false;
_root.movAsl._visible = true;
} else {
_root.gotoAndStop(getFrameAfterSubmit());
}
}
function submitForm(ageId, sexId) {
_root.otwSurvey.data.a = ageId;
_root.otwSurvey.data.s = sexId;
_root.otwSurvey.flush();
var _local3 = new LoadVars();
_local3.op = _root.OP_SUBMIT_ASL_VALS;
_local3.GameId = _root.GAME_ID;
_local3.AgeId = _root.otwSurvey.data.a;
_local3.SexId = _root.otwSurvey.data.s;
_local3.sendAndLoad(_root.CONFIG_URL, _local3, "POST");
_root.gotoAndStop(getFrameAfterSubmit());
}
function skipForm() {
_root.gotoAndStop(getFrameAfterSubmit());
}
function getFrameAfterSubmit() {
return(frameAfterSubmit);
}
function setFrameAfterSubmit(frameAfterSubmit) {
this.frameAfterSubmit = frameAfterSubmit;
}
static var symbolName = "ASLForm";
static var symbolOwner = ASLForm;
var className = "ASLForm";
var frameAfterSubmit = 0;
}
Symbol 867 MovieClip [__Packages.com.iga.IGAContentCell] Frame 0
class com.iga.IGAContentCell extends mx.core.UIComponent
{
var onUnload, useHandCursor, boundingBox_mc, _resizeableSquare, createEmptyMovieClip, getNextHighestDepth, invalidate, __get__height, __get__width, theMov, redraw;
function IGAContentCell () {
super();
if (!_global.isLivePreview) {
var self = this;
onUnload = function () {
self.destroy();
};
}
}
function init() {
super.init();
useHandCursor = false;
boundingBox_mc._visible = false;
boundingBox_mc._width = 0;
boundingBox_mc._height = 0;
}
function createChildren() {
_resizeableSquare = createEmptyMovieClip("_resizeableSquare", getNextHighestDepth());
theCC = _resizeableSquare._parent;
if (_global.isLivePreview) {
theCC.movContentCellIcon._visible = true;
} else {
theCC.movContentCellIcon._visible = false;
}
}
function size() {
super.size();
invalidate();
}
function draw() {
super.draw();
if (_global.isLivePreview) {
var rs = _resizeableSquare;
rs.clear();
with (rs) {
lineStyle(1, 0, 100);
moveTo(0, 0);
lineTo(0, __get__height() - 1);
lineTo(__get__width() - 1, __get__height() - 1);
lineTo(__get__width() - 1, 0);
lineTo(0, 0);
}
} else {
onEnterFrame();
}
}
function initCellContent() {
if (inited) {
return(undefined);
}
theContent = com.iga.IGAControllerStatic.getIGAContentForCell(getCellId());
theMov = _root["igaContent" + theContent.contentId];
var _local4 = getCellId();
com.iga.IGAControllerStatic.DEBUG((("INITIALIZING CELL " + _local4) + " FOR CONTENT ID ") + theContent.contentId);
var _local3 = {x:theCC.x, y:theCC.y};
_local3 = localToGlobal(_local3, theCC._parent);
theMov._x = _local3.x;
theMov._y = _local3.y;
if (getScaleImage()) {
theMov._width = theCC.width;
theMov._height = theCC.height;
} else {
theMov._width = theMov.nativeWidth;
theMov._height = theMov.nativeHeight;
if (horizAlign == ALIGN_CENTER) {
theMov._x = _local3.x + ((theCC.width / 2) - (theMov._width / 2));
} else if (horizAlign == ALIGN_RIGHT) {
theMov._x = (_local3.x + theCC.width) - theMov._width;
}
if (vertAlign == ALIGN_CENTER) {
theMov._y = _local3.y + ((theCC.height / 2) - (theMov._height / 2));
} else if (vertAlign == ALIGN_BOTTOM) {
theMov._y = (_local3.y + theCC.height) - theMov._height;
}
}
theContent.contentDisplayed = true;
theContent.makeClickable();
if (theContent.lastContentId != theContent.contentId) {
_root["igaContent" + theContent.lastContentId]._visible = false;
}
theMov.gotoAndPlay(1);
inited = true;
redraw();
}
function initProps(_cellId, _horizAlign, _vertAlign, _scaleImage) {
setCellId(_cellId);
setHorizAlign(_horizAlign);
setVertAlign(_vertAlign);
setScaleImage(_scaleImage);
initCellContent();
}
function onEnterFrame() {
if (theContent.contentDisplayed == false) {
inited = false;
}
initCellContent();
currTimeMillis = getCurrentTimeMillis();
if (lastTimeMillis == 0) {
lastTimeMillis = currTimeMillis;
}
if ((!theCC._visible) || (hasHiddenAncestor(theCC._parent))) {
theMov._visible = false;
} else {
theMov._visible = true;
logVisibility();
if ((theContent.duration > theContent.maxRefresh) && (!theContent.ignoreDuration)) {
theContent.ignoreDuration = true;
theContent.autoRefreshContent();
}
}
lastTimeMillis = currTimeMillis;
}
function localToGlobal(coords, parent) {
while (parent != undefined) {
coords.x = coords.x + parent._x;
coords.y = coords.y + parent._y;
parent = parent._parent;
}
return(coords);
}
function hasHiddenAncestor(parent) {
while (parent != undefined) {
if (!parent._visible) {
return(true);
}
parent = parent._parent;
}
return(false);
}
function destroy() {
theMov._visible = false;
theMov.gotoAndStop(1);
theContent.ignoreDuration = true;
theContent.autoRefreshContent();
}
function logVisibility() {
var _local2 = true;
if (_local2) {
theContent.duration = theContent.duration + (currTimeMillis - lastTimeMillis);
}
}
function getCurrentTimeMillis() {
var _local1 = new Date();
return(_local1.getTime());
}
function setX(x) {
theMov._x = x;
}
function setY(y) {
theMov._y = y;
}
function move(x, y) {
super.move(x, y);
setX(x);
setY(y);
}
function refreshContent() {
theContent = com.iga.IGAControllerStatic.getIGAContentForCell(getCellId());
theContent.manuallyRefreshContent();
}
function show(visible) {
theCC._visible = visible;
}
function getContent() {
return(_root["igaContent" + theContent.contentId]);
}
function getHorizAlign() {
return(horizAlign);
}
function setHorizAlign(horizAlign) {
this.horizAlign = horizAlign;
invalidate();
}
function getVertAlign() {
return(vertAlign);
}
function setVertAlign(vertAlign) {
this.vertAlign = vertAlign;
invalidate();
}
function getCellId() {
return(cellId);
}
function setCellId(cellId) {
this.cellId = cellId;
}
function getScaleImage() {
return(scaleImage);
}
function setScaleImage(scaleImage) {
this.scaleImage = scaleImage;
invalidate();
}
static var symbolName = "IGAContentCell";
static var symbolOwner = com.iga.IGAContentCell;
var className = "IGAContentCell";
var theContent = null;
static var ALIGN_CENTER = "Center";
static var ALIGN_TOP = "Top";
static var ALIGN_BOTTOM = "Bottom";
static var ALIGN_LEFT = "Left";
static var ALIGN_RIGHT = "Right";
var theCC = null;
var currTimeMillis = 0;
var lastTimeMillis = 0;
var inited = false;
var horizAlign = "";
var vertAlign = "";
var cellId = 0;
var scaleImage = false;
}
Symbol 40 Button
on (release) {
getURL ("http://www.gimme5games.com?ref=flash_pm_red", "_blank");
}
Symbol 41 Button
on (release) {
getURL ("mailto:?subject=Play Phantom Mansion : Chapter 1!&body=Hi, I found this great game, and thought you might like to play it: http://www.gimme5games.com/index.jsp?id=pm_red", "_blank");
}
Symbol 42 Button
on (release) {
getURL ("http://www.gimme5games.com/index.jsp?id=codes&ref=flash_pm_red", "_blank");
}
Symbol 43 Button
on (release) {
if (movSpeaker._currentFrame == 1) {
movSpeaker.gotoAndStop(2);
} else {
movSpeaker.gotoAndStop(1);
}
_root.g5Game.toggleSound();
}
Symbol 49 MovieClip [movSpeaker] Frame 1
stop();
Symbol 49 MovieClip [movSpeaker] Frame 2
stop();
Symbol 50 MovieClip [movNavBar] Frame 1
function toggleSound() {
}
Symbol 54 Button
on (release) {
getURL ("http://www.gimme5games.com", "_blank");
}
Symbol 65 MovieClip [movSplash] Frame 189
stop();
_root.gotoAndStop(6);
Symbol 130 MovieClip [sparkle] Frame 3
this.removeMovieClip();
Symbol 155 MovieClip [blueGhost] Frame 1
stop();
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 155 MovieClip [blueGhost] Frame 1
onClipEvent (load) {
_visible = false;
}
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 176 MovieClip [gnome] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 197 MovieClip [redGhost] Frame 1
stop();
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 197 MovieClip [redGhost] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 208 MovieClip [skeleton] Frame 1
stop();
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 208 MovieClip [skeleton] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 219 MovieClip [zombie] Frame 1
stop();
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 219 MovieClip [zombie] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 228 MovieClip [bottles] Frame 1
stop();
Symbol 271 MovieClip Frame 36
stop();
Symbol 274 MovieClip Frame 36
stop();
Symbol 277 MovieClip Frame 36
stop();
Symbol 280 MovieClip Frame 36
stop();
Symbol 281 MovieClip [keys] Frame 1
stop();
Symbol 288 MovieClip [metalCrate] Frame 1
stop();
Symbol 302 MovieClip [switch] Frame 1
stop();
Symbol 309 MovieClip [woodenCrate] Frame 1
stop();
Symbol 321 MovieClip Frame 1
stop();
Symbol 326 MovieClip Frame 1
stop();
Symbol 328 MovieClip Frame 1
stop();
Symbol 330 MovieClip Frame 1
stop();
Symbol 332 MovieClip Frame 1
stop();
Symbol 342 MovieClip Frame 1
stop();
Symbol 345 MovieClip Frame 1
stop();
Instance of Symbol 134 MovieClip in Symbol 346 MovieClip Frame 1
onClipEvent (load) {
this.useHandCursor = false;
this.onPress = function () {
};
}
Instance of Symbol 345 MovieClip in Symbol 346 MovieClip Frame 1
onClipEvent (load) {
this.onPress = function () {
delete this.onPress;
getURL ("http://www.gimme5games.com/index.jsp?id=pm_hub", "_blank");
};
}
Instance of Symbol 346 MovieClip "storyScreen" in Symbol 404 MovieClip [overlay] Frame 2
onClipEvent (load) {
_visible = false;
}
Symbol 425 MovieClip [twinklingStar] Frame 8
stop();
Symbol 489 MovieClip Frame 21
stop();
Symbol 504 MovieClip Frame 75
stop();
Symbol 516 MovieClip Frame 30
stop();
Symbol 518 MovieClip Frame 35
stop();
Symbol 520 MovieClip Frame 20
stop();
Symbol 521 MovieClip Frame 16
stop();
Instance of Symbol 440 MovieClip "anim" in Symbol 521 MovieClip Frame 16
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 540 MovieClip Frame 1
stop();
Instance of Symbol 134 MovieClip "hitAreaMC" in Symbol 540 MovieClip Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 555 MovieClip Frame 1
stop();
Symbol 556 MovieClip Frame 1
_visible = false;
stop();
Symbol 556 MovieClip Frame 2
stop();
Symbol 621 MovieClip Frame 743
stop();
Symbol 622 MovieClip Frame 1
stop();
Instance of Symbol 621 MovieClip "anim" in Symbol 622 MovieClip Frame 1
onClipEvent (load) {
this.gotoAndStop(1);
}
Symbol 631 MovieClip Frame 200
stop();
Symbol 634 MovieClip Frame 1
stop();
Symbol 634 MovieClip Frame 2
stop();
Symbol 635 MovieClip [PhantomMansion] Frame 1
#initclip 77
Object.registerClass("PhantomMansion", Main);
#endinitclip
Instance of Symbol 426 MovieClip in Symbol 635 MovieClip [PhantomMansion] Frame 1
onClipEvent (load) {
_visible = false;
}
Symbol 635 MovieClip [PhantomMansion] Frame 2
stop();
Instance of Symbol 540 MovieClip "player" in Symbol 635 MovieClip [PhantomMansion] Frame 2
onClipEvent (load) {
_visible = false;
this.gotoAndStop(1);
this.anim.gotoAndStop(1);
}
Instance of Symbol 540 MovieClip "playerTop" in Symbol 635 MovieClip [PhantomMansion] Frame 2
onClipEvent (load) {
_visible = false;
this.gotoAndStop(1);
this.anim.gotoAndStop(1);
}
Instance of Symbol 631 MovieClip "outro" in Symbol 635 MovieClip [PhantomMansion] Frame 2
onClipEvent (load) {
_visible = false;
this.gotoAndStop(1);
}
Instance of Symbol 634 MovieClip "loadingbar" in Symbol 635 MovieClip [PhantomMansion] Frame 2
onClipEvent (load) {
_visible = false;
}
Symbol 684 MovieClip [BrdrShdw] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "shadowColor");
Symbol 686 MovieClip [BrdrFace] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "buttonColor");
Symbol 689 MovieClip [BrdrBlk] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "borderColor");
Symbol 691 MovieClip [BrdrHilght] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "highlightColor");
Symbol 694 MovieClip [Defaults] Frame 1
#initclip 78
Object.registerClass("Defaults", mx.skins.halo.Defaults);
#endinitclip
Symbol 695 MovieClip [UIObjectExtensions] Frame 1
#initclip 79
Object.registerClass("UIObjectExtensions", mx.core.ext.UIObjectExtensions);
#endinitclip
Symbol 696 MovieClip [UIObject] Frame 1
#initclip 80
Object.registerClass("UIObject", mx.core.UIObject);
#endinitclip
stop();
Symbol 699 Button
on (keyPress "<Tab>") {
this.tabHandler();
}
Symbol 700 MovieClip Frame 1
#initclip 81
Object.registerClass("FocusManager", mx.managers.FocusManager);
if (_root.focusManager == undefined) {
_root.createClassObject(mx.managers.FocusManager, "focusManager", mx.managers.DepthManager.highestDepth--);
}
#endinitclip
Symbol 701 MovieClip [FocusRect] Frame 1
#initclip 82
Object.registerClass("FocusRect", mx.skins.halo.FocusRect);
#endinitclip
Symbol 702 MovieClip [FocusManager] Frame 1
#initclip 83
Object.registerClass("FocusManager", mx.managers.FocusManager);
#endinitclip
stop();
Symbol 703 MovieClip [UIComponentExtensions] Frame 1
#initclip 84
Object.registerClass("UIComponentExtensions", mx.core.ext.UIComponentExtensions);
#endinitclip
Symbol 704 MovieClip [UIComponent] Frame 1
#initclip 85
Object.registerClass("UIComponent", mx.core.UIComponent);
#endinitclip
stop();
Symbol 705 MovieClip [SimpleButton] Frame 1
#initclip 86
Object.registerClass("SimpleButton", mx.controls.SimpleButton);
#endinitclip
stop();
Symbol 706 MovieClip [Border] Frame 1
#initclip 87
Object.registerClass("Border", mx.skins.Border);
#endinitclip
stop();
Symbol 707 MovieClip [RectBorder] Frame 1
#initclip 88
mx.skins.SkinElement.registerElement(mx.skins.RectBorder.symbolName, Object(mx.skins.RectBorder));
Object.registerClass("RectBorder", mx.skins.halo.RectBorder);
#endinitclip
stop();
Symbol 708 MovieClip [ButtonSkin] Frame 1
#initclip 89
Object.registerClass("ButtonSkin", mx.skins.halo.ButtonSkin);
#endinitclip
Symbol 709 MovieClip [Button] Frame 1
#initclip 90
Object.registerClass("Button", mx.controls.Button);
#endinitclip
stop();
Instance of Symbol 705 MovieClip [SimpleButton] in Symbol 709 MovieClip [Button] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 710 MovieClip [CustomBorder] Frame 1
#initclip 91
Object.registerClass("CustomBorder", mx.skins.CustomBorder);
mx.skins.SkinElement.registerElement("CustomBorder", mx.skins.CustomBorder);
#endinitclip
Symbol 722 MovieClip [ScrollThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 724 MovieClip [ScrollThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 735 MovieClip [ThumbThemeColor1] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 737 MovieClip [ThumbThemeColor3] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 744 MovieClip [ThumbThemeColor2] Frame 1
mx.skins.ColoredSkinElement.setColorStyle(this, "themeColor");
Symbol 765 MovieClip [BtnDownArrow] Frame 1
#initclip 92
Object.registerClass("BtnDownArrow", mx.controls.SimpleButton);
#endinitclip
Symbol 766 MovieClip [BtnUpArrow] Frame 1
#initclip 93
Object.registerClass("BtnUpArrow", mx.controls.SimpleButton);
#endinitclip
Symbol 768 MovieClip [HScrollBar] Frame 1
#initclip 94
Object.registerClass("HScrollBar", mx.controls.HScrollBar);
#endinitclip
stop();
Instance of Symbol 709 MovieClip [Button] in Symbol 768 MovieClip [HScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
icon = "";
label = "Button";
labelPlacement = "right";
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 705 MovieClip [SimpleButton] in Symbol 768 MovieClip [HScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 769 MovieClip [VScrollBar] Frame 1
#initclip 95
Object.registerClass("VScrollBar", mx.controls.VScrollBar);
#endinitclip
stop();
Instance of Symbol 709 MovieClip [Button] in Symbol 769 MovieClip [VScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
icon = "";
label = "Button";
labelPlacement = "right";
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 705 MovieClip [SimpleButton] in Symbol 769 MovieClip [VScrollBar] Frame 2
//component parameters
onClipEvent (initialize) {
selected = false;
toggle = false;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 770 MovieClip [View] Frame 1
#initclip 96
Object.registerClass("View", mx.core.View);
#endinitclip
stop();
Symbol 771 MovieClip [ScrollView] Frame 1
#initclip 97
Object.registerClass("ScrollView", mx.core.ScrollView);
#endinitclip
stop();
Instance of Symbol 768 MovieClip [HScrollBar] in Symbol 771 MovieClip [ScrollView] Frame 2
//component parameters
onClipEvent (initialize) {
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Instance of Symbol 769 MovieClip [VScrollBar] in Symbol 771 MovieClip [ScrollView] Frame 2
//component parameters
onClipEvent (initialize) {
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 772 MovieClip [TextArea] Frame 1
#initclip 98
Object.registerClass("TextArea", mx.controls.TextArea);
#endinitclip
stop();
Symbol 773 MovieClip [IGAController] Frame 1
#initclip 99
Object.registerClass("IGAController", com.iga.IGAController);
#endinitclip
stop();
Instance of Symbol 772 MovieClip [TextArea] "txtTrace" in Symbol 773 MovieClip [IGAController] Frame 1
//component parameters
onClipEvent (construct) {
editable = true;
html = false;
text = "";
wordWrap = true;
maxChars = null;
restrict = "";
enabled = true;
password = false;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 822 Button
on (release) {
submitForm(ageId, sexId);
}
Symbol 830 MovieClip Frame 1
stop();
Symbol 830 MovieClip Frame 2
stop();
Symbol 833 MovieClip Frame 1
stop();
Symbol 833 MovieClip Frame 2
stop();
Symbol 837 MovieClip Frame 1
stop();
Symbol 837 MovieClip Frame 2
stop();
Symbol 840 MovieClip Frame 1
stop();
Symbol 840 MovieClip Frame 2
stop();
Symbol 843 MovieClip Frame 1
stop();
Symbol 843 MovieClip Frame 2
stop();
Symbol 846 MovieClip Frame 1
stop();
Symbol 846 MovieClip Frame 2
stop();
Symbol 849 MovieClip Frame 1
stop();
Symbol 849 MovieClip Frame 2
stop();
Symbol 856 MovieClip Frame 1
stop();
Symbol 856 MovieClip Frame 2
stop();
Symbol 859 MovieClip Frame 1
stop();
Symbol 859 MovieClip Frame 2
stop();
Symbol 862 Button
on (release) {
skipForm();
}
Symbol 863 MovieClip [ASLForm] Frame 1
#initclip 100
Object.registerClass("ASLForm", ASLForm);
#endinitclip
function selectAge(btnId) {
var _local2 = 1;
while (_local2 <= 7) {
this["movAge" + _local2].gotoAndStop(((_local2 != btnId) ? 1 : 2));
_local2++;
}
ageId = btnId;
showDoneButton();
}
function selectSex(btnId) {
var _local2 = 1;
while (_local2 <= 2) {
this["movSex" + _local2].gotoAndStop(((_local2 != btnId) ? 1 : 2));
_local2++;
}
sexId = btnId;
showDoneButton();
}
function showDoneButton() {
this.btnDone._visible = (ageId > 0) && (sexId > 0);
this.btnSkip._visible = !this.btnDone._visible;
}
var ageId = 0;
var sexId = 0;
showDoneButton();
Instance of Symbol 830 MovieClip "movAge1" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(1);
}
Instance of Symbol 833 MovieClip "movAge2" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(2);
}
Instance of Symbol 837 MovieClip "movAge3" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(3);
}
Instance of Symbol 840 MovieClip "movAge4" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(4);
}
Instance of Symbol 843 MovieClip "movAge5" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(5);
}
Instance of Symbol 846 MovieClip "movAge6" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(6);
}
Instance of Symbol 849 MovieClip "movAge7" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectAge(7);
}
Instance of Symbol 856 MovieClip "movSex1" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectSex(1);
}
Instance of Symbol 859 MovieClip "movSex2" in Symbol 863 MovieClip [ASLForm] Frame 1
on (release) {
_parent.selectSex(2);
}
Symbol 865 MovieClip Frame 1
stop();
Symbol 865 MovieClip Frame 2
stop();
_root.advertExpired(this, true);
Symbol 866 MovieClip Frame 1
stop();
Symbol 866 MovieClip Frame 2
stop();
_root.advertExpired(this, false);
Symbol 871 MovieClip [IGAContentCell] Frame 1
#initclip 101
Object.registerClass("IGAContentCell", com.iga.IGAContentCell);
#endinitclip
Symbol 874 MovieClip Frame 1
stop();
Symbol 874 MovieClip Frame 2
stop();
var theCell = this;
var adStartTime = getTimer();
cc2.setCellId(_global.igaCellIds[1]);
movAdTimer.onEnterFrame = function () {
var _local4 = (adStartTime + parseInt(_global.igaCellMillis[1])) - getTimer();
this.txt.text = ("Please wait : " + Math.ceil(_local4 / 1000)) + " seconds";
if (_local4 <= 0) {
_root.advertExpired(theCell, true);
}
};
Instance of Symbol 871 MovieClip [IGAContentCell] "cc2" in Symbol 874 MovieClip Frame 2
//component parameters
onClipEvent (construct) {
horizAlign = "Center";
vertAlign = "Center";
cellId = 2;
scaleImage = true;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}
Symbol 875 MovieClip Frame 1
stop();
Symbol 875 MovieClip Frame 2
stop();
var theCell = this;
var adStartTime = getTimer();
cc1.setCellId(_global.igaCellIds[0]);
movAdTimer.onEnterFrame = function () {
var _local4 = (adStartTime + parseInt(_global.igaCellMillis[0])) - getTimer();
this.txt.text = ("Please wait : " + Math.ceil(_local4 / 1000)) + " seconds";
if (_local4 <= 0) {
_root.advertExpired(theCell, false);
}
};
Instance of Symbol 871 MovieClip [IGAContentCell] "cc1" in Symbol 875 MovieClip Frame 2
//component parameters
onClipEvent (construct) {
horizAlign = "Center";
vertAlign = "Center";
cellId = 1;
scaleImage = true;
enabled = true;
visible = true;
minHeight = 0;
minWidth = 0;
}