Frame 1
function itemHandler1(obj, item) {
getURL ("http://badim.ru", "_blank");
}
function itemHandler2(obj, item) {
getURL ("http://www.realore.com", "_blank");
}
Stage.scaleMode = "noScale";
_global.main_path = "";
stop();
var OnMovieBlur;
sliderLoading.ReadOnly = true;
var SINGLE_FILE_VERSION = true;
_root.loadingPhase = 0;
var loading_target = _root;
var languageXml = new XML();
var urlXml = new XML();
EndLoading = function () {
_root.gotoAndStop("frameLoadPhase2");
};
_root.languageXml.ignoreWhite = true;
_root.urlXml.ignoreWhite = true;
if (!SINGLE_FILE_VERSION) {
_root.languageXml.load(_global.main_path + "languages.xml");
_root.urlXml.load(_global.main_path + "url.xml");
}
var loaded = 0;
var total = 100;
_root.onEnterFrame = function () {
var _local8 = _root.getBytesLoaded();
var _local3 = _root.getBytesTotal();
var _local10 = _root.languageXml.getBytesLoaded();
var _local6 = _root.languageXml.getBytesTotal();
var _local9 = _root.urlXml.getBytesLoaded();
var _local5 = _root.urlXml.getBytesTotal();
var _local2 = 0;
if (!SINGLE_FILE_VERSION) {
if ((_local3 != 0) && (_local3 != undefined)) {
_local2 = _local2 + Math.floor((_local8 * 90) / _local3);
}
if ((_local6 != 0) && (_local6 != undefined)) {
_local2 = _local2 + Math.floor((_local10 * 5) / _local6);
}
if ((_local5 != 0) && (_local5 != undefined)) {
_local2 = _local2 + Math.floor((_local9 * 5) / _local5);
}
} else if ((_local3 != 0) && (_local3 != undefined)) {
_local2 = _local2 + Math.floor((_local8 * 100) / _local3);
}
if (!((_local2 >= 0) && (_local2 <= 100))) {
_local2 = 0;
}
if (isNaN(_local2)) {
_local2 = 0;
}
sliderLoading.SetValue(_local2);
if (!((_local2 >= 0) && (_local2 <= 100))) {
_local2 = 0;
}
var _local4 = 0;
if (_local2 >= 0) {
if (_local2 <= 100) {
_local4 = _local2;
}
}
if (_local4 == Number.NaN) {
_local4 = 0;
}
var _local7 = String(_local4);
if (_local7 == "NaN") {
_local7 = "0";
}
strLoading = ("LOADING " + _local7) + "%";
if (_local2 == 100) {
_root.EndLoading();
}
};
var my_cm = new ContextMenu(menuHandler);
my_cm.builtInItems.zoom = false;
my_cm.builtInItems.print = false;
my_cm.builtInItems.quality = false;
my_cm.builtInItems.play = false;
my_cm.builtInItems.loop = false;
my_cm.builtInItems.rewind = false;
my_cm.builtInItems.forward_back = false;
my_cm.customItems.push(new ContextMenuItem("http://www.realore.com", itemHandler2));
this.menu = my_cm;
Frame 3
delete _root.onEnterFrame;
gotoAndStop ("frameAds");
Frame 4
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);
}
_global.mochibot_added = true;
__com_mochibot__("1e702a3b", this, 10301, true);
if (Math.random() < 0.15) {
MochiAd.showPreloaderAd({id:"350cc6a1aa4e6ca7", res:"640x480"});
} else {
MochiAd.showPreloaderAd({id:"1e62a9e2d821d588", res:"640x480"});
}
Frame 5
if (SINGLE_FILE_VERSION) {
_root.urlXml.parseXML(xml_singlefile_data.urlXmlData);
_root.languageXml.parseXML(xml_singlefile_data.languageXmlData);
}
Language.SetLangXML(languageXml);
Helper.LoadUrlXML(urlXml);
gotoAndStop ("frameInit");
Frame 6
if (Language.GetLanguagesCount() > 1) {
gotoAndStop ("frameSelectLang");
} else {
Language.LoadLanguage();
gotoAndStop ("framePlayer");
}
Frame 7
stop();
var langxml = Language.GetLangXML();
var node = langxml.firstChild;
OnLangBtnClick = function (instance) {
Language.LoadLanguage(instance.lang_id);
gotoAndStop ("framePlayer");
};
var i = 0;
while (i < node.childNodes.length) {
var lang_id = node.childNodes[i].attributes.id;
var lang_name = node.childNodes[i].attributes.name;
var lang_intname = node.childNodes[i].attributes.intname;
var lang_btn = mcOrientierFirstButton.attachMovie("ButtonStartGame", "lang_btn_" + i, mcOrientierFirstButton.getNextHighestDepth());
lang_btn._x = 0;
lang_btn._y = (lang_btn._height + 5) * i;
lang_btn.buttonText = ((lang_name != lang_intname) ? ((lang_name + "/") + lang_intname) : (lang_name));
lang_btn.lang_id = lang_id;
lang_btn.OnClick = OnLangBtnClick;
i++;
}
Frame 10
stop();
var gameMode;
textWelcome = ((Language.Transl("welcome") + ", ") + Helper.PlayerName) + "!";
btnStartArcade.buttonText = Language.Transl("start arcade");
btnStartPuzzle.buttonText = Language.Transl("start puzzle");
btnPlayer.buttonText = Language.Transl("player");
btnOptions.buttonText = Language.Transl("options");
btnGetIt.buttonText = Language.Transl("get it");
btnScores.buttonText = Language.Transl("scores");
btnStartArcade.OnClick = mx.utils.Delegate.create(this, function () {
gameMode = 0;
if (Helper.__get__isMusicLoaded() || (!Helper.MusicEnabled)) {
gotoAndStop ("frameStartGame");
} else {
gotoAndStop ("framePreGameLoader");
}
});
btnStartPuzzle.OnClick = mx.utils.Delegate.create(this, function () {
gameMode = 1;
if (Helper.__get__isMusicLoaded() || (!Helper.MusicEnabled)) {
gotoAndStop ("frameStartGame");
} else {
gotoAndStop ("framePreGameLoader");
}
});
btnOptions.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameOptions");
});
btnPlayer.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("framePlayer");
});
btnGetIt.OnClick = function () {
Helper.GetIt();
};
btnGetIt.showRunstring = true;
btnGetIt.RunstringText = Language.Transl("get it runstring");
btnGetIt.StartRunningText();
btnScores.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameScores");
});
Frame 11
textSoundVolume = Language.Transl("sound volume");
textMusicVolume = Language.Transl("music volume");
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameMainMenu");
});
mcSoundVolume.Value = Helper.SoundVolume;
mcSoundVolume.OnValueChanged = function () {
Helper.SoundVolume = this.Value;
Helper.PlaySound("soundMenuHit");
};
mcMusicButton.Value = Helper.MusicEnabled;
mcMusicButton.OnValueChanged = function () {
Helper.MusicEnabled = this.Value;
if (Helper.MusicEnabled) {
Helper.PlayMusic();
} else {
Helper.StopMusic();
}
};
Frame 13
textYourName = Language.Transl("enter name");
if ((Helper.PlayerName == undefined) || (Helper.PlayerName == "")) {
playerName = Language.Transl("default player name");
} else {
playerName = Helper.PlayerName;
}
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
Helper.PlayerName = playerName;
gotoAndStop ("frameMainMenu");
});
Frame 15
function RefreshScores(scoremode) {
var _local2 = new TextScoreTable(this.mcScoresTable);
_local2.reset("Fetching high scores...");
var _local3 = MochiAd.fetchHighScores({id:(scoremode ? (Helper.MochiAdId_Arcade) : (Helper.MochiAdId_Puzzle))}, _local2, "gotScores");
if (!_local3) {
_local2.reset("Local sandbox does not allow network, try playing online.");
}
}
textTitle = Language.Transl("scores");
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameMainMenu");
});
if (_root.prevGameMode != undefined) {
if (_root.prevGameMode == 0) {
btnModeToggle.Value = true;
} else {
btnModeToggle.Value = false;
}
_root.prevGameMode = undefined;
}
btnModeToggle.TrueText = Language.Transl("start arcade");
btnModeToggle.FalseText = Language.Transl("start puzzle");
btnModeToggle.OnValueChanged = function () {
_root.RefreshScores(this.Value);
};
var TextScoreTable = function (mc, max_scores) {
this.mc = mc;
this.max_scores = max_scores || 10;
this.reset("");
};
TextScoreTable.prototype.reset = function (statusText) {
this.mc.ranks_text = "";
this.mc.names_text = "";
this.mc.scores_text = "";
this.mc.dates_text = "";
this.mc.status_text = statusText;
};
TextScoreTable.prototype.gotScores = function (scores, playerIndex) {
this.reset("");
if (playerIndex === undefined) {
playerIndex = -1;
}
var _local8 = Math.min(this.max_scores, scores.length);
if (_local8 == 0) {
this.mc.status_text = "No high scores yet!";
}
var _local2 = 0;
while (_local2 < _local8) {
var _local4 = scores[_local2];
var _local3 = (_local2 + 1) + ".";
if (_local2 === playerIndex) {
_local3 = "*" + _local3;
}
var _local5 = _local4[0];
var _local7 = commafy(_local4[1]);
var _local6 = msecToDateString(_local4[2]);
this.mc.ranks_text = this.mc.ranks_text + (_local3 + newline);
this.mc.names_text = this.mc.names_text + (_local5 + newline);
this.mc.scores_text = this.mc.scores_text + (_local7 + newline);
this.mc.dates_text = this.mc.dates_text + (_local6 + newline);
_local2++;
}
};
var commafy = function (n) {
var _local1 = parseInt(n, 10) + "";
var _local2 = [];
while (_local1.length > 3) {
_local2.unshift(_local1.slice(_local1.length - 3, _local1.length));
_local1 = _local1.slice(0, _local1.length - 3);
}
_local2.unshift(_local1);
return(_local2.join(","));
};
var msecToDateString = function (msec) {
var _local1 = new Date(msec);
return([_local1.getFullYear(), 1 + _local1.getMonth(), _local1.getDate()].join("-"));
};
Frame 17
stop();
btnAbort._visible = false;
if (SINGLE_FILE_VERSION) {
Helper.LoadMusic("musicGameplay", true);
gotoAndStop ("framePreGameLoaded");
return(undefined);
}
trace("Start loading music...");
mcLoadingProgress.ReadOnly = true;
Helper.OnMusicLoaded = mx.utils.Delegate.create(this, function (success) {
if (success) {
gotoAndStop ("framePreGameLoaded");
} else {
Helper.MusicEnabled = false;
}
});
_root.onEnterFrame = function () {
var _local4 = Helper.__get__Music().getBytesLoaded();
var _local3 = Helper.__get__Music().getBytesTotal();
var _local1 = 0;
if ((_local3 != 0) && (_local3 != undefined)) {
_local1 = _local1 + Math.floor((_local4 * 100) / _local3);
}
if (!((_local1 >= 0) && (_local1 <= 100))) {
_local1 = 0;
}
if ((_local1 == Number.NaN) || (_local1 == undefined)) {
_local1 = 0;
}
if (isNaN(_local1)) {
_local1 = 0;
}
var _local2 = "";
_local2 = String(_local1);
if (_local2 == "NaN") {
_local2 = "0";
}
mcLoadingProgress.SetValue(_local1);
textLoading = ((((Language.Transl("loading") + " ") + Language.Transl("of music")) + " ") + _local2) + "%";
};
Helper.LoadMusic(_global.main_path + "music_gameplay.mp3");
Frame 18
delete _root.onEnterFrame;
gotoAndStop ("frameStartGame");
Frame 19
Helper.globalGameScore = 0;
mcGame.GameMode = gameMode;
mcGame.OnGameExit = function () {
gotoAndStop ("frameSubmitScores");
};
mcGame.OnMenu = function () {
gotoAndStop ("frameGameMenu");
};
var mcGame;
OnMovieBlur = function () {
if ((mcGame != undefined) && (!mcGame.__get__inPause())) {
mcGame.OpenGameMenu();
}
};
mcGame.OnShowAd = function () {
gotoAndStop ("frameShowAd");
};
stop();
Frame 20
mcGame.CloseGameMenu();
stop();
Frame 22
stop();
if (Math.random() < 0.15) {
MochiAd.showTimedAd({id:"350cc6a1aa4e6ca7", res:"640x480", ad_timeout:1500});
} else {
MochiAd.showTimedAd({id:"e171b1f93c277896", res:"640x480", ad_timeout:1500});
}
Helper.PlaySound("soundWow");
Frame 23
mcGame.CloseAdScreen();
stop();
Frame 26
btnContinue.buttonText = Language.Transl("resume");
btnAbort.buttonText = Language.Transl("abort");
btnOptions.buttonText = Language.Transl("options");
btnGetIt.buttonText = Language.Transl("get it");
btnContinue.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameGameContinue");
});
btnAbort.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameAbortQuestion");
});
btnOptions.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameGameOptions");
});
btnGetIt.OnClick = function () {
Helper.GetIt();
};
btnGetIt.showRunstring = true;
btnGetIt.RunstringText = Language.Transl("get it runstring");
btnGetIt.StartRunningText();
Frame 27
textSoundVolume = Language.Transl("sound volume");
textMusicVolume = Language.Transl("music volume");
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameGameMenu");
});
mcSoundVolume.Value = Helper.SoundVolume;
mcSoundVolume.OnValueChanged = function () {
Helper.SoundVolume = this.Value;
Helper.PlaySound("soundMenuHit");
};
mcMusicButton.Value = Helper.MusicEnabled;
mcMusicButton.OnValueChanged = function () {
Helper.MusicEnabled = this.Value;
if (this.Value) {
}
};
if (!Helper.__get__isMusicLoaded()) {
tfMusicVolume._visible = false;
mcMusicButton._visible = false;
}
Frame 28
textQuestion = Language.Transl("want to exit");
btnYes.buttonText = Language.Transl("yes");
btnYes.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameSubmitScores");
});
btnNo.buttonText = Language.Transl("no");
btnNo.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameGameMenu");
});
stop();
Frame 30
textTitle = Language.Transl("send score title");
textYourName = Language.Transl("player name");
textYourScore = Language.Transl("player score");
playerName = Helper.PlayerName;
playerScore = Helper.globalGameScore;
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
var _local3 = ((_root.gameMode == 0) ? (Helper.MochiAdId_Arcade) : (Helper.MochiAdId_Puzzle));
_root.prevGameMode = _root.gameMode;
var _local2 = function () {
};
_local2.prototype.DoAction = function () {
gotoAndStop ("frameScores");
};
var _local4 = new _local2[undefined]();
MochiAd.sendHighScore({id:_local3, name:playerName, score:Helper.globalGameScore}, _local4, "DoAction");
btnOk.enabled = false;
});
btnCancel.buttonText = Language.Transl("cancel");
btnCancel.OnClick = mx.utils.Delegate.create(this, function () {
gotoAndStop ("frameMainMenu");
});
Symbol 11 MovieClip [Slider] Frame 1
function SetValue(val, initializing) {
this.Value = val;
var _local2 = ((-mcMask._width) * (100 - Math.max(0, Math.min(100, val)))) / 100;
mcMask._x = _local2;
if ((initializing == false) || (initializing == undefined)) {
if (OnValueChanged != undefined) {
OnValueChanged();
}
}
}
var Value;
var ReadOnly;
var OnValueChanged;
if (ReadOnly == undefined) {
ReadOnly = false;
}
mcAllocator._visible = false;
SetValue(Value, true);
if (!ReadOnly) {
this.hitArea = mcHit;
this.onPress = function () {
SetValue(100 - (((mcHit._width - this._xmouse) * 100) / mcHit._width));
};
this.onRollOver = function () {
Helper.PlaySound("soundMenuToggle");
mcAllocator._visible = true;
};
this.onRollOut = function () {
mcAllocator._visible = false;
};
}
mcHit._visible = false;
Symbol 474 MovieClip [__Packages.Helper] Frame 0
class Helper
{
static var _Music, _Music_name, OnMusicLoaded, _get_it_url, _get_it_target;
function Helper () {
}
static function get isMusicLoaded() {
return((_Music != undefined) && (_Music.getBytesTotal() == _Music.getBytesLoaded()));
}
static function get isMusicPlaying() {
return(_Music_playing);
}
static function get Music() {
return(_Music);
}
static function PlaySound(name, loop) {
var _local1 = new Sound();
_local1.attachSound(name);
_local1.setVolume(SoundVolume);
_local1.start(0, loop);
}
static function PlayMusic(name) {
if (name == undefined) {
name = _Music_name;
} else {
_Music_name = name;
}
Tracer.info("Play music: " + _Music_name);
if ((_Music != undefined) && (_Music_playing == false)) {
_Music.setVolume(SoundVolume);
_Music.start(0, 1000);
_Music_playing = true;
}
}
static function StopMusic() {
Tracer.info("Stop music");
if ((_Music != undefined) && (_Music_playing == true)) {
_Music.stop();
_Music_playing = false;
}
}
static function LoadMusic(url, localImported) {
if (localImported == undefined) {
localImported = false;
}
Tracer.info("Start load music from: " + url);
_Music_name = url;
if (_Music == undefined) {
_Music = new Sound();
}
if (!localImported) {
_Music.onLoad = function (success) {
if (Helper.OnMusicLoaded != undefined) {
Helper.OnMusicLoaded(success);
}
};
_Music.loadSound(url, false);
} else {
_Music.attachSound(_Music_name);
OnMusicLoaded(true);
}
}
static function AbortMusicLoad() {
if (_Music != undefined) {
delete _Music;
_Music = undefined;
if (OnMusicLoaded != undefined) {
OnMusicLoaded(false);
}
}
}
static function ConvertSeconds2TimeString(seconds) {
var _local1 = seconds;
var _local2 = Math.floor(_local1 / 60);
_local1 = _local1 % 60;
return((((Math.abs(_local2) < 10) ? ("0" + _local2) : (_local2)) + ":") + ((Math.abs(_local1) < 10) ? ("0" + _local1) : (_local1)));
}
static function LoadUrlXML(xml) {
var _local1 = xml.firstChild;
_get_it_url = _local1.attributes.url;
_get_it_target = _local1.attributes.window;
Tracer.info(((("UrlXML loaded: \"" + _get_it_url) + "\", \"") + _get_it_target) + "\"");
}
static function GetIt() {
if (_get_it_url == undefined) {
Tracer.trace("Get it url not loaded!");
return(undefined);
}
getURL (_get_it_url, _get_it_target);
}
static function SubtractArray(from, what) {
var _local5 = new Array();
var _local2 = 0;
while (_local2 < from.length) {
var _local1 = 0;
while (_local1 < what.length) {
if (from[_local2] == what[_local1]) {
break;
}
if (_local1 == (what.length - 1)) {
_local5.push(from[_local2]);
}
_local1++;
}
_local2++;
}
return(_local5);
}
static function SearchArray(arr, what) {
var _local1 = 0;
while (_local1 < arr.length) {
if (arr[_local1] == what) {
return(_local1);
}
_local1++;
}
return(-1);
}
static var DEBUG = false;
static var DEBUG2 = false;
static var MochiAdId_Arcade = "350cc6a1aa4e6ca7";
static var MochiAdId_Puzzle = "1e62a9e2d821d588";
static var globalGameScore = 0;
static var PlayerName = "";
static var SoundVolume = 100;
static var _MusicVolume = 100;
static var _Music_playing = false;
static var MusicEnabled = true;
}
Symbol 475 MovieClip [__Packages.Tracer] Frame 0
class Tracer
{
static var _traceBox, trace, traceProperties;
function Tracer () {
}
static function Init(rootMC) {
var traceBox;
traceBox = rootMC.createTextField("traceBox", 11000, 0, 10, 150, 200);
with (traceBox) {
backgroundColor = 16777215 /* 0xFFFFFF */;
background = true;
multiline = true;
wordWrap = true;
}
var traceBoxFormat = new TextFormat();
traceBoxFormat.font = "Courier";
traceBoxFormat.size = 12;
traceBox.setNewTextFormat(traceBoxFormat);
_traceBox = traceBox;
rootMC.tr = function (obj) {
rootMC.traceBox.text = rootMC.traceBox.text + (newline + String(obj));
traceBox.scroll = traceBox.maxscroll;
};
rootMC.trprops = function (obj) {
rootMC.traceBox.text = rootMC.traceBox.text + ("\n---Trace props of: " + String(obj));
for (var _local2 in obj) {
rootMC.traceBox.text = rootMC.traceBox.text + (((newline + String(_local2)) + ":") + String(obj[_local2]));
}
traceBox.scroll = traceBox.maxscroll;
};
trace = mx.utils.Delegate.create(rootMC, rootMC.tr);
traceProperties = mx.utils.Delegate.create(rootMC, rootMC.trprops);
trace("---Start tracing---");
var btnToggleVisible;
btnToggleVisible = rootMC.createEmptyMovieClip("btnToggleVisible", 11001);
with (btnToggleVisible) {
_x = 0;
_y = 0;
beginFill(16776960);
lineStyle(0, 16777215);
moveTo(0, 0);
lineTo(10, 0);
lineTo(10, 10);
lineTo(0, 10);
lineTo(0, 0);
}
btnToggleVisible.onPress = function () {
rootMC.traceBox._visible = !rootMC.traceBox._visible;
};
var btnClearTrace;
btnClearTrace = rootMC.createEmptyMovieClip("btnClearTrace", 11002);
with (btnClearTrace) {
_x = 12;
_y = 0;
beginFill(16711935);
lineStyle(0, 16777215);
moveTo(0, 0);
lineTo(10, 0);
lineTo(10, 10);
lineTo(0, 10);
lineTo(0, 0);
}
btnClearTrace.onPress = function () {
rootMC.traceBox.text = "";
};
}
static function Show() {
if (_traceBox != undefined) {
_traceBox._visible = true;
}
}
static function Hide() {
if (_traceBox != undefined) {
_traceBox._visible = false;
}
}
}
Symbol 476 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 477 MovieClip [__Packages.MochiAd] Frame 0
class MochiAd
{
function MochiAd () {
}
static function showPreloaderAd(options) {
var _local29 = {clip:_root, ad_timeout:3000, fadeout_time:250, regpt:"o", method:"showPreloaderAd", color:16747008, background:16777161, outline:13994812};
options = _parseOptions(options, _local29);
var _local15 = options.clip;
var _local25 = 11000;
var _local28 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local15.stop();
var mc = _local15._mochiad;
mc.onUnload = function () {
this._parent.play();
};
var _local16 = _getRes(options);
var _local5 = _local16[0];
var _local14 = _local16[1];
mc._x = _local5 * 0.5;
mc._y = _local14 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk._x = _local5 * -0.5;
chk._y = _local14 * -0.5;
var _local8 = chk.createEmptyMovieClip("_mochiad_bar", 4);
_local8._x = 10;
_local8._y = _local14 - 20;
var _local24 = options.color;
delete options.color;
var _local21 = options.background;
delete options.background;
var _local26 = options.outline;
delete options.outline;
var _local6 = _local8.createEmptyMovieClip("_outline", 1);
_local6.beginFill(_local21);
_local6.moveTo(0, 0);
_local6.lineTo(_local5 - 20, 0);
_local6.lineTo(_local5 - 20, 10);
_local6.lineTo(0, 10);
_local6.lineTo(0, 0);
_local6.endFill();
var _local4 = _local8.createEmptyMovieClip("_inside", 2);
_local4.beginFill(_local24);
_local4.moveTo(0, 0);
_local4.lineTo(_local5 - 20, 0);
_local4.lineTo(_local5 - 20, 10);
_local4.lineTo(0, 10);
_local4.lineTo(0, 0);
_local4.endFill();
_local4._xscale = 0;
var _local7 = _local8.createEmptyMovieClip("_outline", 3);
_local7.lineStyle(0, _local26, 100);
_local7.moveTo(0, 0);
_local7.lineTo(_local5 - 20, 0);
_local7.lineTo(_local5 - 20, 10);
_local7.lineTo(0, 10);
_local7.lineTo(0, 0);
chk.ad_msec = _local25;
chk.ad_timeout = _local28;
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.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 _local16 = {clip:_root, ad_timeout:2000, fadeout_time:250, regpt:"o", method:"showTimedAd"};
options = _parseOptions(options, _local16);
var _local7 = options.clip;
var _local13 = 11000;
var _local15 = options.ad_timeout;
delete options.ad_timeout;
var fadeout_time = options.fadeout_time;
delete options.fadeout_time;
if (!load(options)) {
return(undefined);
}
_local7.stop();
var mc = _local7._mochiad;
trace("_showTimedAd");
mc.onUnload = function () {
if (_global.mochi_after_ad != undefined) {
_global.mochi_after_ad();
delete _global.mochi_after_ad;
} else {
this._parent.play();
}
};
var _local8 = _getRes(options);
var _local17 = _local8[0];
var _local14 = _local8[1];
mc._x = _local17 * 0.5;
mc._y = _local14 * 0.5;
var chk = mc.createEmptyMovieClip("_mochiad_wait", 3);
chk.ad_msec = _local13;
chk.ad_timeout = _local15;
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 = "1.4";
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 = "1.4";
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 478 MovieClip [__Packages.xml_singlefile_data] Frame 0
class xml_singlefile_data
{
function xml_singlefile_data () {
}
static var languageXmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<languages>\n<language id=\"ENG\" name=\"English\" intname=\"English\">\n <![CDATA[\n// '//' or ';' - is comments\n//---common---\nok:OK\nyes:YES\nno:NO\nloading:LOADING\nselect language:SELECT YOUR LANGUAGE\nwelcome:WELCOME\nmenu:MENU\ngame over:GAME OVER\n//---Main menu---\nstart arcade:ARCADE\nstart puzzle:PUZZLE\noptions:OPTIONS\nget it:GET IT\nplayer:PLAYER\nscores:SCORES\nget it runstring:Click here to download a full PC version of \"Age of Japan\"\n//---scores---\nsend score title:Submit your score?\nplayer name:NAME\nplayer score:SCORE\ncancel:CANCEL\n//---Player menu---\nenter name:ENTER YOUR NAME\ndefault player name:Player\n//---Options---\nsound volume:SOUND VOLUME\nmusic volume:Music ON/OFF\nskip loading:SKIP\nof music:LEVEL\n//---Game interface---\nlevel:level:\nscores interface:scores:\nremain time:remain:\nmoves:moves:\ngo!:GO!\nbonus level:BONUS LEVEL\n//---Level complete---\nlevel complete:LEVEL COMPLETE\ntotal score:TOTAL SCORE:\nlevel score:LEVEL SCORE:\nlevel time:LEVEL TIME:\nlevel moves:LEVEL MOVES:\nbest shot:BEST SHOT:\nbonus brooms:BONUS BROOMS:\nnext level:NEXT LEVEL\nnew bonus:NEW BONUS:\nbonus score:BONUS SCORE:\nget it text:Download now to get:\n\n- 40 levels to go in Arcade and Puzzle\n\n modes;\n\n- 12 bonuses and additional elements;\n\n- 2 skins for elements;\n\n- Wonderful Japanese graphics;\n\n- Nice sound effects and music, specially\n\n written and recorded for the game\n//---Game menu---\nwant to exit:Are you sure you want\n\nto abort the game?\nresume:RESUME\nabort:ABORT\n//---Bonuses---\nbonus x2:Bonus x2\nbonus x3:Bonus x3\nbonus bomb:Bomb\nbonus multicolor:Multicolor\nbonus random:Random\nbonus quake:Quake\nbonus time:Time Bonus\nbonus move:Move Bonus\nbonus x2 descr:A DOUBLE SCORE BONUS\nbonus x3 descr:A TRIPLE SCORE BONUS\nbonus bomb descr:BLOWS UP ALL\n\nGAME PIECES AROUND IT\nbonus multicolor descr:THE BONUS CAN BE USED AS\n\nA GAME PIECE OF ANY COLOR\nbonus random descr:THE BONUS CHANGES ITS SHAPE\n\nFROM TIME TO TIME\nbonus quake descr:BLOWS UP COUPLED PIECES\n\nON THE WHOLE GAME FIELD\nbonus time descr:A PLAYER GETS\n\nADDITIONAL TIME TO PLAY\nbonus move descr:A PLAYER GETS\n\nADDITIONAL MOVES TO PLAY\n]]></language>\n</languages>\n";
static var urlXmlData = "<?xml version=\"1.0\" encoding=\"utf-8\"?><data url=\"http://www.realore.com/ageofjapan/\" window=\"_blank\"/>";
}
Symbol 479 MovieClip [__Packages.Hashtable] Frame 0
class Hashtable
{
var keys, values;
function Hashtable () {
keys = new Array();
values = new Array();
}
function containsKey(key) {
var _local3 = false;
var _local2 = 0;
while (_local2 < keys.length) {
if (keys == key) {
_local3 = true;
}
_local2++;
}
return(_local3);
}
function putValue(key, value) {
var _local3 = false;
var _local2 = 0;
while (_local2 < keys.length) {
if (keys == key) {
values = value;
_local3 = true;
break;
}
_local2++;
}
if (!_local3) {
keys.push(key);
values.push(value);
}
}
function size() {
return(keys.length);
}
function getValue(key) {
var _local2 = 0;
while (_local2 < keys.length) {
if (keys[_local2] == key) {
return(values[_local2]);
}
_local2++;
}
}
function remove(key) {
var _local2 = 0;
while (_local2 < keys.length) {
if (keys == key) {
keys.splice(_local2, 1);
values.splice(_local2, 1);
}
_local2++;
}
}
function getKeys() {
return(keys);
}
function getValues() {
return(values);
}
function clear() {
delete values;
delete keys;
keys = new Array();
values = new Array();
}
}
Symbol 480 MovieClip [__Packages.Language] Frame 0
class Language
{
static var langs_xml, currentLang, OnLoaded;
function Language () {
}
static function LoadLanguage(lang, xmlfile) {
if (xmlfile != undefined) {
SetLangXML(xmlfile);
}
if (lang == undefined) {
if (langs_xml != undefined) {
lang = XMLNode(langs_xml.firstChild.childNodes[0]).attributes.id;
}
}
Tracer.info((("Loading language \"" + lang) + "\" from file ") + langs_file);
currentLang = lang;
strings.clear();
if (langs_xml == undefined) {
langs_xml = new XML();
langs_xml.ignoreWhite = true;
langs_xml.onLoad = ParseLanguageXML;
langs_xml.load(langs_file);
} else {
ParseLanguageXML(true);
}
}
static function SetLangXML(xml) {
langs_xml = xml;
}
static function GetLangXML() {
return(langs_xml);
}
static function GetLanguagesCount() {
var _local1 = langs_xml.firstChild;
return(_local1.childNodes.length);
}
static function ParseLanguageXML(success) {
var _local9 = langs_xml.firstChild;
var _local12;
Tracer.info("Language xml loaded");
var _local14 = strings;
var _local6 = 0;
while (_local6 < _local9.childNodes.length) {
if (XMLNode(_local9.childNodes[_local6]).attributes.id == currentLang) {
_local12 = XMLNode(_local9.childNodes[_local6]);
break;
}
_local6++;
}
if (_local12 == undefined) {
Tracer.trace(("Language " + currentLang) + " not found!");
return(undefined);
}
var _local13 = _local12.firstChild.nodeValue;
var _local10 = _local13.split(newline);
var _local4;
var _local11;
var _local1;
var _local7;
var _local3 = false;
var _local8 = 0;
for ( ; _local8 < _local10.length ; _local8++) {
_local4 = _local10[_local8];
if ((_local4.indexOf("//", 0) == 0) || (_local4.indexOf(";", 0) == 0)) {
} else {
var _local5 = _local4.indexOf(":", 0);
if (!_local3) {
if (_local5 <= 0) {
continue;
}
} else {
_local5 = 0;
}
if (!_local3) {
_local11 = _local4.substring(0, _local5);
}
_local1 = _local4.substring(((_local5 > 0) ? (_local5 + 1) : 0), _local4.length);
var _local2 = _local1.length - 1;
while ((_local1.charCodeAt(_local2) == 13) || (_local1.charCodeAt(_local2) == 10)) {
_local2--;
}
_local1 = _local1.substring(0, _local2 + 1);
if (_local1.substr(-2, 2) == "\\n") {
_local1 = _local1.substr(0, _local1.length - 2);
if (!_local3) {
_local7 = _local1;
_local3 = true;
} else {
_local7 = _local7 + _local1;
}
} else {
if (_local3) {
_local7 = _local7 + _local1;
_local1 = _local7;
}
_local3 = false;
}
if (!_local3) {
strings.putValue(_local11, _local1);
} else {
_local7 = _local7 + newline;
}
}
}
if (OnLoaded != undefined) {
OnLoaded();
}
}
static function Transl(key) {
var _local1 = strings.getValue(key);
if (_local1 == undefined) {
Tracer.trace(((("Translation of \"" + key) + "\" not found(LANG=") + currentLang) + ")");
}
return(((_local1 != undefined) ? (_local1) : (("<" + key) + ">")));
}
static var langs_file = "languages.xml";
static var strings = new Hashtable();
}
Symbol 481 MovieClip [__Packages.com.robertpenner.profmx.snow.Snow] Frame 0
class com.robertpenner.profmx.snow.Snow extends MovieClip
{
var hasOwnProperty, _height, _width, $storm, _xscale, _yscale, boundingBox, onEnterFrame, _xmouse, $maxFlakes, $fallSpeed, $friction, $zDepth, $flakeMCname;
function Snow () {
super();
initFromClipParameters();
}
function initFromClipParameters() {
var _local2;
var _local4 = false;
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() {
var _local2 = 10;
var _local3 = {xmin:-_local2, xmax:_width + _local2, ymin:-_local2, ymax:_height + _local2, zmin:0, zmax:zDepth};
$storm = new com.robertpenner.profmx.snow.Snowstorm(_local3, friction, fallSpeed, this, flakeMCname);
_xscale = (_yscale = 100);
boundingBox._visible = false;
boundingBox._width = 0;
boundingBox._height = 0;
onEnterFrame = makeFlake;
}
function makeFlake() {
if (($numFlakes++) < maxFlakes) {
$storm.addFlake();
} else {
delete onEnterFrame;
}
}
function onMouseMove() {
var _local2 = _width / 2;
$storm.__set__wind((_xmouse - _local2) / _local2);
}
function get maxFlakes() {
return($maxFlakes);
}
function set maxFlakes(mf) {
$maxFlakes = mf;
//return(maxFlakes);
}
function get fallSpeed() {
return($fallSpeed);
}
function set fallSpeed(fs) {
$fallSpeed = fs;
//return(fallSpeed);
}
function get friction() {
return($friction);
}
function set friction(f) {
$friction = f;
//return(friction);
}
function get zDepth() {
return($zDepth);
}
function set zDepth(zd) {
$zDepth = zd;
//return(zDepth);
}
function get flakeMCname() {
return($flakeMCname);
}
function set flakeMCname(flname) {
$flakeMCname = flname;
//return(flakeMCname);
}
function get storm() {
return($storm);
}
var $numFlakes = 0;
var $clipParameters = {maxFlakes:1, fallSpeed:1, friction:1, zDepth:1, flakeMCname:""};
}
Symbol 482 MovieClip [__Packages.com.robertpenner.profmx.snow.Snowstorm] Frame 0
class com.robertpenner.profmx.snow.Snowstorm
{
var $limits, $timeline, $flakes;
function Snowstorm (limits, friction, fallSpeed, timeline, flakeMCname) {
trace("#added:Snowstorm");
$limits = limits;
$friction = friction;
$fallSpeed = fallSpeed;
$timeline = timeline;
$flakes = [];
$flakeMCname = flakeMCname;
}
function addFlake() {
var _local2 = new com.robertpenner.profmx.snow.Snowflake($fallSpeed, $timeline, $flakes.length, $flakeMCname);
_local2.__set__storm(this);
var _local5 = com.robertpenner.utils.MathUtil.randRangeFloat($limits.xmin, $limits.xmax);
var _local4 = $limits.ymin;
var _local3 = com.robertpenner.utils.MathUtil.randRangeFloat($limits.zmin, $limits.zmax);
_local2.__set__z(_local3);
_local2.__set__screenXY({x:_local5, y:_local4 + (Math.random() * ($limits.ymax - $limits.ymin))});
$flakes.unshift(_local2);
}
function removeFlake() {
return($flakes.pop());
}
function get limits() {
return($limits);
}
function set limits(l) {
$limits = l;
//return(limits);
}
function get friction() {
return($friction);
}
function set friction(f) {
$friction = f;
//return(friction);
}
function get fallSpeed() {
return($fallSpeed);
}
function set fallSpeed(s) {
$fallSpeed = s;
//return(fallSpeed);
}
function get flakes() {
return($flakes);
}
function get wind() {
return($wind);
}
function set wind(w) {
$wind = w;
//return(wind);
}
var $friction = 0;
var $fallSpeed = 0;
var $wind = 0;
var $flakeMCname = "";
}
Symbol 483 MovieClip [__Packages.com.robertpenner.profmx.snow.Snowflake] Frame 0
class com.robertpenner.profmx.snow.Snowflake
{
var $timeline, $mc, $pos, $vel, $storm, __get__xy, __get__z, __get__screenX, __get__screenY, __get__screenXY;
function Snowflake (fallSpeed, timeline, depth, flakeMCname) {
$timeline = timeline;
if (flakeMCname == "") {
$mc = $timeline.createEmptyMovieClip("s" + depth, depth);
com.robertpenner.display.ColorClip.mixin($mc);
com.robertpenner.display.DrawingClip.mixin($mc);
draw();
} else {
$mc = $timeline.attachMovie(flakeMCname, "flake", $timeline.getNextHighestDepth());
}
$pos = new com.robertpenner.geom.Vector3d(0, 0, 0);
$vel = new com.robertpenner.geom.Vector3d(0, -fallSpeed, 0);
$velRot = com.robertpenner.utils.MathUtil.randRangeFloat(-10, 10);
mx.transitions.OnEnterFrameBeacon.init();
MovieClip.addListener(this);
}
function draw() {
with ($mc) {
beginFill(16777215);
drawRegPoly(0, 0, 10, 6);
endFill();
}
}
function move() {
if (((++$t) % 10) == 0) {
$brown = com.robertpenner.utils.MathUtil.randRangeFloat(-0.2, 0.2);
}
$vel.x = $vel.x + ($brown + $storm.__get__wind());
$vel.x = $vel.x * (1 - $storm.__get__friction());
$pos.plus($vel);
$rotation = $rotation + $velRot;
renderXY();
}
function onEnterFrame() {
move();
}
function renderXY() {
$mc._x = $pos.__get__x() * $pers;
$mc._y = (-$pos.__get__y()) * $pers;
$mc._rotation = $rotation;
if ($mc._y > $storm.__get__limits().ymax) {
screenY = ($storm.__get__limits().ymin);
}
if ($mc._x > $storm.__get__limits().xmax) {
screenX = ($storm.__get__limits().xmin);
} else if ($mc._x < $storm.__get__limits().xmin) {
screenX = ($storm.__get__limits().xmax);
}
}
function renderZ() {
$pers = $pos.getPerspective();
$mc.swapDepths(Math.floor(100000 - ($pos.__get__z() * 100)));
$mc._xscale = ($mc._yscale = 100 * $pers);
$mc.setBrightness(-100 * (1 - $pers));
}
function set xy(xy) {
$pos.__set__x(xy.x);
$pos.__set__y(xy.y);
renderXY();
//return(__get__xy());
}
function set z(z) {
$pos.__set__z(z);
renderZ();
//return(__get__z());
}
function set screenX(x) {
$pos.__set__x((($mc._x = x)) / $pers);
//return(__get__screenX());
}
function set screenY(y) {
$pos.__set__y((-(($mc._y = y))) / $pers);
//return(__get__screenY());
}
function set screenXY(xy) {
screenX = (xy.x);
screenY = (xy.y);
//return(__get__screenXY());
}
function get storm() {
return($storm);
}
function set storm(s) {
$storm = s;
//return(storm);
}
var $velRot = 0;
var $rotation = 0;
var $t = 0;
var $brown = 0;
var $pers = 0;
}
Symbol 484 MovieClip [__Packages.com.robertpenner.geom.Vector] Frame 0
class com.robertpenner.geom.Vector
{
var $x, $y;
function Vector (x, y) {
initialize(x, y);
}
function initialize(x, y) {
this.x = (x);
this.y = (y);
}
function toString() {
var _local3 = Math.round(x * 1000) / 1000;
var _local2 = Math.round(y * 1000) / 1000;
return(((("[" + _local3) + ", ") + _local2) + "]");
}
function reset(x, y) {
initialize(x, y);
}
function getClone() {
return(new com.robertpenner.geom.Vector(x, y));
}
function equals(v) {
return((x == v.__get__x()) && (y == v.__get__y()));
}
function plus(v) {
x = x + v.x;
y = y + v.y;
}
function plusNew(v) {
return(new com.robertpenner.geom.Vector(x + v.__get__x(), y + v.__get__y()));
}
function minus(v) {
x = x - v.x;
y = y - v.y;
}
function minusNew(v) {
return(new com.robertpenner.geom.Vector(x - v.__get__x(), y - v.__get__y()));
}
function negate() {
x = (-x);
y = (-y);
}
function negateNew() {
return(new com.robertpenner.geom.Vector(-x, -y));
}
function scale(s) {
x = x * s;
y = y * s;
}
function scaleNew(s) {
return(new com.robertpenner.geom.Vector(x * s, y * s));
}
function getLength() {
return(Math.sqrt((x * x) + (y * y)));
}
function setLength(len) {
var _local2 = getLength();
(_local2 ? (scale(len / _local2)) : (x = (len)));
}
function getAngle() {
return(com.robertpenner.utils.Degree.atan2D(y, x));
}
function setAngle(ang) {
var _local2 = getLength();
x = (_local2 * com.robertpenner.utils.Degree.cosD(ang));
y = (_local2 * com.robertpenner.utils.Degree.sinD(ang));
}
function rotate(ang) {
var _local3 = com.robertpenner.utils.Degree.cosD(ang);
var _local2 = com.robertpenner.utils.Degree.sinD(ang);
var _local5 = (x * _local3) - (y * _local2);
var _local4 = (x * _local2) + (y * _local3);
x = (_local5);
y = (_local4);
}
function rotateNew(ang) {
var _local2 = new com.robertpenner.geom.Vector(x, y);
_local2.rotate(ang);
return(_local2);
}
function dot(v) {
return((x * v.__get__x()) + (y * v.__get__y()));
}
function getNormal() {
return(new com.robertpenner.geom.Vector(-y, x));
}
function isPerpTo(v) {
return(dot(v) == 0);
}
function isNormalTo(v) {
return(isPerpTo(v));
}
function angleBetween(v) {
var _local3 = dot(v);
var _local2 = _local3 / (getLength() * v.getLength());
return(com.robertpenner.utils.Degree.acosD(_local2));
}
function get x() {
return($x);
}
function set x(x) {
$x = x;
//return(this.x);
}
function get y() {
return($y);
}
function set y(y) {
$y = y;
//return(this.y);
}
function get length() {
return(getLength());
}
function set length(len) {
setLength(len);
//return(length);
}
function get angle() {
return(getAngle());
}
function set angle(ang) {
setAngle(ang);
//return(angle);
}
}
Symbol 485 MovieClip [__Packages.com.robertpenner.utils.Degree] Frame 0
class com.robertpenner.utils.Degree
{
function Degree () {
}
static function sinD(angle) {
return(Math.sin(angle * (Math.PI/180)));
}
static function cosD(angle) {
return(Math.cos(angle * (Math.PI/180)));
}
static function tanD(angle) {
return(Math.tan(angle * (Math.PI/180)));
}
static function asinD(ratio) {
return(Math.asin(ratio) * 57.2957795130823);
}
static function acosD(ratio) {
return(Math.acos(ratio) * 57.2957795130823);
}
static function atanD(ratio) {
return(Math.atan(ratio) * 57.2957795130823);
}
static function atan2D(y, x) {
return(Math.atan2(y, x) * 57.2957795130823);
}
}
Symbol 486 MovieClip [__Packages.com.robertpenner.geom.Vector3d] Frame 0
class com.robertpenner.geom.Vector3d extends com.robertpenner.geom.Vector
{
var $x, $y, $z;
function Vector3d (x, y, z) {
super();
initialize(x, y, z);
}
function initialize(x, y, z) {
super.initialize(x, y);
this.z = (z);
}
function toString() {
var _local4 = Math.round(x * 1000) / 1000;
var _local3 = Math.round(y * 1000) / 1000;
var _local2 = Math.round(z * 1000) / 1000;
return(((((("[" + _local4) + ", ") + _local3) + ", ") + _local2) + "]");
}
function reset(x, y, z) {
initialize(x, y, z);
}
function getClone() {
return(new com.robertpenner.geom.Vector3d(x, y, z));
}
function equals(v) {
return(super.equals(v) && (z == v.__get__z()));
}
function plus(v) {
super.plus(v);
z = z + v.z;
}
function plusNew(v) {
return(new com.robertpenner.geom.Vector3d(x + v.__get__x(), y + v.__get__y(), z + v.__get__z()));
}
function minus(v) {
super.minus(v);
z = z - v.z;
}
function minusNew(v) {
return(new com.robertpenner.geom.Vector3d(x - v.__get__x(), y - v.__get__y(), z - v.__get__z()));
}
function negate() {
super.negate();
z = (-z);
}
function negateNew() {
return(new com.robertpenner.geom.Vector3d(-x, -y, -z));
}
function scale(s) {
super.scale(s);
z = z * s;
}
function scaleNew(s) {
return(new com.robertpenner.geom.Vector3d(x * s, y * s, z * s));
}
function getLength() {
return(Math.sqrt(((x * x) + (y * y)) + (z * z)));
}
function setLength(len) {
super.setLength(len);
}
function getAngle() {
if (z == 0) {
return(super.getAngle());
}
trace("ERROR: No getAngle() method in Vector3d class");
return(undefined);
}
function setAngle(ang) {
if (z == 0) {
super.setAngle(ang);
} else {
trace("ERROR: No setAngle() method in Vector3d class");
}
}
function rotate(ang) {
if (z == 0) {
super.rotate(ang);
} else {
trace("ERROR: No rotate() method in Vector3d class");
}
}
function rotateNew(ang) {
if (z == 0) {
var _local3 = super.rotateNew(ang);
return(new com.robertpenner.geom.Vector3d(_local3.__get__x(), _local3.__get__y(), z));
}
trace("ERROR: No rotateNew() method in Vector3d class");
}
function dot(v) {
return(super.dot(v) + (z * v.__get__z()));
}
function cross(v) {
var _local5 = (y * v.__get__z()) - (z * v.__get__y());
var _local4 = (z * v.__get__x()) - (x * v.__get__z());
var _local3 = (x * v.__get__y()) - (y * v.__get__x());
return(new com.robertpenner.geom.Vector3d(_local5, _local4, _local3));
}
function getNormal() {
if (z == 0) {
var _local3 = super.getNormal();
return(new com.robertpenner.geom.Vector3d(_local3.__get__x(), _local3.__get__y(), z));
}
trace("ERROR: No getNormal() method in Vector3d class");
return(undefined);
}
function isPerpTo(v) {
if ((z == 0) && (v.__get__z() == 0)) {
return(super.isPerpTo(v));
}
trace("ERROR: No isPerpTo() method in Vector3d class");
return(undefined);
}
function isNormalTo(v) {
if ((z == 0) && (v.__get__z() == 0)) {
return(isPerpTo(v));
}
trace("ERROR: No isNormalTo() method in Vector3d class");
return(undefined);
}
function angleBetween(v) {
return(super.angleBetween(v));
}
function getPerspective(viewDist) {
viewDist = (viewDist ? (viewDist) : 300);
return(viewDist / (z + viewDist));
}
function persProject(p) {
p = (p ? (p) : (getPerspective()));
x = x * p;
y = y * p;
z = (0);
}
function persProjectNew(p) {
p = (p ? (p) : (getPerspective()));
return(new com.robertpenner.geom.Vector3d(p * x, p * y, 0));
}
function rotateX(ang) {
var _local3 = com.robertpenner.utils.Degree.cosD(ang);
var _local2 = com.robertpenner.utils.Degree.sinD(ang);
rotateXTrig(_local3, _local2);
}
function rotateXTrig(ca, sa) {
var _local3 = (y * ca) - (z * sa);
var _local2 = (y * sa) + (z * ca);
y = (_local3);
z = (_local2);
}
function rotateY(ang) {
var _local3 = com.robertpenner.utils.Degree.cosD(ang);
var _local2 = com.robertpenner.utils.Degree.sinD(ang);
rotateYTrig(_local3, _local2);
}
function rotateYTrig(ca, sa) {
var _local3 = (x * ca) + (z * sa);
var _local2 = (x * (-sa)) + (z * ca);
x = (_local3);
z = (_local2);
}
function rotateZ(ang) {
var _local3 = com.robertpenner.utils.Degree.cosD(ang);
var _local2 = com.robertpenner.utils.Degree.sinD(ang);
rotateZTrig(_local3, _local2);
}
function rotateZTrig(ca, sa) {
var _local3 = (x * ca) - (y * sa);
var _local2 = (x * sa) + (y * ca);
x = (_local3);
y = (_local2);
}
function rotateXY(a, b) {
var _local5 = com.robertpenner.utils.Degree.cosD(a);
var _local3 = com.robertpenner.utils.Degree.sinD(a);
var _local4 = com.robertpenner.utils.Degree.cosD(b);
var _local2 = com.robertpenner.utils.Degree.sinD(b);
rotateXYTrig(_local5, _local3, _local4, _local2);
}
function rotateXYTrig(ca, sa, cb, sb) {
var _local2 = (y * sa) + (z * ca);
y = ((y * ca) - (z * sa));
z = ((x * (-sb)) + (_local2 * cb));
x = ((x * cb) + (_local2 * sb));
}
function rotateXYZ(a, b, c) {
var _local7 = com.robertpenner.utils.Degree.cosD(a);
var _local5 = com.robertpenner.utils.Degree.sinD(a);
var _local6 = com.robertpenner.utils.Degree.cosD(b);
var _local3 = com.robertpenner.utils.Degree.sinD(b);
var _local4 = com.robertpenner.utils.Degree.cosD(c);
var _local2 = com.robertpenner.utils.Degree.sinD(c);
rotateXYZTrig(_local7, _local5, _local6, _local3, _local4, _local2);
}
function rotateXYZTrig(ca, sa, cb, sb, cc, sc) {
var _local3 = (y * ca) - (z * sa);
var _local2 = (y * sa) + (z * ca);
var _local4 = (x * cb) + (_local2 * sb);
z = ((x * (-sb)) + (_local2 * cb));
x = ((_local4 * cc) - (_local3 * sc));
y = ((_local4 * sc) + (_local3 * cc));
}
function get x() {
return($x);
}
function set x(x) {
$x = x;
//return(this.x);
}
function get y() {
return($y);
}
function set y(y) {
$y = y;
//return(this.y);
}
function get z() {
return($z);
}
function set z(z) {
$z = z;
//return(this.z);
}
function get length() {
return(getLength());
}
function set length(len) {
setLength(len);
//return(length);
}
}
Symbol 487 MovieClip [__Packages.com.robertpenner.display.ColorClip] Frame 0
class com.robertpenner.display.ColorClip extends MovieClip
{
function ColorClip () {
super();
}
function createProp(obj, propName, setter) {
var p = ((propName.charAt(0) == "_") ? (propName.charAt(1).toUpperCase() + propName.substr(2)) : (propName.charAt(0).toUpperCase() + propName.substr(1)));
if (p == "Rgb") {
p = "RGB";
} else if (p == "RgbStr") {
p = "RGBStr";
}
var _local3 = null;
var _local4 = function (Void) {
return(this["get" + p]());
};
if (setter) {
_local3 = function (val) {
this["set" + p](val);
};
}
obj.addProperty(propName, _local4, _local3);
}
static function init() {
if (initialized) {
return(undefined);
}
initialized = true;
mixin(MovieClip.prototype);
}
static function mixin(obj) {
var _local4 = mixInProps;
var _local5 = _local4.length;
var _local2 = 0;
while (_local2 < _local5) {
obj[_local4[_local2]] = mixins[_local4[_local2]];
_global.ASSetPropFlags(obj, _local4[_local2], 1);
_local2++;
}
mixins.createProp(obj, "rgb", true);
_global.ASSetPropFlags(obj, "rgb", 1);
mixins.createProp(obj, "rgbStr", true);
_global.ASSetPropFlags(obj, "rgbStr", 1);
mixins.createProp(obj, "brightness", true);
_global.ASSetPropFlags(obj, "brightness", 1);
mixins.createProp(obj, "brightOffset", true);
_global.ASSetPropFlags(obj, "brightOffset", 1);
mixins.createProp(obj, "negativeColor", true);
_global.ASSetPropFlags(obj, "negativeColor", 1);
mixins.createProp(obj, "red", true);
_global.ASSetPropFlags(obj, "red", 1);
mixins.createProp(obj, "green", true);
_global.ASSetPropFlags(obj, "green", 1);
mixins.createProp(obj, "blue", true);
_global.ASSetPropFlags(obj, "blue", 1);
mixins.createProp(obj, "redPercent", true);
_global.ASSetPropFlags(obj, "redPercent", 1);
mixins.createProp(obj, "greenPercent", true);
_global.ASSetPropFlags(obj, "greenPercent", 1);
mixins.createProp(obj, "bluePercent", true);
_global.ASSetPropFlags(obj, "bluePercent", 1);
mixins.createProp(obj, "redOffset", true);
_global.ASSetPropFlags(obj, "redOffset", 1);
mixins.createProp(obj, "greenOffset", true);
_global.ASSetPropFlags(obj, "greenOffset", 1);
mixins.createProp(obj, "blueOffset", true);
_global.ASSetPropFlags(obj, "blueOffset", 1);
}
function setRGB(col) {
(new com.robertpenner.graphics.XColor(this)).setRGB(col);
}
function getRGB() {
return((new com.robertpenner.graphics.XColor(this)).getRGB());
}
function setRGBStr(hexStr) {
(new com.robertpenner.graphics.XColor(this)).setRGBStr(hexStr);
}
function getRGBStr() {
return((new com.robertpenner.graphics.XColor(this)).getRGBStr());
}
function setRGB2(r, g, b) {
(new com.robertpenner.graphics.XColor(this)).setRGB2(r, g, b);
}
function getRGB2() {
return((new com.robertpenner.graphics.XColor(this)).getRGB2());
}
function setColorTransform(trans) {
(new com.robertpenner.graphics.XColor(this)).setTransform(trans);
}
function getColorTransform() {
return((new com.robertpenner.graphics.XColor(this)).getTransform());
}
function resetColor() {
(new com.robertpenner.graphics.XColor(this)).reset();
}
function setBrightness(bright) {
(new com.robertpenner.graphics.XColor(this)).setBrightness(bright);
}
function getBrightness() {
return((new com.robertpenner.graphics.XColor(this)).getBrightness());
}
function setBrightOffset(offset) {
(new com.robertpenner.graphics.XColor(this)).setBrightOffset(offset);
}
function getBrightOffset() {
return((new com.robertpenner.graphics.XColor(this)).getBrightOffset());
}
function setTint(r, g, b, percent) {
(new com.robertpenner.graphics.XColor(this)).setTint(r, g, b, percent);
}
function getTint() {
return((new com.robertpenner.graphics.XColor(this)).getTint());
}
function setTint2(rgb, percent) {
(new com.robertpenner.graphics.XColor(this)).setTint2(rgb, percent);
}
function getTint2() {
return((new com.robertpenner.graphics.XColor(this)).getTint2());
}
function setTintOffset(r, g, b) {
(new com.robertpenner.graphics.XColor(this)).setTintOffset(r, g, b);
}
function getTintOffset() {
return((new com.robertpenner.graphics.XColor(this)).getTintOffset());
}
function setTintOffset2(rgb) {
(new com.robertpenner.graphics.XColor(this)).setTintOffset2(rgb);
}
function getTintOffset2() {
return((new com.robertpenner.graphics.XColor(this)).getTintOffset2());
}
function invertColor() {
(new com.robertpenner.graphics.XColor(this)).invert();
}
function setNegativeColor(percent) {
(new com.robertpenner.graphics.XColor(this)).setNegative(percent);
}
function getNegativeColor() {
return((new com.robertpenner.graphics.XColor(this)).getNegative());
}
function setRed(amount) {
(new com.robertpenner.graphics.XColor(this)).setRed(amount);
}
function getRed() {
return((new com.robertpenner.graphics.XColor(this)).getRed());
}
function setGreen(amount) {
(new com.robertpenner.graphics.XColor(this)).setGreen(amount);
}
function getGreen() {
return((new com.robertpenner.graphics.XColor(this)).getGreen());
}
function setBlue(amount) {
(new com.robertpenner.graphics.XColor(this)).setBlue(amount);
}
function getBlue() {
return((new com.robertpenner.graphics.XColor(this)).getBlue());
}
function setRedPercent(percent) {
(new com.robertpenner.graphics.XColor(this)).setRedPercent(percent);
}
function getRedPercent() {
return((new com.robertpenner.graphics.XColor(this)).getRedPercent());
}
function setGreenPercent(percent) {
(new com.robertpenner.graphics.XColor(this)).setGreenPercent(percent);
}
function getGreenPercent() {
return((new com.robertpenner.graphics.XColor(this)).getGreenPercent());
}
function setBluePercent(percent) {
(new com.robertpenner.graphics.XColor(this)).setBluePercent(percent);
}
function getBluePercent() {
return((new com.robertpenner.graphics.XColor(this)).getBluePercent());
}
function setRedOffset(offset) {
(new com.robertpenner.graphics.XColor(this)).setRedOffset(offset);
}
function getRedOffset() {
return((new com.robertpenner.graphics.XColor(this)).getRedOffset());
}
function setGreenOffset(offset) {
(new com.robertpenner.graphics.XColor(this)).setGreenOffset(offset);
}
function getGreenOffset() {
return((new com.robertpenner.graphics.XColor(this)).getGreenOffset());
}
function setBlueOffset(offset) {
(new com.robertpenner.graphics.XColor(this)).setBlueOffset(offset);
}
function getBlueOffset() {
return((new com.robertpenner.graphics.XColor(this)).getBlueOffset());
}
function get rgb() {
return(getRGB());
}
function set rgb(col) {
setRGB(col);
//return(rgb);
}
function get rgbStr() {
return(getRGBStr());
}
function set rgbStr(hexStr) {
setRGBStr(hexStr);
//return(rgbStr);
}
function get brightness() {
return(getBrightness());
}
function set brightness(bright) {
setBrightness(bright);
//return(brightness);
}
function get brightOffset() {
return(getBrightOffset());
}
function set brightOffset(offset) {
setBrightOffset(offset);
//return(brightOffset);
}
function get negativeColor() {
return(getNegativeColor());
}
function set negativeColor(percent) {
setNegativeColor(percent);
//return(negativeColor);
}
function get red() {
return(getRed());
}
function set red(amount) {
setRed(amount);
//return(red);
}
function get green() {
return(getGreen());
}
function set green(amount) {
setGreen(amount);
//return(green);
}
function get blue() {
return(getBlue());
}
function set blue(amount) {
setBlue(amount);
//return(blue);
}
function get redPercent() {
return(getRedPercent());
}
function set redPercent(percent) {
setRedPercent(percent);
//return(redPercent);
}
function get greenPercent() {
return(getGreenPercent());
}
function set greenPercent(percent) {
setGreenPercent(percent);
//return(greenPercent);
}
function get bluePercent() {
return(getBluePercent());
}
function set bluePercent(percent) {
setBluePercent(percent);
//return(bluePercent);
}
function get redOffset() {
return(getRedOffset());
}
function set redOffset(offset) {
setRedOffset(offset);
//return(redOffset);
}
function get greenOffset() {
return(getGreenOffset());
}
function set greenOffset(offset) {
setGreenOffset(offset);
//return(greenOffset);
}
function get blueOffset() {
return(getBlueOffset());
}
function set blueOffset(offset) {
setBlueOffset(offset);
//return(blueOffset);
}
static var initialized = false;
static var mixins = new com.robertpenner.display.ColorClip();
static var mixInProps = ["setRGB", "getRGB", "setRGBStr", "getRGBStr", "setRGB2", "getRGB2", "setColorTransform", "getColorTransform", "resetColor", "setBrightness", "getBrightness", "setBrightOffset", "getBrightOffset", "setTint", "getTint", "setTint2", "getTint2", "setTintOffset", "getTintOffset", "setTintOffset2", "getTintOffset2", "invertColor", "setNegativeColor", "getNegativeColor", "setRed", "getRed", "setGreen", "getGreen", "setBlue", "getBlue", "setRedPercent", "getRedPercent", "setGreenPercent", "getGreenPercent", "setBluePercent", "getBluePercent", "setRedOffset", "getRedOffset", "setGreenOffset", "getGreenOffset", "setBlueOffset", "getBlueOffset"];
}
Symbol 488 MovieClip [__Packages.com.robertpenner.graphics.XColor] Frame 0
class com.robertpenner.graphics.XColor extends Color
{
function XColor (target) {
super(target);
}
function setRGB(col) {
super.setRGB(col);
}
function getRGB() {
return(super.getRGB());
}
function setRGBStr(hexStr) {
com.robertpenner.utils.ColorUtil.setRGBStr(this, hexStr);
}
function getRGBStr() {
return(com.robertpenner.utils.ColorUtil.getRGBStr(this));
}
function setRGB2(r, g, b) {
com.robertpenner.utils.ColorUtil.setRGB2(this, r, g, b);
}
function getRGB2() {
return(com.robertpenner.utils.ColorUtil.getRGB2(this));
}
function setTransform(trans) {
super.setTransform(trans);
}
function getTransform() {
return(super.getTransform());
}
function reset() {
com.robertpenner.utils.ColorUtil.reset(this);
}
function setBrightness(bright) {
com.robertpenner.utils.ColorUtil.setBrightness(this, bright);
}
function getBrightness() {
return(com.robertpenner.utils.ColorUtil.getBrightness(this));
}
function setBrightOffset(offset) {
com.robertpenner.utils.ColorUtil.setBrightOffset(this, offset);
}
function getBrightOffset() {
return(com.robertpenner.utils.ColorUtil.getBrightOffset(this));
}
function setTint(r, g, b, percent) {
com.robertpenner.utils.ColorUtil.setTint(this, r, g, b, percent);
}
function getTint() {
return(com.robertpenner.utils.ColorUtil.getTint(this));
}
function setTint2(rgb, percent) {
com.robertpenner.utils.ColorUtil.setTint2(this, rgb, percent);
}
function getTint2() {
return(com.robertpenner.utils.ColorUtil.getTint2(this));
}
function setTintOffset(r, g, b) {
com.robertpenner.utils.ColorUtil.setTintOffset(this, r, g, b);
}
function getTintOffset() {
return(com.robertpenner.utils.ColorUtil.getTintOffset(this));
}
function setTintOffset2(rgb) {
com.robertpenner.utils.ColorUtil.setTintOffset2(this, rgb);
}
function getTintOffset2() {
return(com.robertpenner.utils.ColorUtil.getTintOffset2(this));
}
function invert() {
com.robertpenner.utils.ColorUtil.invert(this);
}
function setNegative(percent) {
com.robertpenner.utils.ColorUtil.setNegative(this, percent);
}
function getNegative() {
return(com.robertpenner.utils.ColorUtil.getNegative(this));
}
function setRed(amount) {
com.robertpenner.utils.ColorUtil.setRed(this, amount);
}
function getRed() {
return(com.robertpenner.utils.ColorUtil.getRed(this));
}
function setGreen(amount) {
com.robertpenner.utils.ColorUtil.setGreen(this, amount);
}
function getGreen() {
return(com.robertpenner.utils.ColorUtil.getGreen(this));
}
function setBlue(amount) {
com.robertpenner.utils.ColorUtil.setBlue(this, amount);
}
function getBlue() {
return(com.robertpenner.utils.ColorUtil.getBlue(this));
}
function setRedPercent(percent) {
com.robertpenner.utils.ColorUtil.setRedPercent(this, percent);
}
function getRedPercent() {
return(com.robertpenner.utils.ColorUtil.getRedPercent(this));
}
function setGreenPercent(percent) {
com.robertpenner.utils.ColorUtil.setGreenPercent(this, percent);
}
function getGreenPercent() {
return(com.robertpenner.utils.ColorUtil.getGreenPercent(this));
}
function setBluePercent(percent) {
com.robertpenner.utils.ColorUtil.setBluePercent(this, percent);
}
function getBluePercent() {
return(com.robertpenner.utils.ColorUtil.getBluePercent(this));
}
function setRedOffset(offset) {
com.robertpenner.utils.ColorUtil.setRedOffset(this, offset);
}
function getRedOffset() {
return(com.robertpenner.utils.ColorUtil.getRedOffset(this));
}
function setGreenOffset(offset) {
com.robertpenner.utils.ColorUtil.setGreenOffset(this, offset);
}
function getGreenOffset() {
return(com.robertpenner.utils.ColorUtil.getGreenOffset(this));
}
function setBlueOffset(offset) {
com.robertpenner.utils.ColorUtil.setBlueOffset(this, offset);
}
function getBlueOffset() {
return(com.robertpenner.utils.ColorUtil.getBlueOffset(this));
}
function get rgb() {
return(getRGB());
}
function set rgb(col) {
setRGB(col);
//return(rgb);
}
function get rgbStr() {
return(getRGBStr());
}
function set rgbStr(hexStr) {
setRGBStr(hexStr);
//return(rgbStr);
}
function get brightness() {
return(getBrightness());
}
function set brightness(bright) {
setBrightness(bright);
//return(brightness);
}
function get brightOffset() {
return(getBrightOffset());
}
function set brightOffset(offset) {
setBrightOffset(offset);
//return(brightOffset);
}
function get negative() {
return(getNegative());
}
function set negative(percent) {
setNegative(percent);
//return(negative);
}
function get red() {
return(getRed());
}
function set red(amount) {
setRed(amount);
//return(red);
}
function get green() {
return(getGreen());
}
function set green(amount) {
setGreen(amount);
//return(green);
}
function get blue() {
return(getBlue());
}
function set blue(amount) {
setBlue(amount);
//return(blue);
}
function get redPercent() {
return(getRedPercent());
}
function set redPercent(percent) {
setRedPercent(percent);
//return(redPercent);
}
function get greenPercent() {
return(getGreenPercent());
}
function set greenPercent(percent) {
setGreenPercent(percent);
//return(greenPercent);
}
function get bluePercent() {
return(getBluePercent());
}
function set bluePercent(percent) {
setBluePercent(percent);
//return(bluePercent);
}
function get redOffset() {
return(getRedOffset());
}
function set redOffset(offset) {
setRedOffset(offset);
//return(redOffset);
}
function get greenOffset() {
return(getGreenOffset());
}
function set greenOffset(offset) {
setGreenOffset(offset);
//return(greenOffset);
}
function get blueOffset() {
return(getBlueOffset());
}
function set blueOffset(offset) {
setBlueOffset(offset);
//return(blueOffset);
}
}
Symbol 489 MovieClip [__Packages.com.robertpenner.utils.ColorUtil] Frame 0
class com.robertpenner.utils.ColorUtil
{
function ColorUtil () {
}
static function setRGBStr(col, hexStr) {
hexStr = hexStr.substr(-6, 6);
col.setRGB(parseInt(hexStr, 16));
}
static function getRGBStr(col) {
var _local1 = col.getRGB().toString(16);
var _local2 = 6 - _local1.length;
while (_local2--) {
_local1 = "0" + _local1;
}
return(_local1.toUpperCase());
}
static function setRGB2(col, r, g, b) {
col.setRGB(((r << 16) | (g << 8)) | b);
}
static function getRGB2(col) {
var _local1 = col.getTransform();
return({r:_local1.rb, g:_local1.gb, b:_local1.bb});
}
static function reset(col) {
col.setTransform({ra:100, ga:100, ba:100, rb:0, gb:0, bb:0});
}
static function setBrightness(col, bright) {
var trans = col.getTransform();
with (trans) {
ra = (ga = (ba = 100 - Math.abs(bright)));
rb = (gb = (bb = ((bright > 0) ? (bright * 2.56) : 0)));
}
col.setTransform(trans);
}
static function getBrightness(col) {
var trans = col.getTransform();
with (trans) {
return((rb ? (100 - ra) : (ra - 100)));
}
}
static function setBrightOffset(col, offset) {
var trans = col.getTransform();
with (trans) {
rb = (gb = (bb = offset));
}
col.setTransform(trans);
}
static function getBrightOffset(col) {
return(col.getTransform().rb);
}
static function setTint(col, r, g, b, percent) {
var _local2 = percent / 100;
var _local1 = {rb:r * _local2, gb:g * _local2, bb:b * _local2};
_local1.ra = (_local1.ga = (_local1.ba = 100 - percent));
col.setTransform(_local1);
}
static function getTint(col) {
var _local2 = col.getTransform();
var _local1 = {percent:100 - _local2.ra};
var _local3 = 100 / _local1.percent;
_local1.r = _local2.rb * _local3;
_local1.g = _local2.gb * _local3;
_local1.b = _local2.bb * _local3;
return(_local1);
}
static function setTint2(col, rgb, percent) {
var _local5 = rgb >> 16;
var _local6 = (rgb >> 8) & 255;
var _local4 = rgb & 255;
var _local2 = percent / 100;
var _local1 = {rb:_local5 * _local2, gb:_local6 * _local2, bb:_local4 * _local2};
_local1.ra = (_local1.ga = (_local1.ba = 100 - percent));
col.setTransform(_local1);
}
static function getTint2(col) {
var _local1 = col.getTransform();
var _local2 = {percent:100 - _local1.ra};
var _local3 = 100 / _local2.percent;
_local2.rgb = (((_local1.rb * _local3) << 16) | ((_local1.gb * _local3) << 8)) | (_local1.bb * _local3);
return(_local2);
}
static function setTintOffset(col, r, g, b) {
var trans = col.getTransform();
with (trans) {
rb = r;
gb = g;
bb = b;
}
col.setTransform(trans);
}
static function getTintOffset(col) {
var _local1 = col.getTransform();
return({r:_local1.rb, g:_local1.gb, b:_local1.bb});
}
static function setTintOffset2(col, rgb) {
var r = (rgb >> 16);
var g = ((rgb >> 8) & 255);
var b = (rgb & 255);
var trans = col.getTransform();
with (trans) {
rb = r;
gb = g;
bb = b;
}
col.setTransform(trans);
}
static function getTintOffset2(col) {
var _local1 = col.getTransform();
return(((_local1.rb << 16) | (_local1.gb << 8)) | _local1.bb);
}
static function invert(col) {
var trans = col.getTransform();
with (trans) {
ra = -ra;
ga = -ga;
ba = -ba;
rb = 255 - rb;
gb = 255 - gb;
bb = 255 - bb;
}
col.setTransform(trans);
}
static function setNegative(col, percent) {
var _local1 = {};
_local1.ra = (_local1.ga = (_local1.ba = 100 - (2 * percent)));
_local1.rb = (_local1.gb = (_local1.bb = percent * 2.55));
col.setTransform(_local1);
}
static function getNegative(col) {
return(col.getTransform().rb * 0.392156862745098);
}
static function setRed(col, amount) {
var _local1 = col.getTransform();
col.setRGB(((amount << 16) | (_local1.gb << 8)) | _local1.bb);
}
static function getRed(col) {
return(col.getTransform().rb);
}
static function setGreen(col, amount) {
var _local1 = col.getTransform();
col.setRGB(((_local1.rb << 16) | (amount << 8)) | _local1.bb);
}
static function getGreen(col) {
return(col.getTransform().gb);
}
static function setBlue(col, amount) {
var _local1 = col.getTransform();
col.setRGB(((_local1.rb << 16) | (_local1.gb << 8)) | amount);
}
static function getBlue(col) {
return(col.getTransform().bb);
}
static function setRedPercent(col, percent) {
var _local1 = col.getTransform();
_local1.ra = percent;
col.setTransform(_local1);
}
static function getRedPercent(col) {
return(col.getTransform().ra);
}
static function setGreenPercent(col, percent) {
var _local1 = col.getTransform();
_local1.ga = percent;
col.setTransform(_local1);
}
static function getGreenPercent(col) {
return(col.getTransform().ga);
}
static function setBluePercent(col, percent) {
var _local1 = col.getTransform();
_local1.ba = percent;
col.setTransform(_local1);
}
static function getBluePercent(col) {
return(col.getTransform().ba);
}
static function setRedOffset(col, offset) {
var _local1 = col.getTransform();
_local1.rb = offset;
col.setTransform(_local1);
}
static function getRedOffset(col) {
return(col.getTransform().rb);
}
static function setGreenOffset(col, offset) {
var _local1 = col.getTransform();
_local1.gb = offset;
col.setTransform(_local1);
}
static function getGreenOffset(col) {
return(col.getTransform().gb);
}
static function setBlueOffset(col, offset) {
var _local1 = col.getTransform();
_local1.bb = offset;
col.setTransform(_local1);
}
static function getBlueOffset(col) {
return(col.getTransform().bb);
}
}
Symbol 490 MovieClip [__Packages.com.robertpenner.display.DrawingClip] Frame 0
class com.robertpenner.display.DrawingClip extends MovieClip
{
var $xpen, $xpenStart, $ypen, $ypenStart;
function DrawingClip () {
super();
}
function createProp(obj, propName, setter) {
var p = ((propName.charAt(0) == "_") ? (propName.charAt(1).toUpperCase() + propName.substr(2)) : (propName.charAt(0).toUpperCase() + propName.substr(1)));
if (p == "Xpen") {
p = "XPen";
} else if (p == "Ypen") {
p = "YPen";
} else if (p == "XpenStart") {
p = "XPenStart";
} else if (p == "YpenStart") {
p = "YPenStart";
}
var _local3 = null;
var _local4 = function (Void) {
return(this["get" + p]());
};
if (setter) {
_local3 = function (val) {
this["set" + p](val);
};
}
obj.addProperty(propName, _local4, _local3);
}
function createBezier(a1, c1, c2, a2, t) {
var _local3 = intersect2Lines(a1, c1, c2, a2);
var _local8 = (((a1.x + a2.x) + (_local3.x * 4)) - ((c1.x + c2.x) * 3)) * 0.125;
var _local7 = (((a1.y + a2.y) + (_local3.y * 4)) - ((c1.y + c2.y) * 3)) * 0.125;
if (((_local8 * _local8) + (_local7 * _local7)) > t) {
var _local11 = bezierSplit(a1, c1, c2, a2);
var _local6 = _local11.b0;
var _local4 = _local11.b1;
createBezier(a1, _local6.c1, _local6.c2, _local6.a2, t);
createBezier(_local4.a1, _local4.c1, _local4.c2, a2, t);
} else {
curveTo(_local3.x, _local3.y, a2.x, a2.y);
}
}
function intersect2Lines(p1, p2, p3, p4) {
var _local1 = p1.x;
var _local3 = p1.y;
var _local2 = p4.x;
var _local8 = p4.y;
var _local7 = p2.x - _local1;
var _local6 = p3.x - _local2;
if (!(_local7 || (_local6))) {
return(NaN);
}
var _local4 = (p2.y - _local3) / _local7;
var _local5 = (p3.y - _local8) / _local6;
if (!_local7) {
return({x:_local1, y:(_local5 * (_local1 - _local2)) + _local8});
}
if (!_local6) {
return({x:_local2, y:(_local4 * (_local2 - _local1)) + _local3});
}
var _local9 = (((((-_local5) * _local2) + _local8) + (_local4 * _local1)) - _local3) / (_local4 - _local5);
var _local10 = (_local4 * (_local9 - _local1)) + _local3;
return({x:_local9, y:_local10});
}
function midLine(a, b) {
return({x:(a.x + b.x) / 2, y:(a.y + b.y) / 2});
}
function bezierSplit(p0, p1, p2, p3) {
var _local2 = midLine;
var _local8 = _local2(p0, p1);
var _local5 = _local2(p1, p2);
var _local3 = _local2(p2, p3);
var _local7 = _local2(_local8, _local5);
var _local4 = _local2(_local5, _local3);
var _local6 = _local2(_local7, _local4);
return({b0:{a1:p0, c1:_local8, c2:_local7, a2:_local6}, b1:{a1:_local6, c1:_local4, c2:_local3, a2:p3}});
}
static function init() {
if (initialized) {
return(undefined);
}
initialized = true;
mixin(MovieClip.prototype);
}
static function mixin(obj) {
var _local3 = mixInProps;
var _local5 = _local3.length;
var _local2 = 0;
while (_local2 < _local5) {
obj[_local3[_local2]] = mixins[_local3[_local2]];
_global.ASSetPropFlags(obj, _local3[_local2], 1);
_local2++;
}
mixins.createProp(obj, "xpen", true);
_global.ASSetPropFlags(obj, "xpen", 1);
mixins.createProp(obj, "ypen", true);
_global.ASSetPropFlags(obj, "ypen", 1);
mixins.createProp(obj, "xpenStart", false);
_global.ASSetPropFlags(obj, "xpenStart", 1);
mixins.createProp(obj, "ypenStart", false);
_global.ASSetPropFlags(obj, "ypenStart", 1);
}
function moveTo(x, y) {
$moveTo(x, y);
$xpen = ($xpenStart = x);
$ypen = ($ypenStart = y);
}
function lineTo(x, y) {
$lineTo(x, y);
$xpen = x;
$ypen = y;
}
function curveTo(cx, cy, ax, ay) {
$curveTo(cx, cy, ax, ay);
$xpen = ax;
$ypen = ay;
}
function clear() {
$clear();
$xpen = ($ypen = ($xpenStart = ($ypenStart = 0)));
}
function setXPen(x) {
$xpen = x;
moveTo(x, $ypen);
}
function getXPen() {
if ($xpen == undefined) {
$xpen = 0;
}
return($xpen);
}
function setYPen(y) {
$ypen = y;
moveTo($xpen, y);
}
function getYPen() {
if ($ypen == undefined) {
$ypen = 0;
}
return($ypen);
}
function getXPenStart() {
if ($xpenStart == undefined) {
$xpenStart = 0;
}
return($xpenStart);
}
function getYPenStart() {
if ($ypenStart == undefined) {
$ypenStart = 0;
}
return($ypenStart);
}
function drawLine(x1, y1, x2, y2) {
with (this) {
moveTo(x1, y1);
lineTo(x2, y2);
}
}
function drawTri(p1, p2, p3) {
with (this) {
moveTo(p1.x, p1.y);
lineTo(p2.x, p2.y);
lineTo(p3.x, p3.y);
lineTo(p1.x, p1.y);
}
}
function drawQuad(p1, p2, p3, p4) {
with (this) {
moveTo(p1.x, p1.y);
lineTo(p2.x, p2.y);
lineTo(p3.x, p3.y);
lineTo(p4.x, p4.y);
lineTo(p1.x, p1.y);
}
}
function drawRect(x1, y1, x2, y2) {
with (this) {
moveTo(x1, y1);
lineTo(x2, y1);
lineTo(x2, y2);
lineTo(x1, y2);
lineTo(x1, y1);
}
}
function drawRectRel(x, y, w, h) {
drawRect(x, y, x + w, y + h);
}
function drawRectCent(x, y, w, h) {
drawRect(x - (w / 2), y - (h / 2), x + (w / 2), y + (h / 2));
}
function drawSquare(x, y, w) {
drawRect(x, y, x + w, y + w);
}
function drawSquareCent(x, y, w) {
var _local2 = w / 2;
drawRect(x - _local2, y - _local2, x + _local2, y + _local2);
}
function drawDot(x, y) {
drawRect(x - 0.5, y - 0.5, x + 0.5, y + 0.5);
}
function drawPoly(pts) {
moveTo(pts[0].x, pts[0].y);
var _local2 = pts.length;
while (_local2--) {
lineTo(pts[_local2].x, pts[_local2].y);
}
}
function drawRegPoly(x, y, r, numPts, rotation) {
if (!rotation) {
rotation = 0;
}
var _local2 = (-90 + rotation) * (Math.PI/180);
var _local8 = [];
var _local4;
var _local3;
var _local11 = (Math.PI*2) / numPts;
var _local10 = Math.cos;
var _local9 = Math.sin;
while (numPts--) {
_local2 = _local2 + _local11;
_local4 = (r * _local10(_local2)) + x;
_local3 = (r * _local9(_local2)) + y;
_local8.push({x:_local4, y:_local3});
}
drawPoly(_local8);
}
function drawOval(x, y, rx, ry) {
with (this) {
moveTo(x + rx, y);
curveTo(rx + x, (0.4142 * ry) + y, (0.7071 * rx) + x, (0.7071 * ry) + y);
curveTo((0.4142 * rx) + x, ry + y, x, ry + y);
curveTo((-0.4142 * rx) + x, ry + y, (-0.7071 * rx) + x, (0.7071 * ry) + y);
curveTo((-rx) + x, (0.4142 * ry) + y, (-rx) + x, y);
curveTo((-rx) + x, (-0.4142 * ry) + y, (-0.7071 * rx) + x, (-0.7071 * ry) + y);
curveTo((-0.4142 * rx) + x, (-ry) + y, x, (-ry) + y);
curveTo((0.4142 * rx) + x, (-ry) + y, (0.7071 * rx) + x, (-0.7071 * ry) + y);
curveTo(rx + x, (-0.4142 * ry) + y, rx + x, y);
}
}
function drawCircle(x, y, r) {
drawOval(x, y, r, r);
}
function curveThruTo(pointX, pointY, anchorX, anchorY) {
var _local3 = (2 * pointX) - (0.5 * (getXPen() + anchorX));
var _local2 = (2 * pointY) - (0.5 * (getYPen() + anchorY));
curveTo(_local3, _local2, anchorX, anchorY);
}
function drawCurve3Pts(p1, p2, p3) {
moveTo(p1.x, p1.y);
curveThruTo(p2.x, p2.y, p3.x, p3.y);
}
function drawBezier(anchorX1, anchorY1, controlX1, controlY1, controlX2, controlY2, anchorX2, anchorY2, tolerance) {
if (tolerance == undefined) {
tolerance = 5;
}
moveTo(anchorX1, anchorY1);
createBezier({x:anchorX1, y:anchorY1}, {x:controlX1, y:controlY1}, {x:controlX2, y:controlY2}, {x:anchorX2, y:anchorY2}, tolerance * tolerance);
}
function drawBezierPts(anchorP1, controlP1, controlP2, anchorP2, tolerance) {
if (tolerance == undefined) {
tolerance = 5;
}
moveTo(anchorP1.x, anchorP1.y);
createBezier(anchorP1, controlP1, controlP2, anchorP2, tolerance * tolerance);
}
function curveToCubic(controlX1, controlY1, controlX2, controlY2, anchorX, anchorY, tolerance) {
if (tolerance == undefined) {
tolerance = 5;
}
createBezier({x:getXPen(), y:getYPen()}, {x:controlX1, y:controlY1}, {x:controlX2, y:controlY2}, {x:anchorX, y:anchorY}, tolerance * tolerance);
}
function curveToCubicPts(controlP1, controlP2, anchorP, tolerance) {
if (tolerance == undefined) {
tolerance = 5;
}
createBezier({x:getXPen(), y:getYPen()}, controlP1, controlP2, anchorP, tolerance * tolerance);
}
function get xpen() {
return(getXPen());
}
function set xpen(x) {
setXPen(x);
//return(xpen);
}
function get ypen() {
return(getYPen());
}
function set ypen(y) {
setYPen(y);
//return(ypen);
}
function get xpenStart() {
return(getXPenStart());
}
function get ypenStart() {
return(getYPenStart());
}
static var initialized = false;
static var mixins = new com.robertpenner.display.DrawingClip();
static var mixInProps = ["$moveTo", "moveTo", "$lineTo", "lineTo", "$curveTo", "curveTo", "$clear", "clear", "setXPen", "getXPen", "setYPen", "getYPen", "getXPenStart", "getYPenStart", "drawLine", "drawTri", "drawQuad", "drawRect", "drawRectRel", "drawRectCent", "drawSquare", "drawSquareCent", "drawDot", "drawPoly", "drawRegPoly", "drawOval", "drawCircle", "curveThruTo", "drawCurve3Pts", "createBezier", "intersect2Lines", "midLine", "bezierSplit", "drawBezier", "drawBezierPts", "curveToCubic", "curveToCubicPts"];
var $moveTo = MovieClip.prototype.moveTo;
var $lineTo = MovieClip.prototype.lineTo;
var $curveTo = MovieClip.prototype.curveTo;
var $clear = MovieClip.prototype.clear;
}
Symbol 491 MovieClip [__Packages.com.robertpenner.utils.MathUtil] Frame 0
class com.robertpenner.utils.MathUtil
{
function MathUtil () {
}
static function distance(x1, y1, x2, y2) {
var _local2 = x2 - x1;
var _local1 = y2 - y1;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
}
static function distancePts(p1, p2) {
var _local2 = p2.x - p1.x;
var _local1 = p2.y - p1.y;
return(Math.sqrt((_local2 * _local2) + (_local1 * _local1)));
}
static function angleOfLine(x1, y1, x2, y2) {
return(com.robertpenner.utils.Degree.atan2D(y2 - y1, x2 - x1));
}
static function angleOfLinePts(p1, p2) {
return(com.robertpenner.utils.Degree.atan2D(p2.y - p1.y, p2.x - p1.x));
}
static function fixAngle(angle) {
angle = angle % 360;
return(((angle < 0) ? (angle + 360) : (angle)));
}
static function degreesToRadians(angle) {
return(angle * (Math.PI/180));
}
static function radiansToDegrees(angle) {
return(angle * 57.2957795130823);
}
static function randRangeFloat(low, high) {
return((Math.random() * (high - low)) + low);
}
static function randRangeInt(low, high) {
return(Math.floor((Math.random() * ((high - low) + 1)) + low));
}
static var DEG2RAD = 0.0174532925199433 /* Math.PI/180 */;
static var RAD2DEG = 57.2957795130823;
static var PHI = 1.61803398874989;
static var LAMBDA = 0.57721566490143;
}
Symbol 492 MovieClip [__Packages.mx.transitions.OnEnterFrameBeacon] Frame 0
class mx.transitions.OnEnterFrameBeacon
{
function OnEnterFrameBeacon () {
}
static function init() {
var _local4 = _global.MovieClip;
if (!_root.__OnEnterFrameBeacon) {
mx.transitions.BroadcasterMX.initialize(_local4);
var _local3 = _root.createEmptyMovieClip("__OnEnterFrameBeacon", 9876);
_local3.onEnterFrame = function () {
_global.MovieClip.broadcastMessage("onEnterFrame");
};
}
}
static var version = "1.1.0.52";
}
Symbol 493 MovieClip [__Packages.mx.transitions.BroadcasterMX] Frame 0
class mx.transitions.BroadcasterMX
{
var _listeners;
function BroadcasterMX () {
}
static function initialize(o, dontCreateArray) {
if (o.broadcastMessage != undefined) {
delete o.broadcastMessage;
}
o.addListener = mx.transitions.BroadcasterMX.prototype.addListener;
o.removeListener = mx.transitions.BroadcasterMX.prototype.removeListener;
if (!dontCreateArray) {
o._listeners = new Array();
}
}
function addListener(o) {
removeListener(o);
if (broadcastMessage == undefined) {
broadcastMessage = mx.transitions.BroadcasterMX.prototype.broadcastMessage;
}
return(_listeners.push(o));
}
function removeListener(o) {
var _local2 = _listeners;
var _local3 = _local2.length;
while (_local3--) {
if (_local2[_local3] == o) {
_local2.splice(_local3, 1);
if (!_local2.length) {
broadcastMessage = undefined;
}
return(true);
}
}
return(false);
}
function broadcastMessage() {
var _local5 = String(arguments.shift());
var _local4 = _listeners.concat();
var _local6 = _local4.length;
var _local3 = 0;
while (_local3 < _local6) {
_local4[_local3][_local5].apply(_local4[_local3], arguments);
_local3++;
}
}
static var version = "1.1.0.52";
}
Symbol 494 MovieClip [__Packages.mx.transitions.easing.Regular] Frame 0
class mx.transitions.easing.Regular
{
function Regular () {
}
static function easeIn(t, b, c, d) {
t = t / d;
return(((c * t) * t) + b);
}
static function easeOut(t, b, c, d) {
t = t / d;
return((((-c) * t) * (t - 2)) + b);
}
static function easeInOut(t, b, c, d) {
t = t / (d / 2);
if (t < 1) {
return((((c / 2) * t) * t) + b);
}
t--;
return((((-c) / 2) * ((t * (t - 2)) - 1)) + b);
}
static var version = "1.1.0.52";
}
Symbol 495 MovieClip [__Packages.com.mosesSupposes.fuse.FuseKitCommon] Frame 0
class com.mosesSupposes.fuse.FuseKitCommon
{
static var logOutput;
function FuseKitCommon () {
}
static function _cts() {
return("|_tint|_tintPercent|_brightness|_brightOffset|_contrast|_invertColor|_colorReset|_colorTransform|");
}
static function _underscoreable() {
return(_cts() + "_frame|_x|_y|_xscale|_yscale|_scale|_width|_height|_size|_rotation|_alpha|_visible|");
}
static function _cbprops() {
return("|skipLevel|cycles|easyfunc|func|scope|args|startfunc|startscope|startargs|updfunc|updscope|updargs|extra1|extra2|");
}
static function _fuseprops() {
return("|command|label|delay|event|eventparams|target|addTarget|trigger|startAt|ease|easing|seconds|duration|time|");
}
static function output(s) {
if (typeof(logOutput) == "function") {
logOutput(s);
} else {
trace(s);
}
}
static function error(errorCode) {
var _local3 = arguments[1];
var _local5 = arguments[2];
var _local6 = arguments[3];
if (VERBOSE != true) {
output(("[FuseKitCommon#" + errorCode) + "]");
return(undefined);
}
var _local2 = "";
var _local4 = newline;
switch (errorCode) {
case "001" :
_local2 = _local2 + "** ERROR: When using simpleSetup to extend prototypes, you must pass the Shortcuts class. **";
_local2 = _local2 + (_local4 + " import com.mosesSupposes.fuse.*;");
_local2 = _local2 + ((_local4 + " ZigoEngine.simpleSetup(Shortcuts);") + _local4);
break;
case "002" :
_local2 = _local2 + "** ZigoEngine.doShortcut: shortcuts missing. Use the setup commands: import com.mosesSupposes.fuse.*; ZigoEngine.register(Shortcuts); **";
break;
case "003" :
_local2 = _local2 + ((_local4 + "*** Error: DO NOT use #include \"lmc_tween.as\" with this version of ZigoEngine! ***") + _local4);
break;
case "004" :
_local2 = _local2 + (("** ZigoEngine.doTween - too few arguments [" + _local3) + "]. If you are trying to use Object Syntax without Fuse, pass FuseItem in your register() or simpleSetup() call. **");
break;
case "005" :
_local2 = _local2 + (((("** ZigoEngine.doTween - missing targets[" + _local3) + "] and/or props[") + _local5) + "] **");
break;
case "006" :
_local2 = _local2 + (("** Error: easing shortcut string not recognized (\"" + _local3) + "\"). You may need to pass the in PennerEasing class during register or simpleSetup. **");
break;
case "007" :
_local2 = _local2 + (((("- ZigoEngine: Target locked [" + _local3) + "], ignoring tween call [") + _local5) + "]");
break;
case "008" :
_local2 = _local2 + "** ZigoEngine: You must register the Shortcuts class in order to use easy string-type callback parsing. **";
break;
case "009" :
_local2 = _local2 + (("-ZigoEngine: A callback parameter \"" + _local3) + "\" was not recognized.");
break;
case "010" :
_local2 = _local2 + ((("-Engine unable to parse " + ((_local3 == 1) ? "callback[" : (String(_local3) + " callbacks["))) + _local5) + "]. Try using the syntax {scope:this, func:\"myFunction\"}");
break;
case "011" :
_local2 = _local2 + (((("-ZigoEngine: Callbacks discarded via skipLevel 2 option [" + _local3) + "|") + _local5) + "].");
break;
case "012" :
_local2 = _local2 + (((((("-Engine set props or ignored no-change tween on: " + _local3) + ", props passed:[") + _local5) + "], endvals passed:[") + _local6) + "]");
break;
case "013" :
_local2 = _local2 + (((((("-Engine added tween on:\n\ttargets:[" + _local3) + "]\n\tprops:[") + _local5) + "]\n\tendvals:[") + _local6) + "]");
break;
case "014" :
_local2 = _local2 + "** Error: easing function passed is not usable with this engine. Functions need to follow the Robert Penner model. **";
break;
case "101" :
_local2 = _local2 + "** ERROR: Fuse simpleSetup was removed in version 2.0! **";
_local2 = _local2 + (_local4 + " You must now use the following commands:");
_local2 = _local2 + ((_local4 + _local4) + "\timport com.mosesSupposes.fuse.*;");
_local2 = _local2 + (_local4 + "\tZigoEngine.simpleSetup(Shortcuts, PennerEasing, Fuse);");
_local2 = _local2 + ((_local4 + "Note that PennerEasing is optional, and FuseFMP is also accepted. (FuseFMP.simpleSetup is run automatically if included.)") + _local4);
break;
case "102" :
_local2 = _local2 + (("** Fuse skipTo label not found: \"" + _local3) + "\" **");
break;
case "103" :
_local2 = _local2 + (("** Fuse skipTo failed (" + _local3) + ") **");
break;
case "104" :
_local2 = _local2 + (((("** Fuse command skipTo (" + _local3) + ") ignored - targets the current index (") + _local5) + "). **");
break;
case "105" :
_local2 = _local2 + "** An unsupported Array method was called on Fuse. **";
break;
case "106" :
_local2 = _local2 + "** ERROR: You have not set up Fuse correctly. **";
_local2 = _local2 + (_local4 + "You must now use the following commands (PennerEasing is optional).");
_local2 = _local2 + (_local4 + "\timport com.mosesSupposes.fuse.*;");
_local2 = _local2 + ((_local4 + "\tZigoEngine.simpleSetup(Shortcuts, PennerEasing, Fuse);") + _local4);
break;
case "107" :
_local2 = _local2 + "** Fuse :: id not found - Aborting open(). **";
break;
case "108" :
_local2 = _local2 + "** Fuse.startRecent: No recent Fuse found to start! **";
break;
case "109" :
_local2 = _local2 + (("** Commands other than \"delay\" are not allowed within groups. Command discarded (\"" + _local3) + "\")");
break;
case "110" :
_local2 = _local2 + (("** A Fuse.addCommand parameter (\"" + _local3) + "\") is not valid and was discarded. If you are trying to add a function-call try the syntax Fuse.addCommand(this,\"myCallback\",param1,param2); **");
break;
case "111" :
_local2 = _local2 + (("** A Fuse command parameter failed. (\"" + _local3) + "\") **");
break;
case "112" :
_local2 = _local2 + "** Fuse: missing com.mosesSupposes.fuse.ZigoEngine! Cannot tween. **";
break;
case "113" :
_local2 = _local2 + "** FuseItem: A callback has been discarded. Actions with a command may only contain: label, delay, scope, args. **";
break;
case "114" :
_local2 = _local2 + (("** FuseItem: command (\"" + _local3) + "\") discarded. Commands may not appear within action groups (arrays). **");
break;
case "115" :
_local2 = _local2 + ((_local3 + " overlapping prop discarded: ") + _local5);
break;
case "116" :
_local2 = _local2 + ("** FuseItem Error: Delays within groups (arrays) and start/update callbacks are not supported when using Fuse without ZigoEngine. Although you need to restructure your Fuse, it should be possible to achieve the same results. **" + _local4);
break;
case "117" :
_local2 = _local2 + (("** " + _local3) + ": infinite cycles are not allowed within Fuses - discarded. **");
break;
case "118" :
_local2 = _local2 + (("** Fuse Error: No targets in " + _local3) + ((_local5 == true) ? " [Unable to set start props] **" : " [Skipping this action] **"));
break;
case "119" :
_local2 = _local2 + (((("** Fuse warning: " + _local5) + ((_local5 == 1) ? " target missing in " : " targets missing in ")) + _local6) + ((_local3 == true) ? " during setStartProps **" : " **"));
break;
case "120" :
_local2 = _local2 + (((("** " + _local3) + ": conflict with \"") + _local5) + "\". Property might be doubled within a grouped-action array. **");
break;
case "121" :
_local2 = _local2 + "** Timecode formatting requires \"00:\" formatting (example:\"01:01:33\" yields 61.33 seconds.) **";
break;
case "122" :
_local2 = _local2 + "** FuseItem: You must register the Shortcuts class in order to use easy string-type callback parsing. **";
break;
case "123" :
_local2 = _local2 + "** FuseItem unable to target callback. Try using the syntax {scope:this, func:\"myFunction\"} **";
break;
case "124" :
_local2 = _local2 + (("** Event \"" + _local3) + "\" reserved by Fuse. **");
break;
case "125" :
_local2 = _local2 + (("** A Fuse event parameter failed in " + _local3) + " **");
break;
case "126" :
_local2 = _local2 + (((("** " + _local3) + ": trigger:") + _local5) + " ignored - only one trigger is allowed per action **");
break;
case "201" :
_local2 = _local2 + (("**** FuseFMP cannot initialize argument " + _local3) + " (BitmapFilters cannot be applied to this object type) ****");
break;
case "301" :
_local2 = _local2 + "** The shortcuts fadeIn or fadeOut only accept 3 arguments: seconds, ease, and delay. **";
}
output(_local2);
}
static var VERSION = "Fuse Kit 2.0 Copyright (c) 2006 Moses Gunesch, MosesSupposes.com under MIT Open Source License";
static var VERBOSE = true;
static var ALL = "ALL";
static var ALLCOLOR = "ALLCOLOR";
}
Symbol 496 MovieClip [__Packages.com.mosesSupposes.fuse.ZigoEngine] Frame 0
class com.mosesSupposes.fuse.ZigoEngine
{
static var extensions, updateTime, tweenHolder, instance, updateIntId;
function ZigoEngine () {
}
static function addListener(handler) {
AsBroadcaster.initialize(com.mosesSupposes.fuse.ZigoEngine);
addListener(handler);
}
static function removeListener(handler) {
}
static function isPlaying() {
return(_playing);
}
static function simpleSetup(shortcutsClass) {
if (arguments.length > 0) {
register.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
}
_global.ZigoEngine = com.mosesSupposes.fuse.ZigoEngine;
if (extensions.fuse != undefined) {
_global.Fuse = extensions.fuse;
}
if (extensions.fuseFMP != undefined) {
extensions.fuseFMP.simpleSetup();
}
initialize(MovieClip.prototype, Button.prototype, TextField.prototype);
if (extensions.shortcuts == undefined) {
com.mosesSupposes.fuse.FuseKitCommon.error("001");
}
}
static function register(classReference) {
if (extensions == undefined) {
extensions = {};
}
var _local3 = "|fuse|fuseItem|fuseFMP|shortcuts|pennerEasing|";
for (var _local4 in arguments) {
var _local2 = arguments[_local4].registryKey;
if ((extensions[_local2] == undefined) && (_local3.indexOf(("|" + _local2) + "|") > -1)) {
extensions[_local2] = arguments[_local4];
if ((_local2 == "fuseFMP") || (_local2 == "shortcuts")) {
Object(extensions[_local2]).initialize();
}
}
}
}
static function initialize(target) {
if (arguments.length > 0) {
initializeTargets.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
if (extensions.shortcuts != undefined) {
extensions.shortcuts.addShortcutsTo.apply(extensions.shortcuts, arguments);
}
}
}
static function deinitialize(target) {
if ((arguments.length == 0) || (target == null)) {
arguments.push(MovieClip.prototype, Button.prototype, TextField.prototype);
}
deinitializeTargets.apply(com.mosesSupposes.fuse.ZigoEngine, arguments);
if (extensions.shortcuts != undefined) {
extensions.shortcuts.removeShortcutsFrom.apply(extensions.shortcuts, arguments);
}
}
static function getUpdateInterval() {
return(updateTime);
}
static function setUpdateInterval(time) {
if (_playing) {
setup(true);
updateTime = time;
setup();
} else {
updateTime = time;
}
}
static function getControllerDepth() {
return(tweenHolder.getDepth());
}
static function setControllerDepth(depth) {
if ((depth == null) || (_global.isNaN(depth) == true)) {
depth = 6789;
}
if (Object(tweenHolder).proof != null) {
tweenHolder.swapDepths(depth);
} else {
tweenHolder = _root.createEmptyMovieClip("ZigoEnginePulse", depth);
}
}
static function doShortcut(targets, methodName) {
if (extensions.shortcuts == undefined) {
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("002");
}
return(null);
}
return(extensions.shortcuts.doShortcut.apply(extensions.shortcuts, arguments));
}
static function doTween(targets, props, endvals, seconds, ease, delay, callback) {
if (extensions.fuse.addBuildItem(arguments) == true) {
return(null);
}
if ((instance == undefined) || ((Object(tweenHolder).proof == undefined) && (updateTime == undefined))) {
if ((MovieClip.prototype.tween != null) && (typeof(_global.$tweenManager) == "object")) {
com.mosesSupposes.fuse.FuseKitCommon.error("003");
}
instance = new com.mosesSupposes.fuse.ZManager();
_playing = false;
}
var _local4 = instance.paramsObj(targets, props, endvals);
var _local7 = (((_local4.tg[0] == null) || (_local4.tg.length == 0)) ? undefined : (_local4.tg));
if (((_local4.pa == undefined) || (_local7 == undefined)) || (arguments.length < 3)) {
if ((extensions.fuseItem != null) && (typeof(_local7[0]) == "object")) {
return(extensions.fuseItem.doTween(arguments[0]));
}
if (OUTPUT_LEVEL > 0) {
if (arguments.length < 3) {
com.mosesSupposes.fuse.FuseKitCommon.error("004", String(arguments.length));
} else {
com.mosesSupposes.fuse.FuseKitCommon.error("005", _local7.toString(), _local4.pa.toString());
}
}
return(null);
}
if (_playing != true) {
setup();
}
if ((seconds == null) || (_global.isNaN(seconds) == true)) {
seconds = DURATION || 1;
} else if (seconds < 0.01) {
seconds = 0;
}
if (((delay < 0.01) || (delay == null)) || (_global.isNaN(delay) == true)) {
delay = 0;
}
var _local12 = parseCallback(callback, _local7);
var _local9;
if (typeof(ease) == "function") {
if (typeof(Function(ease).call(null, 1, 1, 1, 1)) == "number") {
_local9 = Function(ease);
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("014", ease);
}
} else if ((ease == null) || (ease == "")) {
if (EASING instanceof Function) {
_local9 = Function(EASING);
} else if (extensions.pennerEasing != undefined) {
ease = EASING;
}
}
if ((typeof(ease) == "string") && (ease != "")) {
if (extensions.pennerEasing[ease] != undefined) {
_local9 = extensions.pennerEasing[ease];
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("006", ease);
}
} else if (((typeof(ease) == "object") && (ease.ease != null)) && (ease.pts != null)) {
_local9 = Function(ease.ease);
_local12.extra1 = ease.pts;
}
if (typeof(_local9) != "function") {
_local9 = function (t, b, c, d) {
t = (t / d) - 1;
return((c * (((((t * t) * t) * t) * t) + 1)) + b);
};
}
var _local6 = "";
for (var _local13 in _local7) {
var _local3 = _local7[_local13];
if (_local3.__zigoID__ == null) {
initializeTargets(_local3);
} else if (instance.getStatus("locked", _local3) == true) {
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("007", ((_local3._name != undefined) ? (_local3._name) : (_local3.toString())), _local4.pa.toString());
}
continue;
}
var _local5 = instance.addTween(_local3, _local4.pa, _local4.va, seconds, _local9, delay, _local12);
_local6 = ((_local5 == null) ? "|" : (_local5 + "|")) + _local6;
}
_local6 = _local6.slice(0, -1);
return((((_local6 == "") || (_local6 == "|")) ? null : (_local6)));
}
static function removeTween(targs, props) {
instance.removeTween(targs, props);
}
static function isTweening(targ, prop) {
return(Boolean(instance.getStatus("active", targ, prop)));
}
static function getTweens(targ) {
return(Number(instance.getStatus("count", targ)));
}
static function lockTween(targ, setLocked) {
instance.alterTweens("lock", targ, setLocked);
}
static function isTweenLocked(targ) {
return(Boolean(instance.getStatus("locked", targ)));
}
static function ffTween(targs, props) {
instance.alterTweens("ff", targs, props);
}
static function rewTween(targs, props, pauseFlag, suppressStartEvents) {
instance.alterTweens("rewind", targs, props, pauseFlag, suppressStartEvents);
}
static function isTweenPaused(targ, prop) {
return(Boolean(instance.getStatus("paused", targ, prop)));
}
static function pauseTween(targs, props) {
instance.alterTweens("pause", targs, props);
}
static function unpauseTween(targs, props) {
instance.alterTweens("unpause", targs, props);
}
static function resumeTween(targs, props) {
instance.alterTweens("unpause", targs, props);
}
static function setColorByKey(targetObj, type, amt, rgb) {
new Color(targetObj).setTransform(getColorTransObj(type, amt, rgb));
}
static function getColorTransObj(type, amt, rgb) {
switch (type) {
case "brightness" :
var _local3 = 100 - Math.abs(amt);
var _local4 = ((amt > 0) ? (255 * (amt / 100)) : 0);
return({ra:_local3, rb:_local4, ga:_local3, gb:_local4, ba:_local3, bb:_local4});
case "brightOffset" :
return({ra:100, rb:255 * (amt / 100), ga:100, gb:255 * (amt / 100), ba:100, bb:255 * (amt / 100)});
case "contrast" :
return({ra:amt, rb:128 - (1.28 * amt), ga:amt, gb:128 - (1.28 * amt), ba:amt, bb:128 - (1.28 * amt)});
case "invertColor" :
return({ra:100 - (2 * amt), rb:amt * 2.55, ga:100 - (2 * amt), gb:amt * 2.55, ba:100 - (2 * amt), bb:amt * 2.55});
case "tint" :
if (rgb == null) {
break;
}
var _local5;
if (typeof(rgb) == "string") {
if (rgb.charAt(0) == "#") {
rgb = rgb.slice(1);
}
rgb = ((rgb.charAt(1).toLowerCase() != "x") ? ("0x" + rgb) : (rgb));
}
_local5 = Number(rgb);
return({ra:100 - amt, rb:(_local5 >> 16) * (amt / 100), ga:100 - amt, gb:((_local5 >> 8) & 255) * (amt / 100), ba:100 - amt, bb:(_local5 & 255) * (amt / 100)});
}
return({rb:0, ra:100, gb:0, ga:100, bb:0, ba:100});
}
static function getColorKeysObj(targOrTransObj) {
var _local1 = ((targOrTransObj.ra != undefined) ? (targOrTransObj) : (new Color(targOrTransObj).getTransform()));
var _local3 = {};
var _local7 = (_local1.ra == _local1.ga) && (_local1.ga == _local1.ba);
var _local9 = (_local1.rb == _local1.gb) && (_local1.gb == _local1.bb);
var _local5 = ((_local7 == true) ? (100 - _local1.ra) : 0);
if (_local5 != 0) {
var _local6 = 100 / _local5;
_local3.tint = (((_local1.rb * _local6) << 16) | ((_local1.gb * _local6) << 8)) | (_local1.bb * _local6);
_local3.tintPercent = _local5;
var _local2 = _local3.tint.toString(16);
var _local4 = 6 - _local2.length;
while ((_local4--) > 0) {
_local2 = "0" + _local2;
}
_local3.tintString = "0x" + _local2.toUpperCase();
}
if ((_local7 == true) && (_local9 == true)) {
if (_local1.ra < 0) {
_local3.invertColor = _local1.rb * 0.392156862745098;
} else if ((_local1.ra == 100) && (_local1.rb != 0)) {
_local3.brightOffset = _local1.rb * 0.392156862745098;
}
if (_local1.ra != 100) {
if ((_local1.rb == 0) || ((_local1.rb != 0) && (((255 * ((100 - _local1.ra) / 100)) - _local1.rb) <= 1))) {
_local3.brightness = ((_local1.rb != 0) ? (100 - _local1.ra) : (_local1.ra - 100));
}
if (((128 - (1.28 * _local1.ra)) - _local1.rb) <= 1) {
_local3.contrast = _local1.ra;
}
}
}
return(_local3);
}
static function initializeTargets() {
for (var _local5 in arguments) {
var _local4 = arguments[_local5];
if ((((_local4 == MovieClip.prototype) || (_local4 == Button.prototype)) || (_local4 == TextField.prototype)) || (_local4 == Object.prototype)) {
if (_local4.oldAddListener == undefined) {
if (_local4 == TextField.prototype) {
_local4.oldAddListener = _local4.addListener;
_global.ASSetPropFlags(_local4, "oldAddListener", 7, 1);
}
_local4.addListener = function (o) {
if (this.__zigoID__ == undefined) {
com.mosesSupposes.fuse.ZigoEngine.initializeTargets(this);
}
if (this instanceof TextField) {
Function(this.oldAddListener).call(this, o);
} else {
this.addListener(o);
}
};
if (_local4 == MovieClip.prototype) {
_global.ASSetPropFlags(_local4, "addListener", 7, 1);
}
}
} else if (_local4.__zigoID__ == undefined) {
_local4.__zigoID__ = zigoIDs;
_global.ASSetPropFlags(_local4, "__zigoID__", 7, 1);
zigoIDs++;
if ((_local4._listeners == null) || (_local4.addListener == null)) {
AsBroadcaster.initialize(_local4);
}
}
}
}
static function deinitializeTargets() {
for (var _local4 in arguments) {
var _local3 = arguments[_local4];
if (_local3.__zigoID__ != undefined) {
_global.ASSetPropFlags(_local3, "__zigoID__,_listeners,broadcastMessage,addListener,removeListener", 0, 2);
delete _local3.__zigoID__;
delete _local3._listeners;
delete _local3.broadcastMessage;
delete _local3.addListener;
delete _local3.removeListener;
}
if (_local3.oldAddListener != undefined) {
_global.ASSetPropFlags(_local3, "oldAddListener", 0, 2);
_local3.addListener = _local3.oldAddListener;
delete _local3.oldAddListener;
}
}
}
static function __mgrRelay(inst, method, args) {
if (inst == instance) {
Function(com.mosesSupposes.fuse.ZigoEngine[method]).apply(com.mosesSupposes.fuse.ZigoEngine, args);
}
}
static function setup(deinitFlag) {
if (deinitFlag == true) {
_playing = false;
clearInterval(updateIntId);
delete tweenHolder.onEnterFrame;
return(undefined);
}
instance.cleanUp();
clearInterval(updateIntId);
delete updateIntId;
if ((updateTime != null) && (updateTime > 0)) {
updateIntId = setInterval(instance, "update", updateTime);
} else {
if (Object(tweenHolder).proof == null) {
setControllerDepth(6789);
Object(tweenHolder).proof = 1;
}
var _inst = instance;
tweenHolder.onEnterFrame = function () {
_inst.update.call(_inst);
};
}
_playing = true;
instance.now = getTimer();
}
static function parseCallback(callback, targets) {
var validCBs = {skipLevel:SKIP_LEVEL, cycles:1};
if (((callback.skipLevel != undefined) && (typeof(callback.skipLevel) == "number")) && (callback.skipLevel != SKIP_LEVEL)) {
if ((callback.skipLevel >= 0) && (callback.skipLevel <= 2)) {
validCBs.skipLevel = callback.skipLevel;
}
}
if (callback.cycles != undefined) {
if ((typeof(callback.cycles) == "number") && (callback.cycles > -1)) {
validCBs.cycles = callback.cycles;
} else if (callback.cycles.toUpperCase() == "LOOP") {
validCBs.cycles = 0;
}
}
if (callback.extra1 != undefined) {
validCBs.extra1 = callback.extra1;
}
if (callback.extra2 != undefined) {
validCBs.extra2 = callback.extra2;
}
if (callback == undefined) {
return(validCBs);
}
var cbErrors = [];
var ezf;
if (typeof(callback) == "string") {
ezf = String(callback);
} else if (typeof(callback.easyfunc) == "string") {
ezf = callback.easyfunc;
}
if (((ezf != undefined) && (ezf.indexOf("(") > -1)) && (ezf.indexOf(")") > -1)) {
if (extensions.shortcuts != undefined) {
callback = extensions.shortcuts.parseStringTypeCallback(ezf);
} else if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("008");
}
} else if ((typeof(callback) == "function") || (typeof(callback) == "string")) {
callback = {func:callback};
}
for (var i in callback) {
var fi = i.toLowerCase().indexOf("func");
if (fi > -1) {
var prefix = i.slice(0, fi);
var func = callback[i];
var args = callback[prefix + "args"];
var scope = callback[prefix + "scope"];
if ((typeof(func) == "string") && (scope[func] == undefined)) {
for (var j in targets) {
var targ = targets[j];
if (typeof(targ[func]) == "function") {
scope = targ;
break;
}
if (typeof(targ._parent[func]) == "function") {
scope = targ._parent;
break;
}
}
if ((scope == undefined) && (_level0[func] != undefined)) {
scope = _level0;
}
if ((scope == undefined) && (_global[func] != undefined)) {
scope = _global;
}
}
if (typeof(func) != "function") {
if (typeof(scope[String(func)]) == "function") {
func = scope[String(func)];
} else {
func = eval (String(func));
}
}
if (func == undefined) {
cbErrors.push(String((((((i + ":") + ((typeof(callback[i]) == "string") ? (("\"" + callback[i]) + "\"") : (callback[i]))) + "/") + prefix) + "scope:") + scope));
} else {
if ((args != undefined) && (!(args instanceof Array))) {
args = [args];
}
if (prefix == "") {
prefix = "end";
}
validCBs[prefix] = {s:scope, f:func, a:args, id:cbTicker++};
if (prefix == "start") {
validCBs.start.fired = false;
}
}
} else if (com.mosesSupposes.fuse.FuseKitCommon._cbprops().indexOf(("|" + i) + "|") == -1) {
com.mosesSupposes.fuse.FuseKitCommon.error("009", i);
}
}
if ((cbErrors.length > 0) && (OUTPUT_LEVEL > 0)) {
if (OUTPUT_LEVEL > 0) {
com.mosesSupposes.fuse.FuseKitCommon.error("010", cbErrors.length, cbErrors.toString());
}
}
return(validCBs);
}
static var VERSION = com.mosesSupposes.fuse.FuseKitCommon.VERSION + ", ZigoEngine based on concepts by Ladislav Zigo, laco.wz.cz/tween";
static var EASING = "easeOutQuint";
static var DURATION = 1;
static var ROUND_RESULTS = false;
static var OUTPUT_LEVEL = 1;
static var AUTOSTOP = false;
static var SKIP_LEVEL = 0;
static var _playing = false;
static var zigoIDs = 0;
static var cbTicker = 0;
}
Symbol 497 MovieClip [__Packages.com.mosesSupposes.fuse.ZManager] Frame 0
class com.mosesSupposes.fuse.ZManager
{
var tweens, now;
function ZManager () {
tweens = {};
numTweens = 0;
}
function addTween(obj, props, endvals, seconds, ease, delay, callback) {
var _local20 = ((callback.skipLevel == undefined) ? 0 : (callback.skipLevel));
var _local38 = ((callback.cycles == undefined) ? 1 : (callback.cycles));
var _local25 = callback.extra1;
var _local24 = callback.extra2;
var _local19 = [];
var _local15 = _global.com.mosesSupposes.fuse.FuseFMP;
var _local37 = String(("|" + _local15.getAllShortcuts().join("|")) + "|");
var _local36 = com.mosesSupposes.fuse.FuseKitCommon._cts();
var _local21 = "";
var _local23 = "";
var _local7 = tweens[String(obj.__zigoID__)];
if ((_local7 != undefined) && (com.mosesSupposes.fuse.ZigoEngine.AUTOSTOP == true)) {
if (obj._listeners.length > 0) {
for (var _local34 in _local7.props) {
_local19.unshift(_local34);
}
}
_local7.numProps = 0;
cleanUp(true);
}
for (var _local41 in props) {
var _local6 = props[_local41];
var _local13 = _local36.indexOf(("|" + _local6) + "|") > -1;
var _local16 = _local7.colorProp;
if (_local7 != undefined) {
if ((_local13 == true) && (_local16 != undefined)) {
_local19.unshift(_local16);
delete _local7.props[_local16];
delete _local7.colorProp;
_local7.numProps--;
} else if (_local7.props[_local6] != undefined) {
_local19.unshift(_local6);
delete _local7[_local6];
_local7.numProps--;
}
}
var _local3 = {c:-1, fmp:-1};
var _local4 = endvals[_local41];
var _local11 = ((_local20 == 0) && ((seconds + delay) == 0)) || ((_local20 > 0) && (seconds == 0));
var _local10 = false;
var _local14 = (_local15 != undefined) && (_local37.indexOf(("|" + _local6) + "|") > -1);
if (_local14 == true) {
_local3.fmp = _local15;
_local3.ps = _local15.getFilterProp(obj, _local6, true);
_local3.special = true;
}
if ((_local13 == true) || ((((_local14 == true) && (_local6.indexOf("lor") > -1)) && (_local6.charAt(2) != "l")) && (_local11 == false))) {
if (_local13 == true) {
_local3.c = new Color(obj);
_local3.ps = _local3.c.getTransform();
if (_local6 != "_colorTransform") {
var _local17 = ((((_local6 == "_tint") || (_local6 == "_tintPercent")) || (_local6 == "_colorReset")) ? "tint" : (_local6.slice(1)));
var _local8 = null;
var _local12 = null;
if (_local17 == "tint") {
if (typeof(_local4) == "object") {
_local12 = _local4.tint;
_local8 = ((_global.isNaN(_local4.percent) == true) ? 100 : (_local4.percent));
} else if ((_local6 == "_tintPercent") || (_local6 == "_colorReset")) {
var _local18 = com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj).tintPercent;
_local8 = ((typeof(_local4) == "string") ? ((_local18 || 0) + Number(_local4)) : Number(_local4));
_local8 = Math.max(0, Math.min(_local8, 100));
if (_local6 == "_colorReset") {
_local8 = Math.min(_local18, 100 - _local8);
}
_local12 = com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj).tint || 0;
} else {
_local12 = _local4;
_local8 = 100;
}
} else {
_local8 = ((typeof(_local4) == "string") ? ((com.mosesSupposes.fuse.ZigoEngine.getColorKeysObj(obj)[_local17] || 0) + Number(_local4)) : (_local4));
}
_local4 = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj(_local17, _local8, _local12);
}
} else {
_local3.c = 1;
_local3.ps = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, _local3.ps);
_local4 = com.mosesSupposes.fuse.ZigoEngine.getColorTransObj("tint", 100, _local4);
}
if (_local11 == true) {
_local3.c.setTransform(_local4);
} else {
_local3.ch = {};
for (var _local34 in _local4) {
if (((((_local3.c === 1) && (_local34.charAt(1) == "b")) || (_local4[_local34] != _local3.ps[_local34])) && (_local4[_local34] != null)) && (_global.isNaN(Number(_local4[_local34])) == false)) {
_local3.ch[_local34] = ((typeof(_local4[_local34]) == "string") ? (Number(_local4[_local34])) : (_local4[_local34] - _local3.ps[_local34]));
if (_global.isNaN(_local3.ch[_local34]) == true) {
_local3.ch[_local34] = 0;
} else if (_local3.ch[_local34] != 0) {
_local10 = true;
}
}
}
}
} else if (_local6 == "_bezier_") {
removeTween(obj, "_x,_y", true);
if (_local11 == true) {
if ((_local4.x != null) && (_global.isNaN(Number(_local4.x)) == false)) {
obj._x = ((typeof(_local4.x) == "string") ? (obj._x + Number(_local4.x)) : (_local4.x));
}
if ((_local4.y != null) && (_global.isNaN(Number(_local4.y)) == false)) {
obj._y = ((typeof(_local4.y) == "string") ? (obj._y + Number(_local4.y)) : (_local4.y));
}
} else {
_local3.special = true;
_local3.ps = 0;
_local3.ch = 1;
_local3.bz = {sx:obj._x, sy:obj._y};
if ((_local4.x == null) || (_global.isNaN(Number(_local4.x)))) {
_local4.x = _local3.bz.sx;
}
if ((_local4.y == null) || (_global.isNaN(Number(_local4.y)))) {
_local4.y = _local3.bz.sy;
}
_local3.bz.chx = ((typeof(_local4.x) == "string") ? (Number(_local4.x)) : (_local4.x - _local3.bz.sx));
if (_global.isNaN(_local3.bz.chx) == true) {
_local3.bx.chx = 0;
}
_local3.bz.chy = ((typeof(_local4.y) == "string") ? (Number(_local4.y)) : (_local4.y - _local3.bz.sy));
if (_global.isNaN(_local3.bz.chy) == true) {
_local3.bx.chy = 0;
}
if ((_local4.controlX == null) || (_global.isNaN(Number(_local4.controlX)))) {
_local3.bz.ctrlx = _local3.bz.sx + (_local3.bz.chx / 2);
} else {
_local3.bz.ctrlx = ((typeof(_local4.controlX) == "string") ? (_local3.bz.sx + Number(_local4.controlX)) : (_local4.controlX));
}
if ((_local4.controlY == null) || (_global.isNaN(Number(_local4.controlY)))) {
_local3.bz.ctrly = _local3.bz.sy + (_local3.bz.chy / 2);
} else {
_local3.bz.ctrly = ((typeof(_local4.controlY) == "string") ? (_local3.bz.sy + Number(_local4.controlY)) : (_local4.controlY));
}
_local3.bz.ctrlx = _local3.bz.ctrlx - _local3.bz.sx;
_local3.bz.ctrly = _local3.bz.ctrly - _local3.bz.sy;
_local10 = (_local3.bz.chx + _local3.bz.chy) != 0;
}
} else {
if ((_local6 == "_x") || (_local6 == "_y")) {
removeTween(obj, "_bezier_", true);
}
if ((_local6 == "_frame") && (typeof(obj) == "movieclip")) {
_local3.ps = obj._currentframe;
_local3.special = true;
} else if (_local14 == false) {
_local3.ps = obj[_local6];
}
if (_local11 == true) {
_local4 = ((typeof(_local4) == "string") ? (_local3.ps + Number(_local4)) : (_local4));
if (_local14 == true) {
_local15.setFilterProp(obj, _local6, _local4);
} else {
obj[_local6] = _local4;
}
} else {
if ((_local4 == null) || (_global.isNaN(Number(_local4)))) {
_local4 = _local3.ps;
}
_local3.ch = ((typeof(_local4) == "string") ? (Number(_local4)) : (Number(_local4) - _local3.ps));
if (_global.isNaN(_local3.ch) == true) {
_local3.ch = 0;
}
_local10 = _local3.ch != 0;
}
}
if (((_local20 == 0) && ((_local10 == true) || (_local11 == false))) || ((_local10 == true) && (_local11 == false))) {
_local3.ts = now + (delay * 1000);
_local3.pt = -1;
_local3.d = seconds * 1000;
_local3.ef = ease;
_local3.sf = false;
_local3.cycles = _local38;
if (_local25 != undefined) {
_local3.e1 = _local25;
}
if (_local24 != undefined) {
_local3.e2 = _local24;
}
if (callback.start != undefined) {
_local3.scb = callback.start;
}
if (callback.upd != undefined) {
_local3.ucb = callback.upd;
}
if (callback.end != undefined) {
_local3.ecb = callback.end;
}
if (tweens[String(obj.__zigoID__)] == undefined) {
_local7 = (tweens[String(obj.__zigoID__)] = {numProps:0, locked:false, targ:obj, targID:String(("\"" + ((obj._name != undefined) ? (obj._name) : (obj.toString()))) + "\""), targZID:obj.__zigoID__, props:{}});
numTweens++;
}
if (_local13 == true) {
_local7.colorProp = _local6;
}
_local7.props[_local6] = _local3;
_local7.numProps++;
_local21 = (_local6 + ",") + _local21;
_local23 = (((typeof(_local4) == "string") ? (("\"" + _local4) + "\"") : (_local4)) + ",") + _local23;
}
}
if ((_local7 == undefined) || (_local7.numProps <= 0)) {
cleanUp();
}
if ((_local19.length > 0) && (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0)) {
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:obj, props:_local19, __zigoID__:obj.__zigoID__});
}
if (_local21 == "") {
if (_local20 == 2) {
if (com.mosesSupposes.fuse.ZigoEngine.OUTPUT_LEVEL == 2) {
com.mosesSupposes.fuse.FuseKitCommon.error("011", ((obj._name != undefined) ? (obj._name) : (obj.toString())), props.toString());
}
} else {
var _local42 = obj._listeners.length > 0;
if (_local42 == true) {
obj.broadcastMessage("onTweenStart", {target:obj, props:props});
}
if (callback.start != undefined) {
callback.start.f.apply(callback.start.s, callback.start.a);
}
if (_local42 == true) {
obj.broadcastMessage("onTweenUpdate", {target:obj, props:props});
}
if (callback.upd != undefined) {
callback.upd.f.apply(callback.upd.s, callback.upd.a);
}
if (_local42 == true) {
obj.broadcastMessage("onTweenEnd", {target:obj, props:props});
}
if (callback.end != undefined) {
callback.end.f.apply(callback.end.s, callback.end.a);
}
}
cleanUp();
}
if (com.mosesSupposes.fuse.ZigoEngine.OUTPUT_LEVEL == 2) {
if (_local21 == "") {
com.mosesSupposes.fuse.FuseKitCommon.error("012", ((obj._name != undefined) ? (obj._name) : (obj.toString())), props.toString(), endvals.toString());
} else {
com.mosesSupposes.fuse.FuseKitCommon.error("013", ((obj._name != undefined) ? (obj._name) : (obj.toString())), _local21.slice(0, -1), _local23.slice(0, -1));
}
}
return(((_local21 == "") ? null : (_local21.slice(0, -1))));
}
function removeTween(targs, props, noInit) {
var _local4 = {};
var _local11 = paramsObj(targs, props);
if (_local11.none == true) {
return(undefined);
}
var _local15 = _local11.all;
var _local16 = _local11.allprops;
var _local9 = ((_local15 == true) ? (tweens) : (Object(_local11.tg)));
var _local8 = false;
for (var _local18 in _local9) {
var _local3 = ((_local15 == true) ? (_local18) : (String(_local9[_local18].__zigoID__)));
var _local2 = tweens[_local3];
var _local6 = ((_local16 == true) ? (_local2.props) : (_local11.props));
for (var _local13 in _local6) {
var _local5 = (_local13 == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) && (_local2.colorProp != undefined);
if ((_local2.props[_local13] != undefined) || (_local5 == true)) {
if (_local4[_local3] == null) {
_local4[_local3] = [];
}
_local4[_local3].unshift(_local13);
if ((_local13 == _local2.colorProp) || (_local5 == true)) {
delete _local2.props[_local2.colorProp];
delete _local2.colorProp;
} else {
delete _local2.props[_local13];
}
_local2.numProps--;
if (_local2.numProps <= 0) {
_local8 = true;
break;
}
}
}
}
if (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0) {
for (var _local17 in _local4) {
var _local7 = tweens[_local17].targ;
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:((typeof(_local7.addProperty) == "function") ? (_local7) : (("[MISSING(\"" + tweens[_local17].targID) + "\")]")), props:_local4[_local17], __zigoID__:tweens[_local17].targZID});
}
}
if (_local8 == true) {
cleanUp(noInit);
}
}
function alterTweens(type, targs, props, pauseFlag, suppressStartEvents) {
if (type == "lock") {
tweens[String(targs.__zigoID__)].locked = Boolean(props == true);
return(undefined);
}
var _local11 = paramsObj(targs, props);
if (_local11.none == true) {
return(undefined);
}
var _local13 = _local11.all;
var _local14 = _local11.allprops;
var _local8 = ((_local13 == true) ? (tweens) : (Object(_local11.tg)));
var _local7 = 0;
for (var _local15 in _local8) {
var _local6 = ((_local13 == true) ? (_local15) : (String(_local8[_local15].__zigoID__)));
var _local5 = tweens[_local6];
var _local4 = ((_local14 == true) ? (_local5.props) : (_local11.props));
if (_local4.ALLCOLOR == true) {
_local4[_local5.colorProp] = true;
delete _local4.ALLCOLOR;
}
for (var _local9 in _local4) {
_local7++;
var _local2 = _local5.props[_local9];
if (type == "rewind") {
if (pauseFlag == true) {
_local2.pt = now;
}
_local2.ts = now;
if (suppressStartEvents != true) {
_local2.sf = false;
if (_local2.scb != undefined) {
_local2.scb.fired = false;
}
}
} else if (type == "ff") {
_local2.pt = -1;
_local2.ts = now - _local2.d;
} else if (type == "pause") {
if (_local2.pt == -1) {
_local2.pt = now;
}
} else if (type == "unpause") {
if (_local2.pt != -1) {
_local2.ts = now - (_local2.pt - _local2.ts);
_local2.pt = -1;
}
}
}
}
if ((type == "ff") && (_local7 > 0)) {
update();
} else if ((type == "rewind") && (_local7 > 0)) {
update(true);
}
}
function getStatus(type, targ, param) {
if (targ == null) {
return(null);
}
var _local8 = String(targ).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALL;
var _local4 = tweens[String(targ.__zigoID__)];
switch (type) {
case "paused" :
var _local2 = _local4.props;
if (param != null) {
if (_local2[String(param)] == undefined) {
return(false);
}
return(Boolean(_local2[String(param)].pt != -1));
}
for (var _local6 in _local2) {
if (_local2[_local6].pt != -1) {
return(true);
}
}
return(false);
case "active" :
if (param == null) {
return(Boolean(_local4 != undefined));
}
if (String(param).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) {
return(Boolean(_local4.colorProp != undefined));
}
return(Boolean(_local4.props[String(param)] != undefined));
case "count" :
if (!_local8) {
return(_local4.numProps);
}
var _local3 = 0;
for (var _local6 in tweens) {
_local3 = _local3 + tweens[_local6].numProps;
}
return(_local3);
case "locked" :
return(_local4.locked);
}
}
function update(force) {
var _local17 = {};
var _local19 = {};
var _local18 = {};
var _local13 = {};
var _local11 = {};
var _local12 = {};
var _local22 = false;
var _local20 = com.mosesSupposes.fuse.ZigoEngine.ROUND_RESULTS;
for (var _local29 in tweens) {
var _local10 = tweens[_local29];
var _local6 = _local10.targ;
var _local28 = _local10.props;
var _local16 = _local6._listeners.length > 0;
if (_local6.__zigoID__ == undefined) {
_local22 = true;
if (com.mosesSupposes.fuse.ZigoEngine._listeners.length > 0) {
var _local21 = [];
for (var _local24 in _local28) {
_local21.unshift(_local24);
}
com.mosesSupposes.fuse.ZigoEngine.broadcastMessage("onTweenInterrupt", {target:((typeof(_local6.addProperty) == "function") ? (_local6) : (("[MISSING:" + _local10.targID) + "]")), props:_local21, __zigoID__:_local10.targZID});
}
continue;
}
for (var _local24 in _local28) {
var _local3 = _local28[_local24];
if (((_local3.ts > now) || (_local3.pt != -1)) && (force != true)) {
continue;
}
var _local7 = now >= (_local3.ts + _local3.d);
if (_local3.c == -1) {
var _local5;
if (_local7 == true) {
_local5 = _local3.ps + _local3.ch;
if ((_local3.cycles > 1) || (_local3.cycles == 0)) {
if (_local3.cycles > 1) {
_local3.cycles--;
}
_local3.ps = _local5;
_local3.ch = -_local3.ch;
_local3.ts = now;
_local7 = false;
}
} else {
_local5 = _local3.ef(now - _local3.ts, _local3.ps, _local3.ch, _local3.d, _local3.e1, _local3.e2);
}
if (_global.isNaN(_local5) == false) {
if (_local20 == true) {
_local5 = Math.round(Number(_local5));
}
if (_local3.special != true) {
_local6[_local24] = _local5;
} else if (_local3.fmp != -1) {
_local3.fmp.setFilterProp(_local6, _local24, _local5);
} else if (_local24 == "_bezier_") {
var _local8 = _local3.bz;
_local6._x = _local8.sx + (_local5 * (((2 * (1 - _local5)) * _local8.ctrlx) + (_local5 * _local8.chx)));
_local6._y = _local8.sy + (_local5 * (((2 * (1 - _local5)) * _local8.ctrly) + (_local5 * _local8.chy)));
} else if (_local24 == "_frame") {
MovieClip(_local6).gotoAndStop(Math.round(_local5));
}
}
} else {
var _local4 = {};
var _local15 = (_local7 == true) && ((_local3.cycles > 1) || (_local3.cycles == 0));
for (var _local23 in _local3.ch) {
var _local9 = _local3.ch[_local23];
if (_local7 == true) {
_local4[_local23] = _local3.ps[_local23] + _local9;
if (_local15 == true) {
_local3.ch[_local23] = -_local9;
}
} else {
_local4[_local23] = _local3.ef(now - _local3.ts, _local3.ps[_local23], _local9, _local3.d, _local3.e1, _local3.e2);
}
if (_global.isNaN(_local4[_local23]) == false) {
if (_local20 == true) {
_local4[_local23] = Math.round(_local4[_local23]);
}
if (_local3.fmp == -1) {
_local3.c.setTransform(_local4);
} else {
var _local14 = ((_local4.rb << 16) | (_local4.gb << 8)) | _local4.bb;
_local3.fmp.setFilterProp(_local6, _local24, _local14);
}
}
}
if (_local15 == true) {
if (_local3.cycles > 1) {
_local3.cycles--;
}
_local7 = false;
_local3.ts = now;
_local3.ps = _local4;
}
}
if (_local3.sf == false) {
if (_local16 == true) {
if (_local13[_local29] == undefined) {
_local13[_local29] = [_local6, []];
}
_local13[_local29][1].unshift(_local24);
}
_local3.sf = true;
}
if (_local3.scb.fired == false) {
_local17[String(_local3.scb.id)] = _local3.scb;
_local3.scb.fired = true;
}
if (_local16 == true) {
if (_local11[_local29] == undefined) {
_local11[_local29] = [_local6, []];
}
_local11[_local29][1].unshift(_local24);
}
if (_local3.ucb != undefined) {
_local19[String(_local3.ucb.id)] = _local3.ucb;
}
if (_local7 == true) {
if (_local16 == true) {
if (_local12[_local29] == undefined) {
_local12[_local29] = [_local6, []];
}
_local12[_local29][1].unshift(_local24);
}
if (_local3.ecb != undefined) {
_local18[String(_local3.ecb.id)] = _local3.ecb;
}
delete _local28[_local24];
if (_local24 == _local10.colorProp) {
delete _local10.colorProp;
}
_local10.numProps--;
if (_local10.numProps <= 0) {
_local22 = true;
}
}
}
}
for (var _local29 in _local13) {
_local13[_local29][0].broadcastMessage("onTweenStart", {target:_local13[_local29][0], props:_local13[_local29][1]});
}
for (var _local29 in _local17) {
_local17[_local29].f.apply(_local17[_local29].s, _local17[_local29].a);
}
for (var _local29 in _local11) {
_local11[_local29][0].broadcastMessage("onTweenUpdate", {target:_local11[_local29][0], props:_local11[_local29][1]});
}
for (var _local29 in _local19) {
_local19[_local29].f.apply(_local19[_local29].s, _local19[_local29].a);
}
for (var _local29 in _local12) {
_local12[_local29][0].broadcastMessage("onTweenEnd", {target:_local12[_local29][0], props:_local12[_local29][1]});
}
for (var _local29 in _local18) {
_local18[_local29].f.apply(_local18[_local29].s, _local18[_local29].a);
}
if (_local22) {
cleanUp();
}
now = getTimer();
}
function cleanUp(noInit) {
for (var _local4 in tweens) {
var _local2 = tweens[_local4].targ;
if ((tweens[_local4].numProps <= 0) || (_local2.__zigoID__ == undefined)) {
if (((_local2 != undefined) && (_local2.tween == undefined)) && (noInit != true)) {
com.mosesSupposes.fuse.ZigoEngine.deinitializeTargets(_local2);
}
delete tweens[_local4];
numTweens--;
}
}
if (numTweens <= 0) {
numTweens = 0;
delete tweens;
tweens = {};
if (noInit != true) {
com.mosesSupposes.fuse.ZigoEngine.__mgrRelay(this, "setup", [true]);
}
}
}
function paramsObj(targs, props, endvals) {
var _local6 = {};
_local6.all = String(targs).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALL;
_local6.none = Boolean(targs == null);
if (_local6.all == true) {
_local6.tg = [null];
} else {
_local6.tg = ((targs instanceof Array) ? (targs) : ([targs]));
for (var _local11 in _local6.tg) {
var _local7 = _local6.tg[_local11];
if ((_local7 == null) || (!((typeof(_local7) == "object") || (typeof(_local7) == "movieclip")))) {
_local6.tg.splice(Number(_local11), 1);
}
}
}
_local6.allprops = props == null;
var _local1;
var _local4;
var _local3 = {};
if (_local6.allprops == false) {
if ((typeof(props) == "string") && ((String(props).indexOf(" ") > -1) || (String(props).indexOf(",") > -1))) {
props = String(props.split(" ").join("")).split(",");
}
_local1 = ((props instanceof Array) ? (props.slice()) : ([props]));
if (endvals != undefined) {
if ((typeof(endvals) == "string") && ((String(endvals).indexOf(" ") > -1) || (String(endvals).indexOf(",") > -1))) {
endvals = String(endvals.split(" ").join("")).split(",");
}
_local4 = ((endvals instanceof Array) ? (endvals.slice()) : ([endvals]));
while (_local4.length < _local1.length) {
_local4.push(_local4[_local4.length - 1]);
}
_local4.splice(_local1.length, _local4.length - _local1.length);
}
for (var _local11 in _local1) {
var _local2 = Number(_local11);
if ((_local1[_local11] != "_scale") && (_local1[_local11] != "_size")) {
if (_local3[_local1[_local11]] == undefined) {
if (String(_local1[_local11]).toUpperCase() == com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR) {
_local1[_local11] = com.mosesSupposes.fuse.FuseKitCommon.ALLCOLOR;
}
_local3[_local1[_local11]] = true;
} else {
_local1.splice(_local2, 1);
_local4.splice(_local2, 1);
}
} else {
var _local8 = String(_local1.splice(_local2, 1)[0]);
var _local5 = _local4.splice(_local2, 1)[0];
if (_local8 == "_scale") {
if (_local3._xscale == undefined) {
_local1.splice(_local2, 0, "_xscale");
_local4.splice(_local2, 0, _local5);
_local3._xscale = true;
_local2++;
}
if (_local3._yscale == undefined) {
_local1.splice(_local2, 0, "_yscale");
_local4.splice(_local2, 0, _local5);
_local3._yscale = true;
}
}
if (_local8 == "_size") {
if (_local3._width == undefined) {
_local1.splice(_local2, 0, "_width");
_local4.splice(_local2, 0, _local5);
_local3._width = true;
_local2++;
}
if (_local3._yscale == undefined) {
_local1.splice(_local2, 0, "_height");
_local4.splice(_local2, 0, _local5);
_local3._height = true;
}
}
}
}
for (var _local11 in _local1) {
if (((_local1[_local11] == "_xscale") && (_local3._width == true)) || ((_local1[_local11] == "_yscale") && (_local3._height == true))) {
_local1.splice(Number(_local11), 1);
_local4.splice(Number(_local11), 1);
delete _local3[_local1[_local11]];
}
}
}
_local6.pa = _local1;
_local6.va = _local4;
_local6.props = _local3;
return(_local6);
}
var numTweens = 0;
}
Symbol 498 MovieClip [__Packages.GameItem] Frame 0
class GameItem extends MovieClip
{
var xcell, ycell, inMoving, mcSparkAnimation, _in_collecting, _map, _game, _x, _y, _bonus_type, mcBonusSkin, mcBonusRandom, _random_change_interval_id, _locked, _type, mcAnimation, mcSelected, mcOver, mcLock1, mcLock2, OnTypeChanged;
function GameItem () {
super();
Selected = (false);
Overed = (false);
xcell = -1;
ycell = -1;
ClearLocking();
inMoving = 0;
mcSparkAnimation._visible = false;
BonusType = (bonustypeNone);
_in_collecting = false;
}
function Init(type, map, game) {
_map = map;
_game = game;
Type = (type);
}
function SetPos(xc, yc) {
xcell = xc;
ycell = yc;
}
function Move(x, y) {
_x = x;
_y = y;
}
function get BonusType() {
return(_bonus_type);
}
function set BonusType(param) {
mcBonusSkin._visible = false;
mcBonusSkin.stop();
mcBonusRandom._visible = false;
mcBonusRandom.stop();
_bonus_type = param;
switch (_bonus_type) {
case bonustypeX2 :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(1);
break;
case bonustypeX3 :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(2);
break;
case bonustypeMulti :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(7);
Type = (elementTypeMulticolor);
break;
case bonustypeRandom :
mcBonusRandom._visible = true;
mcBonusRandom.play();
if (_random_change_interval_id != undefined) {
clearInterval(_random_change_interval_id);
}
_random_change_interval_id = setInterval(this, "OnChangeType", 4000);
break;
case bonustypeBomb :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(3);
break;
case bonustypeQuake :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(4);
break;
case bonustypeTimeMove :
mcBonusSkin._visible = true;
mcBonusSkin.gotoAndStop(((_game.GameMode == 0) ? 5 : 6));
break;
default :
if (_bonus_type == 0) {
break;
}
trace("Unknown bonus type: " + _bonus_type);
}
//return(BonusType);
}
function get isLocked() {
return(_locked != 0);
}
function get Type() {
return(_type);
}
function set Type(param) {
_type = param;
mcAnimation.mcSkin.gotoAndStop(_type);
//return(Type);
}
function get Selected() {
return(mcSelected._visible);
}
function set Selected(param) {
mcSelected._visible = param;
//return(Selected);
}
function get Overed() {
return(mcOver._visible);
}
function set Overed(param) {
if (param) {
mcOver.play();
} else {
mcOver.stop();
}
mcOver._visible = param;
//return(Overed);
}
function get isMoved() {
return(inMoving != 0);
}
function get inCollecting() {
return(_in_collecting);
}
function StartMove() {
inMoving++;
_game.ItemStartMove();
}
function StopMove() {
inMoving--;
if (inMoving < 0) {
inMoving = 0;
}
_game.ItemStopMove();
}
function onEnterFrame() {
if (((Math.random() < 0.001) && (mcSparkAnimation._visible == false)) && (!isMoved)) {
mcSparkAnimation._x = Math.random() * Game.grid_cell_w;
mcSparkAnimation._y = Math.random() * Game.grid_cell_h;
mcSparkAnimation._visible = true;
mcSparkAnimation.gotoAndPlay(1);
}
}
function ClearLocking() {
SetLocking(0);
}
function SetLocking(lock) {
_locked = lock;
if (lock == 2) {
mcLock1._visible = false;
mcLock2._visible = true;
} else if (lock == 1) {
mcLock1._visible = true;
mcLock2._visible = false;
} else {
mcLock1._visible = false;
mcLock2._visible = false;
}
}
function Unlock() {
SetLocking(_locked - 1);
}
function OnChangeType() {
var _local2 = _map.ItemTypes[Math.floor(Math.random() * _map.ItemTypes.length)];
if (_local2 != Type) {
Type = (_local2);
}
if (OnTypeChanged != undefined) {
OnTypeChanged();
}
}
function DoAppear() {
mcAnimation.gotoAndPlay("frameAppear");
}
function DoCollect(callback) {
if (_random_change_interval_id != undefined) {
clearInterval(_random_change_interval_id);
}
if (inMoving != 0) {
Tracer.trace("!!! collectig moved item " + String(this));
}
_in_collecting = true;
mcBonusSkin._visible = false;
mcAnimation.gotoAndPlay("frameCollect");
mcAnimation.OnCollected = callback;
}
function DoQuake() {
if (_random_change_interval_id != undefined) {
clearInterval(_random_change_interval_id);
}
mcBonusSkin._visible = false;
}
static var bonustypeNone = 0;
static var bonustypeX2 = 1;
static var bonustypeX3 = 2;
static var bonustypeMulti = 3;
static var bonustypeRandom = 4;
static var bonustypeBomb = 5;
static var bonustypeQuake = 6;
static var bonustypeTimeMove = 7;
static var elementTypeMulticolor = 12;
static var elementTypeTrash = 13;
}
Symbol 499 MovieClip [__Packages.Map] Frame 0
class Map extends MovieClip
{
var Width, Height, PointsToComplete, mcCellsContainer, createEmptyMovieClip, getNextHighestDepth, GameMode, MapNumber, Time, isBonus, ItemTypes, ItemBonuses, Cells, Items, attachMovie;
function Map () {
super();
Width = 0;
Height = 0;
PointsToComplete = 0;
mcCellsContainer = createEmptyMovieClip("cellsContainer", getNextHighestDepth());
Object(mcCellsContainer).cacheAsBitmap = true;
Object(this).cacheAsBitmap = true;
}
function GetMapInfo(level) {
if ((GameMode == 0) || (GameMode == undefined)) {
return(MapData.maps_info[level]);
}
return(MapData.maps_info_puzzle[level]);
}
function GetMapBonuses(itemBonusesOut, mapInfo) {
var _local3 = String(mapInfo[5]).split(",");
var _local2 = 0;
while (_local2 < _local3.length) {
var _local1 = 1;
while (_local1 < ElementBonusNamePairs.length) {
if (_local3[_local2] == ElementBonusNamePairs[_local1]) {
itemBonusesOut.push(ElementBonusNamePairs[_local1 - 1]);
break;
}
_local1 = _local1 + 2;
}
_local2++;
}
}
function Load(mapnum, gameMode) {
MapNumber = mapnum;
GameMode = gameMode;
_quests_counter = 0;
var _local10;
if (gameMode == 0) {
_local10 = MapData.maps_info[mapnum];
} else {
_local10 = MapData.maps_info_puzzle[mapnum];
}
var _local11;
if (Helper.DEBUG) {
_local11 = MapData.maps_data_debug[Number(_local10[0]) - 1];
} else {
_local11 = MapData.maps_data[Number(_local10[0]) - 1];
}
Time = Number(_local10[3]);
isBonus = Boolean(_local10[6]);
delete ItemTypes;
ItemTypes = new Array();
var _local8 = String(_local10[4]).split(",");
var _local4 = 0;
while (_local4 < _local8.length) {
var _local3 = 1;
while (_local3 < ElementTypeNamePairs.length) {
if (_local8[_local4] == ElementTypeNamePairs[_local3]) {
ItemTypes.push(ElementTypeNamePairs[_local3 - 1]);
break;
}
_local3 = _local3 + 2;
}
_local4++;
}
delete ItemBonuses;
ItemBonuses = new Array();
GetMapBonuses(ItemBonuses, _local10);
Width = Number(_local11[0]);
Height = Number(_local11[1]);
var _local7 = String(_local11[2]);
if (_local7.length != (Width * Height)) {
trace("error of size in map# " + mapnum);
trace((("mapdata.length= " + _local7.length) + ", Width*Height=") + (Width * Height));
return(undefined);
}
PointsToComplete = 0;
Cells = new Array(Width);
Items = new Array(Width);
_local4 = 0;
while (_local4 < Width) {
Cells[_local4] = new Array(Height);
Items[_local4] = new Array(Height);
var _local3 = 0;
while (_local3 < Height) {
var _local5 = (Width * _local3) + _local4;
if (_local7.length < _local5) {
trace("error of size in map# " + mapnum);
Clear();
return(undefined);
}
var _local6 = _local7.substr(_local5, 1);
var _local2 = celltypeNone;
switch (_local6) {
case "0" :
_local2 = celltypeNone;
break;
case "1" :
_local2 = celltypeQuest1;
_quests_counter++;
break;
case "2" :
_local2 = celltypeQuest2;
_quests_counter++;
break;
case "b" :
_local2 = celltypeEmpty;
break;
case "s" :
_local2 = celltypeStarter;
break;
case "z" :
_local2 = celltypeLock1;
_quests_counter++;
break;
case "Z" :
_local2 = celltypeLock2;
_quests_counter++;
break;
case "t" :
_local2 = celltypeTrash;
_quests_counter++;
}
Cells[_local4][_local3] = _local2;
Items[_local4][_local3] = undefined;
_local3++;
}
_local4++;
}
}
function Init() {
var _local4;
var _local5 = 0;
var _local3 = 0;
while (_local3 < Width) {
var _local2 = 0;
while (_local2 < Height) {
if (canPlace(_local3, _local2)) {
_local4 = mcCellsContainer.attachMovie("ItemBG", (("itm_bg_" + _local3) + "_") + _local2, mcCellsContainer.getNextHighestDepth());
_local4._x = _local3 * grid_cell_w;
_local4._y = _local2 * grid_cell_h;
if ((((Cells[_local3][_local2] == celltypeQuest1) || (Cells[_local3][_local2] == celltypeLock1)) || (Cells[_local3][_local2] == celltypeLock2)) || (Cells[_local3][_local2] == celltypeTrash)) {
_local4.gotoAndStop(2);
} else if (Cells[_local3][_local2] == celltypeQuest2) {
_local4.gotoAndStop(3);
}
_local4._alpha = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween(_local4, "_alpha", 100, 1, mx.transitions.easing.Regular.easeOut, _local5, 0);
_local5 = _local5 + 0.01;
}
_local2++;
}
_local3++;
}
}
function Clear() {
var _local5;
var _local3 = 0;
while (_local3 < Width) {
var _local2 = 0;
while (_local2 < Height) {
if (Items[_local3][_local2] != undefined) {
Items[_local3][_local2].removeMovieClip();
delete Items[_local3][_local2];
Items[_local3][_local2] = undefined;
}
var _local4;
_local4 = mcCellsContainer[(("itm_bg_" + _local3) + "_") + _local2];
if (_local4 != undefined) {
_local4.removeMovieClip();
}
_local2++;
}
delete Cells[_local3];
delete Items[_local3];
_local3++;
}
delete Cells;
}
function getItem(x, y) {
if (canPlace(x, y)) {
return(Items[x][y]);
}
return(undefined);
}
function canPlace(x, y) {
if ((((x < 0) || (y < 0)) || (x >= Width)) || (y >= Height)) {
return(false);
}
if ((Cells[x][y] != celltypeNone) && (Cells[x][y] != celltypeStarter)) {
return(true);
}
return(false);
}
function hasItem(x, y) {
if (canPlace(x, y) && (Items[x][y] != undefined)) {
return(true);
}
return(false);
}
function setItem(itm, x, y) {
if (((itm.xcell >= 0) && (itm.ycell >= 0)) && (getItem(itm.xcell, itm.ycell) == itm)) {
Items[itm.xcell][itm.ycell] = undefined;
}
if (hasItem(x, y)) {
removeItem(x, y);
}
Items[x][y] = itm;
itm.SetPos(x, y);
}
function SwapItems(itm1, itm2) {
var _local5 = itm2.xcell;
var _local4 = itm2.ycell;
Items[itm1.xcell][itm1.ycell] = undefined;
setItem(itm2, itm1.xcell, itm1.ycell);
setItem(itm1, _local5, _local4);
}
function removeItem(x, y) {
if (hasItem(x, y)) {
Items[x][y].removeMovieClip();
delete Items[x][y];
Items[x][y] = undefined;
}
}
function GetNextGameItemNum() {
return(_game_item_counter++);
}
function OnItemCollecting(itm) {
var _local4 = Cells[itm.xcell][itm.ycell];
switch (_local4) {
case celltypeLock1 :
case celltypeLock2 :
var _local5 = mcCellsContainer[(("itm_bg_" + itm.xcell) + "_") + itm.ycell];
if (_local5._currentframe == 1) {
break;
}
case celltypeQuest1 :
Cells[itm.xcell][itm.ycell] = celltypeEmpty;
mcCellsContainer[(("itm_bg_" + itm.xcell) + "_") + itm.ycell].gotoAndStop(1);
_quests_counter--;
var _local3 = attachMovie("Quest1breakAnim", "quest1breakAnim", getNextHighestDepth());
_local3._x = (itm.xcell * grid_cell_w) + (grid_cell_w / 2);
_local3._y = (itm.ycell * grid_cell_h) + (grid_cell_h / 2);
return(true);
case celltypeQuest2 :
Cells[itm.xcell][itm.ycell] = celltypeQuest1;
mcCellsContainer[(("itm_bg_" + itm.xcell) + "_") + itm.ycell].gotoAndStop(2);
_local3 = attachMovie("Quest2breakAnim", "quest2breakAnim", getNextHighestDepth());
_local3._x = (itm.xcell * grid_cell_w) + (grid_cell_w / 2);
_local3._y = (itm.ycell * grid_cell_h) + (grid_cell_h / 2);
}
return(false);
}
function hasQuests() {
return(_quests_counter > 0);
}
function hasQuests2() {
var _local5 = 0;
var _local4 = 0;
while (_local4 < Width) {
var _local2 = 0;
while (_local2 < Height) {
var _local3 = mcCellsContainer[(("itm_bg_" + _local4) + "_") + _local2];
if ((_local3 != undefined) && (_local3._currentframe != 1)) {
return(true);
}
_local2++;
}
_local4++;
}
return(false);
}
function getQuestsCount() {
return(_quests_counter);
}
function getCell(x, y) {
return(Cells[x][y]);
}
function setCell(x, y, val) {
Cells[x][y] = val;
}
function CreateTempCellsArray() {
var _local3 = new Array(Width);
var _local2 = 0;
while (_local2 < Width) {
_local3[_local2] = new Array(Height);
_local2++;
}
return(_local3);
}
function GetTopRow(column) {
var _local2 = 0;
while (_local2 < Height) {
if (canPlace(column, _local2)) {
return(_local2);
}
_local2++;
}
return(-1);
}
function GetTopRowFromRow(column, row) {
var _local2 = row;
while (_local2 >= 0) {
if ((!canPlace(column, _local2)) || ((Items[column][_local2] != undefined) && (Items[column][_local2].isLocked))) {
return(_local2 + 1);
}
_local2--;
}
return(-1);
}
function GetBottomEmptyRow(column, row) {
var _local2 = row;
while (_local2 < Height) {
if ((!canPlace(column, _local2)) || (hasItem(column, _local2))) {
return(_local2 - 1);
}
_local2++;
}
return(Height - 1);
}
function GetTopFalledUnlockedElement(column, row) {
var _local2 = row;
while (_local2 >= 0) {
if ((!canPlace(column, _local2)) || (getItem(column, _local2).__get__isLocked())) {
break;
}
if (getCell(column, _local2 - 1) == celltypeStarter) {
return(0);
}
if (hasItem(column, _local2) && ((getItem(column, _local2)._y / grid_cell_h) <= row)) {
return(_local2);
}
_local2--;
}
return(-1);
}
function GetItemTarget(column, row) {
var _local2 = new Point(column, row);
while (true) {
_local2.y = GetBottomEmptyRow(_local2.x, _local2.y);
if (canPlace(_local2.x - 1, _local2.y + 1) && (!hasItem(_local2.x - 1, _local2.y + 1))) {
_local2.x = _local2.x - 1;
_local2.y = _local2.y + 1;
} else if (canPlace(_local2.x + 1, _local2.y + 1) && (!hasItem(_local2.x + 1, _local2.y + 1))) {
_local2.x = _local2.x + 1;
_local2.y = _local2.y + 1;
} else {
break;
}
}
return(_local2);
}
function GetNextLevelNewBonuses() {
var _local6 = GetMapInfo(MapNumber);
var _local4 = GetMapInfo(MapNumber + 1);
var _local3 = new Array();
var _local2 = new Array();
GetMapBonuses(_local3, _local6);
GetMapBonuses(_local2, _local4);
var _local5 = Helper.SubtractArray(_local2, _local3);
return(_local5);
}
static var grid_cell_w = 34;
static var grid_cell_h = 34;
static var celltypeNone = 0;
static var celltypeEmpty = 1;
static var celltypeStarter = 2;
static var celltypeQuest1 = 3;
static var celltypeQuest2 = 4;
static var celltypeLock1 = 5;
static var celltypeLock2 = 6;
static var celltypeTrash = 7;
static var ElementTypeNamePairs = new Array(1, "fan", 2, "sakura", 3, "tea", 4, "lamp", 5, "scroll", 6, "fish", 7, "hat", 8, "lampred", 9, "pearl", 10, "pearlblue", 11, "pitcher");
static var ElementBonusNamePairs = new Array(1, "x2", 2, "x3", 3, "multicolor", 4, "random", 5, "bomb", 6, "quake", 7, "time_move");
var _game_item_counter = 0;
var _quests_counter = 0;
}
Symbol 500 MovieClip [__Packages.MapData] Frame 0
class MapData
{
function MapData () {
}
static var maps_info = new Array(new Array(1, "1.jpg", "spring", 299, "fan,sakura,tea,lamp,scroll", "x2", 0), new Array(2, "1.jpg", "spring", 299, "fan,sakura,tea,pearlblue,hat", "x2,x3", 0), new Array(3, "1.jpg", "spring", 299, "lampred,fish,tea,scroll,pearl", "x2,x3,multicolor", 0), new Array(4, "1.jpg", "spring", 299, "fan,pitcher,hat,tea,pearl", "x2,x3,multicolor,time_move", 0), new Array(5, "1.jpg", "spring", 299, "fan,sakura,scroll,pearlblue,tea", "x2,x3,multicolor,time_move,bomb", 0), new Array(6, "backbonus1.jpg", "bonus_evening", 60, "lampred,tea,hat,pearlblue", "x2,x3,multicolor,time_move,bomb,random", 1), new Array(7, "1.jpg", "spring", 360, "pearl,lampred,hat,sakura,tea", "x2,x3,multicolor,time_move,bomb,random,quake", 0), new Array(8, "1.jpg", "spring", 320, "lamp,fan,hat,fish,tea", "x2,x3,multicolor,time_move,bomb,random,quake", 0));
static var maps_info_puzzle = new Array(new Array(1, "1.jpg", "spring", 35, "fan,sakura,tea,lamp,scroll", "x2", 0), new Array(2, "1.jpg", "spring", 35, "fan,sakura,tea,pearlblue,hat", "x2,x3", 0), new Array(3, "1.jpg", "spring", 35, "lampred,fish,tea,scroll,pearl", "x2,x3,multicolor", 0), new Array(4, "1.jpg", "spring", 45, "fan,pitcher,hat,tea,pearl", "x2,x3,multicolor,time_move", 0), new Array(5, "1.jpg", "spring", 35, "fan,sakura,scroll,pearlblue,tea", "x2,x3,multicolor,time_move,bomb", 0), new Array(6, "backbonus1.jpg", "bonus_evening", 60, "lampred,tea,hat,pearlblue", "x2,x3,multicolor,time_move,bomb,random", 1), new Array(7, "1.jpg", "spring", 45, "pearl,lampred,hat,sakura,tea", "x2,x3,multicolor,time_move,bomb,random,quake", 0), new Array(8, "1.jpg", "spring", 45, "lamp,fan,hat,fish,tea", "x2,x3,multicolor,time_move,bomb,random,quake", 0));
static var maps_data = new Array(new Array("11", "10", "000sssss000000bbbbb00000bbbbbbb000bbbbbbbbb0bb11bbb11bbbb11bbb11bbbb11bbb11bb0bbbbbbbbb000bbbbbbb00000bbbbb000"), new Array("11", "10", "00sssssss0000bbbbbbb0000bbbbbbb0000b11111b0000b11111b000bbb111bbb0bbbbb1bbbbb0bbb111bbb00bb11111bb0000bbbbb000"), new Array("11", "10", "0000sss00000000bbb0000000bbbbb00000b11b11b000bbbb1bbbb0bbbb111bbbb0bbbb1bbbb000b11b11b00000bb1bb0000000bbb0000"), new Array("11", "10", "00sssssss000011111110001111b11110b111b0b111bb11b000b11bb110000011bb11b000b11bbbb11011bbb0bbb1b1bbb000bbbbbbb00"), new Array("11", "11", "0000sssss000000bbbbb000001111111000b1111111b00b1111111b000b11111b0000000z00000000011100000001111100000b11111b0000b11111b0"), new Array("10", "8", "000sssss00000bbbbb0000bbbbbbb00bbbbbbbbb0bbbbbbbbb0bbbbbbbbb0bbbbbbbbb00bbbbbbb0"), new Array("11", "10", "00ssssssss000b111111b00b111bb111bbb11122111b0b11222211b001112211100bb11bb11bb0bb111111bb0b11011011b0b10011001b"), new Array("11", "10", "00sssssss00001111111000111bbb111011111b111111111111111100zz000zz000bb11011bb0bb1bbbbb1bb0122bbb221000111111100"), new Array("12", "10", "0ssss000ssss0b11b000b11b0bbb1b0b1bbb0bbb11111bbb00111bzb111000001zZz100000001bzb100000011111110000b1112111b00b111111111b"), new Array("13", "10", "ssss00000ssssb11100000111b1b111000111b11b111b0b111b1b11110001111bzZz1000001zZz1221b000b122101111b0b11110001111b1111000001111111000"), new Array("9", "11", "sssssssss00bbbbb000bbbbbbb0bbbbbbbbb0bbbbbbb0bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb0bbbbbbb000bbbbb00"));
static var maps_data_debug = new Array(new Array("7", "9", "sssssssbbbbbbbbbbbbbbbbbbbbbZbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"));
static var test_pattern = new Array("3", "5", "000222222222222");
static var test_generated_pattern = new Array("11", "5", "332132343133331323433010333333330203333333302033333333");
}
Symbol 501 MovieClip [__Packages.Point] Frame 0
class Point
{
var x, y;
function Point (x, y) {
this.x = x;
this.y = y;
}
function offset(dx, dy) {
x = x + dx;
y = y + dy;
}
function equals(toCompare) {
return((x == toCompare.x) && (y == toCompare.y));
}
function subtractPoint(v) {
return(new Point(x - v.x, y - v.y));
}
function addPoint(v) {
return(new Point(x + v.x, y + v.y));
}
function normalize(length) {
}
function toString() {
return(((("Point {x=" + x) + ", y=") + y) + "}");
}
}
Symbol 502 MovieClip [__Packages.Game] Frame 0
class Game extends MovieClip
{
var delegateItemCollected, map, attachMovie, getNextHighestDepth, mcComboMessage, btnMenu, _all_items_presented, _game_in_process, _pause, _shift_down_interval_id, orientierMapCenter, textItemsMoved, _quaked_groups, _time_last_user_active, OnMenu, _visible, OnShowAd, GameMode, ITEM_SCORE, BONUS_MULTICOLOR_SCORE, BONUS_RANDOM_SCORE, BONUS_BOMB_SCORE, BONUS_QUAKE_SCORE, BONUS_TIMEMOVE_SCORE, TIMEMOVE_VALUE, MAX_BONUS_SCORE, _score, _brooms_count, _current_level, mcBroom, _score_in_round, _rount_time, _level_full_time, _best_shot_score, _brooms_in_round, _bonus_score_in_round, _round_finished, _only_broom_mode, _time_is_lefted, strLevel, strScore, strRemain, _time_tick_interval_id, mcCompleteBar, OnGameExit, _test_generating, _xmouse, _ymouse, _clicked_pos_x, _clicked_pos_y, _gragging, _overed_item, _selected_item, _prev_quests_count, _quake_interval_id, textScore, textLevel, textBrooms, textRemain, mcBroomCursor, mcBroomGlow, mcWndLevelComplete, mcWndGameOver;
function Game () {
super();
delegateItemCollected = mx.utils.Delegate.create(this, ItemCollectingFinishedCallback);
Key.addListener(this);
map = Map(attachMovie("Map", "map", getNextHighestDepth()));
mcComboMessage = attachMovie("ComboMessage", "mcComboMessage", COMBO_MESSAGE_DEPTH);
btnMenu.OnClick = mx.utils.Delegate.create(this, MenuButtonOnPress);
SetInStageCenter(mcComboMessage);
}
function get isItemsMoved() {
return(_global_isItemMoved > 0);
}
function get UserCanInterract() {
return(((_all_items_presented && (_game_in_process)) && (!_pause)) && (_shift_down_interval_id == undefined));
}
function get inPause() {
return(_pause);
}
function ItemStartMove() {
_global_isItemMoved++;
}
function ItemStopMove() {
_global_isItemMoved--;
if (_global_isItemMoved < 0) {
_global_isItemMoved = 0;
}
}
function MenuButtonOnPress() {
OpenGameMenu();
}
function SetInStageCenter(mc) {
mc._x = orientierMapCenter._x - (mc._width / 2);
mc._y = orientierMapCenter._y - (mc._height / 2);
}
function SetInStageCenterEx(mc, w, h) {
mc._x = orientierMapCenter._x - (w / 2);
mc._y = orientierMapCenter._y - (h / 2);
}
function onEnterFrame() {
textItemsMoved.text = _global_isItemMoved;
if ((_in_quake && (_quaked_groups != undefined)) && (_quaked_groups.length > 0)) {
_quake_period++;
if (_quake_period > 2) {
_quake_period = 0;
var _local3;
var _local4 = 0;
while (_local4 < _quaked_groups.length) {
var _local2 = 0;
while (_local2 < _quaked_groups[_local4].length) {
_local3 = _quaked_groups[_local4][_local2];
MoveItemToFromCell(_local3);
_local3._x = _local3._x + ((Math.random() * 4) - 2);
_local3._y = _local3._y + ((Math.random() * 4) - 2);
_local2++;
}
_local4++;
}
}
}
if ((_shift_down_interval_id != undefined) && ((getTimer() - _last_genetation_time) >= (TIME_MOVE_DOWN_ITEM * 1000))) {
ShiftItemsDown(true);
}
if ((!_pause) && (_time_last_user_active > UNACTIVE_TIME_TO_OPEN_GAME_MENU)) {
OpenGameMenu();
}
return(undefined);
}
function OpenGameMenu() {
if (OnMenu != undefined) {
_pause = true;
_visible = false;
Helper.StopMusic();
OnMenu();
}
}
function OpenAdScreen() {
if (OnShowAd != undefined) {
OnShowAd();
}
}
function CloseGameMenu() {
_visible = true;
_pause = false;
if ((_game_in_process && (Helper.MusicEnabled)) && (Helper.__get__isMusicLoaded())) {
Helper.PlayMusic();
}
OnItemsChanged();
}
function CloseAdScreen() {
StartNextLevel();
}
function StartNewGame(gamemode) {
GameMode = gamemode;
var _local2 = ((GameMode == 0) ? (ArcadeVars) : (PuzzleVars));
ITEM_SCORE = _local2[13];
BONUS_MULTICOLOR_SCORE = _local2[4];
BONUS_RANDOM_SCORE = _local2[5];
BONUS_BOMB_SCORE = _local2[6];
BONUS_QUAKE_SCORE = _local2[7];
BONUS_TIMEMOVE_SCORE = _local2[8];
TIMEMOVE_VALUE = _local2[15];
MAX_BONUS_SCORE = _local2[16];
_score = 0;
_brooms_count = 0;
_current_level = 0;
_pause = false;
if (DEBUG) {
_current_level = 0;
_brooms_count = 5;
}
LoadLevel(_current_level);
}
function Launch() {
Tracer.trace("Game(): GameMode=" + GameMode);
if (GameMode == undefined) {
GameMode = 0;
}
StartNewGame(GameMode);
mcBroom.onPress = mx.utils.Delegate.create(this, OnBroomClick);
Start();
}
function StartNextLevel() {
_current_level++;
LoadLevel(_current_level);
Start();
}
function LoadLevel(level) {
_current_level = level;
_score_in_round = 0;
_all_items_presented = false;
_global_isItemMoved = 0;
map.Clear();
map.Load(_current_level, GameMode);
map.Init();
SetInStageCenterEx(map, map.Width * grid_cell_w, map.Height * grid_cell_h);
_rount_time = map.Time;
_level_full_time = 0;
_best_shot_score = 0;
_brooms_in_round = 0;
_bonus_score_in_round = 0;
create_items();
_round_finished = false;
_start_generating = true;
_only_broom_mode = false;
_time_is_lefted = false;
}
function CreateStartLevelMessage() {
var _local2 = attachMovie("StartLevelMessage", "startLevel", getNextHighestDepth());
SetInStageCenterEx(_local2, 0, 0);
return(_local2);
}
function Start() {
strLevel = Language.Transl("level");
strScore = Language.Transl("scores interface");
strRemain = (((GameMode == 0) || (map.isBonus == true)) ? (Language.Transl("remain time")) : (Language.Transl("moves")));
btnMenu.textMenu = Language.Transl("menu");
var _local2 = CreateStartLevelMessage();
_local2.text = Language.Transl("go!");
if (map.isBonus) {
_local2.BonusLevelText = Language.Transl("bonus level");
}
_local2.OnClosing = mx.utils.Delegate.create(this, StartLevelMessageClosed);
_local2.play();
if (Helper.MusicEnabled && (Helper.__get__isMusicLoaded())) {
Helper.PlayMusic();
}
}
function StartLevelMessageClosed() {
_all_items_presented = true;
UpdateRemainTime();
UpdateLevelNum();
UpdateBroom();
if (_time_tick_interval_id != undefined) {
clearInterval(_time_tick_interval_id);
_time_tick_interval_id = undefined;
}
if ((GameMode == 0) || (map.isBonus == true)) {
_time_tick_interval_id = setInterval(this, "OnTimerTick", 1000);
}
OnItemsChanged();
_game_in_process = true;
}
function OnRoundFinished() {
_game_in_process = false;
_bonus_score_in_round = (mcCompleteBar.Value * MAX_BONUS_SCORE) / 100;
_bonus_score_in_round = Math.round(_bonus_score_in_round / 10) * 10;
_score = _score + _bonus_score_in_round;
UpdateScore();
Tracer.trace("_bonus_score_in_round=" + _bonus_score_in_round);
ShowLevelEndMessage();
}
function OnTimeLeft() {
clearInterval(_time_tick_interval_id);
_time_tick_interval_id = undefined;
_game_in_process = false;
_only_broom_mode = false;
DeleteBroomCursor();
ShowGameOverMessage();
}
function YouWinMessageClosed() {
CloseLevelEndMessage();
OpenAdScreen();
}
function GameOverMessageClosed() {
CloseGameOverMessage();
GotoMainMenu();
}
function GotoMainMenu() {
OnGameExit();
}
function ItemTweenFinishedCallback(itm) {
itm.StopMove();
if (!itm.__get__isMoved()) {
OnItemsChanged();
}
}
function ItemCollectingFinishedCallback(itm) {
itm.StopMove();
map.removeItem(itm.xcell, itm.ycell);
OnItemsChanged();
}
function ItemTypeChangedCallback() {
OnItemsChanged();
}
function create_items() {
var _local2;
if (Helper.DEBUG) {
var _local10 = MapData.test_pattern[0];
var _local14 = MapData.test_pattern[1];
var _local13 = String(MapData.test_pattern[2]);
var _local4 = 0;
while (_local4 < _local10) {
var _local3 = 0;
while (_local3 < _local14) {
if (!map.canPlace(_local4, _local3)) {
} else {
var _local7 = (_local10 * _local3) + _local4;
var _local5 = _local13.substr(_local7, 1);
var _local6 = Number(_local5);
_local2 = CreateItem();
_local2.__set__Type(_local6);
map.setItem(_local2, _local4, _local3);
MoveItemToFromCell(_local2);
}
_local3++;
}
_local4++;
}
if (_test_generating != undefined) {
delete _test_generating;
}
var _local9 = MapData.test_generated_pattern[0];
var _local12 = MapData.test_generated_pattern[1];
var _local11 = MapData.test_generated_pattern[2];
_test_generating = new Array();
_local4 = 0;
while (_local4 < _local9) {
var _local8 = new Array();
var _local3 = 0;
while (_local3 < _local12) {
var _local7 = (_local9 * _local3) + _local4;
_local8.push(_local11.substr(_local7, 1));
_local3++;
}
_test_generating.push(_local8);
_local4++;
}
}
var _local4 = 0;
while (_local4 < map.Width) {
var _local3 = 0;
while (_local3 < map.Height) {
if (map.canPlace(_local4, _local3)) {
switch (map.getCell(_local4, _local3)) {
case Map.celltypeLock1 :
case Map.celltypeLock2 :
_local2 = CreateItem();
map.setItem(_local2, _local4, _local3);
MoveItemToFromCell(_local2);
_local2.SetLocking(((map.getCell(_local4, _local3) == Map.celltypeLock1) ? 1 : 2));
}
}
_local3++;
}
_local4++;
}
}
function ConvertX2LocPos(cell_x) {
return(cell_x * grid_cell_w);
}
function ConvertX2CellPos(loc_x) {
return(Math.floor((loc_x - map._x) / grid_cell_w));
}
function ConvertY2LocPos(cell_y) {
return(cell_y * grid_cell_h);
}
function ConvertY2CellPos(loc_y) {
return(Math.floor((loc_y - map._y) / grid_cell_h));
}
function Convert2CellPos(p) {
map.globalToLocal(p);
p.x = Math.floor(p.x / grid_cell_w);
p.y = Math.floor(p.y / grid_cell_h);
return(p);
}
function onMouseDown(Void) {
_time_last_user_active = 0;
if ((UserCanInterract || (Helper.DEBUG)) || (Helper.DEBUG2)) {
var _local3 = new Point(_xmouse, _ymouse);
var _local2 = Convert2CellPos(_local3);
if (map.canPlace(_local2.x, _local2.y)) {
OnClickToCell(_local2.x, _local2.y);
}
_clicked_pos_x = _local2.x;
_clicked_pos_y = _local2.y;
_gragging = true;
}
}
function onMouseUp(Void) {
_gragging = false;
}
function onMouseMove(Void) {
_time_last_user_active = 0;
if (UserCanInterract || (Helper.DEBUG)) {
var _local2 = Convert2CellPos(new Point(_xmouse, _ymouse));
if (_gragging) {
_local2.offset(-_clicked_pos_x, -_clicked_pos_y);
if (_local2.x != 0) {
_local2.x = ((_local2.x > 0) ? 1 : -1);
}
if (_local2.y != 0) {
_local2.y = ((_local2.y > 0) ? 1 : -1);
}
if (((_local2.x == 0) && (_local2.y != 0)) || ((_local2.y == 0) && (_local2.x != 0))) {
if (map.canPlace(_clicked_pos_x + _local2.x, _clicked_pos_y + _local2.y)) {
if (!OnClickToCell(_clicked_pos_x + _local2.x, _clicked_pos_y + _local2.y)) {
_gragging = false;
}
}
}
} else {
var _local3 = map.getItem(_local2.x, _local2.y);
if (((_local3 != undefined) && (_local3 != _overed_item)) && (!_local3.__get__isMoved())) {
ClearOveredItem();
_overed_item = _local3;
_overed_item.__set__Overed(true);
Helper.PlaySound("soundCursorMove");
}
}
}
if (_is_broom_cursor) {
UpdateBroomCursorPosition();
}
}
function onKeyDown() {
switch (Key.getCode()) {
case 51 :
_round_finished = true;
OnRoundFinished();
break;
case 80 :
OpenGameMenu();
}
}
function DoMapShaking() {
var _local2 = map._y;
map._y = map._y + 4;
map._rotation = -2;
com.mosesSupposes.fuse.ZigoEngine.doTween(map, "_rotation", 0, 0.4, mx.transitions.easing.Elastic.easeOut, 0, 0);
com.mosesSupposes.fuse.ZigoEngine.doTween(map, "_y", _local2, 0.6, mx.transitions.easing.Elastic.easeOut, 0, 0);
}
function ClearOveredItem() {
if (_overed_item != undefined) {
_overed_item.__set__Overed(false);
}
}
function OnClickToCell(x, y) {
if (Helper.DEBUG && (Key.isDown(17))) {
var _local2 = map.getItem(x, y);
if (_local2 != undefined) {
Tracer.traceProperties(_local2);
}
}
if ((!_all_items_presented) && (!Helper.DEBUG2)) {
return(false);
}
var _local2 = map.getItem(x, y);
if (_local2 == undefined) {
return(false);
}
if (_is_broom_cursor) {
if (((_local2.__get__Type() == GameItem.elementTypeTrash) || (map.getCell(x, y) == Map.celltypeLock1)) || (map.getCell(x, y) == Map.celltypeLock2)) {
return(false);
}
map.removeItem(_local2.xcell, _local2.ycell);
RemoveBroom();
DeleteBroomCursor();
UpdateBroom();
Helper.PlaySound("soundBroomErase");
OnItemsChanged();
return(true);
}
if (SelectedItem == undefined) {
SelectItem(_local2);
} else {
var _local4 = _local2.xcell - SelectedItem.xcell;
var _local3 = _local2.ycell - SelectedItem.ycell;
if (((Math.abs(_local4) < 2) && (_local3 == 0)) || ((Math.abs(_local3) < 2) && (_local4 == 0))) {
if (isRightMove(_local2, SelectedItem)) {
SwapItems(SelectedItem, _local2);
Helper.PlaySound("soundSwapItems");
ClearSelectItem();
ClearOveredItem();
if (GameMode == 1) {
OnTimerTick();
}
return(true);
}
Helper.PlaySound("soundWrondMove");
ClearSelectItem();
ClearOveredItem();
return(false);
}
SelectItem(_local2);
return(true);
}
}
function isRightMove(itm1, itm2) {
if (itm1.__get__isLocked() || (itm2.__get__isLocked())) {
return(false);
}
if ((itm1.__get__Type() == GameItem.elementTypeTrash) || (itm2.__get__Type() == GameItem.elementTypeTrash)) {
return(false);
}
var _local3 = false;
map.SwapItems(itm1, itm2);
if (GetCollectedGroups(undefined, true)) {
_local3 = true;
}
map.SwapItems(itm1, itm2);
return(_local3);
}
function SwapItems(itm1, itm2) {
map.SwapItems(itm1, itm2);
if (itm1.getDepth() < itm2.getDepth()) {
itm1.swapDepths(itm2);
}
AnimItemToFromCell(itm1);
AnimItemToFromCell(itm2);
}
function MoveItemToFromCell(itm) {
itm.Move(ConvertX2LocPos(itm.xcell), ConvertY2LocPos(itm.ycell));
}
function MoveItemTo(itm, cellx, celly) {
itm.Move(ConvertX2LocPos(cellx), ConvertY2LocPos(celly));
}
function AnimItemToFromCell(itm, anim_time, easing) {
if (anim_time == undefined) {
anim_time = TIME_MOVE_DOWN_ITEM;
}
if (easing == undefined) {
easing = 0;
}
if (itm.inMoving) {
Tracer.trace("try Animate moved item!");
}
var _local7 = ConvertX2LocPos(itm.xcell);
var _local5 = ConvertY2LocPos(itm.ycell);
var _local9 = _local7 - itm._x;
var _local4 = _local5 - itm._y;
var _local15;
var _local11 = false;
var _local6 = ((easing == 0) ? (mx.transitions.easing.Regular.easeOut) : (mx.transitions.easing.Regular.easeIn));
var _local3 = (anim_time * ((_local4 > 0) ? (_local4) : (-_local4))) / Map.grid_cell_h;
_local3 = _local3 - ((_local3 - anim_time) / 2);
if (_local9 != 0) {
com.mosesSupposes.fuse.ZigoEngine.doTween(itm, "_x", _local7, _local3, _local6, 0, {scope:this, func:"ItemTweenFinishedCallback", args:itm});
itm.StartMove();
}
if (_local4 != 0) {
com.mosesSupposes.fuse.ZigoEngine.doTween(itm, "_y", _local5, _local3, _local6, 0, {scope:this, func:"ItemTweenFinishedCallback", args:itm});
itm.StartMove();
}
}
function get SelectedItem() {
return(_selected_item);
}
function SelectItem(itm) {
if (_selected_item != undefined) {
_selected_item.__set__Selected(false);
}
_selected_item = itm;
if (((_selected_item != undefined) && (!_selected_item.__get__isLocked())) && (_selected_item.__get__Type() != GameItem.elementTypeTrash)) {
_selected_item.__set__Selected(true);
Helper.PlaySound("soundItemSelect");
if (Helper.DEBUG2) {
var _local2 = map.getItem(_selected_item._test_targ_pos.x, _selected_item._test_targ_pos.y);
if (_local2 != undefined) {
ClearOveredItem();
_overed_item = _local2;
_overed_item.__set__Overed(true);
}
}
}
}
function ClearSelectItem() {
SelectItem(undefined);
}
function OnItemsChanged() {
if ((isItemsMoved || (_in_quake)) || (_pause)) {
return(undefined);
}
ShiftItemsDown();
if (_all_items_presented) {
if (_start_generating) {
var _local5 = true;
var _local3 = 0;
while (_local3 < map.Width) {
var _local2 = 0;
while (_local2 < map.Height) {
if ((map.getCell(_local3, _local2) == Map.celltypeTrash) && (map.hasItem(_local3, _local2))) {
var _local4 = map.getItem(_local3, _local2);
_local4.__set__Type(GameItem.elementTypeTrash);
map.setCell(_local3, _local2, Map.celltypeQuest1);
Helper.PlaySound("soundTrashShow");
} else {
_local5 = false;
}
_local2++;
}
_local3++;
}
_start_generating = !_local5;
}
var _local6 = true;
if (_prev_quests_count == map.getQuestsCount()) {
_local6 = map.hasQuests() || (map.hasQuests2());
} else {
_local6 = map.hasQuests2();
}
_prev_quests_count = map.getQuestsCount();
if ((!map.isBonus) && (!_local6)) {
_round_finished = true;
}
if (_game_in_process && (_round_finished)) {
OnRoundFinished();
} else {
ClearCollectedGroups();
}
if ((_all_items_presented && (_time_is_lefted)) && (_game_in_process)) {
OnTimeLeft();
return(undefined);
}
if (UserCanInterract) {
_series_collected_in_move = 0;
}
}
}
function ClearCollectedGroups(groups_to_collect) {
var _local14;
if (groups_to_collect != undefined) {
_local14 = groups_to_collect;
} else {
_local14 = new Array();
var _local31 = map.CreateTempCellsArray();
GetCollectedGroups(_local31, false, _local14);
}
if (_local14.length > 0) {
var _local8;
var _local26;
var _local25;
var _local3;
var _local9;
var _local11;
var _local2;
var _local24 = false;
var _local22 = false;
var _local20 = false;
var _local23 = false;
var _local19 = false;
var _local18 = false;
var _local16 = false;
_local11 = _local14.length;
while ((_local11--) && (!_local16)) {
_local3 = _local14[_local11];
_local2 = 0;
while (_local2 < _local3.length) {
if (GameItem(_local3[_local2]).__get__BonusType() == GameItem.bonustypeQuake) {
_local16 = true;
break;
}
_local2++;
}
}
if (_local16) {
_local11 = _local14.length;
while (_local11--) {
_local3 = _local14[_local11];
_local2 = 0;
while (_local2 < _local3.length) {
if (GameItem(_local3[_local2]).__get__BonusType() == GameItem.bonustypeQuake) {
GameItem(_local3[_local2]).__set__BonusType(0);
}
_local2++;
}
}
var _local21 = new Array();
var _local17 = new Array();
var _local30 = map.CreateTempCellsArray();
GetCollectedGroups(_local30, false, _local17, 2);
var _local13 = 0;
while (_local13 < _local17.length) {
var _local12 = _local17[_local13];
var _local7 = 0;
while (_local7 < _local12.length) {
var _local6 = GameItem(_local12[_local7]);
if (_local6.__get__Type() == GameItem.elementTypeTrash) {
} else {
if (_local6.__get__BonusType() == GameItem.bonustypeQuake) {
_local6.__set__BonusType(0);
}
_local21.push(_local6);
}
_local7++;
}
_local13++;
}
_local14.push(_local21);
_quaked_groups = _local14;
_in_quake = true;
Helper.PlaySound("soundBonusQuake");
_quake_interval_id = setInterval(this, "DoQuake", 1500);
return(undefined);
}
_local11 = _local14.length;
while (_local11--) {
_local3 = _local14[_local11];
if ((_local3 == undefined) || (_local3.length <= 0)) {
continue;
}
var _local10 = 1;
_local8 = 0;
_local26 = ConvertX2LocPos(_local3[0].xcell) + map._x;
_local25 = ConvertY2LocPos(_local3[0].ycell) + map._y;
var _local29 = _local3.length;
_local2 = 0;
while (_local2 < _local3.length) {
_local9 = _local3[_local2];
switch (_local9.__get__BonusType()) {
case GameItem.bonustypeRandom :
_local23 = true;
break;
case GameItem.bonustypeMulti :
_local19 = true;
break;
case GameItem.bonustypeX2 :
_local10 = _local10 * 2;
_local22 = true;
break;
case GameItem.bonustypeX3 :
_local10 = _local10 * 3;
_local20 = true;
break;
case GameItem.bonustypeBomb :
var _local5 = GetBombedItems(_local9);
var _local4 = 0;
while (_local4 < _local5.length) {
_local3.push(_local5[_local4]);
_local4++;
}
if (_local5.length > 0) {
_local24 = true;
}
break;
case GameItem.bonustypeTimeMove :
_rount_time = _rount_time + TIMEMOVE_VALUE;
if (_rount_time > map.Time) {
_rount_time = map.Time;
}
if (HasTime() && (_only_broom_mode)) {
_only_broom_mode = false;
}
UpdateCompleteBar();
_local18 = true;
}
_local8 = _local8 + CollectItem(_local9);
_local2++;
}
_local8 = _local8 * _local10;
AddScore(_local8);
if (_local8 > _best_shot_score) {
_best_shot_score = _local8;
}
if (_local8 != 0) {
var _local15 = attachMovie("PointsAnimation", "points_animation", getNextHighestDepth(), {_x:_local26, _y:_local25});
_local15.value = "+" + _local8;
_local15.play();
}
}
_series_collected_in_move++;
if (_series_collected_in_move == 2) {
ShowComboMessage(1);
}
if (_series_collected_in_move == 3) {
AddBroom();
}
if (_series_collected_in_move == 4) {
ShowComboMessage(2);
}
if (_series_collected_in_move == 6) {
ShowComboMessage(3);
}
if (_series_collected_in_move == 8) {
ShowComboMessage(4);
}
Helper.PlaySound("soundCollectGroup");
if (_local24) {
Helper.PlaySound("soundBonusBomb");
DoMapShaking();
}
if (_local22) {
Helper.PlaySound("soundBonusX2");
}
if (_local20) {
Helper.PlaySound("soundBonusX3");
}
if (_local23) {
Helper.PlaySound("soundBonusRandom");
}
if (_local19) {
Helper.PlaySound("soundBonusMulticolor");
}
if (_local18) {
Helper.PlaySound("soundBonusTimemove");
}
ClearSelectItem();
}
}
function DoQuake() {
clearInterval(_quake_interval_id);
_quake_interval_id = undefined;
_in_quake = false;
ClearCollectedGroups(_quaked_groups);
}
function GetBombedItems(itm) {
var _local6 = new Array();
var _local3;
var _local4 = itm.xcell - 1;
while (_local4 < (itm.xcell + 2)) {
var _local2 = itm.ycell - 1;
while (_local2 < (itm.ycell + 2)) {
if (map.hasItem(_local4, _local2)) {
_local3 = map.getItem(_local4, _local2);
if (((!_local3.__get__inCollecting()) && (_local3 != itm)) && (_local3.__get__Type() != GameItem.elementTypeTrash)) {
_local6.push(_local3);
}
}
_local2++;
}
_local4++;
}
return(_local6);
}
function GetCollectedGroups(tempMap, test, arrItemGroups, group_size) {
if (test == undefined) {
test = false;
}
if (group_size == undefined) {
group_size = MIN_GROUP_SIZE;
}
var _local15 = false;
var _local9;
var _local4;
var _local6;
var _local5;
var _local17 = map.Width;
var _local16 = map.Height;
var _local3 = 0;
while (_local3 < _local17) {
var _local2 = 0;
while (_local2 < _local16) {
if (!map.hasItem(_local3, _local2)) {
} else {
if ((!test) && (tempMap[_local3][_local2] == undefined)) {
tempMap[_local3][_local2] = 0;
}
_local9 = map.getItem(_local3, _local2);
if (_local9.__get__isMoved()) {
} else if ((_local9.__get__Type() == GameItem.elementTypeTrash) && (!map.canPlace(_local3, _local2 + 1))) {
var _local10 = new Array();
_local10.push(_local9);
arrItemGroups.push(_local10);
} else {
_local6 = _local9.Type;
if (_local3 < ((_local17 - group_size) + 1)) {
if ((test || (!(tempMap[_local3][_local2] & 2))) || (_local9.__get__BonusType() == GameItem.bonustypeMulti)) {
_local5 = _local3 + 1;
while (map.hasItem(_local5, _local2)) {
_local4 = map.getItem(_local5, _local2);
if ((!_local4.__get__isMoved()) && (((_local4.__get__Type() == _local6) || (_local4.__get__BonusType() == GameItem.bonustypeMulti)) || (_local6 == GameItem.elementTypeMulticolor))) {
if (_local6 == GameItem.elementTypeMulticolor) {
if (_local4.__get__BonusType() != GameItem.bonustypeMulti) {
_local6 = _local4.Type;
}
}
_local5++;
} else {
break;
}
}
if ((_local5 - _local3) >= group_size) {
if (test) {
return(true);
}
var _local10 = new Array();
var _local7 = _local3;
while (_local7 < _local5) {
if (tempMap[_local7][_local2] & 1) {
_local10 = JoinGroup(arrItemGroups, _local10, map.getItem(_local7, _local2));
} else {
_local10.push(map.getItem(_local7, _local2));
}
tempMap[_local7][_local2] = tempMap[_local7][_local2] | 2;
_local7++;
}
arrItemGroups.push(_local10);
_local15 = true;
}
}
}
_local6 = _local9.Type;
if (_local2 < ((_local16 - group_size) + 1)) {
if ((test || (!(tempMap[_local3][_local2] & 1))) || (_local9.__get__BonusType() == GameItem.bonustypeMulti)) {
_local5 = _local2 + 1;
while (map.hasItem(_local3, _local5)) {
_local4 = map.getItem(_local3, _local5);
if ((!_local4.__get__isMoved()) && (((_local4.__get__Type() == _local6) || (_local4.__get__BonusType() == GameItem.bonustypeMulti)) || (_local6 == GameItem.elementTypeMulticolor))) {
if (_local6 == GameItem.elementTypeMulticolor) {
if (_local4.__get__BonusType() != GameItem.bonustypeMulti) {
_local6 = _local4.Type;
}
}
_local5++;
} else {
break;
}
}
if ((_local5 - _local2) >= group_size) {
if (test) {
return(true);
}
var _local10 = new Array();
var _local12;
var _local7 = _local2;
while (_local7 < _local5) {
_local12 = map.getItem(_local3, _local7);
if (tempMap[_local3][_local7] & 2) {
_local10 = JoinGroup(arrItemGroups, _local10, _local12);
} else {
_local10.push(_local12);
}
tempMap[_local3][_local7] = tempMap[_local3][_local7] | 1;
_local7++;
}
arrItemGroups.push(_local10);
_local15 = true;
}
}
}
}
}
_local2++;
}
_local3++;
}
return(_local15);
}
function JoinGroup(groups, group_to_join, join_on_item) {
var _local1;
var _local4;
var _local5 = groups.length;
var _local2;
while (_local5--) {
_local1 = groups[_local5];
_local2 = _local1.length;
while (_local2--) {
_local4 = _local1[_local2];
if (_local4 == join_on_item) {
_local2 = _local1.length;
while (_local2--) {
group_to_join.push(_local1.pop());
}
return(group_to_join);
}
}
}
return(group_to_join);
}
function OnShiftItemsDown() {
ShiftItemsDown(true);
}
function ShiftItemsDown(autocall) {
if (autocall == undefined) {
autocall = false;
}
if (_shift_down_interval_id != undefined) {
_shift_down_interval_id = undefined;
}
_last_genetation_time = getTimer();
var _local8 = true;
var _local11;
var _local6;
var _local9 = false;
var _local7 = false;
var _local3 = map.Height - 1;
while (_local3 >= 0) {
var _local2 = 0;
while (_local2 < map.Width) {
if (!map.canPlace(_local2, _local3)) {
} else if (map.hasItem(_local2, _local3)) {
_local6 = map.getItem(_local2, _local3);
if ((!_local6.__get__isLocked()) && (!_local6.__get__isMoved())) {
var _local4 = 0;
var _local5 = 0;
if (map.canPlace(_local2, _local3 + 1) && (!map.hasItem(_local2, _local3 + 1))) {
_local4 = _local2;
_local5 = _local3 + 1;
} else if ((map.canPlace(_local2 - 1, _local3 + 1) && (!map.hasItem(_local2 - 1, _local3 + 1))) && (map.GetTopFalledUnlockedElement(_local2 - 1, _local3) < 0)) {
_local4 = _local2 - 1;
_local5 = _local3 + 1;
} else if ((map.canPlace(_local2 + 1, _local3 + 1) && (!map.hasItem(_local2 + 1, _local3 + 1))) && (map.GetTopFalledUnlockedElement(_local2 + 1, _local3) < 0)) {
_local4 = _local2 + 1;
_local5 = _local3 + 1;
}
if ((_local4 != 0) || (_local5 != 0)) {
_local8 = false;
map.setItem(_local6, _local4, _local5);
AnimItemToFromCell(_local6, TIME_MOVE_DOWN_ITEM, 1);
_local7 = true;
}
}
} else {
_local9 = true;
}
_local2++;
}
_local3--;
}
if (_local9) {
if (GenerateNewItems()) {
_local7 = true;
_local8 = false;
}
}
if (_local7) {
Helper.PlaySound("soundItemDown");
}
_all_items_presented = _local8;
if (!_all_items_presented) {
_shift_down_interval_id = 1;
}
}
function GenerateNewItems() {
var _local6;
var _local9 = 0;
var _local11;
var _local12 = false;
var _local4 = 0;
while (_local4 < map.Width) {
if (map.Cells[_local4][_local9] == Map.celltypeStarter) {
if (map.canPlace(_local4, _local9 + 1) && (!map.hasItem(_local4, _local9 + 1))) {
_local11 = _local9 + 1;
_local6 = CreateItem();
var _local3;
if (map.ItemTypes.length == 5) {
_local3 = new Array(100, 100, 100, 100, 100);
} else {
_local3 = new Array();
var _local5 = 0;
while (_local5 < map.ItemTypes.length) {
_local3.push(100);
_local5++;
}
}
var _local2;
_local2 = map.GetItemTarget(_local4, _local11);
if (map.hasItem(_local2.x - 1, _local2.y)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x - 1, _local2.y).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x - 1, _local2.y).__get__Type())] * 0.3;
}
if (map.hasItem(_local2.x - 2, _local2.y)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x - 2, _local2.y).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x - 2, _local2.y).__get__Type())] * 0.5;
}
if (map.hasItem(_local2.x, _local2.y + 1)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x, _local2.y + 1).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x, _local2.y + 1).__get__Type())] * 0.3;
}
if (map.hasItem(_local2.x, _local2.y + 2)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x, _local2.y + 2).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x, _local2.y + 2).__get__Type())] * 0.5;
}
if (map.hasItem(_local2.x + 1, _local2.y)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x + 1, _local2.y).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x + 1, _local2.y).__get__Type())] * 0.3;
}
if (map.hasItem(_local2.x + 2, _local2.y)) {
_local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x + 2, _local2.y).__get__Type())] = _local3[Helper.SearchArray(map.ItemTypes, map.getItem(_local2.x + 2, _local2.y).__get__Type())] * 0.5;
}
var _local8;
var _local7 = 0;
var _local5 = 0;
while (_local5 < _local3.length) {
_local7 = _local7 + _local3[_local5];
_local5++;
}
_local7 = Math.random() * _local7;
_local5 = 0;
while (_local5 < _local3.length) {
_local7 = _local7 - _local3[_local5];
if (_local7 <= 0) {
_local8 = map.ItemTypes[_local5];
break;
}
_local5++;
}
if (_local8 == undefined) {
_local8 = map.ItemTypes[Math.floor(Math.random() * map.ItemTypes.length)];
}
_local6.__set__Type(_local8);
if (Helper.DEBUG) {
if (_test_generating != undefined) {
if (_test_generating[_local4].length > 0) {
var _local10;
if (_test_generating[_local4].length > 1) {
_local10 = Number(Array(_test_generating[_local4]).pop());
} else {
_local10 = Number(Array(_test_generating[_local4])[0]);
}
_local6.__set__Type(_local10);
}
}
}
if (Math.random() < 0.05) {
_local6.__set__BonusType(map.ItemBonuses[Math.floor(Math.random() * map.ItemBonuses.length)]);
if (_local6.__get__BonusType() == GameItem.bonustypeRandom) {
_local6.OnTypeChanged = mx.utils.Delegate.create(this, ItemTypeChangedCallback);
}
}
MoveItemTo(_local6, _local4, _local9);
map.setItem(_local6, _local4, _local11);
AnimItemToFromCell(_local6, TIME_MOVE_DOWN_ITEM, 1);
_local12 = true;
_local6.DoAppear();
}
}
_local4++;
}
return(_local12);
}
function CreateItem() {
var _local2 = GameItem(map.attachMovie("GameItem", "itm_" + map.GetNextGameItemNum(), map.getNextHighestDepth()));
_local2.Init(map.ItemTypes[Math.floor(Math.random() * map.ItemTypes.length)], map, this);
return(_local2);
}
function CollectItem(itm) {
if (itm.__get__isLocked()) {
Helper.PlaySound("soundItemUnlock");
itm.Unlock();
return(0);
}
if (itm.__get__isMoved() || (itm.__get__inCollecting())) {
Tracer.trace("Double collecting");
Tracer.trace(itm);
return(0);
}
map.OnItemCollecting(itm);
itm.DoCollect(delegateItemCollected);
itm.StartMove();
_all_items_presented = false;
var _local3;
switch (itm.__get__BonusType()) {
case GameItem.bonustypeBomb :
_local3 = BONUS_BOMB_SCORE;
break;
case GameItem.bonustypeMulti :
_local3 = BONUS_MULTICOLOR_SCORE;
break;
case GameItem.bonustypeQuake :
_local3 = BONUS_QUAKE_SCORE;
break;
case GameItem.bonustypeRandom :
_local3 = BONUS_RANDOM_SCORE;
break;
case GameItem.bonustypeTimeMove :
_local3 = BONUS_TIMEMOVE_SCORE;
break;
default :
_local3 = ITEM_SCORE;
}
return(_local3);
}
function AddScore(score) {
_score = _score + score;
_score_in_round = _score_in_round + score;
UpdateScore();
}
function UpdateScore() {
textScore.text = String(_score);
Helper.globalGameScore = _score;
}
function UpdateCompleteBar() {
var _local2 = (_rount_time / map.Time) * 100;
mcCompleteBar.setValue(_local2);
}
function UpdateLevelNum() {
textLevel.text = String(_current_level + 1);
}
function UpdateBroom() {
if (_brooms_count > 0) {
mcBroom.gotoAndStop(2);
} else {
mcBroom.gotoAndStop(1);
}
textBrooms.text = String(_brooms_count);
}
function OnTimerTick() {
if (_game_in_process && (!_pause)) {
_rount_time--;
_level_full_time++;
_time_last_user_active++;
if (!HasTime()) {
if (map.isBonus) {
OnRoundFinished();
} else if (!_time_is_lefted) {
_time_is_lefted = true;
if (GameMode == 0) {
OnTimeLeft();
}
}
}
UpdateRemainTime();
}
}
function HasTime() {
return(_rount_time > 0);
}
function UpdateRemainTime() {
if ((GameMode == 0) || (map.isBonus == true)) {
textRemain.text = Helper.ConvertSeconds2TimeString(_rount_time);
} else {
textRemain.text = String(_rount_time);
}
UpdateCompleteBar();
}
function OnBroomClick() {
if (!UserCanInterract) {
return(undefined);
}
if (!_is_broom_cursor) {
if (_brooms_count > 0) {
CreateBroomCursor();
}
} else {
DeleteBroomCursor();
}
}
function CreateBroomCursor() {
Mouse.hide();
if (mcBroomCursor == undefined) {
mcBroomCursor = attachMovie("BroomCursor", "mcBroomCursor", getNextHighestDepth());
}
UpdateBroomCursorPosition();
_is_broom_cursor = true;
Helper.PlaySound("soundBroomSelect");
}
function DeleteBroomCursor() {
if (_only_broom_mode) {
return(undefined);
}
if (mcBroomCursor != undefined) {
mcBroomCursor.removeMovieClip();
delete mcBroomCursor;
mcBroomCursor = undefined;
}
Mouse.show();
_is_broom_cursor = false;
}
function UpdateBroomCursorPosition() {
if (mcBroomCursor != undefined) {
mcBroomCursor._x = _xmouse;
mcBroomCursor._y = _ymouse;
}
}
function AddBroom() {
_brooms_count++;
_brooms_in_round++;
UpdateBroom();
mcBroomGlow._visible = true;
mcBroomGlow.gotoAndPlay(1);
Helper.PlaySound("soundBroomAdd");
}
function RemoveBroom() {
_brooms_count--;
if ((_only_broom_mode && (!HasTime())) && (_brooms_count == 0)) {
OnTimeLeft();
}
}
function ShowComboMessage(type) {
mcComboMessage.mcComboText.gotoAndStop(type);
mcComboMessage._visible = true;
mcComboMessage.gotoAndPlay(1);
}
function ShowLevelEndMessage() {
Helper.StopMusic();
Helper.PlaySound("soundVictory");
var _local4;
if (_current_level < 4) {
_local4 = "WindowLevelEnd";
} else {
_local4 = "WindowLevelEndTrial";
}
mcWndLevelComplete = attachMovie(_local4, "mcWndLevelComplete", LEVEL_END_DIALOG_DEPTH);
mcWndLevelComplete.TotalScore = _score;
mcWndLevelComplete.LevelScore = _score_in_round;
mcWndLevelComplete.BonusScore = _bonus_score_in_round;
mcWndLevelComplete.maxBonusScore = MAX_BONUS_SCORE;
mcWndLevelComplete.mcLevelProgress = mcCompleteBar;
var _local6;
if ((GameMode == 0) || (map.isBonus == true)) {
_local6 = Helper.ConvertSeconds2TimeString(_level_full_time);
} else {
_local6 = String(_level_full_time);
}
mcWndLevelComplete.LevelTime = _local6;
var _local5;
if (map.isBonus == false) {
_local5 = _best_shot_score;
} else {
_local5 = _brooms_in_round;
}
mcWndLevelComplete.BestShot = _local5;
mcWndLevelComplete.OnClosed = mx.utils.Delegate.create(this, YouWinMessageClosed);
mcWndLevelComplete.GameMode = GameMode;
mcWndLevelComplete.isBonus = map.isBonus;
if (_current_level == 7) {
mcWndLevelComplete.ShowNextLevelButton = false;
}
var _local3 = map.GetNextLevelNewBonuses();
if (_local3.length > 0) {
var _local2 = _local3[0];
if (_local2 == 7) {
if (GameMode == 1) {
_local2 = 8;
}
}
mcWndLevelComplete.NewBonusType = _local2;
} else {
mcWndLevelComplete.NewBonusType = -1;
}
SetInStageCenterEx(mcWndLevelComplete, 0, 0);
var _local7 = mcWndLevelComplete._height;
mcWndLevelComplete._height = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween(mcWndLevelComplete, "_height", _local7, 0.5, mx.transitions.easing.Regular.easeOut, 0, 0);
}
function CloseLevelEndMessage() {
mcWndLevelComplete.removeMovieClip();
mcWndLevelComplete = undefined;
}
function ShowGameOverMessage() {
Helper.StopMusic();
Helper.PlaySound("soundDefeat");
mcWndGameOver = attachMovie("WindowGameOver", "mcWndGameOver", LEVEL_END_DIALOG_DEPTH + 1);
mcWndGameOver.OnClosed = mx.utils.Delegate.create(this, GameOverMessageClosed);
SetInStageCenterEx(mcWndGameOver, 0, 0);
var _local2 = mcWndGameOver._height;
mcWndGameOver._height = 0;
com.mosesSupposes.fuse.ZigoEngine.doTween(mcWndGameOver, "_height", _local2, 0.5, mx.transitions.easing.Regular.easeOut, 0, 0);
}
function CloseGameOverMessage() {
mcWndGameOver.removeMovieClip();
mcWndGameOver = undefined;
}
function tr(obj) {
}
static var grid_cell_w = 34;
static var grid_cell_h = 34;
static var game_item_types = 5;
static var MIN_GROUP_SIZE = 3;
static var TIME_SWAP_ITEMS = 0.2;
static var TIME_MOVE_DOWN_ITEM = 0.15;
var COMBO_MESSAGE_DEPTH = 30000;
var LEVEL_END_DIALOG_DEPTH = 35000;
static var DEBUG = Helper.DEBUG;
var UNACTIVE_TIME_TO_OPEN_GAME_MENU = 20;
static var ArcadeVars = new Array(25, 15, 50, 60, 70, 50, 60, 70, 60, 3000, 1500, 5000, 3, 10, 1, 25, 500);
static var PuzzleVars = new Array(25, 15, 50, 60, 70, 50, 60, 70, 60, 3000, 1500, 5000, 3, 10, 1, 5, 500);
var _in_quake = false;
var _quake_period = 0;
var _is_broom_cursor = false;
var _series_collected_in_move = 0;
var _start_generating = false;
var _global_isItemMoved = 0;
var _last_genetation_time = 0;
}
Symbol 503 MovieClip [__Packages.mx.transitions.easing.Elastic] Frame 0
class mx.transitions.easing.Elastic
{
function Elastic () {
}
static function easeIn(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
t = t - 1;
return((-((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b);
}
static function easeOut(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / d;
if (t == 1) {
return(b + c);
}
if (!p) {
p = d * 0.3;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
return((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) + c) + b);
}
static function easeInOut(t, b, c, d, a, p) {
if (t == 0) {
return(b);
}
t = t / (d / 2);
if (t == 2) {
return(b + c);
}
if (!p) {
p = d * 0.45;
}
if ((!a) || (a < Math.abs(c))) {
a = c;
var _local7 = p / 4;
} else {
var _local7 = (p / (Math.PI*2)) * Math.asin(c / a);
}
if (t < 1) {
t = t - 1;
return((-0.5 * ((a * Math.pow(2, 10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p))) + b);
}
t = t - 1;
return(((((a * Math.pow(2, -10 * t)) * Math.sin((((t * d) - _local7) * (Math.PI*2)) / p)) * 0.5) + c) + b);
}
static var version = "1.1.0.52";
}
Symbol 504 MovieClip [__Packages.mx.transitions.Tween] Frame 0
class mx.transitions.Tween
{
var obj, prop, begin, useSeconds, _listeners, addListener, prevTime, _time, looping, _duration, broadcastMessage, isPlaying, _fps, prevPos, _pos, change, _intervalID, _startTime;
function Tween (obj, prop, func, begin, finish, duration, useSeconds) {
mx.transitions.OnEnterFrameBeacon.init();
if (!arguments.length) {
return;
}
this.obj = obj;
this.prop = prop;
this.begin = begin;
position = (begin);
this.duration = (duration);
this.useSeconds = useSeconds;
if (func) {
this.func = func;
}
this.finish = (finish);
_listeners = [];
addListener(this);
start();
}
function set time(t) {
prevTime = _time;
if (t > duration) {
if (looping) {
rewind(t - _duration);
update();
broadcastMessage("onMotionLooped", this);
} else {
if (useSeconds) {
_time = _duration;
update();
}
stop();
broadcastMessage("onMotionFinished", this);
}
} else if (t < 0) {
rewind();
update();
} else {
_time = t;
update();
}
//return(time);
}
function get time() {
return(_time);
}
function set duration(d) {
_duration = (((d == null) || (d <= 0)) ? (_global.Infinity) : (d));
//return(duration);
}
function get duration() {
return(_duration);
}
function set FPS(fps) {
var _local2 = isPlaying;
stopEnterFrame();
_fps = fps;
if (_local2) {
startEnterFrame();
}
//return(FPS);
}
function get FPS() {
return(_fps);
}
function set position(p) {
setPosition(p);
//return(position);
}
function setPosition(p) {
prevPos = _pos;
obj[prop] = (_pos = p);
broadcastMessage("onMotionChanged", this, _pos);
updateAfterEvent();
}
function get position() {
return(getPosition());
}
function getPosition(t) {
if (t == undefined) {
t = _time;
}
return(func(t, begin, change, _duration));
}
function set finish(f) {
change = f - begin;
//return(finish);
}
function get finish() {
return(begin + change);
}
function continueTo(finish, duration) {
begin = position;
this.finish = (finish);
if (duration != undefined) {
this.duration = (duration);
}
start();
}
function yoyo() {
continueTo(begin, time);
}
function startEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.addListener(this);
} else {
_intervalID = setInterval(this, "onEnterFrame", 1000 / _fps);
}
isPlaying = true;
}
function stopEnterFrame() {
if (_fps == undefined) {
_global.MovieClip.removeListener(this);
} else {
clearInterval(_intervalID);
}
isPlaying = false;
}
function start() {
rewind();
startEnterFrame();
broadcastMessage("onMotionStarted", this);
}
function stop() {
stopEnterFrame();
broadcastMessage("onMotionStopped", this);
}
function resume() {
fixTime();
startEnterFrame();
broadcastMessage("onMotionResumed", this);
}
function rewind(t) {
_time = ((t == undefined) ? 0 : (t));
fixTime();
update();
}
function fforward() {
time = (_duration);
fixTime();
}
function nextFrame() {
if (useSeconds) {
time = ((getTimer() - _startTime) / 1000);
} else {
time = (_time + 1);
}
}
function onEnterFrame() {
nextFrame();
}
function prevFrame() {
if (!useSeconds) {
time = (_time - 1);
}
}
function toString() {
return("[Tween]");
}
function fixTime() {
if (useSeconds) {
_startTime = getTimer() - (_time * 1000);
}
}
function update() {
position = (getPosition(_time));
}
static var version = "1.1.0.52";
static var __initBeacon = mx.transitions.OnEnterFrameBeacon.init();
static var __initBroadcaster = mx.transitions.BroadcasterMX.initialize(mx.transitions.Tween.prototype, true);
function func(t, b, c, d) {
return(((c * t) / d) + b);
}
}
Symbol 41 MovieClip Frame 1
stop();
Symbol 59 MovieClip [Snow] Frame 1
#initclip 35
Object.registerClass("Snow", com.robertpenner.profmx.snow.Snow);
#endinitclip
Symbol 88 MovieClip [ItemAnimSpark] Frame 1
stop();
Symbol 88 MovieClip [ItemAnimSpark] Frame 43
this._visible = false;
stop();
Symbol 139 MovieClip Frame 40
stop();
Symbol 140 MovieClip [Quest1breakAnim] Frame 40
stop();
this.removeMovieClip();
Symbol 141 MovieClip [Quest2breakAnim] Frame 40
stop();
this.removeMovieClip();
Symbol 151 MovieClip [ItemBG] Frame 1
stop();
Symbol 154 MovieClip [PointsAnimation] Frame 70
this.removeMovieClip();
Symbol 178 MovieClip Frame 1
gotoAndStop (2);
Symbol 182 MovieClip [ButtonStartGame] Frame 1
function StartRunningText() {
txtRunningString.Text = RunstringText;
txtRunningString.autoSize = true;
RunningTextResetToBegin();
this.onEnterFrame = function () {
var _local1 = txtRunningString._width;
if (((runtext_pos + _local1) + runtext_whites) < toX) {
RunningTextResetToBegin();
}
runtext_pos = runtext_pos - speed;
txtRunningString._x = runtext_pos;
};
}
function RunningTextResetToBegin() {
runtext_pos = fromX;
}
var buttonText;
var OnClick;
var showRunstring;
var RunstringText;
if (showRunstring == undefined) {
showRunstring = false;
}
if (!showRunstring) {
txtRunningString.visible = false;
}
if (RunstringText == undefined) {
RunstringText = "";
}
var fromX = pointerRight._x;
var toX = pointerLeft._x;
var speed = 2;
var runtext_pos = 0;
var runtext_whites = 100;
if (showRunstring && (RunstringText != "")) {
StartRunningText();
}
this.hitArea = mcHint;
mcHint._visible = false;
this.onRollOver = function () {
Helper.PlaySound("soundMenuToggle");
gotoAndStop (3);
};
this.onRollOut = function () {
gotoAndStop (2);
};
this.onPress = function () {
Helper.PlaySound("soundMenuHit");
gotoAndStop (4);
};
this.onRelease = function () {
if (OnClick != undefined) {
OnClick(this);
}
};
stop();
Symbol 213 MovieClip Frame 1
stop();
Symbol 235 MovieClip Frame 1
var OnCollected;
gotoAndStop ("mcDefault");
Symbol 235 MovieClip Frame 2
stop();
Symbol 235 MovieClip Frame 44
gotoAndStop ("mcDefault");
Symbol 235 MovieClip Frame 45
Symbol 235 MovieClip Frame 60
stop();
OnCollected(this._parent);
Symbol 259 MovieClip Frame 1
stop();
Symbol 260 MovieClip [GameItem] Frame 1
#initclip 32
Object.registerClass("GameItem", GameItem);
#endinitclip
stop();
Symbol 267 MovieClip [WindowLevelEnd] Frame 1
var OnClosed;
var OnCountingAnim;
var TotalScore;
var TotalScoreTransfered = 0;
var LevelScore;
var LevelScoreTransfered = 0;
var BonusScore;
var BonusScoreTransfered = 0;
var LevelTime;
var BestShot;
var GameMode;
var isBonus;
var NewBonusType;
var _interval_id;
var maxBonusScore;
var mcLevelProgress;
Symbol 267 MovieClip [WindowLevelEnd] Frame 2
strLevelComplete = Language.Transl("level complete");
strTotal = Language.Transl("total score");
strLevel = Language.Transl("level score");
if (GameMode == 0) {
strTime = Language.Transl("level time");
} else {
strTime = Language.Transl("level moves");
}
if (isBonus == false) {
strShot = Language.Transl("best shot");
} else {
strShot = Language.Transl("bonus brooms");
}
btnNextLevel.buttonText = Language.Transl("next level");
btnNextLevel.OnClick = mx.utils.Delegate.create(this, function () {
clearInterval(_interval_id);
if (OnClosed != undefined) {
OnClosed();
}
});
strBonusScore = Language.Transl("bonus score");
TotalScoreTransfered = TotalScore - BonusScore;
textTotalScore.text = TotalScoreTransfered;
LevelScoreTransfered = LevelScore;
textLevelScore.text = LevelScoreTransfered;
textLevelTime.text = LevelTime;
textBestShot.text = BestShot;
textBonusScore.text = 0;
if ((NewBonusType > 0) && (NewBonusType != undefined)) {
mcBonusInfo.mcItem.BonusType = NewBonusType;
mcBonusInfo.textTitle = Language.Transl("new bonus");
switch (NewBonusType) {
case 1 :
mcBonusInfo.textName = Language.Transl("bonus x2");
mcBonusInfo.textDescribe = Language.Transl("bonus x2 descr");
break;
case 2 :
mcBonusInfo.textName = Language.Transl("bonus x3");
mcBonusInfo.textDescribe = Language.Transl("bonus x3 descr");
break;
case 3 :
mcBonusInfo.textName = Language.Transl("bonus multicolor");
mcBonusInfo.textDescribe = Language.Transl("bonus multicolor descr");
break;
case 4 :
mcBonusInfo.textName = Language.Transl("bonus random");
mcBonusInfo.textDescribe = Language.Transl("bonus random descr");
break;
case 5 :
mcBonusInfo.textName = Language.Transl("bonus bomb");
mcBonusInfo.textDescribe = Language.Transl("bonus bomb descr");
break;
case 6 :
mcBonusInfo.textName = Language.Transl("bonus quake");
mcBonusInfo.textDescribe = Language.Transl("bonus quake descr");
break;
case 7 :
mcBonusInfo.textName = Language.Transl("bonus time");
mcBonusInfo.textDescribe = Language.Transl("bonus time descr");
break;
case 8 :
mcBonusInfo.textName = Language.Transl("bonus move");
mcBonusInfo.textDescribe = Language.Transl("bonus move descr");
break;
default :
mcBonusInfo._visible = false;
}
} else {
mcBonusInfo._visible = false;
}
var startPause = getTimer();
var nominal_transfer = Math.max(BonusScore / 240, 10);
onEnterFrame = function () {
if ((getTimer() - startPause) < 3000) {
return(undefined);
}
var _local1 = 0;
if (BonusScore > 0) {
if (BonusScore >= nominal_transfer) {
_local1 = nominal_transfer;
} else {
_local1 = BonusScore;
}
BonusScore = BonusScore - _local1;
BonusScoreTransfered = BonusScoreTransfered + _local1;
mcLevelProgress.setValue((BonusScore * 100) / maxBonusScore, true, true);
}
if (_local1 > 0) {
TotalScoreTransfered = TotalScoreTransfered + _local1;
LevelScoreTransfered = LevelScoreTransfered + _local1;
_local1 = 0;
textTotalScore.text = TotalScoreTransfered;
textLevelScore.text = LevelScoreTransfered;
textBonusScore.text = BonusScoreTransfered;
Helper.PlaySound("soundRollOut");
}
};
stop();
Symbol 271 MovieClip [WindowLevelEndTrial] Frame 1
var OnClosed;
var TotalScore;
var LevelScore;
var LevelTime;
var BestShot;
var ShowNextLevelButton;
if (ShowNextLevelButton == undefined) {
ShowNextLevelButton = true;
}
Symbol 271 MovieClip [WindowLevelEndTrial] Frame 2
strLevelComplete = Language.Transl("level complete");
strGetIt = Language.Transl("get it text");
btnNextLevel.buttonText = Language.Transl("next level");
btnNextLevel.OnClick = mx.utils.Delegate.create(this, function () {
if (OnClosed != undefined) {
OnClosed();
}
});
btnGetIt.buttonText = Language.Transl("get it");
btnGetIt.OnClick = function () {
Helper.GetIt();
};
btnGetIt.showRunstring = true;
btnGetIt.RunstringText = Language.Transl("get it runstring");
btnGetIt.StartRunningText();
btnNextLevel._visible = ShowNextLevelButton;
stop();
Symbol 280 MovieClip Frame 1
stop();
Symbol 280 MovieClip Frame 4
Helper.PlaySound("soundWow");
Symbol 281 MovieClip [ComboMessage] Frame 1
stop();
_visible = false;
Symbol 281 MovieClip [ComboMessage] Frame 69
stop();
_visible = false;
Symbol 293 MovieClip [StartLevelMessage] Frame 1
function Close() {
this.removeMovieClip();
}
var BonusLevelText;
if (BonusLevelText == undefined) {
BonusLevelText = "";
}
var OnClosing;
textLevel.text = this.text;
textBonusLevel = BonusLevelText;
Symbol 293 MovieClip [StartLevelMessage] Frame 68
OnClosing();
Close();
stop();
Symbol 294 MovieClip [Map] Frame 1
#initclip 33
Object.registerClass("Map", Map);
#endinitclip
stop();
Symbol 314 MovieClip Frame 1
stop();
Symbol 314 MovieClip Frame 24
gotoAndStop (1);
_visible = false;
Symbol 325 MovieClip Frame 1
function setValue(val, fast, wo_warning) {
if (wo_warning == undefined) {
wo_warning = false;
}
Value = val;
var _local2 = (mcMask._height * (100 - Math.max(0, Math.min(100, val)))) / 100;
if (fast) {
mcMask._y = _local2;
} else {
com.mosesSupposes.fuse.ZigoEngine.doTween(mcMask, "_y", _local2, 0.5, mx.transitions.easing.Regular.easeOut, 0, null);
}
if ((((!fast) && (!wo_warning)) && (prev_val > val)) && (val < 40)) {
mcBlinkEffect._visible = true;
mcBlinkEffect.play();
} else {
mcBlinkEffect._visible = false;
mcBlinkEffect.stop();
}
prev_val = val;
}
var prev_val = 0;
var Value;
if (Value == undefined) {
Value = 0;
}
setValue(0, true);
mcBlinkEffect._visible = false;
mcBlinkEffect.stop();
Symbol 331 MovieClip Frame 1
stop();
Symbol 335 MovieClip Frame 1
stop();
var OnClick;
this.hitArea = mcHit;
mcHit._visible = false;
this.onRollOver = function () {
Helper.PlaySound("soundMenuToggle");
gotoAndStop (3);
};
this.onRollOut = function () {
gotoAndStop (2);
};
this.onPress = function () {
Helper.PlaySound("soundMenuHit");
};
this.onRelease = function () {
if (OnClick != undefined) {
OnClick();
}
};
Symbol 336 MovieClip [Game] Frame 1
#initclip 34
Object.registerClass("Game", Game);
#endinitclip
Instance of Symbol 59 MovieClip [Snow] "mcSnow" in Symbol 336 MovieClip [Game] Frame 1
//component parameters
onClipEvent (construct) {
fallSpeed = 1;
flakeMCname = "SeasonsAnimSpring";
friction = 1;
maxFlakes = 14;
zDepth = 400;
}
Symbol 336 MovieClip [Game] Frame 2
mcSnow.init();
this.Launch();
stop();
Symbol 339 MovieClip [WindowGameOver] Frame 1
var OnClosed;
Symbol 339 MovieClip [WindowGameOver] Frame 2
strTitle = Language.Transl("game over");
btnOk.buttonText = Language.Transl("ok");
btnOk.OnClick = mx.utils.Delegate.create(this, function () {
if (OnClosed != undefined) {
OnClosed();
}
});
stop();
Instance of Symbol 59 MovieClip [Snow] in Symbol 341 MovieClip Frame 1
//component parameters
onClipEvent (construct) {
fallSpeed = 5;
flakeMCname = "";
friction = 0.03;
maxFlakes = 80;
zDepth = 800;
}
Symbol 368 MovieClip Frame 1
stop();
Symbol 368 MovieClip Frame 6
stop();
Symbol 378 Button
on (press) {
show_help_pane();
}
Symbol 382 MovieClip Frame 1
stop();
Symbol 382 MovieClip Frame 2
play();
Symbol 382 MovieClip Frame 6
stop();
Symbol 383 MovieClip Frame 1
stop();
Symbol 383 MovieClip Frame 2
star1_mc.gotoAndPlay("grow");
Symbol 383 MovieClip Frame 3
star2_mc.gotoAndPlay("grow");
Symbol 383 MovieClip Frame 4
star3_mc.gotoAndPlay("grow");
Symbol 383 MovieClip Frame 5
star4_mc.gotoAndPlay("grow");
Symbol 383 MovieClip Frame 6
star5_mc.gotoAndPlay("grow");
Symbol 386 MovieClip Frame 1
var base_mc = this;
var i = 1;
while (i <= 5) {
base_mc["b" + i].num = i;
base_mc["b" + i].onRollOver = function () {
stars_mc.gotoAndStop(this.num + 1);
};
base_mc["b" + i].onRollOut = function () {
stars_mc.gotoAndStop(1);
};
base_mc["b" + i].onPress = function () {
submit_vote(this.num);
};
i++;
}
Symbol 394 MovieClip Frame 15
stop();
Symbol 394 MovieClip Frame 23
stop();
Symbol 394 MovieClip Frame 66
var flr = Math.floor(this.score);
var flr_w = (flr * 20);
var dc = (this.score - Math.floor(this.score));
var dc_w = (dc * 17.1);
var w = (flr_w + dc_w);
star_mask_mc._width = w;
Symbol 394 MovieClip Frame 72
stop();
Symbol 402 MovieClip Frame 1
stop();
Symbol 406 MovieClip Frame 1
stop();
Symbol 410 MovieClip Frame 1
stop();
Symbol 413 MovieClip Frame 1
stop();
Symbol 414 MovieClip Frame 1
stop();
Symbol 417 MovieClip Frame 1
stop();
Symbol 417 MovieClip Frame 4
stop();
Symbol 425 MovieClip Frame 1
stop();
Symbol 425 MovieClip Frame 6
stop();
Symbol 434 Button
on (press) {
_parent.show_help_pane();
}
Symbol 439 MovieClip Frame 1
stop();
Symbol 439 MovieClip Frame 4
stop();
Symbol 441 Button
on (release) {
getURL ("http://www.mochibot.com?cpe=dT0yJmNwPUluZm8gUGFuZWwgTGluayZzPUZlZWRiYWNrIEJhciB2MQ%3D%3D", "_blank");
}
on (rollOver) {
logo_mc.gotoAndPlay("in");
}
on (rollOut) {
logo_mc.gotoAndPlay("out");
}
Symbol 442 MovieClip Frame 1
function valid() {
var _local1 = true;
if (comment_txt.text == "") {
_local1 = false;
comment_header_mc.gotoAndStop(2);
} else {
comment_header_mc.gotoAndStop(1);
}
return(_local1);
}
function set_tabs() {
name_txt.tabIndex = 1;
email_txt.tabIndex = 2;
comment_txt.tabIndex = 3;
submit_btn.tabIndex = false;
}
stop();
set_tabs();
get_user_info();
submit_btn.onRollOver = function () {
submit_mc.gotoAndPlay("on");
};
submit_btn.onRollOut = function () {
submit_mc.gotoAndPlay("off");
};
submit_btn.onPress = function () {
if (_root.sending_comment != true) {
if (valid()) {
submit_comment(name_txt.text, email_txt.text, comment_txt.text);
_root.sending_comment = true;
}
}
};
view_comments_btn.onRollOver = function () {
view_comments_mc.gotoAndStop("on");
};
view_comments_btn.onRollOut = function () {
view_comments_mc.gotoAndStop("off");
};
view_comments_btn.onPress = function () {
getURL (_parent.mochi_public_comments_url, "_blank");
};
x_btn.onPress = function () {
_parent.show_comment_pane();
};
name_txt.onSetFocus = function () {
box1_mc.gotoAndStop(2);
};
name_txt.onKillFocus = function () {
box1_mc.gotoAndStop(1);
};
email_txt.onSetFocus = function () {
box2_mc.gotoAndStop(2);
};
email_txt.onKillFocus = function () {
box2_mc.gotoAndStop(1);
};
website_txt.onSetFocus = function () {
box3_mc.gotoAndStop(2);
};
website_txt.onKillFocus = function () {
box3_mc.gotoAndStop(1);
};
comment_txt.onSetFocus = function () {
box4_mc.gotoAndStop(2);
};
comment_txt.onKillFocus = function () {
box4_mc.gotoAndStop(1);
};
Symbol 442 MovieClip Frame 19
stop();
close_btn.onPress = function () {
_parent.show_comment_pane();
};
Symbol 442 MovieClip Frame 23
stop();
close_btn.onPress = function () {
_parent.show_comment_pane();
};
Symbol 442 MovieClip Frame 29
play();
Symbol 442 MovieClip Frame 42
stop();
Symbol 445 MovieClip Frame 1
function init_rate_me() {
cookie = SharedObject.getLocal("rate_me_limit");
var _local1 = cookie.data.year;
var _local4 = cookie.data.month;
var _local3 = cookie.data.date;
var _local5 = cookie.data.hour;
var _local6 = cookie.data.min;
var _local9 = cookie.data.sec;
cookieDate = new Date(_local1, _local4, _local3, _local5, _local6, _local9);
cookieMillisecs = cookieDate.getTime();
currentDate = new Date();
currentMillisecs = currentDate.getTime();
var _local8 = currentMillisecs - cookieMillisecs;
var _local7 = Math.floor(_local8 / 1000);
var _local2 = Math.floor(_local7 / 60);
var _local10 = Math.floor(_local2 / 60);
if ((_local2 < mochi_rate_me_time) && (_local1 != undefined)) {
get_rating();
}
}
function set_rate_me_cookie() {
cookie = SharedObject.getLocal("rate_me_limit");
var _local1 = new Date();
var _local4 = _local1.getFullYear();
var _local3 = _local1.getMonth();
var _local5 = _local1.getDate();
var _local7 = _local1.getHours();
var _local6 = _local1.getMinutes();
var _local2 = _local1.getSeconds();
cookie.data.year = _local4;
cookie.data.month = _local3;
cookie.data.date = _local5;
cookie.data.hour = _local7;
cookie.data.min = _local6;
cookie.data.sec = _local2;
cookie.flush();
}
function show_comment_pane() {
if (!comment_on) {
comment_on = true;
if (!help_on) {
gotoAndPlay ("comment_on");
} else {
help_on = false;
next_frame = "comment_on";
gotoAndPlay ("comment_off");
}
comment_btn_mc.gotoAndPlay("off");
} else {
comment_on = false;
next_frame = null;
gotoAndPlay ("comment_off");
comment_btn_mc.gotoAndPlay("off");
}
}
function show_help_pane() {
if (!help_on) {
help_on = true;
if (!comment_on) {
gotoAndPlay ("comment_on");
} else {
comment_on = false;
next_frame = "comment_on";
gotoAndPlay ("comment_off");
}
} else {
help_on = false;
next_frame = null;
gotoAndPlay ("comment_off");
}
}
function show_component(comment_on) {
if (!is_on) {
is_on = true;
gotoAndPlay ("component_on");
} else if (comment_on) {
next_frame = "component_off";
comment_on = false;
gotoAndPlay ("comment_off");
} else {
next_frame = null;
is_on = false;
gotoAndPlay ("component_off");
}
}
function clear_cookie() {
cookie = SharedObject.getLocal("rate_me_limit");
cookie.clear();
}
stop();
var mochibot_id = "1e702a3b";
guide_mc._visible = false;
var mochi_rate_me_time = 720;
var mochi_vote_url = "http://www.mochibot.com/api/api-feedback.html";
var mochi_comment_url = "http://www.mochibot.com/api/api-feedback.html";
var mochi_public_comments_url = ("http://www.mochibot.com/shared/shared_feedback.html?swfid=" + mochibot_id);
var mochi_comments_public = false;
var comment_on = false;
var help_on = false;
var is_on = false;
var next_frame = null;
_global.submit_vote = function (vote) {
rate_me_mc.gotoAndPlay("out");
var _local3 = new LoadVars();
var _local4 = new LoadVars();
_local3.mochibot_id = mochibot_id;
_local3.vote = vote;
_local3.swfurl = _root._url;
_local4.onLoad = function () {
rate_me_mc.score = this.score;
rate_me_mc.gotoAndPlay("thanks");
};
_local3.sendAndLoad(mochi_vote_url, _local4, "POST");
set_rate_me_cookie();
};
_global.submit_comment = function (name_str, email_str, comment_str) {
var _local3 = new LoadVars();
var _local4 = new LoadVars();
_local3.name = name_str;
_local3.email = email_str;
_local3.comment = comment_str;
_local3.mochibot_id = mochibot_id;
_local3.swfurl = _root._url;
_local4.onLoad = function () {
if (this.invalidSwf == "true") {
form_mc.gotoAndStop("error");
} else {
form_mc.gotoAndPlay("success");
}
};
_local3.sendAndLoad(mochi_comment_url, _local4, "POST");
};
_global.get_rating = function () {
rate_me_mc.gotoAndStop("score");
var _local2 = new LoadVars();
var _local3 = new LoadVars();
_local2.mochibot_id = mochibot_id;
_local3.onLoad = function () {
rate_me_mc.score = this.score;
rate_me_mc.gotoAndPlay("score");
mochi_comments_public = this.commentsPublic;
};
_local2.sendAndLoad(mochi_vote_url, _local3, "GET");
};
toggle_btn.onRelease = function () {
show_component();
};
toggle_btn.onRollOver = function () {
head_mc._alpha = 100;
bubble_mc.gotoAndPlay(2);
};
toggle_btn.onRollOut = function () {
head_mc._alpha = 50;
bubble_mc.gotoAndStop(1);
};
Symbol 445 MovieClip Frame 2
play();
Symbol 445 MovieClip Frame 22
init_rate_me();
Symbol 445 MovieClip Frame 29
stop();
comment_btn_mc.hit_btn.onPress = show_comment_pane;
comment_btn_mc.hit_btn.onRollOver = function () {
comment_btn_mc.gotoAndPlay("on");
};
comment_btn_mc.hit_btn.onRollOut = function () {
if (comment_btn_mc.is_open) {
comment_btn_mc.gotoAndPlay("off");
}
};
toggle_btn.onRelease = function () {
show_component();
};
toggle_btn.onRollOver = function () {
head_mc._alpha = 100;
bubble_mc.gotoAndPlay(2);
};
Symbol 445 MovieClip Frame 39
if (help_on) {
form_mc.gotoAndPlay("help");
} else {
form_mc.gotoAndStop(1);
}
Symbol 445 MovieClip Frame 45
stop();
toggle_btn.onRelease = function () {
show_component(true);
};
Symbol 445 MovieClip Frame 51
if (next_frame != null) {
gotoAndPlay(next_frame);
} else {
gotoAndStop ("hold");
}
Symbol 451 MovieClip Frame 1
stop();
var Value;
var OnValueChanged;
if (Value == undefined) {
Value = true;
}
mcAllocator._visible = false;
GetValue = function () {
return(Value);
};
SetValue = function (value) {
Value = value;
gotoAndStop((Value ? 2 : 3));
if (OnValueChanged != undefined) {
OnValueChanged();
}
};
this.onPress = function () {
SetValue(!Value);
};
SetValue(Value);
this.onRollOver = function () {
Helper.PlaySound("soundMenuToggle");
mcAllocator._visible = true;
};
this.onRollOut = function () {
mcAllocator._visible = false;
};
Symbol 464 MovieClip Frame 1
stop();
var Value;
var OnValueChanged;
if (Value == undefined) {
Value = true;
}
var TrueText;
var FalseText;
mcAllocator._visible = false;
GetValue = function () {
return(Value);
};
SetValue = function (value) {
Value = value;
gotoAndStop((Value ? 2 : 3));
if (Value) {
if (TrueText != undefined) {
text_true = TrueText;
}
} else if (FalseText != undefined) {
text_false = FalseText;
}
if (OnValueChanged != undefined) {
OnValueChanged();
}
};
this.onPress = function () {
SetValue(!Value);
};
SetValue(Value);
this.onRollOver = function () {
Helper.PlaySound("soundMenuToggle");
mcAllocator._visible = true;
};
this.onRollOut = function () {
mcAllocator._visible = false;
};