Combined Code
movieClip 31 white {
}
// unknown tag 88 length 151
movieClip 37 {
}
movieClip 39 {
}
movieClip 44 {
}
movieClip 48 {
}
movieClip 57 {
}
movieClip 59 {
}
movieClip 65 {
frame 1 {
stop();
}
}
movieClip 69 {
}
movieClip 73 {
}
movieClip 77 {
}
movieClip 79 mainMenu {
}
movieClip 87 {
}
// unknown tag 88 length 146
movieClip 90 fileButton {
}
movieClip 92 saveLoadScreen {
}
movieClip 95 saveGame {
}
movieClip 98 {
}
movieClip 99 {
}
movieClip 100 premiumTopLeft {
}
// unknown tag 88 length 48
movieClip 106 patreonButton {
}
movieClip 108 overButtonShade {
}
movieClip 111 {
}
movieClip 115 {
frame 1 {
stop();
}
}
movieClip 123 {
}
movieClip 124 {
}
movieClip 128 lockIcon {
}
movieClip 129 {
frame 1 {
stop();
}
}
movieClip 132 {
frame 1 {
this._alpha = 0;
}
}
movieClip 134 optionsScreen {
}
// unknown tag 88 length 40
movieClip 140 noticeDialogueChoice {
}
movieClip 142 noticeDialogueBottom {
}
movieClip 143 {
}
movieClip 146 noticeDialogue {
}
// unknown tag 88 length 58
// unknown tag 88 length 215
movieClip 154 necessaryForItalics {
}
movieClip 156 {
}
movieClip 159 muteThing {
}
movieClip 161 menuBack {
}
movieClip 163 {
}
movieClip 164 loadingClip {
}
movieClip 167 loadGame {
}
movieClip 170 gallery {
}
movieClip 172 fileButtonSmaller {
}
movieClip 173 {
}
movieClip 202 {
frame 1 {
stop();
}
}
movieClip 206 {
frame 1 {
stop();
}
}
movieClip 210 {
frame 1 {
stop();
}
}
movieClip 228 dialogue {
}
movieClip 230 {
}
// unknown tag 88 length 91
movieClip 234 choiceBoxRemaid {
}
movieClip 236 {
}
movieClip 239 {
}
movieClip 240 choiceBoxMenu {
}
movieClip 244 choiceBoxCrusoe {
}
movieClip 247 {
}
movieClip 252 {
frame 1 {
stop();
}
}
movieClip 254 choiceBoxPremium {
}
movieClip 259 {
frame 1 {
stop();
}
}
movieClip 261 choiceBox {
}
movieClip 269 cheatsTitle {
}
movieClip 275 {
frame 1 {
stop();
}
}
movieClip 279 cheatBox {
}
movieClip 281 black {
}
movieClip 283 {
}
movieClip 285 {
}
movieClip 286 {
}
movieClip 288 {
}
movieClip 289 {
}
movieClip 291 {
}
movieClip 292 {
}
movieClip 294 {
}
movieClip 295 {
}
movieClip 296 {
}
movieClip 297 {
}
movieClip 299 {
}
movieClip 300 {
}
movieClip 302 {
}
movieClip 303 {
}
movieClip 305 {
}
movieClip 306 {
}
movieClip 307 {
}
movieClip 308 {
}
movieClip 310 {
}
movieClip 311 {
}
movieClip 312 {
}
movieClip 314 {
}
movieClip 315 {
}
movieClip 316 {
}
movieClip 318 {
}
movieClip 319 {
}
movieClip 321 {
}
movieClip 323 {
}
movieClip 324 {
}
movieClip 325 {
}
movieClip 327 {
}
movieClip 328 {
}
movieClip 329 lensflare {
}
frame 1 {
function f2(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12) {
f(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12);
}
function f(s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12) {
fCalledEvenOnce = true;
if (s1 == undefined or s2 == undefined && (s3 != undefined or s4 != undefined)) {
}
parsing['s' + parser] = [s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12];
var v1 = parsing['s' + parser];
for (var v4 in v1) {
if (v1[v4] == undefined) {
v1.splice(v4, 1);
}
}
var v2 = false;
if (v1.length == 1) {
for (var v5 in commands) {
if (v1[0] == commands[v5]) {
v2 = true;
}
}
if (!v2) {
v1.splice(0, 0, 'thinking');
}
} else {
if (v1.length == 2 or v1.length == 3) {
for (var v5 in commands) {
if (v1[0] == commands[v5]) {
v2 = true;
}
}
if (!v2) {
v1.splice(0, 0, 'talking');
}
}
}
if (v1[0] == label) {
if (v1[2] == undefined or v1[2] == true) {
var v6 = v1[1];
parsing['s' + parser] = [jump, v1[1]];
v1 = parsing['s' + parser];
parser = Math.ceil((parser + 1) / 10000) * 10000;
labels[v6] = parser;
} else {
labels[v1[1]] = parser;
}
} else {
++parser;
}
if (v1[0] == label) {
allLabels.push(v1[1]);
} else {
if (v1[0] == 'talking' || v1[0] == 'thinking') {
++totalNumberOfDialogues;
} else {
if (v1[0] == 'ending') {
var v3 = true;
for (v4 in allUniqueEndings) {
if (allUniqueEndings[v4] == v1[1]) {
v3 = false;
}
}
if (v3) {
allUniqueEndings.push(v1[1]);
}
} else {
if (v1[0] == jump) {
allJumps.push(v1[1]);
} else {
if (v1[0] == 'person') {
allPersonsAndMoods.push([v1[0], v1[1], v1[2]]);
} else {
if (v1[0] == 'choice' && v1[1] == undefined) {
++allChoices;
} else {
if (v1[0] == 'endChoice') {
++allEndChoices;
} else {
if (v1[0] == 'whatIf') {
++allIfs;
} else {
if (v1[0] == 'endIf') {
++allEndIfs;
}
}
}
}
}
}
}
}
}
}
sourceDisclaimer = 'Sano Toshihide ga, Anata no Senyou Gengaman ni Narimasu S/N: GJ0169424';
stop();
parsing = new Object();
labels = new Object();
parser = 1;
scene = 'scene';
doCall = 'doCall';
endCall = 'endCall';
textbox = 'textbox';
cheatRule = 'cheatRule';
registerCGBasesForCheats = 'registerCGBasesForCheats';
changeString = 'changeString';
sceneClip = 'sceneClip';
cg = 'cg';
cgs = 'cgs';
addButton = 'addButton';
animateOnce = 'animateOnce';
addToCg = 'addToCg';
changeBg = 'changeBg';
panAll = 'panAll';
setFilter = 'setFilter';
setZoom = 'setZoom';
setAlpha = 'setAlpha';
url = 'url';
pan = 'pan';
jump = 'jump';
person = 'person';
removeAllChars = 'removeAllChars';
remove = 'remove';
swapDepth = 'swapDepth';
choice = 'choice';
endChoice = 'endChoice';
startGameAndJump = 'startGameAndJump';
continueLastGame = 'continueLastGame';
openMainMenu = 'openMainMenu';
playMusic = 'playMusic';
chibi = 'chibi';
setVolume = 'setVolume';
playSound = 'playSound';
stopMusic = 'stopMusic';
label = 'label';
ending = 'ending';
effect = 'effect';
screenEffect = 'screenEffect';
removeScreenEffects = 'removeScreenEffects';
item = 'item';
mcItem = 'mcItem';
pause = 'pause';
whatIf = 'whatIf';
elseIf = 'elseIf';
pass = 'pass';
otherwise = 'otherwise';
endIf = 'endIf';
setVariable = 'setVariable';
incrementVariable = 'incrementVariable';
languageScreen = 'languageScreen';
screenIsALink = 'screenIsALink';
changeName = 'changeName';
save = 'save';
calculate = 'calculate';
black = 'black';
me = 'me';
right = 'right';
left = 'left';
center = 'center';
fadeOut = 'fadeOut';
commands = [label, save, cheatRule, changeString, registerCGBasesForCheats, swapDepth, textbox, pan, doCall, endCall, animateOnce, setVolume, panAll, setZoom, setAlpha, sceneClip, setFilter, chibi, removeScreenEffects, screenIsALink, addButton, calculate, changeName, openMainMenu, item, mcItem, playMusic, stopMusic, playSound, choice, continueLastGame, endChoice, person, scene, cg, addToCg, cgs, changeBg, ending, screenEffect, effect, startGameAndJump, jump, pause, url, setVariable, incrementVariable, whatIf, elseIf, otherwise, endIf, pass, languageScreen, removeAllChars, remove];
totalNumberOfDialogues = 0;
allJumps = new Array();
allLabels = new Array();
allUniqueEndings = new Array();
allPersonsAndMoods = new Array();
allChoices = 0;
allEndChoices = 0;
allIfs = 0;
allEndIfs = 0;
x = '';
}
frame 1 {
all = 'all';
n = 'n';
e = 'e';
h = 'h';
k = 'k';
ai = 'ai';
maid = 'maid';
unknown = 'unknown';
c_t = 'c_t';
c_b = 'c_b';
}
frame 1 {
}
frame 1 {
function checkShit() {
var v6 = new Object();
var v4 = new Array();
var v5 = new Array();
var v1 = 0;
while (v1 < allPersonsAndMoods.length) {
if (v6[allPersonsAndMoods[v1][0] + '_' + allPersonsAndMoods[v1][1] + '_' + allPersonsAndMoods[v1][2]]) {
} else {
v5.push(allPersonsAndMoods[v1][0] + '_' + allPersonsAndMoods[v1][1] + '_' + allPersonsAndMoods[v1][2]);
v6[allPersonsAndMoods[v1][0] + '_' + allPersonsAndMoods[v1][1] + '_' + allPersonsAndMoods[v1][2]] = true;
}
++v1;
}
var v3 = 0;
while (v3 < v5.length) {
v4.push(v5[v3]);
++v3;
}
var v2 = 0;
while (v2 < v4.length) {
++v2;
}
}
function initVar() {
function acg(o) {
allCgs.push(o);
++amountOfCgs;
}
resizeAndReplaceF();
localTesting = false;
urlString = String(_root._url);
localCopy = false;
if (urlString.indexOf('http:') == -1) {
localCopy = true;
}
premiumForEveryone = false;
CGBasesForCheats = new Array();
basicGameData = new Object();
basicGameData.gameFile = 'remaid_rc2';
basicGameData.gameName = 'Re-Maid';
basicGameData.selfContained = true;
premiumBitmaps = ['yuri'];
basicGameData.numberInSeries = 1;
basicGameData.characterHeight = 555;
basicGameData.characterFace = {'x': 500, 'y': 300};
basicgameData.characterWidth = 1000;
patreonURL = 'http://billkershaw.com/clients/redir/remaidfull.html';
artistPatreonURL = 'http://billkershaw.com/clients/redir/remaidfull_lasterk.html';
cheatInfoURL = 'http://billkershaw.com/clients/redir/remaidfull_cheatinfo.html';
filterO = new Object();
filterO.hikariHair = adjustSaturation(2.1);
filterO.altClothes = adjustSaturation(-1);
filterO.erikaHair = adjustSaturation(-3);
filterO.eikoClothes = adjustSaturation(-2.5);
filterO.maidClothes = adjustHue(-130);
newFilt('regular', [1, 0, 0, 0, 0]);
newFilt('regular', [0, 1, 0, 0, 0]);
newFilt('regular', [0, 0, 1, 0, 0]);
newFilt('regular', [0, 0, 0, 1, 0]);
newFilt('sunset', [1.35, 0.1, 0.1, 0, -70]);
newFilt('sunset', [0, 1.15, 0.1, 0, -70]);
newFilt('sunset', [0, 0, 1.15, 0, -70]);
newFilt('sunset', [0, 0, 0, 1, 0]);
newFilt('zombieSkinColor', [0.4063355, 0.45758, 0.0360845, 0, -15]);
newFilt('zombieSkinColor', [0.1563355, 0.6575800000000001, 0.0360845, 0, 15]);
newFilt('zombieSkinColor', [0.1563355, 0.45758, 0.4360845, 0, -15]);
newFilt('zombieSkinColor', [0, 0, 0, 1, 0]);
newFilt('zombieHairColor', [0.53, 0.22, 0.23, 0, -15]);
newFilt('zombieHairColor', [0.23, 0.53, 0.23, 0, -15]);
newFilt('zombieHairColor', [0.23, 0.23, 0.53, 0, -15]);
newFilt('zombieHairColor', [0, 0, 0, 1, 0]);
newFilt('hanaDemonSkin', [0.75, 0.3, 0.05, 0, 0]);
newFilt('hanaDemonSkin', [0, 0.9, 0.05, 0, 0]);
newFilt('hanaDemonSkin', [0.35, 0.3, 0.9, 0, 0]);
newFilt('hanaDemonSkin', [0, 0, 0, 1, 0]);
newFilt('erikaDemonSkin', [1, 0.3, 0.2, 0, 0]);
newFilt('erikaDemonSkin', [0, 0.4, 0.5, 0, 0]);
newFilt('erikaDemonSkin', [0, 0.3, 0.5, 0, 0]);
newFilt('erikaDemonSkin', [0, 0, 0, 1, 0]);
newFilt('erikaDemonLightSkin', [1, 0.15, 0.1, 0, 0]);
newFilt('erikaDemonLightSkin', [0, 0.7, 0.2, 0, 0]);
newFilt('erikaDemonLightSkin', [0, 0.15, 0.7, 0, 0]);
newFilt('erikaDemonLightSkin', [0, 0, 0, 1, 0]);
newFilt('hanaDemonHair', [0.8, 0.2, 0.1, 0, -10]);
newFilt('hanaDemonHair', [0, 0.6, 0.1, 0, -10]);
newFilt('hanaDemonHair', [0.2, 0.2, 0.7, 0, -10]);
newFilt('hanaDemonHair', [0, 0, 0, 1, 0]);
newFilt('erikaDemonHair', [1, 0.2, 0.1, 0, 0]);
newFilt('erikaDemonHair', [0, 0.8, 0.1, 0, 0]);
newFilt('erikaDemonHair', [0, 0.2, 0.8, 0, 0]);
newFilt('erikaDemonHair', [0, 0, 0, 1, 0]);
newFilt('turtleSkin', [0.6063355, 0.02758, 0.0360845, 0, 0]);
newFilt('turtleSkin', [0.1563355, 0.95758, 0.0360845, 0, 0]);
newFilt('turtleSkin', [0.1563355, 0.02758, 0.6360845000000001, 0, 0]);
newFilt('turtleSkin', [0, 0, 0, 1, 0]);
newFilt('oppositeColor', [1, 0, 0, 0, 0]);
newFilt('oppositeColor', [0, 1, 0, 0, 0]);
newFilt('oppositeColor', [0, 0, 1, 0, 0]);
newFilt('oppositeColor', [0, 0, 0, 1, 0]);
filterO.darkestSkin = [0.6, 0.15, 0.15, 0, -85, 0.2, 0.3, 0.1, 0, -85, 0.2, 0.15, 0.1, 0, -58, 0, 0, 0, 1, 0];
filterO.veryDarkSkin = [0.7, 0.125, 0.125, 0, -82, 0.2, 0.4, 0.05, 0, -82, 0.2, 0.1, 0.15, 0, -59, 0, 0, 0, 1, 0];
filterO.darkSkin = [0.8, 0.1, 0.1, 0, -80, 0.2, 0.5, 0, 0, -80, 0.2, 0, 0.2, 0, -60, 0, 0, 0, 1, 0];
filterO.mediumSkin = [0.9, 0.05, 0.05, 0, -40, 0.1, 0.75, 0, 0, -40, 0.1, 0, 0.6, 0, -30, 0, 0, 0, 1, 0];
filterO.lightSkin = [0.95, 0.025, 0.025, 0, -20, 0.05, 0.87, 0, 0, -20, 0.05, 0, 0.8, 0, -15, 0, 0, 0, 1, 0];
filterO.sunset = new Array();
filterO.sunset = filterO.sunset.concat([1.35, 0.1, 0.1, 0, -70]);
filterO.sunset = filterO.sunset.concat([0, 1.15, 0.1, 0, -70]);
filterO.sunset = filterO.sunset.concat([0, 0, 1.15, 0, -70]);
filterO.sunset = filterO.sunset.concat([0, 0, 0, 1, 0]);
filterO.sunsetLight = new Array();
filterO.sunsetLight = filterO.sunsetLight.concat([1.2, 0.05, 0.05, 0, -30]);
filterO.sunsetLight = filterO.sunsetLight.concat([0, 1.1, 0.1, 0, -30]);
filterO.sunsetLight = filterO.sunsetLight.concat([0, 0, 1.1, 0, -30]);
filterO.sunsetLight = filterO.sunsetLight.concat([0, 0, 0, 1, 0]);
filterO.evening = new Array();
filterO.evening = filterO.evening.concat([0.8, 0.05, 0, 0, -25]);
filterO.evening = filterO.evening.concat([0.05, 0.8, 0, 0, -25]);
filterO.evening = filterO.evening.concat([0.05, 0.05, 1.25, 0, -25]);
filterO.evening = filterO.evening.concat([0, 0, 0, 1, 0]);
newFilt('night', [0.6, 0.1, 0, 0, -15]);
newFilt('night', [0.1, 0.6, 0, 0, -15]);
newFilt('night', [0, 0, 1, 0, -20]);
newFilt('night', [0, 0, 0, 1, 0]);
filterO.yellowish = new Array();
filterO.yellowish = yellowish.concat([0.9, 0.1, 0, 0, -10]);
filterO.yellowish = yellowish.concat([0.1, 0.85, 0, 0, -10]);
filterO.yellowish = yellowish.concat([0, 0, 0.6, 0, -10]);
filterO.yellowish = yellowish.concat([0, 0, 0, 1, 0]);
filterO.nightFireFilter = new Array();
filterO.nightFire = nightFire.concat([1, 0, 0, 0, -40]);
filterO.nightFire = nightFire.concat([0, 0.8, 0, 0, -40]);
filterO.nightFire = nightFire.concat([0, 0, 1.1, 0, -40]);
filterO.nightFire = nightFire.concat([0, 0, 0, 1, 0]);
filterO.sunny = new Array();
filterO.sunny = sunny.concat([1.19, 0, 0, 0, -19]);
filterO.sunny = sunny.concat([0, 1.19, 0, 0, -19]);
filterO.sunny = sunny.concat([0, 0, 1.19, 0, -19]);
filterO.sunny = sunny.concat([0, 0, 0, 1, 0]);
if (System.capabilities.language == 'ja') {
}
allCgs = new Array();
amountOfCgs = 0;
acg({'base': ['airhockey'], 'sequence': [[0]]});
acg({'base': ['cellphone3'], 'sequence': [[0]], 'premium': true});
acg({'base': ['pants'], 'sequence': [[0]]});
acg({'base': ['e_asleep1_back', 'e_asleep1_body', 'e_asleep1_hair', 'e_asleep1_body_legs1', 'e_asleep1_expression'], 'sequence': [[0]]});
acg({'base': ['e_asleep2_back', 'e_asleep2_man', 'e_asleep2_body', 'e_asleep2_hair', 'e_asleep2_ears', 'e_asleep2_expression_eyesclosed'], 'sequence': [[0]]});
acg({'base': ['pc', 'pc_white', 'pc_maid'], 'sequence': [[0]]});
acg({'base': ['e_blowjob1_zoom_1'], 'sequence': [[0]]});
acg({'base': ['e_cowgirl_back', 'e_cowgirl_man', 'e_cowgirl_body', 'e_cowgirl_pants', 'e_cowgirl_leggins', 'e_cowgirl', 'e_cowgirl_expression_mouthclosed', 'e_cowgirl_hair', 'e_cowgirl_ears'], 'sequence': [[0]]});
acg({'base': ['bottle'], 'sequence': [[0]], 'premium': true});
acg({'base': ['h_bed_back', 'h_bed_body', 'h_bed_exp_waiting', 'h_bed_hair', 'h_bed_overlay'], 'sequence': [[0]]});
acg({'base': ['sakura'], 'sequence': [[0]]});
acg({'base': ['yuri_back', 'yuri_e_hair_under', 'yuri_e_body', 'yuri_h_body', 'yuri_h_clothes', 'yuri_h_exp_surprised', 'yuri_h_hair', 'yuri_h_ear', 'yuri_e_body_arm', 'yuri_e_clothes', 'yuri_e_hair', 'yuri_e_ear'], 'sequence': [[0]], 'premium': true});
acg({'base': ['h_boobs_back', 'h_boobs_body', 'h_boobs_underwear_off', 'h_boobs_man_hand'], 'sequence': [[0]]});
acg({'base': ['h_doggy_back', 'h_doggy_man', 'h_doggy_body', 'h_doggy_hair', 'h_doggy_ear', 'h_doggy_expression_ahegao'], 'sequence': [[0]]});
acg({'base': ['omamori_back', 'omamori_amulet'], 'sequence': [[0]]});
acg({'base': ['h_sitting_back', 'h_sitting_man', 'h_sitting_body', 'h_sitting_expression_cumming', 'h_sitting_hair', 'h_sitting_ear'], 'sequence': [[0]]});
acg({'base': ['temple_yuri_back', 'temple_yuri_e_body', 'temple_yuri_h_body', 'temple_yuri_e_ear', 'temple_yuri_e_body_arm', 'temple_yuri_h_body_arm', 'temple_yuri_e_hair', 'temple_yuri_h_hair', 'temple_yuri_h_ear', 'temple_yuri_h_expression', 'temple_yuri_e_expression'], 'sequence': [[0]], 'premium': true});
acg({'base': ['e_blowjob2_back', 'e_blowjob2_man', 'e_blowjob2_body', 'e_blowjob2_expression_eyesopen', 'e_blowjob2_hair', 'e_blowjob2_ear'], 'sequence': [[0]]});
acg({'base': ['bus_sign'], 'sequence': [[0]]});
acg({'base': ['e_lying_back', 'e_lying_body', 'e_lying_expression', 'e_lying_hair', 'e_lying_ear', 'e_lying_overlay'], 'sequence': [[0]]});
acg({'base': ['e_ass_back', 'e_ass_body', 'e_ass_underwear', 'e_ass_body_hands'], 'sequence': [[0]]});
acg({'base': ['cellphone'], 'sequence': [[0]]});
acg({'base': ['explosion'], 'sequence': [[0]]});
acg({'base': ['taxcup'], 'sequence': [[0]]});
acg({'base': ['b32_back', 'b32_plane'], 'sequence': [[0]]});
characterImageData = new Object();
characterImageData.c = new Object();
var v9 = characterImageData.c;
characterImageData.e = new Object();
var v3 = characterImageData.e;
characterImageData.h = new Object();
var v4 = characterImageData.h;
characterImageData.k = new Object();
var v7 = characterImageData.k;
characterImageData.ai = new Object();
var v6 = characterImageData.ai;
characterImageData.maid = new Object();
var v8 = characterImageData.maid;
v3.basic = ['body', 'body_clothesshade', 'clothes', 'exp', 'ears', 'hair', 'clothes_top'];
v3.blush = ['body', 'body_clothesshade', 'clothes', 'exp', 'body_blush', 'ears', 'hair', 'clothes_top'];
v3.underwear = ['body', 'body_breastsforbra', 'underwear', 'exp', 'ears', 'hair'];
v3.underwear_blush = ['body', 'body_breastsforbra', 'underwear', 'exp', 'body_blush', 'ears', 'hair'];
v3.bitcoin = ['body', 'bitcoin_clothes', 'exp', 'ears', 'hair'];
v3.bitcoin_blush = ['body', 'bitcoin_clothes', 'exp', 'body_blush', 'ears', 'hair'];
v3.nude_blush = ['body', 'pubes', 'body_nipple', 'exp', 'body_blush', 'ears', 'hair'];
v3.alt = ['alt_body', 'alt_clothes', 'exp', 'alt_ears', 'alt_hair', 'alt_clothes_top'];
v3.alt_bitcoin = ['alt_body', 'alt_bitcoin_clothes', 'exp', 'alt_ears', 'alt_hair'];
v3.alt_underwear = ['alt_body', 'alt_underwear', 'exp', 'alt_ears', 'alt_hair'];
v3.towel = ['alt_body', 'alt_towel', 'exp', 'alt_ears', 'alt_hair'];
v3.maid = ['body', 'maid_clothes', 'exp', 'ears', 'hair', 'maid_clothes_top'];
v3.walled = ['wallshade', 'body', 'body_clothesshade', 'clothes', 'exp', 'ears', 'hair', 'clothes_top'];
v3.silhouette = ['silhouette'];
v3.nude = ['body', 'pubes', 'body_nipple', 'exp', 'ears', 'hair'];
v3.pants = ['body', 'underwear_pants', 'body_nipple', 'exp', 'ears', 'hair'];
v3.nude_alt = ['alt_body', 'alt_body_nipple', 'exp', 'alt_ears', 'alt_hair'];
v3.pants_alt = ['alt_body', 'alt_underwear_pants', 'alt_body_nipple', 'exp', 'alt_ears', 'alt_hair'];
v4.basic = ['body', 'body_clothes_shade', 'clothes', 'exp', 'ears', 'hair'];
v4.blush = ['body', 'body_clothes_shade', 'clothes', 'exp', 'blush', 'ears', 'hair'];
v4.dress = ['body', 'blackdress_clothes', 'exp', 'ears', 'hair'];
v4.blouse = ['body', 'blouse_clothes', 'exp', 'ears', 'hair'];
v4.blouse_blush = ['body', 'blouse_clothes', 'exp', 'blush', 'ears', 'hair'];
v4.bitcoin = ['body', 'bitcoin_clothes_body_shade', 'bitcoin_clothes', 'exp', 'ears', 'hair'];
v4.bitcoin_blush = ['body', 'bitcoin_clothes_body_shade', 'bitcoin_clothes', 'exp', 'blush', 'ears', 'hair'];
v4.bitcoinBlouse = ['body', 'bitcoinBlouse_clothes_body_shade', 'bitcoinBlouse_clothes', 'exp', 'ears', 'hair'];
v4.bitcoinBlouse_blush = ['body', 'bitcoinBlouse_clothes_body_shade', 'bitcoinBlouse_clothes', 'exp', 'blush', 'ears', 'hair'];
v4.nude = ['body', 'pubes', 'body_nipple', 'exp', 'ears', 'hair'];
v4.nude_blush = ['body', 'pubes', 'body_nipple', 'exp', 'blush', 'ears', 'hair'];
v4.underwear = ['body', 'underwear', 'exp', 'ears', 'hair'];
v4.underwear_blush = ['body', 'underwear', 'exp', 'blush', 'ears', 'hair'];
v4.mountain = ['body', 'body_clothes_shade', 'clothes_mountain', 'exp', 'ears', 'hair'];
v4.mountain_blush = ['body', 'body_clothes_shade', 'clothes_mountain', 'exp', 'blush', 'ears', 'hair'];
v4.mountain_flipped = ['body', 'body_clothes_shade', 'clothes_mountain', 'exp', 'ears', 'hair'];
v7.basic = ['body', 'exp', 'hair'];
v7.flipped = ['body', 'exp', 'hair'];
v7.maid = ['maid_body', 'exp', 'hair', 'maid_hat'];
v6.basic = ['body', 'flipped', 'exp', 'glasses', 'hair'];
v6.blouse = ['body_alt', 'exp', 'glasses', 'hair'];
v6.nude = ['body_nude', 'exp', 'hair'];
v6.no_glasses = ['body', 'exp', 'hair'];
v8.basic = ['all'];
cheats = new Array();
cheatsO = new Object();
activatedCheats = new Object();
regCheat('cousin', 'cousin', 10, 'Make Hana your cousin');
regCheat('sister', 'sister', 10, 'Make Erika your sister');
regCheat('demon', 'demon', 10, 'Make Hana and Erika demons.');
regCheat('catgirl', 'catgirl', 5, 'Make Hana and Erika catgirls.');
regCheat('bunny', 'bunny', 0, 'Make Hana and Erika bunnygirls.');
regCheat('elf', 'elf', 10, 'Make Hana and Erika elves.');
regCheat('zombie', 'zombie', 5, 'Make Hana and Erika zombies.');
regCheat('turtle', 'turtle', 10, 'Make Hana and Erika turtlegirls.');
regCheat('bitcoin', 'bitcoin', 0, 'Make Hana and Erika wear skimpy bitcoin-themed clothes.', ['nudity', 'underwear']);
regCheat('nudity', 'nude', 10, 'Make Hana and Erika always appear in the nude.', ['bitcoin', 'underwear']);
regCheat('underwear', 'underwear', 10, 'Make Hana and Erika always appear in their underwar.', ['nudity', 'bitcoin']);
saveLayer = 20;
crapLayer = 21;
outOfMenuIntoGame = false;
this.createEmptyMovieClip('server', saveLayer);
this.createEmptyMovieClip('crap', crapLayer);
server._x = -2000;
serverSaveOK = false;
var lc = attachMovie('loadingClip', 'loadingClip', 90123);
lc._x = screenWidth / 2;
lc._y = screenHeight / 2;
crap.t = 0;
crap.limit = 85;
crap.onEnterFrame = function () {
++this.t;
if (this.t > this.limit) {
removeMovieClip(lc);
onlyOnceStartF();
delete this.onEnterFrame;
}
};
if (!fCalledEvenOnce) {
var script = new XML();
script.ignoreWhite = true;
script.onLoad = function (success) {
if (success) {
scriptifyXML(script);
} else {
noticeDialogueF('noScript');
}
};
script.load('assets/script.xml');
} else {
crap.limit = 7;
}
var v5 = crap.createEmptyMovieClip('arab', crap.getNextHighestDepth());
v5.createEmptyMovieClip('m1', 1);
v5.createEmptyMovieClip('m2', 2);
loadMovie('remaid_10.patch', v5.m2);
loadMovie('remaid_5.patch', v5.m1);
v5.t = 0;
v5.onEnterFrame = function () {
++this.t;
if (this.t > 6 && this.pledgeLeveI != undefined) {
pledgeLevel = this.pledgeLeveI;
if (pledgeLevel >= 5) {
premiumPatron = true;
}
if (pledgeLevel >= 10) {
premiumPlusPatron = true;
}
removeMovieClip(crap.tempPatchLoader);
removeMovieClip(this);
delete this.onEnterFrame;
} else {
if (this.t > 20) {
premiumPatron = false;
premiumPlusPatron = false;
removeMovieClip(crap.tempPatchLoader);
removeMovieClip(this);
delete this.onEnterFrame;
}
}
};
}
function initVar2(loaded) {
removeMovieClip(dialogue);
removeMovieClip(choiceMC);
removeMovieClip(bg);
removeMovieClip(fadeDealer);
removeMovieClip(pixelDealer);
removeMovieClip(menu);
removeMovieClip(soundMC);
currentlyPlaying = 'none';
musicBeingFadedOut = 'none';
sounds = {};
gameEnded = false;
outOfMenuIntoGame = false;
noticeDialogueActive = false;
skipping = false;
maxTextSpeed = 20;
fps = 40;
t = 0;
ifNests = 0;
zoom = 100;
gamePaused = false;
currentFilter = 'regular';
gameWorldLayer = 1;
bgLayer = 1;
pixelBehindDealerLayer = 2;
backgroundEffectsLayer = 3;
foregroundObjectLayer = 5;
effectsLayer = 8;
pixelDealerLayer = 22;
mouseCheckerLayer = 10;
dialogueLayer = 11;
commentaryChibiLayer = 12;
wordPopUpLayer = 13;
noticeDialogueLayer = 14;
pixellationLayer = 23;
pauseHandlerLayer = 24;
soundLayer = 25;
soundLayer2 = 26;
transitionLayer = 27;
buttonLayer = 29;
menuLayer = 30;
muteLayer = 35;
externalBmpDataLayer = 40;
notificationLayer = 69;
blackFrameLayer = 99;
nvlText = '';
log = '';
currentBackground = '';
notificationsA = new Array();
foregroundObjectsA = new Array();
variables = new Object();
variables.callNests = 0;
variables.homeNumber = new Array();
characterDataA = new Array();
characterData = new Object();
newChar('all', 'All', '', 16777215);
newChar('n', 'Nishi', '', 13421772);
newChar('h', 'Hana', 'h', 16777062);
newChar('e', 'Erika', 'e', 13382553);
newChar('k', 'Kenji', 'k', 16751001);
newChar('ai', 'Aina', 'a', 16724940);
newChar('maid', 'Vicky', 'maid', 16764108);
newChar('unknown', '???', 'xxx', 10066329);
newChar('c_t', 'Taxcup', 'taxcup', 16711935, true);
newChar('c_b', 'BigB', 'bigb', 16764108, true);
cheatRules = new Array();
cheatsCheck();
cheatstring = '';
if (cheatListener != undefined) {
Key.removeListener(cheatListener);
}
cheatListener = new Object();
Key.addListener(cheatListener);
cheatListener.onKeyDown = function () {
if (!outOfMenuIntoGame) {
var v4 = Key.getAscii();
var v6 = chr(v4);
if (v6 != '') {
cheatstring += v6;
}
if (v4 == 13 || v4 == 8) {
cheatstring = '';
}
var v5 = 100;
if (cheatstring.length > v5) {
cheatstring = cheatstring.slice(cheatstring.length - v5, cheatstring.length);
}
var v2 = 0;
while (v2 < cheats.length) {
var v1 = cheats[v2];
if (v1.cheat == (cheatstring.slice(-v1.cheat.length, cheatstring.length)).toLowerCase()) {
if (premiumPlusPatron or v1.cheat == 'bitcoin') {
cheatstring = '';
playSystemSoundF('cheat_unlocked');
activateCheat(v1);
}
}
++v2;
}
var v3 = cheatstring;
if (v3 == '') {
v3 = ' ';
}
if (menu.cheatsScreen != undefined) {
menu.cheatsScreen.cheatbox.htmlText = v3;
}
}
};
parser = 1;
initJapanese();
this.createEmptyMovieClip('gwContainer', gameWorldLayer);
gw = gwContainer.createEmptyMovieClip('gw', 1);
bg = gw.createEmptyMovieClip('bg', bgLayer);
backgroundEffects = gw.createEmptyMovieClip('backgroundEffects', backgroundEffectsLayer);
effects = gw.createEmptyMovieClip('effects', effectsLayer);
foregroundObjects = gw.createEmptyMovieClip('foregroundObjects', foregroundObjectLayer);
var bf = createEmptyMovieClip('blackFrame', blackFrameLayer);
with (bf) {
beginFill(0, 100);
moveTo(-3000, -3000);
lineTo(screenWidth + 3000, -3000);
lineTo(screenWidth + 3000, screenHeight + 3000);
lineTo(-3000, screenHeight + 3000);
lineTo(-3000, -3000);
moveTo(0, 0);
lineTo(screenWidth, 0);
lineTo(screenWidth, screenHeight);
lineTo(0, screenHeight);
lineTo(0, 0);
endFill();
}
this.createEmptyMovieClip('soundMC', soundLayer);
if (localCopy) {
loadMovie('assets/sounds.swc', soundMC);
this.createEmptyMovieClip('externalBmpDataClip', externalBmpDataLayer);
loadMovie('assets/assets.swc', externalBmpDataClip);
}
this.createEmptyMovieClip('mouseChecker', mouseCheckerLayer);
this.createEmptyMovieClip('transitions', transitionLayer);
this.createEmptyMovieClip('pauseHandler', pauseHandlerLayer);
this.createEmptyMovieClip('buttons', buttonLayer);
this.createEmptyMovieClip('notifications', notificationLayer);
var mute = this.attachMovie('muteThing', 'muteThing', muteLayer);
if (generalSave.removeMuteButton) {
mute._visible = false;
}
mute.stop();
mute._x = screenWidth - mute._width;
mute._y = 0;
mute._alpha = 70;
mute.t = 0;
masterVolume = 1;
mute.back.onRollOver = function () {
mute._alpha = 100;
mute.t = 0;
};
mute.back.onRollOut = function () {
mute._alpha = 70;
mute.t = 0;
};
mute.onEnterFrame = function () {
++mute.t;
if (!gameMuted && mute.t % 50 == 49) {
if (mute._alpha > 10) {
mute._alpha -= 1;
}
}
};
mute.back.onPress = function () {
if (gameMuted) {
mute.gotoAndStop(1);
gameMuted = false;
masterVolume = 1;
if (musicPlaying) {
sounds[currentlyPlaying].setVolume(soundMC[currentlyPlaying].vol * masterVolume * globalSave.musicVolume);
}
} else {
mute.gotoAndStop(2);
gameMuted = true;
masterVolume = 0;
if (musicPlaying) {
sounds[currentlyPlaying].setVolume(0);
}
}
};
with (mouseChecker) {
beginFill(16711680);
moveTo(0, 0);
lineTo(screenWidth, 0);
lineTo(screenWidth, screenHeight);
lineTo(0, screenHeight);
lineTo(0, 0);
endFill();
}
mouseChecker._alpha = 0;
mouseChecker.onPress = function () {
if (!gamePaused) {
mouseClick = true;
}
};
var scrollListener = new Object();
scrollListener.onMouseWheel = function (delta) {
mouseScrolledPre = delta;
};
Mouse.addListener(scrollListener);
myKeys = new Object();
keys = ['UP', 'ALT', 'DOWN', 'SPACE', 'RIGHT', 'TAB', 'LEFT', 'BACKSPACE', 'ENTER', 'CONTROL', 'ESCAPE', ['H', 72], ['F', 70], ['R', 82], ['S', 83], ['L', 76], ['Q', 81], ['A', 65], ['O', 79], ['Z', 90], ['K', 75], ['M', 77], ['P', 80], ['plus', 107], ['minus', 109], ['f12', 123]];
}
function scriptifyXML(xml) {
var v3 = crap.getNextHighestDepth();
var v2 = crap.createEmptyMovieClip('crap' + v3, v3);
v2.t = 0;
v2.divideBy = 76;
v2.t2 = 0;
lines = xml.firstChild.childNodes;
v2.lines = lines;
v2.onEnterFrame = function () {
var v2 = this.lines;
++this.t2;
while (this.t < (v2.length / this.divideBy) * this.t2) {
cLine = v2[this.t].firstChild;
scriptify2(cLine);
++this.t;
}
if (this.t2 == this.divideBy) {
delete this.onEnterFrame;
removeMovieClip(this);
}
};
}
function scriptify2(cLine) {
var v1 = cLine.toString();
v1 = replaceAllInstancesOf(v1, '\\"', '\\');
v1 = v1.split(', ');
v1 = v1.toString();
v1 = v1.split(',');
var v10 = false;
var v4 = 0;
var v5 = '"';
var v15 = ''';
var v16 = false;
var v3 = 0;
while (v3 < v1.length) {
while (v1[v3].charAt(0) == ' ') {
v1[v3] = v1[v3].slice(1);
}
v1[v3] = replaceAllInstancesOf(v1[v3], '{{', '<');
v1[v3] = replaceAllInstancesOf(v1[v3], '}}', '>');
v1[v3] = replaceAllInstancesOf(v1[v3], '&', '&');
word = v1[v3];
if (v10) {
if (word.slice(0, 6) != v5 && word.indexOf(v5) > -1 or word.indexOf('[') == -1 && word.indexOf(']') > -1 or word.indexOf('{') == -1 && word.indexOf('}') > -1) {
v10 = false;
var v9 = 0;
var v6 = v4 + 1;
while (v6 <= v3) {
v1[v4] = v1[v4] + ', ' + v1[v4 + 1];
v1.splice(v4 + 1, 1);
++v9;
++v6;
}
v3 -= v9;
v1[v4] = removeAllInstancesOf(v1[v4], v5);
}
} else {
if (word.indexOf(v5) == 0 && word.indexOf(v5, 1) == -1 or word.indexOf('[') == 0 && word.indexOf(']') == -1 or word.indexOf('{') == 0 && word.indexOf('}') == -1) {
v10 = true;
v4 = v3;
} else {
if (word.indexOf(v5) != -1) {
v1[v3] = removeAllInstancesOf(v1[v3], v5);
}
}
}
++v3;
}
var v2 = 0;
while (v2 < v1.length) {
while (v1[v2].slice(v1[v2].length - 1) == ' ') {
v1[v2] = v1[v2].slice(0, v1[v2].length - 1);
}
if (v1[v2].indexOf('"n') != -1) {
}
v1[v2] = replaceAllInstancesOf(v1[v2], v15, '\'');
v1[v2] = replaceAllInstancesOf(v1[v2], '\\', '"');
v1[v2] = replaceAllInstancesOf(v1[v2], v5, '"');
v1[v2] = replaceAllInstancesOf(v1[v2], '"n', '\n');
if (v1[v2] == 'true') {
v1[v2] = true;
} else {
if (v1[v2] == 'false') {
v1[v2] = false;
} else {
if (v1[v2] == Number(v1[v2])) {
v1[v2] = Number(v1[v2]);
} else {
if (v1[v2] == 'x') {
v1[v2] = x;
}
}
}
}
if (v1[v2].slice(0, 1) == '[' && v1[v2].slice(v1[v2].length - 1)) {
var v13 = v1[v2].slice(1, v1[v2].length - 1);
v1[v2] = v13.split(', ');
}
++v2;
}
if (v1[1].slice(0, 1) == '{' && v1[1].slice(v1[1].length - 1) == '}') {
var v8 = v1[1].slice(1, v1[1].length - 1);
v8 = v8.split(', ');
var v14 = new Object();
var v7 = 0;
while (v7 < v8.length) {
var v12 = v8[v7].slice(0, v8[v7].indexOf(':'));
var v11 = v8[v7].slice(v8[v7].indexOf(':') + 1);
v14[v12] = v11;
++v7;
}
v1[1] = v14;
}
f(v1[0], v1[1], v1[2], v1[3], v1[4], v1[5], v1[6], v1[7], v1[8], v1[9], v1[10], v1[11], v1[12], v1[13], v1[14], v1[15]);
}
function removeAllInstancesOf(str, replaceThis, except) {
var v2 = str.split(replaceThis);
var v3 = '';
var v1 = 0;
while (v1 < v2.length) {
v3 += v2[v1];
++v1;
}
return v3;
}
function replaceAllInstancesOf(str, replaceThis, withThis) {
var v2 = str.split(replaceThis);
var v3 = '';
var v1 = 0;
while (v1 < v2.length) {
v3 += v2[v1];
if (v1 != v2.length - 1) {
v3 += withThis;
}
++v1;
}
return v3;
}
function newChar(letter, pName, image, pColor, commentary) {
characterData[letter] = {'letter': letter, 'pName': pName, 'image': image, 'pColor': pColor, 'commentary': commentary};
characterDataA.push(characterData[letter]);
}
function cheatsCheck() {
var v3 = 0;
var v1 = 0;
while (v1 < cheats.length) {
var v2 = cheats[v1];
if (v2.activated) {
++v3;
}
unactivateCheat(v2);
++v1;
}
if (v3 == 1) {
notificationF('Cheat deactivated.');
} else {
if (v3 > 1) {
notificationF('Cheats deactivated.');
}
}
}
function resizeAndReplaceF() {
var v3 = Stage.height;
var v4 = Stage.width;
if (v3 == 0 or v4 == 0) {
v3 = screenHeight;
v4 = screenWidth;
}
var v6 = v3 / screenHeight;
var v5 = v4 / screenWidth;
windowScale = v6;
if (v5 < v6) {
windowScale = v5;
}
_root._x = -(v4 / 2) + screenWidth / 2;
_root._y = -(v3 / 2) + screenHeight / 2;
_root._yscale = 100 * windowScale;
_root._xscale = _root._yscale;
if (windowScale == v5) {
_root._y += (v3 - screenHeight * windowScale) / 2;
} else {
_root._x += (v4 - screenWidth * windowScale) / 2;
}
var v2 = 100 / ((windowScale + 1) / 2);
if (v2 < 50) {
v2 = 50;
}
if (v2 > 100) {
v2 = 100;
}
if (dialogue != undefined) {
dialogue._yscale = int(v2);
dialogue._xscale = dialogue._yscale;
dialogue._x = int(screenWidth / 2 - dialogue._width / 2);
dialogue._y = int(screenHeight - dialogue._height - 10);
}
if (choiceMC != undefined && choiceMC.style == '') {
choiceMC._yscale = int(v2);
choiceMC._xscale = choiceMC._yscale;
choiceMC._y = int(screenHeight / 2 - (choiceMC._height - choiceMC.minusY) / 2);
choiceMC._x = int((screenWidth - choiceMC._width) / 2);
}
}
function notificationF(note, stayLonger, delay) {
var v7 = notifications.getNextHighestDepth();
topMargin = 10;
margin = 20;
var v4 = notifications.createEmptyMovieClip('n' + v7, v7);
var v6 = new TextFormat();
v6.font = 'Century Gothic';
v6.size = 12;
var v5 = v4.createTextField('txt', 1, 0, 0, screenWidth * 0.8, margin * 3);
v5.embedFonts = true;
v5.textColor = 16777215;
v5.mouseWheelEnabled = false;
v5.selectable = false;
v5.html = true;
v5.multiline = true;
v5.wordWrap = true;
v5.htmlText = '<b>' + note + '</b>';
v5.setTextFormat(v6);
var v8 = new flash.filters.DropShadowFilter(0, 45, 0, 0.8, 4, 4, 50, 1, false, false, false);
v5.filters = [v8];
v4.margin = margin;
v4._y -= margin;
v4._x = topMargin;
v4.targetY = topMargin;
v4.t = 0;
v4.endt = 80;
v4.del = 0;
if (delay != undefined) {
v4.del = delay;
}
if (stayLonger) {
v4.endt = 160;
}
v4.onEnterFrame = function () {
if (this.t == this.del) {
var v2 = notificationsA.length - 1;
while (v2 > -1) {
var v3 = notificationsA[v2];
if (v3.remove) {
removeMovieClip(v3);
notificationsA.splice(v2, 1);
}
v3.targetY += margin;
--v2;
}
notificationsA.push(this);
}
if (this.t >= this.del) {
if (this._y < this.targetY) {
var v4 = this.targetY - this._y;
this._y += Math.ceil(v4 / 4);
}
if (this.t > this.endt + this.del) {
this._alpha -= 10;
}
if (this._alpha <= 0) {
this.remove = true;
delete this.onEnterFrame;
}
}
++this.t;
};
}
function nkF(romaji, hira, kata) {
hiragana[romaji] = hira;
if (kata == undefined) {
kata = hira;
}
katakana[romaji] = kata;
}
function nrF(existingWord, newReading) {
japanese[newReading] = japanese[existingWord];
}
function nwF(word, defs) {
var v1 = new Object();
v1.word = word;
v1.defs = defs;
japanese[word] = v1;
}
function initJapanese() {
japDisplay = 'romaji';
hiragana = new Object();
katakana = new Object();
japanese = new Object();
nkF('dot', '。');
nkF('nakaguro', 'ï½¥');
nkF('threeDots', '・・・');
nkF('openQuote', '「');
nkF('endQuote', 'ã€');
nkF('questionMark', '?');
nkF('longVowelMark', 'ー');
nkF('exclamationMark', 'ï¼');
nkF('comma', 'ã€', 'ã€');
nkF('a', 'ã‚', 'ã‚¢');
nkF('i', 'ã„', 'イ');
nkF('u', 'ã†', 'ウ');
nkF('e', 'ãˆ', 'エ');
nkF('o', 'ãŠ', 'オ');
nkF('ka', 'ã‹', 'ã‚«');
nkF('ki', 'ã', 'ã‚');
nkF('ku', 'ã', 'ク');
nkF('ke', 'ã‘', 'ケ');
nkF('ko', 'ã“', 'コ');
nkF('sa', 'ã•', 'サ');
nkF('shi', 'ã—', 'ã‚·');
nkF('su', 'ã™', 'ス');
nkF('se', 'ã›', 'ã‚»');
nkF('so', 'ã', 'ソ');
nkF('ta', 'ãŸ', 'ã‚¿');
nkF('chi', 'ã¡', 'ãƒ');
nkF('tsu', 'ã¤', 'ツ');
nkF('te', 'ã¦', 'テ');
nkF('to', 'ã¨', 'ト');
nkF('na', 'ãª', 'ナ');
nkF('ni', 'ã«', 'ニ');
nkF('nu', 'ã¬', 'ヌ');
nkF('ne', 'ã', 'ãƒ');
nkF('no', 'ã®', 'ノ');
nkF('ha', 'ã¯', 'ãƒ');
nkF('hi', 'ã²', 'ヒ');
nkF('fu', 'ãµ', 'フ');
nkF('he', 'ã¸', 'ヘ');
nkF('ho', 'ã»', 'ホ');
nkF('ma', 'ã¾', 'マ');
nkF('mi', 'ã¿', 'ミ');
nkF('mu', 'む', 'ム');
nkF('me', 'ã‚', 'メ');
nkF('mo', 'も', 'モ');
nkF('ya', 'や', 'ヤ');
nkF('yu', 'ゆ', 'ユ');
nkF('yo', 'よ', 'ヨ');
nkF('ra', 'ら', 'ラ');
nkF('ri', 'り', 'リ');
nkF('ru', 'る', 'ル');
nkF('re', 'れ', 'レ');
nkF('ro', 'ã‚', 'ãƒ');
nkF('ba', 'ã°', 'ãƒ');
nkF('bi', 'ã³', 'ビ');
nkF('bu', 'ã¶', 'ブ');
nkF('be', 'ã¹', 'ベ');
nkF('bo', 'ã¼', 'ボ');
nkF('pa', 'ã±', 'パ');
nkF('pi', 'ã´', 'ピ');
nkF('pu', 'ã·', 'プ');
nkF('pe', 'ãº', 'ペ');
nkF('po', 'ã½', 'ポ');
nkF('da', 'ã ', 'ダ');
nkF('di', 'ã¢', 'ヂ');
nkF('du', 'ã¥', 'ヅ');
nkF('de', 'ã§', 'デ');
nkF('do', 'ã©', 'ド゚');
nkF('ga', 'ãŒ', 'ガ');
nkF('gi', 'ãŽ', 'ã‚®');
nkF('gu', 'ã', 'ã‚°');
nkF('ge', 'ã’', 'ゲ');
nkF('go', 'ã”', 'ゴ゚');
nkF('za', 'ã–', 'ザ');
nkF('ji', 'ã˜', 'ジ');
nkF('zu', 'ãš', 'ズ');
nkF('ze', 'ãœ', 'ゼ');
nkF('zo', 'ãž', 'ゾ');
nkF('kya', 'ãゃ', 'ã‚ャ');
nkF('kyu', 'ãã‚…', 'ã‚ュ');
nkF('kyo', 'ãょ', 'ã‚ョ');
nkF('sha', 'ã—ゃ', 'シャ');
nkF('shu', 'ã—ã‚…', 'シュ');
nkF('she', 'ã—ã‡', 'シェ');
nkF('sho', 'ã—ょ', 'ショ');
nkF('ja', 'ã˜ã‚ƒ', 'ジャ');
nkF('ju', 'ã˜ã‚…', 'ジュ');
nkF('je', 'ã˜ã‡', 'ジェ');
nkF('jo', 'ã˜ã‚‡', 'ジョ');
nkF('cha', 'ã¡ã‚ƒ', 'ãƒãƒ£');
nkF('chu', 'ã¡ã‚…', 'ãƒãƒ¥');
nkF('che', 'ã¡ã‡', 'ãƒã‚§');
nkF('cho', 'ã¡ã‚‡', 'ãƒãƒ§');
nkF('nya', 'ã«ã‚ƒ', 'ニャ');
nkF('nyu', 'ã«ã‚…', 'ニュ');
nkF('nyo', 'ã«ã‚‡', 'ニョ');
nkF('hya', 'ã²ã‚ƒ', 'ヒャ');
nkF('hyu', 'ã²ã‚…', 'ヒュ');
nkF('hyo', 'ã²ã‚‡', 'ヒョ');
nkF('mya', 'ã¿ã‚ƒ', 'ミャ');
nkF('myu', 'ã¿ã‚…', 'ミュ');
nkF('myo', 'ã¿ã‚‡', 'ミョ');
nkF('rya', 'りゃ', 'リャ');
nkF('ryu', 'りゅ', 'リュ');
nkF('ryo', 'りょ', 'リョ');
nkF('wa', 'ã‚', 'ワ');
nkF('we', 'ã†ã‡', 'ウェ');
nkF('wo', 'を', 'ヲ');
nkF('wi', 'ã†ãƒ', 'ウィ');
nkF('n', 'ん', 'ン');
nkF('ltsu', 'ã£', 'ッ');
nkF('hwa', 'ã¯', 'ãƒ');
}
function onlyOnceStartF() {
globalSave = checkWhichSave('globalSave', 'general');
generalSave = checkWhichSave(basicGameData.gameFile, 'general');
if (!generalSave.defined) {
generalSave = new Object();
generalSave.defined = true;
generalSave.unlockedCg = new Object();
generalSave.endings = new Object();
generalSave.endingsA = new Array();
generalSave.readDialogueO = new Object();
generalSave.permanentVariables = new Object();
generalSave.readDialogues = 0;
generalSave.timePlayed = 0;
}
if (generalSave.timePlayed == undefined) {
generalSave.timePlayed = 0;
}
if (!globalSave.defined) {
globalSave = new Object();
globalSave.defined = true;
globalSave.playedGamesA = new Array();
globalSave.musicVolume = 100;
globalSave.sfxVolume = 100;
globalSave.voiceVolume = 100;
globalSave.textSpeed = 5;
globalSave.stats = new Object();
globalSave.stats.playedGamesO = new Object();
globalSave.stats.playedGamesA = new Array();
}
if (!globalSave.stats.playedGamesO[basicGameData.gameFile]) {
globalSave.stats.playedGamesO[basicGameData.gameFile] = true;
globalSave.stats.playedGamesA.push(basicGameData.gameFile);
}
save3F(basicGameData.gameFile, 'general', generalSave);
save3F('globalSave', 'general', globalSave);
startF();
}
function startF(jump) {
initVar2(false);
if (jump != undefined) {
jumpF(jump);
} else {
parserF(parser);
}
}
function checkWhichSave(gameFile, saveFile) {
var v3 = SharedObject.getLocal(gameFile, '/');
var v1 = v3.data[saveFile];
if (serverSaveOK) {
sd = server.loadFromServer(gameFile);
var v2 = sd[saveFile];
if (v2.timeStamp == undefined && v1.timeStamp == undefined) {
return v1;
}
if (v2.timeStamp >= v1.timeStamp or v1.timeStamp == undefined) {
v1 = v2;
}
}
return v1;
}
function loadF(saveFile) {
initVar2(true);
stopMusic2F();
stopAllSounds();
var save = checkWhichSave(basicGameData.gameFile, saveFile);
if (save.parser == undefined or isNaN(save.parser)) {
noticeDialogueF('savefileParserError');
} else {
if (localCopy) {
var v2 = crap.createEmptyMovieClip('loaderLoader', crap.getNextHighestDepth());
v2.t = 0;
v2.onEnterFrame = function () {
++this.t;
if (this.t == 7) {
load2F(save);
removeMovieClip(this);
delete this.onEnterFrame;
}
};
} else {
load2F(save);
}
}
}
function load2F(save) {
outOfMenuIntoGame = true;
notificationF('Game successfully loaded.');
parser = save.parser;
if (!identicalArrayCheck(save.currentParse, parsing['s' + parser])) {
var v8 = findRightPlaceInParser(parser, save.currentParse, save.previousParse);
if (v8 == 0) {
} else {
parser = v8;
}
}
CGBasesForCheats = save.CGBasesForCheats.clone();
cheatRules = save.cheatRules.clone();
currentFilter = save.currentFilter;
variables = save.variables.clone();
v8 = save.scene;
var v7 = v8.addedCgA;
addBg(v8.current, true, v8.xFlipped, v8.yFlipped, v8.x, v8.y, v8.heightStretchToFit);
if (save.currentlyPlaying != 'none') {
playMusic2F(save.currentlyPlaying);
}
var v5 = 0;
while (v5 < v7.length) {
addToCgF(v7[v5], '', '', true);
++v5;
}
characterData = new Object();
characterDataA = new Array();
var v4 = 0;
while (v4 < save.characterDataA.length) {
var v2 = save.characterDataA[v4];
newChar(v2.letter, v2.pName, v2.image, v2.pColor, v2.commentary);
++v4;
}
var v6 = 0;
while (v6 < save.foregroundObjects.length) {
var v1 = save.foregroundObjects[v6];
if (v1.mc && !v1.isCharacter) {
mcItem2F(v1.who, v1.x, v1.y, v1.depth);
} else {
if (v1.who == 'textbox') {
textbox2F(v1.txt, v1.x, v1.y, v1.txtAlign, v1.txtSize, v1.txtFont, v1.txtColor);
} else {
foregroundObjectF(v1.who, v1.mood, v1.mood2, v1.x, v1.y, v1.depth, v1.xFlipped, v1.yFlipped, v1.isCharacter, v1.scaleToFullScreen, v1.zoom);
}
}
++v6;
}
parserF(parser);
}
function findRightPlaceInParser(p, pA, cPA) {
var v5 = false;
var v4 = 0;
var v1 = p + 1;
while (v1 < p + 101) {
if (identicalArrayCheck(pA, parsing['s' + v1])) {
v5 = true;
v4 = v1;
break;
}
++v1;
}
if (!v5) {
v1 = p - 1;
while (v1 > p - 101) {
if (identicalArrayCheck(pA, parsing['s' + v1])) {
v5 = true;
v4 = v1;
break;
}
--v1;
}
}
return v4;
}
function identicalArrayCheck(ar1, ar2) {
var v3 = true;
if (ar1.length == ar2.length) {
var v1 = 0;
while (v1 < ar1.length) {
if (ar1[v1] != ar2[v1]) {
v3 = false;
break;
}
++v1;
}
return v3;
}
v3 = false;
return v3;
}
function saveF(saveFile) {
if (!(globalSave.noAutoSaving && saveFile == 'autoSave')) {
var v3 = new Object();
v3.variables = variables.clone();
v3.parser = parser;
v3.previousParse = parsing['s' + (parser - 1)].clone();
v3.currentParse = parsing['s' + parser].clone();
v3.currentlyPlaying = currentlyPlaying;
v3.characterDataA = characterDataA.clone();
v3.currentFilter = currentFilter;
var v27 = new Date();
v3.timeStamp = v27.getTime();
var v22 = new Date();
var v25 = v22.getHours();
if ((String(seconds)).length == 1) {
v25 = '0' + v25;
}
var v24 = v22.getMinutes();
if ((String(v24)).length == 1) {
v24 = '0' + v24;
}
var seconds = v22.getSeconds();
if ((String(seconds)).length == 1) {
seconds = '0' + seconds;
}
v3.saveDate = v22.getDate() + '/' + (v22.getMonth() + 1) + '/' + v22.getFullYear() + ', ' + v25 + ':' + v24 + ':' + seconds;
v3.scene = {'current': currentBackground, 'x': bg.x, 'y': bg.y, 'w': bg._width, 'h': bg._height, 'xFlipped': bg.xFlipped, 'yFlipped': bg.yFlipped, 'addedCgA': bg.addedCgA, 'heightStretchToFit': bg.heightStretchToFit};
var v21 = new Array();
for (var v23 in foregroundObjectsA) {
var v1 = foregroundObjectsA[v23];
var v2 = {};
if (v1.isTextbox) {
v2 = {'who': v1.who, 'zoom': v1.zoom, 'x': v1.x, 'y': v1.y, 'depth': v1.depth, 'isCharacter': false, 'txt': v1.textbox.htmlText, 'x': v1.x, 'y': v1.y, 'txtAlign': v1.txtAlign, 'txtSize': v1.txtSize, 'txtFont': v1.txtFont, 'txtColor': v1.txtColor};
} else {
v2 = {'who': v1.who, 'mood': v1.mood, 'mood2': v1.mood2, 'zoom': v1.zoom, 'x': v1.x, 'y': v1.y, 'depth': v1.depth, 'mc': v1.mc, 'scaleToFullScreen': v1.scaleToFullScreen, 'isCharacter': v1.isCharacter, 'xFlipped': v1.xFlipped, 'yFlipped': v1.yFlipped, 'txt': txt};
}
v21.push(v2);
}
v3.cheatRules = cheatRules.clone();
v3.CGBasesForCheats = CGBasesForCheats.clone();
v3.foregroundObjects = v21;
var v26 = v3.clone();
save3F(basicGameData.gameFile, saveFile, v26);
}
}
function save3F(gameFile, saveFile, object) {
var v2 = new Date();
object.timeStamp = v2.getTime();
server.saveOnServer(gameFile, saveFile, object);
var v1 = SharedObject.getLocal(gameFile, '/');
v1.data[saveFile] = object;
v1.flush();
}
function continueLastGameF() {
loadF('autoSave');
}
function centerXF(a) {
a._x = screenWidth / 2 - a._width / 2;
}
function centerYF(a) {
a._y = screenHeight / 2 - a._height / 2;
}
function openMainMenuF(menu) {
menuF(menu, 'backToStartMenu');
}
function barizeReleaseF(thing, variable, min, max) {
var v1 = thing.bar._width / thing.fullW;
v1 = Math.round(min + v1 * (max - min));
thing.bar._width = thing.fullW * ((v1 - min) / (max - min));
globalSave[variable] = v1;
if (variable == 'musicVolume' && musicPlaying) {
sounds[currentlyPlaying].setVolume(soundMC[currentlyPlaying].vol * globalSave.musicVolume * masterVolume);
}
}
function barize(thing, variable, min, max, integer) {
thing.fullW = 250;
thing.onPress = function () {
this.onEnterFrame = function () {
var v2 = this._xmouse;
var v3 = this._ymouse;
if (v2 < -1 or v2 > this._width or v3 < 0 or v3 > this._height) {
if (v2 > this._width) {
v2 = this._width;
} else {
if (v2 < 0.5) {
v2 = 0;
}
}
barizeReleaseF(this, variable, min, max);
delete this.onEnterFrame;
}
if (v2 > this.fullW) {
v2 = this.fullW;
} else {
if (v2 <= 0.5) {
v2 = 0;
}
}
this.bar._width = v2;
barizeReleaseF(this, variable, min, max);
};
};
thing.onRelease = function () {
barizeReleaseF(this, variable, min, max, integer, a);
delete this.onEnterFrame;
};
}
function squareFill(target, color, sX, sY, gX, gY) {
with (target) {
beginFill(color);
moveTo(sX, sY);
lineTo(gX, sY);
lineTo(gX, gY);
lineTo(sX, gY);
lineTo(sX, sY);
endFill();
}
}
function restartF() {
stopMusic2F();
stopAllSounds();
startF('startMenu');
}
function menuF(a, onBackPress) {
gamePaused = true;
if (menu == undefined) {
var menu = this.createEmptyMovieClip('menu', menuLayer);
menu.attachMovie('menuBack', 'menuBack', 1, {'_width': screenWidth, '_height': screenHeight});
menu2F(a, onBackPress);
} else {
var v2 = menu.getInstanceAtDepth(menu.getNextHighestDepth() - 1);
v2.t = 0;
v2.t2 = 0;
v2.onEnterFrame = function () {
this.t += 0.25;
this._alpha -= 12;
this._y += this.t;
this.back._y -= this.t;
this.titleT._y -= this.t;
if (this._alpha <= 0) {
++this.t2;
if (this.t2 > 3) {
menu2F(a, onBackPress);
removeMovieClip(this);
delete this.onEnterFrame;
}
}
};
}
}
function menu2F(a, onBackPress) {
menu.t = t;
var v38 = 0.18;
if (a == 'menu') {
var screen = menu.attachMovie('mainMenu', 'menuScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.M) && t > menu.t) {
removeMenuF();
}
};
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
screen.back.onRelease = function () {
removeMenuF();
};
screen.loadGame.onRelease = function () {
menuF('load');
};
screen.saveGame.onRelease = function () {
menuF('save');
};
screen.log.onRelease = function () {
menuF('log');
};
screen.options.onRelease = function () {
menuF('options');
};
screen.help.onRelease = function () {
menuF('keyboardShortcuts');
};
screen.stats.onRelease = function () {
menuF('stats');
};
screen.pledge.onRelease = function () {
url2F('patreonURL');
};
screen.startOver.onRelease = function () {
restartF();
};
} else {
if (a == 'cheats') {
var v53 = 30;
screen = menu.createEmptyMovieClip('cheatScreen', menu.getNextHighestDepth());
screen._alpha = 0;
var v39 = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.L) && t > menu.t) {
if (onBackPress == 'backToStartMenu') {
removeMenuF();
jumpF('startMenu3');
} else {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
}
};
var v47 = screen.attachMovie('cheatsTitle', 'titleT', 132);
var v44 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v44.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v44.onPress = function () {
removeMenuF();
};
} else {
v44.onPress = function () {
menuF('menu');
};
}
}
var v9 = 0;
while (v9 < cheats.length) {
var v12 = pledgeLevel;
if (v12 == undefined) {
v12 = 0;
}
var ch = cheats[v9];
var v2 = screen.attachMovie('cheatBox', ch.cheat, v9);
v2.stop();
if (Number(v12) < Number(ch.minPledge)) {
v2.ball.gotoAndStop(3);
v2._alpha = 60;
v2.disabled = true;
} else {
if (ch.activated) {
v2.ball.gotoAndStop(2);
} else {
v2.ball.stop();
}
}
v2.minPledge = ch.minPledge;
v2._x = (v9 % 3) * 290;
v2._y = v47._height + 5 + v53 + Math.floor(v9 / 3) * 80;
v2.ch = ch;
v2.v1 = ch.cheat;
v2.v1 = v2.v1.toUpperCase();
v2.v2 = ch.desc;
v2.v2 = v2.v2.toUpperCase();
v2.cheat1.text = v2.v1;
v2.cheat2.text = v2.v2;
v2.onRollOver = function () {
this.gotoAndStop(2);
this.cheat1.text = this.v1;
this.cheat2.text = this.v2;
};
v2.onPress = function () {
if (this.disabled) {
notificationF('You need to be $' + this.minPledge + ' pledger to use this cheat.');
} else {
if (this.activated) {
unactivateCheat(this.ch);
this.ball.gotoAndStop(1);
this.activated = false;
} else {
if (this.ch.incompat != undefined) {
var v3 = 0;
while (v3 < this.ch.incompat.length) {
var v2 = screen[this.ch.incompat[v3]];
if (!v2.disabled) {
v2.ball.gotoAndStop(1);
v2.activated = false;
}
++v3;
}
}
activateCheat(this.ch);
this.activated = true;
this.ball.gotoAndStop(2);
}
}
};
v2.onRollOut = function () {
this.gotoAndStop(1);
this.cheat1.text = this.v1;
this.cheat2.text = this.v2;
};
++v9;
}
v47._x = screen._width / 2 - v47._width / 2;
v44._x = screen._width / 2 - v44._width / 2;
v44._y = screen._height + v44._height + v53 - v47._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
} else {
if (a == 'stats') {
var v36 = Math.round(generalSave.timePlayed / fps);
var v35 = Math.floor(v36 / 60);
var v45 = Math.floor(v35 / 60);
v36 -= v35 * 60;
v35 -= v45 * 60;
if ((String(v36)).length == 1) {
v36 = '0' + v36;
}
if ((String(v35)).length == 1) {
v35 = '0' + v35;
}
if ((String(v45)).length == 1) {
v45 = '0' + v45;
}
var v15 = v45 + ':' + v35 + ':' + v36;
var v49 = Math.round((generalSave.readDialogues / totalNumberOfDialogues) * 1000) / 10;
if (v49 > 100) {
v49 = 100;
}
var v50 = 'N/A';
if (premiumPlusPatron) {
v50 = '<b>Premium Plus</b> ($10+ pledger)';
} else {
if (premiumPatron) {
v50 = '<b>Premium</b> ($5+ pledger)';
}
}
var v55 = '\nSTATS\n\nTime played: ' + v15 + '\n\nEndings: ' + generalSave.endingsA.length + ' / ' + allUniqueEndings.length + '\n\nDialogue read: ' + v49 + '%\n\nPremium content level: ' + v50;
screen = menu.createEmptyMovieClip('keyScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.K or myKeys.P) && t > menu.t) {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
};
var v34 = new TextFormat();
v34.font = 'Arvo';
v34.size = 18;
var v53 = 20;
var v44 = screen.attachMovie('backIcon', 'back', 2);
v44._x = screenWidth / 2 - v44._width / 2;
v44._y = screenHeight - v44._height * 1.5;
var main = screen.createTextField('main', 1, v53 * 8, v53, screenWidth - v53 * 16, screenHeight - v53 * 6);
main.embedFonts = true;
main.textColor = 16777215;
main.mouseWheelEnabled = true;
main.html = true;
main.selectable = false;
main.multiline = true;
main.wordWrap = true;
main.htmlText = v55;
main.setTextFormat(v34);
if (onBackPress == 'backToGame') {
screen.back.onRelease = function () {
removeMenuF();
};
} else {
screen.back.onRelease = function () {
menuF('menu');
};
}
} else {
if (a == 'keyboardShortcuts') {
var v55 = '\nKEYBOARD SHORTCUTS\n\nSpace\tNext/select\nEnter\tNext/select\nF\t\tEnter/exit fullscreen (desktop version only)\nK\t\tDisplay keyboard shortcuts\nL\t\tDisplay the load game menu\nM\t\tOpen the main menu\nO\t\tDisplay the options menu\nP\t\tEnter/exit menu\nQ\t\tQuicksave\nR\t\tDisplay the log\nS\t\tDisplay the save game menu\nZ\t\tZoom in/out\n+\t\tZoom in\n-\t\tZoom out\nBackspace\t\tEnter/exit menu\nCtrl\t\tSkip mode (hold)\nTab\t\tSkip conversation (toggle)';
screen = menu.createEmptyMovieClip('keyScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.K or myKeys.P) && t > menu.t) {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
};
var v34 = new TextFormat();
v34.font = 'Arvo';
v34.size = 18;
var v53 = 20;
var v44 = screen.attachMovie('backIcon', 'back', 2);
v44._x = screenWidth / 2 - v44._width / 2;
v44._y = screenHeight - v44._height * 1.5;
var main = screen.createTextField('main', 1, v53 * 8, v53, screenWidth - v53 * 16, screenHeight - v53 * 6);
main.embedFonts = true;
main.textColor = 16777215;
main.mouseWheelEnabled = true;
main.html = true;
main.selectable = false;
main.multiline = true;
main.wordWrap = true;
main.htmlText = v55;
main.setTextFormat(v34);
if (onBackPress == 'backToGame') {
screen.back.onRelease = function () {
removeMenuF();
};
} else {
screen.back.onRelease = function () {
menuF('menu');
};
}
} else {
if (a == 'log') {
screen = menu.createEmptyMovieClip('logScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if (myKeys.DOWNPressed) {
main.scroll += 1;
}
if (myKeys.UPPressed) {
main.scroll -= 1;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.R or myKeys.P) && t > menu.t) {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
};
var v34 = new TextFormat();
v34.font = 'Arvo';
v34.size = 16;
var v53 = 20;
var v44 = screen.attachMovie('backIcon', 'back', 2);
v44._x = screenWidth / 2 - v44._width / 2;
v44._y = screenHeight - v44._height * 1.5;
var main = screen.createTextField('main', 1, v53 * 8, v53, screenWidth - v53 * 16, screenHeight - v53 * 6);
main.embedFonts = true;
main.textColor = 16777215;
main.mouseWheelEnabled = true;
main.html = true;
main.selectable = true;
main.multiline = true;
main.wordWrap = true;
main.htmlText = log;
main.setTextFormat(v34);
if (onBackPress == 'backToGame') {
screen.back.onRelease = function () {
removeMenuF();
};
} else {
screen.back.onRelease = function () {
menuF('menu');
};
}
} else {
if (a == 'load') {
screen = menu.createEmptyMovieClip('loadScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.L) && t > menu.t) {
if (onBackPress == 'backToStartMenu') {
removeMenuF();
jumpF('startMenu3');
} else {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
}
};
var v47 = screen.attachMovie('loadGame', 'titleT', 132);
var v44 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v44.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v44.onPress = function () {
removeMenuF();
};
} else {
v44.onPress = function () {
menuF('menu');
};
}
}
var v19 = -1;
var v17 = 0;
while (v17 < 12) {
if (v17 != 1 && v17 != 4 && v17 != 5) {
++v19;
var v33 = v38;
var v14 = screenWidth * v33;
var v11 = screenHeight * v33;
var v4 = 12;
var v39 = 50;
var v30 = 1;
var v31 = 20;
if (v17 == 0) {
var v26 = (v14 + v4) * 2 + v30;
var v27 = (v11 + v4) * 2 + (v30 + v31);
v14 = v26 - v4;
v11 = v27 - v4;
v33 = v11 / screenHeight;
}
var v3 = screen.createEmptyMovieClip('g', screen.getNextHighestDepth());
var w = v14 + v4;
var h = v11 + v4 + v31;
squareFill(v3, 10592421, 0, 0, w, h);
var b = v3.createEmptyMovieClip('b', 1);
b._x = v4 / 2;
b._y = v4 / 2;
var v8 = v3.attachMovie('fileButtonSmaller', 'k', 3);
var v5 = v3.attachMovie('overButtonShade', 'shade', 4);
var v6 = v3.attachMovie('fileButton', 'fntc', 5);
v3._x = (v17 % 4) * (v14 + v30 + v4);
v3._y = v39 + Math.floor(v17 / 4) * (v30 + v11 + v4 + v31);
v8._y = v11 + 4;
v8._x = v4 / 2 + v14 - v8._width;
v6._y = v4 / 2 + v11 - v6._height;
v6._x = v4 / 2;
v5._width = v14;
v5._x = v4 / 2;
v5._y = v11 + v4 / 2 - v5._height;
v3.fileNo = v19 + 1;
var tf = 'file' + (v3.fileNo - 2);
var v25 = 'FILE ' + (v3.fileNo - 2);
if (v19 == 0) {
tf = 'autoSave';
v25 = 'AUTO';
} else {
if (v19 == 1) {
tf = 'quickSave';
v25 = 'QUICK';
}
}
v3.tf = tf;
var v23 = checkWhichSave(basicGameData.gameFile, tf);
var v15 = v23.saveDate;
if (v15 == undefined) {
v15 = 'EMPTY';
v5.removeMovieClip();
} else {
var v24 = makeSmallScreenshot(v33, v23.scene, v23.foregroundObjects);
b.attachBitmap(v24, 10, auto, true);
b._width = v14;
}
if (v15 == 'EMPTY') {
v6.main.htmlText = '';
v8.main.htmlText = '';
} else {
v6.main.htmlText = v25;
v8.main.htmlText = v15;
}
v3.w = w;
v3.h = h;
v3.onRollOver = function () {
playSystemSoundF('buttonUp');
squareFill(this, 14277081, 0, 0, this.w, this.h);
};
v3.onRollOut = function () {
squareFill(this, 10592421, 0, 0, this.w, this.h);
};
if (v15 != 'EMPTY') {
v3.onPress = function () {
loadF(this.tf);
};
}
}
++v17;
}
v47._x = screen._width / 2 - v47._width / 2;
v44._x = screen._width / 2 - v44._width / 2;
v44._y = screen._height + v39 - v47._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
} else {
if (a == 'options') {
var screen = menu.attachMovie('optionsScreen', 'optionsScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.O) && t > menu.t) {
if (onBackPress == 'backToStartMenu') {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
jumpF('startMenu3');
} else {
if (onBackPress == 'backToGame') {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
} else {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
menuF('menu');
}
}
}
};
var v44 = screen.back;
v44.main.htmlText = 'BACK';
if (onBackPress == 'backToStartMenu') {
v44.onPress = function () {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v44.onPress = function () {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
};
} else {
v44.onPress = function () {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
menuF('menu');
};
}
}
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
screen.mVolume.bar._xscale = globalSave.musicVolume;
screen.sVolume.bar_xscale = globalSave.soundVolume;
screen.clickHere.onPress = function () {
url2F('patreonURL');
};
if (generalSave.removeMuteButton) {
screen.removeMuteButton.stop();
} else {
screen.removeMuteButton.nextFrame();
}
if (!premiumPlusPatron && !generalSave.unlockedCommentary) {
screen.commentary.stop();
} else {
if (generalSave.commentary) {
screen.commentary.gotoAndStop(2);
} else {
screen.commentary.gotoAndStop(3);
}
}
if (globalSave.skipOnlyUnreadDialogue) {
screen.skipOnlyUnreadDialogue.stop();
} else {
screen.skipOnlyUnreadDialogue.nextFrame();
}
if (globalSave.continueSkippingAfterChoices) {
screen.continueSkippingAfterChoices.stop();
} else {
screen.continueSkippingAfterChoices.nextFrame();
}
if (globalSave.noAutoSaving) {
screen.noAutoSaving.stop();
} else {
screen.noAutoSaving.nextFrame();
}
screen.removeMuteButton.butt.onRelease = function () {
if (generalSave.removeMuteButton) {
this._parent.gotoAndStop(2);
generalSave.removeMuteButton = false;
muteThing._visible = true;
muteThing._alpha = 70;
} else {
this._parent.gotoAndStop(1);
generalSave.removeMuteButton = true;
muteThing._visible = false;
}
};
if (screen.commentary._currentframe > 1) {
screen.commentary.butt.onRelease = function () {
if (generalSave.commentary) {
this._parent.gotoAndStop(3);
generalSave.commentary = false;
} else {
this._parent.gotoAndStop(2);
generalSave.commentary = true;
}
};
}
screen.noAutoSaving.butt.onRelease = function () {
if (globalSave.noAutoSaving) {
this._parent.gotoAndStop(2);
globalSave.noAutoSaving = false;
} else {
this._parent.gotoAndStop(1);
globalSave.noAutoSaving = true;
}
};
screen.continueSkippingAfterChoices.butt.onRelease = function () {
if (globalSave.continueSkippingAfterChoices) {
this._parent.gotoAndStop(2);
globalSave.continueSkippingAfterChoices = false;
} else {
this._parent.gotoAndStop(1);
globalSave.continueSkippingAfterChoices = true;
}
};
screen.skipOnlyUnreadDialogue.butt.onRelease = function () {
if (globalSave.skipOnlyUnreadDialogue) {
this._parent.gotoAndStop(2);
globalSave.skipOnlyUnreadDialogue = false;
} else {
this._parent.gotoAndStop(1);
globalSave.skipOnlyUnreadDialogue = true;
}
};
var v48 = 1;
var v52 = maxTextSpeed;
var v46 = 0;
var v54 = 100;
var v51 = screen.tSpeed._width;
screen.tSpeed.bar._width = v51 * ((globalSave.textSpeed - v48) / (v52 - v48));
screen.mVolume.bar._width = v51 * ((globalSave.musicVolume - v46) / (v54 - v46));
screen.sVolume.bar._width = v51 * ((globalSave.sfxVolume - v46) / (v54 - v46));
barize(screen.tSpeed, 'textSpeed', v48, v52, true);
barize(screen.mVolume, 'musicVolume', 0, 100, true);
barize(screen.sVolume, 'sfxVolume', 0, 100, true);
} else {
if (a == 'gallery') {
screen = menu.createEmptyMovieClip('galleryScreen', menu.getNextHighestDepth());
screen._alpha = 0;
v38 = 0.16;
screen.onEnterFrame = function () {
if (this._alpha < 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P) && t > menu.t) {
if (onBackPress == 'backToStartMenu') {
removeMenuF();
jumpF('startMenu3');
} else {
menuF('menu');
}
}
};
var v47 = screen.attachMovie('gallery', 'titleT', 132);
var v44 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v44.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
v44.onPress = function () {
menuF('menu');
};
}
var v33 = 0.13;
var v14 = screenWidth * v33;
var v11 = screenHeight * v33;
var v29 = 5;
var v53 = 10;
var v56 = v14 * 3 + v53 * 2;
var v57 = (v11 + 20) * 3 + v53 * 2;
screen._x = screenWidth / 2 - v56 / 2;
screen._y = screenHeight / 2 - v57 / 2;
var v4 = 12;
var v39 = 50;
var v30 = 1;
var v31 = 0;
var v41 = 10592421;
var v42 = 15454309;
var v40 = 14277081;
var v43 = 15984792;
var v17 = 0;
while (v17 < amountOfCgs) {
var v20 = screen.getNextHighestDepth();
var v3 = screen.createEmptyMovieClip('g' + v20, v20);
var w = v14 + v4;
var h = v11 + v4 + v31;
var b = v3.createEmptyMovieClip('b', 1);
b._x = v4 / 2;
b._y = v4 / 2;
v3._x = (v17 % v29) * (v14 + v30 + v4);
v3._y = v39 + Math.floor(v17 / v29) * (v30 + v11 + v4 + v31);
storedv8._y = v11 + 4;
storedv8._x = v4 / 2 + v14 - storedv8._width;
storedv6._y = v4 / 2 + v11 - storedv6._height;
storedv6._x = v4 / 2;
storedv5._width = v14;
storedv5._x = v4 / 2;
storedv5._y = v11 + v4 / 2 - storedv5._height;
v3.fileNo = v17;
if (allCgs[v17].premium) {
v3.premium = true;
v3.col = v42;
v3.selectCol = v43;
} else {
v3.col = v41;
v3.selectCol = v40;
}
squareFill(v3, v3.col, 0, 0, w, h);
var v16 = 'locked';
var v21 = false;
var v22 = allCgs[v17].base[0];
var v28 = 'cg_' + v22;
if (generalSave.unlockedCg[v22] || generalSave.unlockedCg[v28]) {
v21 = true;
var v18 = [];
var v8 = 1;
while (v8 < allCgs[v17].base.length) {
var v13 = allCgs[v17].base[v8];
v18.push(v13);
++v8;
}
v16 = [allCgs[v17].base[0], 0, 0, screenWidth, screenHeight, false, false, v18];
}
var v24 = makeSmallScreenshotForCg(v33, v16, []);
b.attachBitmap(v24, 10, auto, true);
if (v16 == 'locked') {
var v10 = b.attachMovie('lockIcon', 'lockIcon', 11);
v10._x = v14 / 2 - v10._width / 2;
v10._y = v11 / 2 - v10._height / 2;
tintF(v10, v3.col);
}
if (v3.premium) {
var v32 = b.attachMovie('premiumTopLeft', 't', 12);
}
v3.w = w;
v3.h = h;
v3.onRollOver = function () {
playSystemSoundF('buttonUp');
squareFill(this, this.selectCol, 0, 0, this.w, this.h);
tintF(this.b.lockIcon, this.selectCol);
};
v3.onRollOut = function () {
squareFill(this, this.col, 0, 0, this.w, this.h);
tintF(this.b.lockIcon, this.col);
};
if (v21) {
v3.onPress = function () {
galleryF(this.fileNo, 0, undefined, onBackPress);
};
}
++v17;
}
v47._x = screen._width / 2 - v47._width / 2;
v44._x = screen._width / 2 - v44._width / 2;
v44._y = screen._height + v39 - v47._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
} else {
if (a == 'save') {
var screen = menu.attachMovie('saveLoadScreen', 'saveScreen', menu.getNextHighestDepth());
screen._alpha = 0;
screen.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
}
if ((myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.S) && t > menu.t) {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
};
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
var v34 = new TextFormat();
v34.font = 'Century Gothic';
v34.size = 12;
fA = ['file1', 'file2', 'file3', 'file4', 'file5', 'file6', 'file7', 'file8'];
var v17 = 0;
while (v17 < fA.length) {
var b = screen[fA[v17]];
b.fileNo = v17 + 1;
b.main._width = 300;
b.main.htmlText = 'SHIT';
b.main.textColor = 16777215;
b.main.setTextFormat(v34);
b.onRollOver = function () {
this.main.textColor = 13421772;
playSystemSoundF('buttonUp');
};
b.onRollOut = function () {
this.main.textColor = 16777215;
};
++v17;
}
saveF('autoSave', 'menuF autosave');
save3F(basicGameData.gameFile, 'general', generalSave);
screen.head.htmlText = 'SAVE GAME';
screen.file8.main.htmlText = 'BACK';
screen.file8._visible = true;
screen.file8._y += 20;
if (onBackPress == 'backToGame') {
screen.file8.onPress = function () {
removeMenuF();
};
} else {
screen.file8.onPress = function () {
menuF('menu');
};
}
v17 = 0;
while (v17 < 7) {
var v8 = screen[fA[v17]];
v8.main.htmlText = 'FILE ' + v8.fileNo + ' - EMPTY';
v8._visible = true;
var tf = 'file' + v8.fileNo;
var v25 = 'FILE ' + v8.fileNo;
v8.tf = tf;
var v23 = checkWhichSave(basicGameData.gameFile, tf);
var v15 = v23.saveDate;
if (v15 == undefined) {
v15 = 'EMPTY';
}
v8.main.htmlText = v25 + ' - ' + v15;
v8.onPress = function () {
saveF(this.tf, 'menuOnPressOfEachFile');
this.main.htmlText = 'SAVED';
};
++v17;
}
}
}
}
}
}
}
}
}
}
}
function removeMenuF() {
playSystemSoundF('buttonUp');
gamePaused = false;
menu.removeMovieClip();
}
function loadBitmapF(bitmap) {
if (!premiumPatron) {
var v1 = 0;
while (v1 < premiumBitmaps.length) {
if (bitmap.indexOf(premiumBitmaps[v1]) != -1) {
bitmap = 'premiumContent.png';
}
++v1;
}
}
var v3 = flash.display.BitmapData.loadBitmap(bitmap);
if (externalBmpDataClip != undefined && bitmap.indexOf('premiumContent.png') == -1 && bitmap.indexOf('commentary_') == -1 && bitmap != 'parentalAdvisory.png') {
v3 = externalBmpDataClip.getBmpData(bitmap);
}
return v3;
}
function galleryF(a, b, cameHereWith, onBackPress) {
var v11 = true;
var v9 = allCgs[a];
var v5 = v9.base;
var seq = v9.sequence;
var v7 = createEmptyMovieClip('galleryClip', menuLayer);
var v8 = v7.createEmptyMovieClip('container', 1);
var v6 = loadBitmapF(v5[0] + '.png');
if (v6 == undefined) {
v6 = loadBitmapF('cg_' + v5[0] + '.png');
}
var v2 = 1;
while (v2 < v5.length) {
var v3 = loadBitmapF(v5[v2] + '.png');
if (v3 == undefined) {
v3 = loadBitmapF('cg_' + v5[v2] + '.png');
}
v6.draw(v3);
v3.dispose();
++v2;
}
var v4 = 0;
while (v4 < seq[b].length) {
v3 = loadBitmapF(seq[b][v4] + '.png');
if (v3 == undefined) {
v3 = loadBitmapF('cg_' + seq[b][v4] + '.png');
}
v6.draw(v3);
v3.dispose();
++v4;
}
v8.attachBitmap(v6, 1, auto, true);
if (v11) {
var v10 = screenHeight / v8._height;
v8._yscale = 100 * v10;
v8._xscale = v8._yscale;
}
var left = v7.attachMovie('arrowButton', 'left', 2);
left._x = 10;
left._y = screenHeight / 2 - left._height / 2;
if (b > 0) {
left.onPress = function () {
galleryF(a, b - 1, x, onBackPress);
};
} else {
left.onPress = function () {
menuF('gallery', onBackPress);
};
}
if (b < seq.length - 1) {
var right = v7.attachMovie('arrowButton', 'right', 3);
right._xscale = -right._xscale;
right._x = screenWidth - 10;
right._y = screenHeight / 2 - right._height / 2;
right.onPress = function () {
galleryF(a, b + 1, x, onBackPress);
};
}
if (cameHereWith == 'arrows') {
right._alpha = 0;
left._alpha = 0;
}
v7.notMovingT = 0;
v7.onEnterFrame = function () {
if (mouseMoving) {
this.notMovingT = 0;
right._alpha = 100;
left._alpha = 100;
} else {
++this.notMovingT;
if (this.notMovingT > 20) {
right._alpha -= 5;
left._alpha -= 5;
}
}
if (myKeys.RIGHT && myKeys.LEFT) {
} else {
if (myKeys.RIGHT or myKeys.SPACE) {
if (b < seq.length - 1) {
galleryF(a, b + 1, 'arrows', onBackPress);
}
} else {
if (myKeys.LEFT) {
if (b > 0) {
galleryF(a, b - 1, 'arrows', onBackPress);
} else {
menuF('gallery', onBackPress);
}
} else {
if (myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P) {
menuF('gallery', onBackPress);
}
}
}
}
};
}
function makeSmallScreenshotForCg(scale, scene, charA) {
var v8 = new flash.display.BitmapData(screenWidth * scale, screenHeight * scale, false, 0);
var v7 = scene[7];
v7.splice(0, 0, [scene[0]]);
var v6 = 0;
var v2 = 0;
while (v2 < v7.length) {
var v5 = v7[v2] + '.png';
var v1 = loadBitmapF(v5);
if (v1 == undefined) {
v1 = loadBitmapF('cg_' + v5);
}
if (v6 == 0) {
v6 = v1.height;
}
var v4 = new flash.geom.Matrix();
var v3 = scale * (screenHeight / v6);
v4.scale(v3, v3);
v8.draw(v1, v4);
v1.dispose();
++v2;
}
return v8;
}
function makeSmallScreenshot(scale, scene, charA) {
var v8 = new flash.geom.Matrix();
var v5 = scene.addedCgA;
var v4 = addBg(scene.current, true, scene.xFlipped, scene.yFlipped, scene.x, scene.y, b.heightStretchToFit, false, true);
v4.createEmptyMovieClip('foregroundObjects', v4.getNextHighestDepth());
var v2 = 0;
while (v2 < v5.length) {
addToCgF(v5[v2], '', '', true, v4);
++v2;
}
var v3 = 0;
while (v3 < charA.length) {
var v1 = charA[v3];
if (v1.mc && !v1.isCharacter) {
} else {
foregroundObjectF(v1.who, v1.mood, v1.mood2, v1.x, v1.y, v1.depth, v1.xFlipped, v1.yFlipped, v1.isCharacter, v1.scaleToFullScreen, v1.zoom, true, v4);
}
++v3;
}
var v11 = bitmapCopy(v4);
v8.scale(scale, scale);
var v10 = new flash.display.BitmapData(screenWidth * scale, screenHeight * scale, false, 0);
v10.draw(v11, v8);
v11.dispose();
removeMovieClip(v4);
return v10;
}
function zoomF(outOrIn) {
var v1 = 1.5;
var v2 = 300;
zoomed = true;
if (!generalSave.hasZoomed) {
generalSave.hasZoomed = true;
if (!generalSave.cgNotification2Shown) {
generalSave.cgNotification2Shown = true;
notificationF('Use the mouse to look around.');
}
}
if (outOrIn == 'out') {
zoom /= v1;
} else {
zoom *= v1;
}
if (zoom > v2 or zoom < 100) {
if (outOrIn == 'in') {
zoom /= v1;
} else {
zoom = 100;
zoomed = false;
gwContainer._x = 0;
gwContainer._y = 0;
}
}
gwContainer._yscale = zoom;
gwContainer._xscale = gwContainer._yscale;
scale = gwContainer._xscale / 100 - 1;
gwContainer._x = -_xmouse * scale;
gwContainer._y = -_ymouse * scale;
}
function keyChecker() {
keyHandler();
mouseStuff();
if (myKeys.ESCAPE) {
resizeAndReplaceF();
}
if (myKeys.f12) {
} else {
if (!gamePaused && outOfMenuIntoGame) {
if (skipping) {
if (myKeys.SPACE or mouseClick or myKeys.ENTER) {
if (!globalSave.continueSkippingAfterChoices) {
skipping = false;
}
} else {
if (myKeys.TAB or myKeys.CONTROLReleased) {
skipping = false;
}
}
} else {
if (myKeys.CONTROL or myKeys.TAB) {
skipping = true;
dialogue.finishNow = true;
}
}
if (myKeys.ESCAPE or myKeys.BACKSPACE or myKeys.P or myKeys.M) {
menuF('menu');
}
if (myKeys.Z or myKeys.plus) {
zoomF();
}
if (myKeys.minus) {
zoomF('out');
}
if (myKeys.R) {
menuF('log', 'backToGame');
}
if (myKeys.K) {
menuF('keyboardShortcuts');
}
if (myKeys.H) {
dialogueHiderF();
}
if (myKeys.L) {
menuF('load', 'backToGame');
}
if (myKeys.O) {
menuF('options', 'backToGame');
}
if (myKeys.S) {
menuF('save', 'backToGame');
}
if (myKeys.Q) {
saveF('quickSave');
notificationF('Game successfully saved.');
}
if (mouseScrolled > 0) {
zoomF('in');
} else {
if (mouseScrolled < 0) {
zoomF('out');
}
}
}
}
if (myKeys.F) {
if (Stage.displayState == 'fullScreen') {
Stage.displayState = 'normal';
} else {
Stage.displayState = 'fullScreen';
}
}
}
function mouseStuff() {
var v1 = mouseScrolledPre;
mouseScrolledPre = 0;
v1 /= Math.abs(v1);
mouseScrolled = v1;
var v2 = _xmouse + ' ' + _ymouse;
if (v2 == lastMouse) {
mouseMoving = false;
} else {
mouseMoving = true;
}
lastMouse = _xmouse + ' ' + _ymouse;
mouseClick = false;
scale = gwContainer._xscale / 100 - 1;
gwContainer._x = -_xmouse * scale;
gwContainer._y = -_ymouse * scale;
}
function keyHandler() {
var v3 = 0;
while (v3 < keys.length) {
var v2 = keys[v3];
var v1 = v2;
if (typeof v2 == 'object') {
v2 = String(keys[v3][1]);
v1 = keys[v3][0];
} else {
v2 = Key[v2];
}
if (Key.isDown(v2)) {
if (!myKeys[v1 + 'Pressed']) {
myKeys[v1] = true;
myKeys[v1 + 'Pressed'] = true;
} else {
myKeys[v1] = false;
}
} else {
if (myKeys[v1 + 'Pressed']) {
myKeys[v1 + 'Released'] = true;
} else {
myKeys[v1 + 'Released'] = false;
}
myKeys[v1 + 'Pressed'] = false;
myKeys[v1] = false;
}
++v3;
}
}
function parseNextF(parseNextWithoutFiringParseNext) {
if (parsing['s' + (parser + 1)] != undefined) {
++parser;
parserF(parser, parseNextWithoutFiringParseNext);
}
if (outOfMenuIntoGame && !gameEnded) {
if (!generalSave.welcomeNotificationShown) {
generalSave.welcomeNotificationShown = true;
notificationF('Welcome to the game.', true, 60);
notificationF('Press <K> for a list of available keyboard shortcuts.', true, 120);
}
if (lastAddToTimePlayed == undefined) {
lastAddToTimePlayed = 0;
}
generalSave.timePlayed += t - lastAddToTimePlayed;
lastAddToTimePlayed = t;
saveF('autoSave', 'parseNextF');
}
}
function parserF(parser, parseNextWithoutFiringParseNext) {
var v4 = parser;
var v2 = parsing['s' + parser];
if (v2 == undefined) {
initVar2(false);
startF();
} else {
checkAfterParsing(v2);
var v3 = v2[0];
if (parseNextWithoutFiringParseNext) {
v3 = v2[0] + '2';
}
this[v3 + 'F'](v2[1], v2[2], v2[3], v2[4], v2[5], v2[6], v2[7], v2[8], v2[9], v2[10], v2[11], v2[12], v2[13]);
}
}
function checkAfterParsing(p) {
if (p[0] == 'talking' && characterData[p[1]].commentary or p[0] == 'whatIf' or p[0] == 'setVolume' or p[0] == 'pause' or p[0] == 'playSound' or p[0] == 'endIf' or p[0] == 'otherwise' or p[0] == 'elseIf') {
} else {
if (commentaryChibis != undefined) {
removeMovieClip(commentaryChibis);
}
}
}
function removeAtF(layer) {
removeMovieClip(this.getInstanceAtDepth(layer));
}
function textboxF(txt, xPos, yPos, align, size, font, color) {
textbox2F(txt, xPos, yPos, align, size, font, color);
parseNextF();
}
function textbox2F(txt, xPos, yPos, txtAlign, txtSize, txtFont, txtColor) {
if (xPos == undefined) {
xPos = 'center';
}
if (yPos == undefined) {
yPos = 'center';
}
if (txtAlign == undefined) {
txtAlign = 'center';
}
if (txtFont == undefined) {
txtFont = 'Arvo';
}
if (txtSize == undefined) {
txtSize = 20;
}
if (txtColor == undefined) {
txtColor = 16777215;
}
var v6 = new TextFormat();
v6.font = txtFont;
v6.size = txtSize;
v6.align = txtAlign;
var v10 = foregroundObjects.getNextHighestDepth();
var v9 = 20;
var v4 = 1;
var v1 = 0;
while (v1 < foregroundObjectsA.length) {
if (foregroundObjectsA[v1].isTextbox && !foregroundObjectsA[v1].remove) {
++v4;
}
++v1;
}
var v2 = foregroundObjects.createEmptyMovieClip('textbox' + v4, v10);
var v3 = v2.createTextField('textbox', 0, v9, 0, screenWidth - v9 * 2, screenHeight);
v2.who = 'textbox';
v2.isTextbox = true;
v2.who = 'textbox';
v2.txtAlign = txtAlign;
v2.txtSize = txtSize;
v2.txtFont = txtFont;
v2.txtColor = txtColor;
v2.depth = v10;
v2.zoom = 1;
v3.embedFonts = true;
v3.autoSize = 'center';
v3.html = true;
v3.multiline = false;
v3.wordWrap = true;
v3.htmlText = txt;
v3.textColor = txtColor;
v3.setTextFormat(v6);
if (!isNaN(Number(yPos))) {
v2._y = yPos;
} else {
if (yPos == 'center') {
v2._y = screenHeight / 2 - v2._height / 2;
} else {
if (yPos == 'below') {
v2._y = screenHeight;
}
}
}
v2.x = v2._x;
v2.y = v2._y;
foregroundObjectsA.push(v2);
}
function attachDialogue() {
var v1 = attachMovie('dialogue', 'dialogue', dialogueLayer);
v1._yscale = 100 / ((windowScale + 1) / 2);
v1._xscale = v1._yscale;
v1.menu.onRelease = function () {
menuF('menu');
};
v1.log.onRelease = function () {
menuF('log', 'backToGame');
};
v1.quickSave.onRelease = function () {
saveF('quickSave', 'quickSaveButton');
notificationF('Game successfully saved.');
};
v1.quickLoad.onRelease = function () {
loadF('quickSave');
};
v1.skip.onRelease = function () {
if (skipping) {
skipping = false;
} else {
skipping = true;
}
};
return v1;
}
function rollbackF() {}
function thinkingF(serifu) {
var v1 = attachDialogue();
v1.gotoAndStop(1);
dialogueF(serifu);
}
function talkingF(who, serifu, mood) {
if (!characterData[who].commentary || characterData[who].commentary && generalSave.commentary) {
var v2 = attachDialogue();
v2.gotoAndStop(2);
dialogueF(serifu, who, mood);
} else {
parseNextF();
}
}
function romajize2F(a) {
var v3 = '';
var v1 = 2;
while (v1 < a.length) {
v3 += '<a href="asfunction:clickLink,' + a[v1] + '"><i>' + romajizeF(a[v1], v3) + '</i></a> ';
v1 += 2;
}
return v3;
}
function romajizeF(a, replaceWith) {
var v11 = 0;
var v12 = new Array();
var v9 = 10;
var v8 = replaceWith.slice(replaceWith.length - v9, replaceWith.length - v9 + 1);
var v7 = false;
if (v8 == '' || v8 == '.' || v8 == '!' || v8 == '?' || v8 == '…') {
v7 = true;
}
var v2 = a;
var v1 = 0;
while (v1 <= a.length) {
var v3 = a.slice(v1, v1 + 1);
if (v1 == 0) {
if (v7) {
v2 = (v2.slice(0, 1)).toUpperCase() + v2.slice(1);
v7 = false;
}
}
var v6 = a.slice(v1 - 1, v1);
var v5 = a.slice(v1 + 1, v1 + 2);
if (v3 == 'X') {
v2 = v2.slice(0, v1) + ' ' + v2.slice(v1 + 1);
} else {
if (v3 == 'h' && v5 == 'w') {
v2 = v2.slice(0, v1) + '' + v2.slice(v1 + 1);
} else {
if (v3 == '\'') {
v2 = v2.slice(0, v1) + '"' + v2.slice(v1 + 1);
} else {
if (v3 == '_') {
v2 = v2.slice(0, v1) + v6 + v2.slice(v1 + 1);
}
}
}
}
++v1;
}
return v2;
}
function hiraganizeF(a) {
var v3 = 0;
var v5 = new Array();
var v10 = '';
var v1 = 0;
while (v1 <= a.length) {
var v2 = a.slice(v1, v1 + 1);
var v4 = a.slice(v1 + 1, v1 + 2);
var v8 = a.slice(v1 + 2, v1 + 3);
if (v2 == 'X') {
++v3;
} else {
if (v2 == '\'') {
var v9 = v1 + 1;
if (dialogue.openQuote) {
myKana = 'endQuote';
dialogue.openQuote = false;
} else {
myKana = 'openQuote';
dialogue.openQuote = true;
}
v5.push(myKana);
v3 = v9;
} else {
if (v2 == 'n' && !(v4 == 'a' || v4 == 'i' || v4 == 'u' || v4 == 'e' || v4 == 'o')) {
var v9 = v1 + 1;
myKana = a.slice(v3, v9);
v5.push(myKana);
v3 = v9;
} else {
if (v2 == 'a' || v2 == 'i' || v2 == 'u' || v2 == 'e' || v2 == 'o') {
var v9 = v1 + 1;
myKana = a.slice(v3, v9);
v5.push(myKana);
v3 = v9;
} else {
if (v2 == '_') {
var v9 = v1 + 1;
myKana = 'longVowelMark';
v5.push(myKana);
v3 = v9;
} else {
if (v2 == ',') {
var v9 = v1 + 1;
myKana = 'comma';
v5.push(myKana);
v3 = v9;
} else {
if (v2 == '.' && v4 == '.' && v8 == '.') {
var v9 = v1 + 3;
myKana = 'threeDots';
v5.push(myKana);
v3 = v9;
v1 += 2;
} else {
if (v2 == '…') {
var v9 = v1 + 1;
myKana = 'threeDots';
v5.push(myKana);
v3 = v9;
} else {
if (v2 == '.') {
var v9 = v1 + 1;
myKana = 'dot';
v5.push(myKana);
v3 = v9;
} else {
if (v2 == '!') {
var v9 = v1 + 1;
myKana = 'exclamationMark';
v5.push(myKana);
v3 = v9;
} else {
if (v2 == '?') {
var v9 = v1 + 1;
myKana = 'questionMark';
v5.push(myKana);
v3 = v9;
} else {
if (v1 < a.length && v2 == v4 && !(v4 == 'a' || v4 == 'i' || v4 == 'u' || v4 == 'e' || v4 == 'o')) {
var v9 = v1 + 1;
if (v2 == 'n') {
myKana = 'ã‚“';
} else {
myKana = 'ltsu';
}
v5.push(myKana);
v3 = v9;
}
}
}
}
}
}
}
}
}
}
}
}
++v1;
}
var v7 = 0;
while (v7 < v5.length) {
v10 += hiragana[v5[v7]];
++v7;
}
return v10;
}
function wordPopUpF(a) {
var v3 = a;
var v2 = 0;
while (v2 < v3.length) {
var v1 = v3.slice(v2, v2 + 1);
if (v1 == ',' || v1 == '.' || v1 == '?' || v1 == '!' || v1 == '.' || v1 == ':' || v1 == ';') {
v3 = v3.slice(0, v2) + v3.slice(v2 + 1);
--v2;
}
++v2;
}
var v4 = attachMovie('wordPopUp', 'wordPopUp', wordPopUpLayer);
v4._x = mouse._x;
v4._y = mouse._y;
v4.main.text = '';
wordPopUpLayer;
}
function initKanjiButtons(n) {
dialogue.kanji.gotoAndStop(n);
dialogue.kana.gotoAndStop(n);
dialogue.romaji.gotoAndStop(n);
if (japDisplay == 'romaji') {
dialogue.romaji.gotoAndStop(n + 1);
} else {
if (japDisplay == 'kana') {
dialogue.kana.gotoAndStop(n + 1);
} else {
if (japDisplay == 'kanji') {
dialogue.kanji.gotoAndStop(n + 1);
}
}
}
}
function dialogueHiderF() {
if (noticeDialogueActive) {
if (nd.hidden) {
nd.hidden = false;
nd._visible = true;
} else {
nd.hidden = true;
nd._visible = false;
}
} else {
if (dialogue.hidden) {
dialogue.hidden = false;
dialogue._visible = true;
} else {
dialogue.hidden = true;
dialogue._visible = false;
}
}
}
function chibiF(char, mood, xPos, depth) {
chibi2F(char, mood, xPos, depth);
parseNextF();
}
function bounceF(clip, motoY, intensity) {
clip._y = motoY;
var v2 = crap.createEmptyMovieClip(clip._name + 'Bounce', crap.getNextHighestDepth());
v2.clip = clip;
v2.motoY = motoY;
v2.t = 4;
v2.p = 0;
v2.onEnterFrame = function () {
if (this.p == 0) {
--this.t;
this.clip._y -= this.t;
if (this.t == 0) {
this.p = 1;
this.t = 0;
}
} else {
if (this.p == 1) {
++this.t;
if (this.t == 2) {
this.p = 2;
this.t = 0;
}
} else {
if (this.p == 2) {
++this.t;
this.clip._y += this.t;
if (this.t == 4) {
this.p = 3;
this.clip._y = this.motoY;
delete this.onEnterFrame;
}
}
}
}
};
}
function chibi2F(char, mood, xPos, depth) {
var v8 = true;
var v12 = false;
var v4 = 0;
var v5 = char.image;
if (mood == undefined) {
mood = 'neutral';
}
if (commentaryChibis == undefined) {
this.createEmptyMovieClip('commentaryChibis', commentaryChibiLayer);
}
var v6 = commentaryChibis;
if (v5 == 'taxcup') {
if (generalSave.permanentVariables.deadTaxcup) {
v5 = 'taxcup2';
}
xPos = 'right';
} else {
xPos = left;
}
if (xPos == 'right') {
v8 = false;
}
if (v6['chibi_' + char.image] != undefined) {
v6['chibi_' + char.image].removeMovieClip();
}
if (depth == undefined) {
v4 = v6.getNextHighestDepth();
} else {
v4 = depth;
}
var v2 = v6.createEmptyMovieClip('chibi_' + char.image, v4);
v2.d = v4;
var v3 = loadBitmapF('commentary_' + v5 + '.png');
var v10 = loadBitmapF('commentary_' + mood + '.png');
var v14 = loadBitmapF(v5 + '_top.png');
v3.draw(v10);
v3.draw(v14);
v10.dispose();
v14.dispose();
if (v8 || v12) {
var v16 = 1;
var v15 = 1;
var v18 = 0;
var v19 = 0;
if (v8) {
v16 = -1;
v18 = v3.width;
}
if (v12) {
v15 = -1;
v19 = v3.height;
}
var v9 = new flash.geom.Matrix();
v9.scale(v16, v15);
v9.translate(v18, v19);
var v13 = new flash.display.BitmapData(v3.width, v3.height, true, 0);
v13.draw(v3, v9);
v3.dispose();
v2.attachBitmap(v13, 1, auto, true);
} else {
v2.attachBitmap(v3, 1, auto, true);
}
v2._yscale = 45;
v2._xscale = 45;
v2._y = screenHeight - v2._height + 15;
if (xPos == 'right') {
v2._x = (dialogue._x + dialogue._width + screenWidth) / 2 - v2._width / 2 + 12;
} else {
if (xPos == 'left') {
v2._x = dialogue._x / 2 - v2._width / 2 - 12;
}
}
bounceF(v2, v2._y);
}
function dialogueF(serifu, who, mood) {
if (skipping && globalSave.skipOnlyUnreadDialogue) {
if (!generalSave.readDialogueO['s' + parser]) {
skipping = false;
}
}
if (!generalSave.readDialogueO['s' + parser]) {
if (generalSave.readDialogues == undefined) {
generalSave.readDialogues = 0;
}
++generalSave.readDialogues;
generalSave.readDialogueO['s' + parser] = true;
}
save3F(basicGameData.gameFile, 'general', generalSave);
resizeAndReplaceF();
var v28 = false;
if (who == undefined) {
v28 = true;
} else {
dialogue.who.text = characterData[who].pName;
dialogue.who.textColor = characterData[who].pColor;
}
if (characterData[who].commentary) {
chibi2F(characterData[who], mood);
dialogue.commentary = true;
}
slicer = 0;
currentLine = serifu;
if (!v28) {
currentLine = '' + currentLine + '';
}
currentLineFinished = false;
japDisplayed = false;
dialogue.hider.onRelease = function () {
dialogueHiderF();
};
dialogue.kana._visible = false;
dialogue.kanji._visible = false;
dialogue.romaji._visible = false;
var v6 = 0;
while (v6 <= currentLine.length) {
var v4 = currentLine.slice(v6, v6 + 1);
var v23 = currentLine.slice(v6 + 1, v6 + 2);
var v7 = '';
if (v4 == '{') {
var v24 = '';
var v13 = '';
var v3 = new Array();
var v2 = v6 + 1;
while (v2 <= currentLine.length) {
v7 = currentLine.slice(v2, v2 + 1);
if (v7 == '|' or v7 == '}') {
if (v13 == '') {
v3.push(currentLine.slice(v6 + 1, v2));
var v20 = currentLine.slice(v6 + 1, v2);
v13 = v2;
} else {
v3.push(currentLine.slice(v13 + 1, v2));
v13 = v2;
}
}
if (v7 == '}') {
v2 = currentLine.length;
}
++v2;
}
var v12 = '';
if (storedv20 == 'jp') {
japDisplayed = true;
dialogue.kanji.onPress = function () {
japDisplay = 'kanji';
dialogueF(serifu, who);
dialogue.finishNow = true;
initKanjiButtons(2);
this.gotoAndStop(3);
};
dialogue.romaji.onPress = function () {
slicer = currentLine.length;
japDisplay = 'romaji';
dialogueF(serifu, who);
dialogue.finishNow = true;
initKanjiButtons(2);
this.gotoAndStop(3);
};
dialogue.kana.onPress = function () {
slicer = currentLine.length;
japDisplay = 'kana';
dialogueF(serifu, who);
dialogue.finishNow = true;
initKanjiButtons(2);
this.gotoAndStop(3);
};
initKanjiButtons(2);
dialogue.kana._visible = false;
dialogue.kanji._visible = false;
dialogue.romaji._visible = false;
if (japDisplay == 'kanji') {
var v9 = 1;
while (v9 < v3.length) {
v12 += '<font face=\'Arial Unicode MS\'><a href="asfunction:clickLink,' + v3[v9 + 1] + '">' + v3[v9] + '</a></font>';
v9 += 2;
}
} else {
if (japDisplay == 'romaji') {
v12 = romajize2F(v3);
} else {
if (japDisplay == 'kana') {
var v9 = 2;
while (v9 < v3.length) {
v12 += '<font face=\'Arial Unicode MS\'><a href="asfunction:clickLink,' + v3[v9] + '">' + hiraganizeF(v3[v9]) + '</a></font>';
v9 += 2;
}
}
}
}
} else {
if (Number(variables[storedv20]) == 1) {
v12 = v3[1];
} else {
if (v3.length == 3) {
v12 = v3[2];
} else {
v12 = v3[1] + 's';
}
}
}
currentLine = currentLine.slice(0, v6) + v12 + currentLine.slice(v13 + 1);
} else {
if (v4 == '♪' or v4 == '♥' or v4 == '《' or v4 == '》' or v4 == '' or v4 == '☠' or v4 == '§' or v4 == 'Ø' or v4 == '⊕' or v4 == 'ସ' or v4 == '☣' or v4 == '☢' or v4 == '☟' or v4 == 'âœ' or v4 == '✇') {
var v21 = '<font face=\'Arial Unicode MS\' size=\'22\'>' + v4 + '</font>';
currentLine = currentLine.slice(0, v6) + v21 + currentLine.slice(v6 + 1);
v6 += v21.length;
} else {
if ((v4 == '$' or v4 == '@') && isNaN(Number(v23))) {
var v5 = v6 + 1;
while (v5 <= currentLine.length) {
v7 = currentLine.slice(v5, v5 + 1);
if (v7 == '$' or v7 == '@' or v5 == currentLine.length) {
var v15 = v5;
v5 = Infinity;
}
++v5;
}
var v11 = variables[currentLine.slice(v6 + 1, v15)];
if (v4 == '@' && Number(v11) <= 20) {
var v22 = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine', 'ten', 'eleven', 'twelve', 'thirteen', 'fourteen', 'fifteen', 'sixteen', 'seventeen', 'eighteen', 'nineteen', 'twenty'];
v11 = v22[Number(v11)];
}
if (v11 == undefined) {
v11 = currentLine.slice(v6 + 1, v15);
}
var v16 = currentLine.slice(v6 - 2, v6 - 1);
if (v6 == 0 || v16 == '.' || v16 == '!' || v16 == '?' || v16 == '…') {
v11 = (v11.slice(0, 1)).toUpperCase() + v11.slice(1);
}
currentLine = currentLine.slice(0, v6) + v11 + currentLine.slice(v15 + 1);
}
}
}
++v6;
}
dialogue.clickLink = function (a) {
if (!gamePaused) {
wordPopUpF(a);
}
};
dialogue.t = 0;
dialogue.t2 = 0;
dialogue.firstWord = true;
var v27 = new TextField.StyleSheet();
v27.setStyle('a:link', {'color': '#66CCFF', 'textDecoration': 'none'});
v27.setStyle('a:hover', {'color': '#CCCCCC', 'textDecoration': 'none'});
dialogue.main.styleSheet = v27;
false;
dialogue.onEnterFrame = function () {
if (!gamePaused) {
++this.t2;
if (!currentLineFinished) {
if (myKeys.SPACE or mouseClick or skipping or myKeys.ENTER or this.finishNow or globalSave.textSpeed >= maxTextSpeed) {
if (dialogue.hidden) {
dialogue.hidden = false;
dialogue._visible = true;
} else {
slicer = currentLine.length;
this.finishNow = false;
}
} else {
var v9 = globalSave.textSpeed;
if (this.t2 % Math.ceil(1 / v9) == 0) {
var v7 = 0;
while (v7 < v9) {
++slicer;
var v8 = true;
while (v8) {
ch1 = currentLine.slice(slicer - 1, slicer);
if (ch1 == '>') {
++slicer;
} else {
v8 = false;
}
}
if (ch1 == '<') {
var v3 = slicer;
while (v3 <= currentLine.length) {
var v4 = currentLine.slice(v3, v3 + 1);
if (v4 == '>') {
slicer = v3 + 1;
v3 = currentLine.length;
--v7;
}
++v3;
}
} else {
if ((ch1 == ' ' || ch1 == '-') && who != 'nvl') {
var v5 = 0;
var v2 = slicer;
while (v2 <= currentLine.length) {
var v4 = currentLine.slice(v2, v2 + 1);
if (v4 == '<') {
++v5;
} else {
if (v4 == '>') {
--v5;
}
}
if (v5 == 0 && (v4 == ' ' || v4 == '-') or v2 == currentLine.length) {
var v10 = currentLine.slice(0, slicer);
this.main.htmlText = v10;
var v6 = this.main.bottomScroll;
v10 = currentLine.slice(0, v2 + 1);
this.main.htmlText = v10;
if (v6 < this.main.bottomScroll) {
currentLine = currentLine.slice(0, slicer) + '\n' + currentLine.slice(slicer);
}
v2 = currentLine.length;
}
++v2;
}
}
}
++v7;
}
}
}
v10 = currentLine.slice(0, slicer);
if (who == 'nvl') {
v10 = nvlText + v10;
}
if (slicer >= currentLine.length) {
if (who == 'nvl') {
nvlText = v10 + '\n';
}
registerInLog(v10, who);
currentLineFinished = true;
}
this.main.htmlText = v10;
if (this.commentary) {
this.main.textColor = 16237039;
}
} else {
if (currentLineFinished) {
if (myKeys.SPACE or mouseClick or myKeys.ENTER or skipping) {
if (dialogue.hidden) {
dialogue.hidden = false;
dialogue._visible = true;
} else {
if (myKeys.SPACE or myKeys.ENTER) {
lastAction = 'key';
} else {
lastAction = 'mouse';
}
if (skipping && this.t < 2) {
++this.t;
} else {
currentLineFinished = false;
slicer = 0;
if (who != 'nvl') {
removeAtF(dialogueLayer);
}
delete this.onEnterFrame;
parseNextF();
}
}
}
}
}
}
};
}
function registerInLog(txt, who) {
var v2 = '';
var v1 = txt;
var v3 = '';
if (who == 'choice') {
v2 = '<b>->';
v1 += '</b>';
} else {
if (who != undefiend) {
v2 = '<b>' + characterData[who].pName + '</b>: ';
v1 = '"' + v1 + '"';
}
}
if (log != '') {
v3 = '\n<p align="center">——————————————————</p>\n';
}
log = v2 + v1 + v3 + log;
}
function queueF(music) {
currentlyPlaying.onSoundComplete = function () {
playMusicF(music);
};
}
function animateOnceF(animation, x, y, stretch, scale, delay, flipped, holdOnLastFrame, holdOnFirstFrameDuringDelay) {
if (!skipping) {
if (delay == undefined) {
delay = 0;
}
if (stretch == undefined) {
stretch = true;
}
if (flipped == undefined) {
flipped = false;
}
if (holdOnLastFrame == undefined) {
holdOnLastFrame = false;
}
if (holdOnFirstFrameDuringDelay == undefined) {
holdOnFirstFrameDuringDelay = false;
}
if (scale == undefined) {
scale = 100;
}
if (x == undefined) {
}
animate1(foregroundObjects, animation, x, y, scale, 0, delay, stretch, flipped, holdOnLastFrame, holdOnFirstFrameDuringDelay);
}
parseNextF();
}
function animate1(clipTarget, animation, x, y, scale, loops, delay, stretch, flipped, holdOnLastFrame, holdOnFirstFrameDuringDelay) {
var v3 = 1;
var v2 = 1;
var v6 = 15;
var v4 = true;
if (animation == 'clash') {
v2 = 10;
} else {
if (animation == 'rainbow') {
v2 = 11;
}
}
var v1 = animate2(clipTarget, String('fx_' + animation + '.png'), v3, v2, loops, delay, v6, stretch, flipped, holdOnLastFrame, holdOnFirstFrameDuringDelay, v4);
v1._x = x;
v1._y = y;
v1._xscale = scale;
v1._yscale = scale;
}
function animate2(clipTarget, animation, onTheWidth, onTheHeight, loops, delay, frameSpeed, stretch, flipped, holdOnLastFrame, holdOnFirstFrameDuringDelay, smoothing) {
if (loops == undefined) {
loops = 0;
}
if (smoothing == undefined) {
smoothing = true;
}
if (frameSpeed == undefined or frameSpeed == 0) {
frameSpeed = fps;
}
var v8 = clipTarget.getNextHighestDepth();
var v3 = clipTarget.createEmptyMovieClip('clip', v8);
var c = v3.createEmptyMovieClip('clip', 1);
var sourceImage = loadBitmapF(animation);
var w = sourceImage.width / onTheWidth;
var h = sourceImage.height / onTheHeight;
var v6 = clipTarget.getNextHighestDepth();
var ad = clipTarget.createEmptyMovieClip('animationDealer' + v6, v6);
v3.onEnterFrameClip = ad;
ad.t = 0;
ad.loops = loops;
if (delay != undefined) {
ad.t -= delay;
}
ad.looped = 0;
ad.targetClip = v3;
c.forceSmoothing = true;
ad.onEnterFrame = function () {
var v2 = 0;
if (this.t >= 0 or holdOnFirstFrameDuringDelay) {
v2 = this.t;
if (v2 < 0 && holdOnFirstFrameDuringDelay) {
v2 = 0;
}
v2 = int(v2 * (frameSpeed / fps));
var v3 = new flash.display.BitmapData(w, h, true);
v3.copyPixels(sourceImage, new flash.geom.Rectangle(w * (v2 % onTheWidth), h * (int(v2 / onTheWidth) % onTheHeight), w, h), new flash.geom.Point(0, 0));
c.attachBitmap(v3, 1, 'auto', smoothing);
if (stretch) {
c._width = screenWidth;
c._height = screenHeight;
}
if (flipped) {
c._xscale = -Math.abs(c._xscale);
c._x = c._width;
}
}
++this.t;
v2 = int(this.t * (frameSpeed / fps));
if (v2 >= onTheWidth * onTheHeight * (this.looped + 1)) {
++this.looped;
}
if (this.looped > ad.loops) {
delete this.onEnterFrame;
if (!holdOnLastFrame) {
removeMovieClip(this.targetClip);
removeMovieClip(this);
}
}
};
return v3;
}
function mcItemF(item, xPos, yPos) {
var v1 = foregroundObjects.getNextHighestDepth();
mcItem2F(item, xPos, yPos, v1);
parseNextF();
}
function mcItem2F(item, xPos, yPos, depth) {
m = foregroundObjects.attachMovie(item, item, depth);
m.who = item;
m.isCharacter = false;
m.depth = depth;
m.mc = true;
if (!isNaN(Number(yPos))) {
m._y = yPos;
} else {
if (yPos == 'below') {
m._y = screenHeight;
}
}
if (!isNaN(Number(xPos))) {
m._x = xPos;
} else {
if (xPos == 'left') {
m._x = screenWidth / 3;
} else {
if (xPos == 'right') {
m._x = (screenWidth / 3) * 2;
} else {
if (xPos == 'center') {
m._x = int(screenWidth / 2);
}
}
}
}
m.y = m._y;
m.x = m._x;
foregroundObjectsA.push(m);
}
function itemF(item, xPos, yPos, xFlipped, yFlipped, depth, method) {
item2F(item, xPos, yPos, xFlipped, yFlipped, depth, method);
parseNextF();
}
function item2F(item, xPos, yPos, xFlipped, yFlipped, depth, method) {
foregroundObjectF(item, '', '', xPos, yPos, depth, xFlipped, yFlipped, false, x, x, false, false, method);
}
function swapDepthF(who1, who2) {
var v2 = foregroundObjects[who1];
var v1 = foregroundObjects[who2];
v2.swapDepths(v1);
parseNextF();
}
function personF(who, mood, mood2, xPos, yPos, xFlipped, yFlipped, depth, scaleToFullScreen, method) {
if (mood == 0) {
mood = 'basic';
}
person2F(who, mood, mood2, xPos, yPos, xFlipped, yFlipped, depth, scaleToFullScreen, method);
parseNextF();
}
function person2F(who, mood, mood2, xPos, yPos, xFlipped, yFlipped, depth, scaleToFullScreen, method) {
if (yPos == undefined) {
yPos = 0;
}
foregroundObjectF(who, mood, mood2, xPos, yPos, depth, xFlipped, yFlipped, true, scaleToFullScreen, x, false, false, method);
}
function foregroundObjectF(who, mood, mood2, xPos, yPos, depth, xFlipped, yFlipped, isCharacter, scaleToFullScreen, zoom, forScreenshot, bgForScreenshot, method) {
if (method == undefined) {
method = 'fade';
}
var v34 = checkChangeMood(who, mood);
if (v34[0]) {
mood = v34[1];
}
var m = '';
var v24 = foregroundObjects;
var v36 = foregroundObjects[who]._x;
if (foregroundObjects[who] == undefined || forScreenshot) {
var v45 = true;
if (forScreenshot) {
v24 = bgForScreenshot.foregroundObjects;
v45 = false;
}
var v28 = v24.getNextHighestDepth();
if (v28 < 100) {
v28 = 100;
}
if (depth == 'back') {
v28 = 1;
while (v24.getInstanceAtDepth(v28) != undefined) {
++v28;
}
}
if (typeof depth == 'number') {
v28 = depth;
}
var v11 = v24.createEmptyMovieClip(who, v28);
v11.who = who;
v11.depth = v28;
if (!forScreenshot) {
foregroundObjectsA.push(v11);
}
if (!isNaN(Number(xPos))) {
v11.x = xPos;
}
}
v11 = v24[who];
v28 = v11.getNextHighestDepth();
var m = v11.createEmptyMovieClip('c' + v28, v28);
v11.latest = m;
if (!forScreenshot) {
var v29 = v11.getInstanceAtDepth(v28 - 1);
if (method == 'fade' && !skipping) {
v29.m = m;
m._alpha = 0;
m.onEnterFrame = function () {
if (this._alpha <= 100) {
this._alpha += 10;
} else {
delete this.onEnterFrame;
}
};
v29.onEnterFrame = function () {
if (this.m._alpha > 90 or this.m._alpha == undefined) {
if (this._alpha >= 0) {
this._alpha -= 10;
} else {
removeMovieClip(this);
delete this.onEnterFrame;
}
}
};
} else {
removeMovieClip(v29);
}
}
if (!isNaN(Number(zoom))) {
v11.zoom = zoom;
} else {
if (v11.zoom == undefined) {
v11.zoom = 1;
}
}
v11.xFlipped = xFlipped;
v11.yFlipped = yFlipped;
v11.mood = mood;
v11.mood2 = mood2;
v11.scaleToFullScreen = scaleToFullScreen;
v11.isCharacter = isCharacter;
if (isCharacter) {
var v23 = characterData[who];
var v4 = characterImageData[who][mood].clone();
var v35 = loadBitmapF('ch_' + v23.image + '_' + v4[0] + '.png');
var v25 = 0;
v25 = 360;
m.extraHeight = v25;
m.theHeight = preImabeBmp.height;
var v21 = new flash.display.BitmapData(v35.width, v35.height + v25, true, 0);
var v53 = new Array();
var v15 = new Object();
var v16 = new Object();
var v2 = 0;
while (v2 < v4.length) {
var v12 = v4[v2];
var v5 = checkAgainstRules(v12, who);
var v6 = v5.deets;
if (!v5.skipIt) {
var v7 = 0;
while (v7 < v6.length) {
var v10 = v6[v7];
if (v10[0] == 'replace') {
v12 = v10[2];
} else {
if (v10[0] == 'newGraphicAfter' && !v16[v10[2]]) {
v16[v10[2]] = true;
v4.splice(v2 + 1, 0, v10[2]);
} else {
if (v10[0] == 'newGraphicBefore' && !v15[v10[2]]) {
v15[v10[2]] = true;
v4.splice(v2, 0, v10[2]);
v12 = v4[v2];
}
}
}
++v7;
}
var v13 = 'ch_' + v23.image + '_' + v12 + '.png';
var v3 = loadBitmapF(v13);
if (v12 == 'exp') {
v13 = 'ch_' + v23.image + '_exp_' + mood2 + '.png';
v3 = loadBitmapF(v13);
if (v5.expTop.length > 0) {
var v9 = 0;
while (v9 < v5.expTop.length) {
v4.splice(v2 + 1, 0, 'exp_' + mood2 + '_' + v5.expTop[v9]);
++v9;
}
}
}
if (v5.changeColor) {
var v8 = 0;
while (v8 < v6.length) {
v10 = v6[v8];
if (v10[0] == 'changeColor') {
var v14 = new flash.filters.ColorMatrixFilter(v10[1]);
v3.applyFilter(v3, v3.rectangle, new flash.geom.Point(0, 0), v14);
}
++v8;
}
}
var v17 = new flash.geom.Matrix();
var v18 = v25;
if (v12.indexOf('bunny') != -1) {
v18 = 0;
}
v17.translate(0, v18);
v21.draw(v3, v17);
v3.dispose();
}
++v2;
}
} else {
var v21 = loadBitmapF('item_' + who + '.png');
v11.theHeight = v21.height;
if (v21 == undefined) {
v21 = loadBitmapF(who + '.png');
}
}
var v50 = filterO[currentFilter];
var v32 = new flash.filters.ColorMatrixFilter(v50);
if (xFlipped || yFlipped) {
var v38 = 1;
var v37 = 1;
var v46 = 0;
var v48 = 0;
if (xFlipped) {
v38 = -1;
v46 = v21.width;
}
if (yFlipped) {
v37 = -1;
v48 = v21.height;
}
var v30 = new flash.geom.Matrix();
v30.scale(v38, v37);
v30.translate(v46, v48);
var v26 = new flash.display.BitmapData(v21.width, v21.height, true, 0);
v26.draw(v21, v30);
v26.applyFilter(v26, v26.rectangle, new flash.geom.Point(0, 0), v32);
m.attachBitmap(v26, 1, auto, true);
v11.bitmap = v26;
} else {
v21.applyFilter(v21, v21.rectangle, new flash.geom.Point(0, 0), v32);
m.attachBitmap(v21, 1, auto, true);
v11.bitmap = v21;
}
if (!isNaN(Number(yPos))) {
v11._y = yPos;
v11.y = v11._y;
} else {
if (yPos == 'below') {
v11._y = screenHeight;
v11.y = v11._y;
} else {
if (yPos == 'bottom') {
v11._y = screenHeight;
}
}
}
setXTag = true;
if (xPos == undefined or xPos == '') {
if (v36 == undefined) {
xPos = 'center';
} else {
xPos = v36;
setXTag = false;
}
}
if (!isNaN(Number(xPos))) {
v11._x = xPos;
} else {
if (xPos.substr(0, 1) == 'p') {
var v49 = 5;
var v41 = Number(xPos.substr(1));
v11._x = (screenWidth / (v49 + 1)) * v41;
} else {
if (xPos == 'left') {
v11._x = screenWidth / 3;
} else {
if (xPos == 'right') {
v11._x = (screenWidth / 3) * 2;
} else {
if (xPos == 'rightOutside') {
v11._x = screenWidth;
} else {
if (xPos == 'leftOutside') {
v11._x = -characterWidth;
} else {
if (xPos == 'center') {
v11._x = screenWidth / 2;
}
}
}
}
}
}
}
if (setXTag) {
v11.x = v11._x;
}
if (scaleToFullScreen) {
}
m.originalHeight = m._height - m.extraHeight;
m._y -= m.extraHeight;
if (isCharacter && mood != 'hi') {
var v39 = (basicGameData.characterHeight / (m._height - m.extraHeight)) * v11.zoom;
setZoom2F(who, v11.zoom, v24);
} else {
heightStretchToFit = v21.height;
var v39 = screenHeight / heightStretchToFit;
m._yscale = 100 * v39;
m._xscale = m._yscale;
v11.yscale = m._xscale;
v11.xscale = v11.yscale;
}
}
function checkChangeMood(who, mood) {
var v4 = [];
var v2 = 0;
while (v2 < cheatRules.length) {
var v1 = cheatRules[v2];
if (v1.typeOfRule == 'changeMood' && v1.person == who && mood.indexOf(v1.v1) == 0) {
v4 = [true, replaceInString(mood, v1.v1, v1.v2)];
}
++v2;
}
return v4;
}
function checkAgainstRules(it, who) {
var v4 = {};
v4.skipIt = false;
v4.replace = false;
v4.changeColor = false;
v4.expTop = [];
v4.deets = [];
var v2 = 0;
while (v2 < cheatRules.length) {
var v1 = cheatRules[v2];
v4.deets.push([]);
if (v1.person == who && v1.typeOfRule != 'changeMood') {
if (v1.typeOfRule == 'expressionGraphicOnTop') {
v4.expTop.push(v1.v1);
} else {
if (it.indexOf(v1.v1) != -1) {
var v5 = true;
if (typeof v1.v2 != 'object') {
v1.v2 = [v1.v2];
}
var v3 = 0;
while (v3 < v1.v2.length) {
if (it.indexOf(v1.v2[v3]) != -1) {
v5 = false;
}
++v3;
}
if (v5) {
v4.deets[v2].push(v1.typeOfRule);
v4[v1.typeOfRule] = true;
if (v1.typeOfRule == 'replace') {
v4.deets[v2].push(v1.v1, v1.v3);
} else {
if (v1.typeOfRule == 'changeColor') {
var v7 = filterO[v1.v3];
v4.deets[v2].push(v7);
} else {
if (v1.typeOfRule == 'newGraphicAfter' || v1.typeOfRule == 'newGraphicBefore') {
v4.deets[v2].push(v1.v1, v1.v3);
} else {
if (v1.typeOfRule == 'skipIt') {
v4.deets[v2].push(v1.v1);
}
}
}
}
}
}
}
}
++v2;
}
return v4;
}
function setZoomF(who, zoom) {
setZoom2F(who, zoom);
parseNextF();
}
function setAlphaF(what, alph) {
setAlpha2F(what, alph);
parseNextF();
}
function setAlpha2F(what, alph, fo) {
if (fo == undefined) {
fo = foregroundObjects;
}
var v1 = fo[what];
v1._alpha = alph * 100;
v1.alph = alph;
}
function setZoom2F(who, zoom, fo) {
if (fo == undefined) {
fo = foregroundObjects;
}
var v2 = fo[who];
var v1 = fo[who].latest;
v2.zoom = zoom;
var v3 = (basicGameData.characterHeight / v1.originalHeight) * v2.zoom;
v1._yscale = 100 * v3;
v1._xscale = v1._yscale;
v1._x = -v1._width / 2;
var v5 = (basicGameData.characterFace.y + v1.extraHeight) * v3;
var v9 = 60;
var v8 = screenHeight / 2.5;
var v7 = zoom / 3;
var v6 = valueBetween(v9, v8, v7);
v1._y = v6 - v5;
v2.yscale = v1._xscale;
v2.xscale = v2.yscale;
}
function valueBetween(v1, v2, p) {
var v1 += v2 * p;
return v1;
}
function newFilt(filterName, ar) {
if (filterO[filterName] == undefined) {
filterO[filterName] = new Array();
}
filterO[filterName] = filterO[filterName].concat(ar);
}
function setFilterF(filter) {
currentFilter = filter;
parseNextF();
}
function playSoundF(sound) {
if (!skipping) {
playSound2F(sound);
}
parseNextF();
}
function playSound2F(sound) {
var v2 = soundMC[sound];
if (v2 == undefined) {
v2 = soundMC.createEmptyMovieClip(sound, soundMC.getNextHighestDepth());
}
var v1 = new Sound(v2);
v1.attachSound(sound + '.wav');
if (v1.duration == undefined) {
v1.attachSound(sound + '.mp3');
}
v1.setVolume(globalSave.sfxVolume * masterVolume);
v1.start();
}
function playSystemSoundF(sound) {
var v2 = soundMC[sound];
if (v2 == undefined) {
v2 = soundMC.createEmptyMovieClip(sound, soundMC.getNextHighestDepth());
}
var v1 = new Sound(v2);
v1.attachSound(sound + '.wav');
if (v1.duration == undefined) {
v1.attachSound(sound + '.mp3');
}
v1.setVolume(globalSave.sfxVolume * masterVolume);
v1.start();
}
function addButtonF(button, url, xPos, yPos) {
var v2 = buttons.getNextHighestDepth();
var v1 = buttons.attachMovie(button, 'button' + v2, v2);
if (xPos == 'right') {
v1._x = screenWidth - v1._width - 10;
v1.x = v1._x;
}
if (yPos == 'allTheWayDown') {
v1._y = screenHeight - v1._height;
v1.y = v1._y;
}
v1.onRelease = function () {
url2F(url);
};
parseNextF();
}
function screenIsALinkF(url) {
mouseChecker.onRelease = function () {
url2F(url, '_blank');
};
parseNextF();
}
function pauseF(seconds, skippable) {
if (skipping) {
var v2 = crap.getNextHighestDepth();
var c = crap.createEmptyMovieClip('crap' + v2, v2);
c.t = 0;
c.onEnterFrame = function () {
++c.t;
if (c.t == 2) {
parseNextF();
delete this.onEnterFrame;
removeMovieClip(this);
}
};
} else {
var v3 = Math.ceil(seconds * fps);
pause2F(v3, skippable);
}
}
function pause2F(frames, skippable) {
var v2 = createEmptyMovieClip('pauseHandler', pauseHandlerLayer);
v2.t = 0;
if (frames == undefined or isNaN(frames)) {
frames = 0;
}
v2.goal = frames;
v2.onEnterFrame = function () {
if (!gamePaused) {
if (skipping or (!outOfMenuIntoGame or this.goal == 0 or skippable) && (myKeys.SPACE or mouseClick or myKeys.ENTER)) {
removeMovieClip(this);
delete this.onEnterFrame;
parseNextF();
} else {
++this.t;
if (this.t == this.goal) {
removeMovieClip(this);
delete this.onEnterFrame;
parseNextF();
}
}
}
};
}
function stopMusicF(method, time) {
stopMusic2F(method, time);
parseNextF();
}
function stopMusic2F(method, time) {
if (musicPlaying) {
musicPlaying = false;
if (skipping) {
method = '';
}
if (method == 'fadeOut' or method == 'fade') {
if (time == undefined) {
time = 1;
}
time = Number(time);
time = int(time * fps);
var v3 = soundMC.createEmptyMovieClip(musicBeingFadedOut + 'Fade', soundMC.getNextHighestDepth());
v3.t = 0;
musicBeingFadedOut = currentlyPlaying;
v3.onEnterFrame = function () {
++this.t;
var v2 = int(easeInOutSine(this.t, globalSave.musicVolume, -globalSave.musicVolume, time));
sounds[musicBeingFadedOut].setVolume(soundMC[musicBeingFadedOut].vol * v2 * masterVolume);
if (v2 <= 0) {
sounds[musicBeingFadedOut].stop();
musicBeingFadedOut = 'none';
delete this.onEnterFrame;
removeMovieClip(this);
}
};
} else {
sounds[currentlyPlaying].stop();
}
currentlyPlaying = 'none';
}
}
function changeNameF(who, newName) {
changeName2F(who, newName);
parseNextF();
}
function changeName2F(who, newName) {
characterData[who].pName = newName;
}
function languageScreenF() {
attachMovie(languageScreen, 'bg', dialogueLayer);
bg.ja.onPress = function () {
currentLanguage = this._name;
parseNextF();
};
bg.en.onPress = bg.ja.onPress;
}
function playMusicF(music, vol, method, b) {
playMusic2F(music, vol, method, b);
parseNextF();
}
function playMusic2F(music, vol, method, b) {
if (vol == undefined) {
vol = 1;
}
vol = Number(vol);
b = Number(b);
if (vol > 1) {
vol /= 100;
}
sounds[currentlyPlaying].stop();
if (musicBeingFadedOut == music) {
var v4 = soundMC[musicBeingFadedOut + 'Fade'];
delete v4.onEnterFrame;
removeMovieClip(v4);
sounds[musicBeingFadedOut].stop();
musicBeingFadedOut = '';
}
currentlyPlaying = music;
musicPlaying = true;
var v3 = soundMC[music];
if (v3 == undefined) {
v3 = soundMC.createEmptyMovieClip(music, soundMC.getNextHighestDepth());
sounds[music] = new Sound(v3);
var v5 = sounds[music];
v5.attachSound(music + '.wav');
if (v5.duration == undefined) {
v5.attachSound(music + '.mp3');
}
} else {
var v5 = sounds[music];
}
v3.vol = vol;
v5.setVolume(globalSave.musicVolume * v3.vol * masterVolume);
v5.start(0, 9990);
}
function setVolumeF(vol, method, b) {
vol = Number(vol);
setVolume2F(vol, method, b);
parseNextF();
}
function setVolume2F(vol, method, b) {
vol = Number(vol);
b = Number(b);
var v2 = soundMC[currentlyPlaying];
if (v2 == undefined) {
}
if (method == 'fade' && !skipping) {
var v5 = crap.getNextHighestDepth();
var b = crap.createEmptyMovieClip('musicFader' + currentlyPlaying, v5);
b.song = v2;
b.currentVol = v2.vol;
b.desiredVol = vol;
b.t = 0;
b.onEnterFrame = function () {
++b.t;
var v2 = this.song;
v2.vol = easeInOutSine(this.t, this.currentVol, this.desiredVol - this.currentVol, 0.5 * fps);
var v5 = Math.round(v2.vol * 100);
var v4 = Math.round(this.desiredVol * 100);
var v3 = v5 == v4;
if (v3) {
v2.vol = this.desiredVol;
var v6 = true;
}
sounds[currentlyPlaying].setVolume(globalSave.musicVolume * v2.vol * masterVolume);
if (v6) {
removeMovieClip(this);
delete this.onEnterFrame;
}
};
} else {
v2.vol = vol;
sounds[currentlyPlaying].setVolume(globalSave.musicVolume * v2.vol * masterVolume);
}
}
function removeF(char, method, modifier, seconds) {
if (seconds == undefined) {
seconds = 0.3;
}
if (method == undefined or method == '') {
method = 'fade';
}
if (modifier == undefined or modifier == 'left') {
modifier = -1;
} else {
if (modifier == 'right') {
modifier = 1;
}
}
time = int(seconds * fps);
foregroundObjects[char].remove = true;
if (method == 'fade') {
foregroundObjects[char].pseudoAlpha = 100;
foregroundObjects[char].incrementAlpha = 100 / time;
foregroundObjects[char].onEnterFrame = function () {
this._x += modifier;
this.pseudoAlpha -= this.incrementAlpha;
this._alpha = this.pseudoAlpha;
if (this._alpha <= 0) {
if (this.onEnterFrameClip != undefined) {
removeMovieClip(this.onEnterFrameClip);
}
this.removeMovieClip();
}
};
} else {
if (this.onEnterFrameClip != undefined) {
removeMovieClip(this.onEnterFrameClip);
}
foregroundObjects[char].removeMovieClip();
}
var v2 = 0;
while (v2 <= foregroundObjectsA.length) {
if (foregroundObjectsA[v2].remove) {
foregroundObjectsA.splice(v2, 1);
v2 = foregroundObjectsA.length;
}
++v2;
}
parseNextF();
}
function removeAllCharsF() {
removeAllChars2F();
parseNextF();
}
function removeAllChars2F() {
foregroundObjects.removeMovieClip();
foregroundObjects = gw.createEmptyMovieClip('foregroundObjects', foregroundObjectLayer);
foregroundObjectsA = new Array();
buttons.removeMovieClip();
this.createEmptyMovieClip('buttons', buttonLayer);
effects.removeMovieClip();
effects = gw.createEmptyMovieClip('effects', effectsLayer);
backgroundEffects.removeMovieClip();
backgroundEffects = gw.createEmptyMovieClip('backgroundEffects', backgroundEffectsLayer);
}
function changeBgF(scene, method, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit) {
scene2F(scene, method, time, false, xFlipped, yFlipped, xPos, yPos, heightStretchToFit);
parseNextF();
}
function checkAndFixIfStringAr(ar) {
var v1 = ar;
if (typeof ar == 'string') {
v1 = v1.slice(1, v1.length - 1);
v1 = v1.split(', ');
v1 = v1.toString();
v1 = v1.split(',');
}
return v1;
}
function cgsF(base, method, ar, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit) {
ar = checkAndFixIfStringAr(ar);
var v4 = ar[0];
if (v4 == 0) {
v4 = base;
} else {
if (v4.indexOf('!') == 0) {
v4 = v4.slice(1);
} else {
v4 = base + '_' + v4;
}
}
cgF(v4, method, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, true);
var v1 = 1;
while (v1 < ar.length) {
var v2 = base + '_' + ar[v1];
addToCgF(v2, x, x, true);
++v1;
}
parseNextF();
}
function cgF(scene, method, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext) {
if (!generalSave.cgNotificationShown) {
generalSave.cgNotificationShown = true;
notificationF('Press <Z>, <+> or <->; or use the mousewheel (Windows only) to zoom in/out of the picture.', true);
}
sceneF(scene, method, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
generalSave.unlockedCg[scene] = true;
save3F(basicGameData.gameFile, 'general', generalSave);
}
function sceneF(scene, method, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext) {
removeMovieClip(transitions);
this.createEmptyMovieClip('transitions', transitionLayer);
scene2F(scene, method, time, true, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
}
function scene2F(scene, method, time, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext) {
if (gw.fadeDealer) {
delete gw.fadeDealer.onEnterFrame;
removeMovieClip(gw.fadeDealer);
}
if ((newScene or xPos != undefined or yPos != undefined) && transitions.bg != undefined) {
removeMovieClip(transitions.bg);
delete transitions.bg.onEnterFrame;
}
currentBackground = scene;
if (isNaN(time)) {
if (method == 'blackFade' || method == 'whiteFade') {
time = 1.2;
} else {
time = 0.6;
}
}
delete mouseChecker.onRelease;
if (method == 'pixellate' && !skipping) {
removeAllChars2F();
pixellateF(scene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit);
} else {
if (method == 'fade' && !skipping) {
if (newScene) {
removeAllChars2F();
}
fadeF(scene, newScene, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
} else {
if (method == 'blackFade' && !skipping) {
colorFadeF(scene, 'black', newScene, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
} else {
if (method == 'whiteFade' && !skipping) {
colorFadeF(scene, 'white', newScene, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
} else {
addBg(scene, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext);
if (newScene) {
removeAllChars2F();
if (!dontFireParseNext) {
parseNextF();
}
}
}
}
}
}
}
function jumpF(to) {
ifNests = 0;
removeAllChars2F;
parser = labels[to] - 1;
parseNextF();
}
function endChoiceF() {
parseNextF();
}
function endingF(endingName, endingNameWithSpaces, type) {
skipping = false;
var v2 = false;
var v3 = 1;
if (!generalSave.endings[endingName]) {
generalSave.endingsA.push(endingName);
generalSave.endings[endingName] = true;
generalSave.lastEnding = endingName;
if (generalSave.endingsA.length >= v3) {
generalSave.unlockedCommentary = true;
v2 = true;
if (!premiumPatron) {
notificationF('You have unlocked "Commentary" mode.');
}
}
}
saveF(endingName);
save3F(basicGameData.gameFile, 'general', generalSave);
gameEnded = true;
var v4 = 'ending';
if (v2) {
v4 = 'allEndingsJustNow';
}
noticeDialogueF('ending', endingNameWithSpaces);
}
function choiceF(argument) {
if (argument && argument.style == undefined) {
var v2 = parser;
var v7 = true;
while (v7) {
var v3;
while (v3 == undefined) {
if (parsing['s' + v2][0] == 'endChoice') {
parser = v2 - 1;
parseNextF();
v3 = 'shit';
v7 = false;
} else {
++v2;
}
}
}
} else {
if (skipping && !generalSave.choiceNotificationShown) {
generalSave.choiceNotificationShown = true;
notificationF('Pro tip: If you\'re unsure of what the choice is about exactly, press <R> to bring up the dialog log.', true);
}
if (!globalSave.continueSkippingAfterChoices) {
skipping = false;
}
var v11 = '';
var v10 = 'middle';
var v9 = 'middle';
var v13 = '';
if (argument.style != undefined) {
v11 = argument.style;
}
if (argument.xPos != undefined) {
v10 = argument.xPos;
}
if (argument.yPos != undefined) {
v9 = argument.yPos;
}
if (argument.rot != undefined) {
var v12 = argument.rot;
}
var v6 = new Array();
var v2 = parser + 1;
var v7 = true;
while (v7) {
this['choice' + m] = undefined;
var v3 = this['choice' + m];
while (v3 == undefined) {
if (parsing['s' + v2][0] == 'choice') {
if (parsing['s' + v2][2] == undefined or parsing['s' + v2][2] == '') {
v3 = v2;
v6.push(v3);
} else {
var v4 = parsing['s' + v2][2];
if (v4 == 'once') {
v4 = '!choice' + v2;
}
var v5 = false;
v5 = evaluateConditionalF(v4);
if (v5) {
v3 = v2;
v6.push(v3);
}
}
} else {
if (parsing['s' + v2][0] == 'endChoice') {
v3 = 'shit';
v7 = false;
}
}
++v2;
}
}
attachChoiceF(v6, v11, v10, v9, v12);
}
}
function urlF(url) {
if (url.indexOf('www') == -1) {
url2F(url);
}
parseNextF();
}
function url2F(url) {
if (url == 'patreonURL') {
url = patreonURL;
}
if (url == 'artistPatreonURL') {
url = artistPatreonURL;
}
getURL(url, '_blank');
}
function easeInOutSine(t, b, c, d) {
return (-c / 2) * (Math.cos(Math.PI * t / d) - 1) + b;
}
function linearTween(t, b, c, d) {
return c * t / d + b;
}
function easeOutElastic(t, b, c, d) {
var v7 = 1.70158;
var v1 = 0;
var v3 = c;
if (t == 0) {
return b;
}
t /= d;
if (t == 1) {
return b + c;
}
if (!v1) {
v1 = d * 0.3;
}
if (v3 < Math.abs(c)) {
v3 = c;
v7 = v1 / 4;
return v3 * Math.pow(2, -30 * t) * Math.sin((t * d - v7) * 6.283185307179586 / v1) + c + b;
}
v7 = (v1 / 6.283185307179586) * Math.asin(c / v3);
return v3 * Math.pow(2, -30 * t) * Math.sin((t * d - v7) * 6.283185307179586 / v1) + c + b;
}
function easeInElastic(x, t, b, c, d) {
var v7 = 1.70158;
var v1 = 0;
var v2 = c;
if (t == 0) {
return b;
}
t /= d;
if (t == 1) {
return b + c;
}
if (!v1) {
v1 = d * 0.3;
}
if (v2 < Math.abs(c)) {
v2 = c;
v7 = v1 / 4;
t -= 1;
return -(v2 * Math.pow(2, 30 * t) * Math.sin((t * d - v7) * 6.283185307179586 / v1)) + b;
}
v7 = (v1 / 6.283185307179586) * Math.asin(c / v2);
t -= 1;
return -(v2 * Math.pow(2, 30 * t) * Math.sin((t * d - v7) * 6.283185307179586 / v1)) + b;
}
function easeOutBounce(t, b, c, d) {
t /= d;
if (t < 0.3636363636363637) {
return c * (7.5625 * t * t) + b;
} else {
if (t < 0.7272727272727273) {
t -= 0.5454545454545454;
return c * (7.5625 * t * t + 0.75) + b;
} else {
if (t < 0.9090909090909091) {
t -= 0.8181818181818182;
return c * (7.5625 * t * t + 0.9375) + b;
} else {
t -= 0.9545454545454546;
return c * (7.5625 * t * t + 0.984375) + b;
}
}
}
}
function easeInOutQuint(t, b, c, d) {
t /= d / 2;
if (t < 1) {
return (c / 2) * t * t * t * t * t + b;
} else {
t -= 2;
return (c / 2) * (t * t * t * t * t + 2) + b;
}
}
function effectF(target, method, strength1, strength2, time) {
if (method == 'joltRight') {
panF(target, 15, 0, 0.3);
} else {
if (method == 'joltLeft') {
panF(target, -15, 0, 0.3);
} else {
if (method == 'smallShake') {
shakeF(foregroundObjects[target], 5, 1, 19, true, true);
parseNextF();
} else {
if (method == 'shake') {
if (strength1 == undefined) {
strength1 = 10;
}
if (time == undefined) {
time = 1;
}
if (strength2 == undefined) {
strength2 = 30;
}
shakeF(foregroundObjects[target], strength1, time, strength2, true, true);
parseNextF();
} else {
parseNextF();
}
}
}
}
}
function bitmapCopy(sourceMovieClip, w, h) {
if (w == undefined) {
w = sourceMovieClip._width;
}
if (h == undefined) {
h = sourceMovieClip._height;
}
var v1 = new flash.display.BitmapData(w, h, true, 16777215);
v1.draw(sourceMovieClip);
return v1;
}
function attachLensflare(x, y, strength) {
if (strength == undefined) {
strength = 1;
}
var v16 = effects.getNextHighestDepth();
var v19 = effects.attachMovie('lensflare', 'toBeCopied', v16);
var v15 = effects.createEmptyMovieClip('lensflare', v16 + 1);
var mover = v15.createEmptyMovieClip('mover', 500);
mover.x = x;
mover._x = mover.x;
mover.y = y;
mover._y = mover.y;
v15.flares = [];
var v8 = 0;
while (v8 <= 16) {
var v4 = v19['f' + v8];
var v5 = v15.createEmptyMovieClip('orb' + (v8 + 1), v8 + 1);
var v17 = bitmapCopy(v4);
v5.attachBitmap(v17, 1);
v5._alpha = v4._alpha;
v5.blendMode = 'screen';
v15.flares.push(v5);
v5._height = v5._width / 2;
v5._width = v5._height;
if (v8 == 3) {
v16 = backgroundEffects.getNextHighestDepth();
var n = backgroundEffects.createEmptyMovieClip('backgroundFlare', v16);
n._alpha = 0;
n.maxAlpha = v4._alpha;
v5.mate = n;
v17 = bitmapCopy(v4);
n.attachBitmap(v17, 1);
n.blendMode = 'screen';
n._height = n._width / 2;
n._width = n._height;
}
++v8;
}
v15.flaresDist = [2.5, 1.2, 1, 1, 1, 0.6800000000000001, 0.64, 0.59, 0.3, 0.12, -0.1, -0.25, -0.31, -0.32, -0.5, -0.8, -1.12];
v15._visible = false;
v15.onEnterFrame = function () {
this._visible = true;
var v9 = {'x': screenWidth / 2, 'y': screenHeight / 2};
var v6 = {'x': this.mover._x, 'y': this.mover._y};
this.hit = 100;
var v14 = 150;
var v8 = 0;
while (v8 < foregroundObjectsA.length) {
var v2 = foregroundObjectsA[v8];
var v13 = new flash.geom.Point(v2.bitmap.rectangle.x, v2.bitmap.rectangle.y);
var v5 = new flash.geom.Point();
var v3 = 4;
var v12 = [-v3, -v3, v3, v3, 0, 0, v3, -v3];
var v11 = [v3, -v3, v3, -v3, v3, -v3, 0, 0];
n = 0;
while (n < 8) {
v5.x = (v6.x + v12[n] - v2._x) / (v2.xscale / 100);
v5.y = (v6.y + v11[n] - v2._y) / (v2.yscale / 100);
if (v2.bitmap.hitTest(v13, v14, v5)) {
this.hit -= 12.5;
}
++n;
}
++v8;
}
if (this.hit < 100) {
var v16 = 6.25 * ((100 - this.hit) / 50);
if (this._alpha > this.hit) {
this._alpha -= v16;
} else {
if (this._alpha < this.hit) {
this._alpha += v16;
}
}
} else {
if (this._alpha < 100) {
this._alpha += 25;
}
}
if (this._alpha > 100) {
this._alpha = 100;
} else {
if (this._alpha < 0) {
this._alpha = 0;
}
}
var v15 = backgroundEffects.backgroundFlare;
var v17 = v15.maxAlpha / 100;
v15._alpha = (100 - this._alpha) * 1.1;
var v7 = 0;
while (v7 < this.flaresDist.length) {
var v4 = this.flares[v7];
var v10 = this.flaresDist[v7];
v4._x = v9.x + (v6.x - v9.x) * v10 - v4._width / 2;
v4._y = v9.y + (v6.y - v9.y) * v10 - v4._height / 2;
if (v4.mate != undefined) {
v4.mate._x = v4._x;
v4.mate._y = v4._y;
}
++v7;
}
};
}
function removeScreenEffectsF() {
shakeF(gw, 0, 0, 0, false, false);
effects.removeMovieClip();
effects = gw.createEmptyMovieClip('effects', effectsLayer);
backgroundEffects.removeMovieClip();
backgroundEffects = gw.createEmptyMovieClip('backgroundEffects', backgroundEffectsLayer);
parseNextF();
}
function screenEffectF(method, a, b, c, d) {
screenEffect2F(method, a, b, c, d);
parseNextF();
}
function screenEffect2F(method, a, b, c, d) {
if (!skipping && (method == 'fadeToBlack' or method == 'fadeToWhite' or method == 'fadeFromBlack' or method == 'fadeFromWhite')) {
var col = 0;
if (method == 'fadeToWhite' || method == 'fadeFromWhite') {
col = 16777215;
}
var d = crap.getNextHighestDepth();
var bc = crap.createEmptyMovieClip('FakeFade' + d, d);
with (bc) {
beginFill(col);
moveTo(0, 0);
lineTo(screenWidth, 0);
lineTo(screenWidth, screenHeight);
lineTo(0, screenHeight);
lineTo(0, 0);
endFill();
}
if (method == 'fadeToBlack' || method == 'fadeToWhite') {
bc._alpha = 0;
bc.t = 0;
bc.goal = a * fps;
} else {
bc.t = a * fps;
bc.goal = 0;
bc.oGoal = bc.t;
}
bc.onEnterFrame = function () {
if (!gamePaused) {
var v2 = 0;
if (this.goal == 0) {
--this.t;
v2 = this.t / this.oGoal;
} else {
++this.t;
v2 = this.t / this.goal;
}
this._alpha = v2 * 100;
if (this.goal != 0 && v2 >= 1 || this.goal == 0 && v2 == 0) {
removeMovieClip(this);
delete this.onEnterFrame;
}
}
};
} else {
if (method == 'whiteFlash') {
var col = 16777215;
var bc = crap.createEmptyMovieClip(what._name + 'Flash', crap.getNextHighestDepth());
with (bc) {
beginFill(col);
moveTo(0, 0);
lineTo(screenWidth, 0);
lineTo(screenWidth, screenHeight);
lineTo(0, screenHeight);
lineTo(0, 0);
endFill();
}
bc._alpha = 70;
bc.t = 0;
bc.onEnterFrame = function () {
if (!gamePaused) {
++this.t;
if (this.t == 2) {
this._alpha = 100;
} else {
if (this.t >= 3) {
this._alpha -= this.t * 3;
if (this._alpha <= 0) {
removeMovieClip(this);
delete this.onEnterFrame;
}
}
}
}
};
} else {
if (method == 'lensflare') {
attachLensflare(a, b, c);
} else {
if (method == 'verticalShakeBg') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
if (c == undefined) {
c = 35;
}
shakeF(bg, a, b, c, false, true);
} else {
if (method == 'constantShake') {
shakeF(gw, 8, 1000, 50, true, true);
} else {
if (method == 'verticalShake') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
if (c == undefined) {
c = 35;
}
shakeF(gw, a, b, c, false, true);
} else {
if (method == 'shakeBg') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
shakeF(bg, a, b, x, true, true);
} else {
if (method == 'shake') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
shakeF(gw, a, b, x, true, true);
} else {
if (method == 'shakeForeground') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
shakeF(foregroundObjects, a, b, x, true, true);
} else {
if (method == 'quake') {
if (a == undefined) {
a = 25;
}
if (b == undefined) {
b = 1;
}
shakeF(gw, a, b, x, true, true);
shakeF(foregroundObjects, a / 2, b, x, true, true);
} else {
if (method == 'injured') {
shakeF(gw, 20, x, true, true);
}
}
}
}
}
}
}
}
}
}
}
}
function doCallF(to) {
++variables.callNests;
variables.homeNumber.push(parser);
parser = labels[to] - 1;
parseNextF();
}
function endCallF(to) {
if (variables.callNests > 0) {
--variables.callNests;
parser = variables.homeNumber.pop();
parseNextF();
} else {
parseNextF();
}
}
function registerCGBasesForCheatsF(baseArray) {
var v1 = 0;
while (v1 < baseArray.length) {
CGBasesForCheats.push(baseArray[v1]);
++v1;
}
parseNextF();
}
function cheatRuleF(type, person, v1, v2, v3) {
var v2 = new Object();
if (v2 == x) {
v2 = '09ipaodia0s9dizxpoc80';
}
var v1 = {'person': person, 'typeOfRule': type, 'v1': v1, 'v2': v2, 'v3': v3};
cheatRules.push(v1);
parseNextF();
}
function shakeF(what, intensity, time, freq, x, y) {
if (!skipping) {
var v2 = crap[what._name + 'Shaker'];
if (v2 != undefined) {
delete v2.onEnterFrame;
removeMovieClip(v2);
what._x = what.motoX;
what._y = what.motoY;
}
if (freq == undefined or freq == '') {
freq = 50;
}
what.motoX = what._x;
what.motoY = what._y;
var b = crap.createEmptyMovieClip(what._name + 'Shaker', crap.getNextHighestDepth());
b.t = 0;
b.tim = time * fps;
b.x = x;
b.y = y;
b.freq = freq;
b.onEnterFrame = function () {
++this.t;
this.shake = intensity * ((this.tim - this.t) / this.tim);
if (this.shake <= 0) {
what._x = what.motoX;
what._y = what.motoY;
removeMovieClip(this);
delete this.onEnterFrame;
} else {
amp = this.shake;
freq = this.freq;
var t = this.t;
var v3 = amp * Math.sin(freq * 2 * t * 0.0174532925199433);
var v2 = amp * Math.cos(freq * 2 * t * 0.0174532925199433);
if (b.x) {
what._x = what.motoX - v3;
}
if (b.y) {
what._y = what.motoY - v2;
}
}
};
}
}
function tintF(what, color, alpha) {
if (alpha == undefined) {
alpha = 100;
}
var v1 = hexToRGB(color);
var v2 = new Color(what);
v2.setTint(v1[0], v1[1], v1[2], alpha);
}
function unTintF(what) {
var v1 = new Color(what);
v1.setTint(0, 0, 0, 0);
v1.removeTint();
}
function hexToRGB(hex) {
r = hex >> 16;
temp = hex ^ r << 16;
g = temp >> 8;
b = temp ^ g << 8;
return [r, g, b];
}
function panAllF(time) {
var v5 = time;
if (v5 == undefined) {
v5 = 15;
}
var v4 = -(bg._width - screenWidth);
if (bg._x < 0) {
v4 = -v4;
}
pan2F('bg', v4, 0, v5);
var v1 = 0;
while (v1 < foregroundObjectsA.length) {
var v3 = foregroundObjectsA[v1].who;
var v2 = foregroundObjectsA[v1];
pan2F(v3, v4 / (1 + v2.zoom * 1.5), 0, v5);
++v1;
}
parseNextF();
}
function panF(target, xDistance, yDistance, seconds, tweenType) {
pan2F(target, xDistance, yDistance, seconds, tweenType);
parseNextF();
}
function pan2F(target, xDistance, yDistance, seconds, tweenType) {
seconds = int(seconds * fps);
if (tweenType == undefined or tweentype == 'sine') {
tweenType = 'easeInOutSine';
} else {
if (tweenType == 'linear') {
tweenType = 'linearTween';
} else {
if (tweenType == 'quint') {
tweenType = 'easeInOutQuint';
}
}
}
tweenType = this[tweenType];
var v3 = transitions[target];
if (v3 != undefined) {
v3.targ._x = v3.targ.x;
v3.targ._y = v3.targ.y;
delete v3.onEnterFrame;
removeMovieClip(v3);
}
if (target == 'bg') {
var targ = bg;
} else {
if (target == 'lensflare') {
g = effects.lensflare.mover;
var targ = g;
} else {
var targ = foregroundObjects[target];
}
}
if (skipping) {
targ.x += xDistance;
targ._x = targ.x;
targ.y += yDistance;
targ._y = targ.y;
} else {
d = transitions.getNextHighestDepth();
var v2 = transitions.createEmptyMovieClip(target, d);
v2.targ = targ;
v2.targ.x += xDistance;
v2.targ.y += yDistance;
v2.t = 0;
v2.motoX = v2.targ._x;
v2.motoY = v2.targ._y;
v2.xDist = xDistance;
v2.yDist = yDistance;
v2.dur = seconds;
v2.onEnterFrame = function () {
if (!gamePaused) {
++this.t;
this.targ._x = tweenType(this.t, this.motoX, this.xDist, this.dur);
this.targ._y = tweenType(this.t, this.motoY, this.yDist, this.dur);
if (this.t >= this.dur) {
this.targ._x = this.motoX + this.xDist;
this.targ._y = this.motoY + this.yDist;
if (this.remove) {
}
removeMovieClip(this);
delete this.onEnterFrame;
}
}
};
}
}
function highlightChoiceF(order) {
var v1 = 0;
while (v1 < choiceBoxA.length) {
if (order != v1) {
choiceBoxA[v1].prevFrame();
choiceBoxA[v1].theText.htmlText = choiceBoxA[v1].choiceText;
}
++v1;
}
playSystemSoundF('buttonUp');
choiceBoxA[order].nextFrame();
choiceBoxA[order].theText.htmlText = choiceBoxA[order].choiceText;
currentlySelected = order;
}
function selectChoiceF(what, txt) {
if (outOfMenuIntoGame) {
registerInLog(txt, 'choice');
}
playSystemSoundF('buttonUp');
variables['choice' + what] = true;
removeMovieClip(choiceMC);
parser = what;
parseNextF();
}
function otherwiseF() {
var v2 = ifNests;
while (!false) {
++parser;
var v1 = parsing['s' + parser][0];
if (v1 == undefined) {
break;
}
if (v1 == 'whatIf') {
++v2;
} else {
if (v2 == ifNests) {
if (v1 == 'endIf') {
--ifNests;
break;
}
} else {
if (v1 == 'endIf') {
--v2;
}
}
}
}
parseNextF();
}
function passF() {
parseNextF();
}
function elseIfF(conditional) {
otherwiseF();
}
function endIfF(conditional) {
--ifNests;
parseNextF();
}
function evaluateConditionalF(cond) {
var v14 = false;
var v12 = [];
var v16 = 'or';
var v15 = cond.split('||');
if (v15.length < 2) {
v15 = cond.split('&&');
v16 = 'and';
v14 = true;
}
var v11 = 0;
while (v11 < v15.length) {
var v1 = v15[v11];
var v3 = false;
var v9 = variables;
if (v1.indexOf('permanent.') != -1) {
v9 = generalSave.permanentVariables;
v1 = v1.substr(v1.indexOf('.') + 1);
}
if (v1.indexOf('cheats.') != -1) {
v9 = activatedCheats;
v1 = v1.substr(v1.indexOf('.') + 1);
}
if (v1 == '') {
v3 = true;
} else {
if (v1 == 'commentary') {
if (generalSave.commentary) {
v3 = true;
}
} else {
if (v1 == 'premium') {
v3 = true;
} else {
if (v1 == 'isPremium') {
premiumPatron = true;
if (premiumPatron) {
v3 = true;
}
} else {
if (v1 == 'isPremiumPlus') {
premiumPlusPatron = true;
if (premiumPlusPatron) {
v3 = true;
}
} else {
if (v1 == 'autoSaveExists') {
var v13 = checkWhichSave(basicGameData.gameFile, 'autoSave');
if (v13 != undefined) {
v3 = true;
}
} else {
if (v1 == 'showPatreon') {
if (!dontShowPatreon) {
v3 = true;
}
} else {
if (v1 == 'continueCheck') {
var v13 = checkWhichSave(basicGameData.gameFile, 'autoSave');
if (v13 != undefined) {
v3 = true;
}
} else {
if (v1.substr(0, 1) == '!') {
if (!v9[v1.substr(1, v1.length)]) {
v3 = true;
}
} else {
if (v1.indexOf('=') == -1 && v1.indexOf('>') == -1 && v1.indexOf('<') == -1) {
if (v9[v1]) {
v3 = true;
}
} else {
var v2 = '';
var v6 = '';
var v4 = '';
var v7 = ['>=', '<=', '==', '<', '>', '!=', '='];
var v5 = 0;
while (v5 < v7.length) {
var v8 = v1.indexOf(v7[v5]);
if (v8 != -1) {
v4 = v1.substr(0, v8);
v4 = v9[v4];
v6 = v1.substr(v8 + v7[v5].length, v1.length);
v2 = v7[v5];
v5 = v7.length;
if (v2 == '<' or v2 == '<=' or v2 == '>' or v2 == '>=') {
if (isNaN(Number(v4))) {
v4 = 0;
}
if (isNaN(Number(v6))) {
v6 = 0;
}
}
}
++v5;
}
if (v2 == '') {
} else {
if (v2 == '<') {
if (v4 < v6) {
v3 = true;
}
} else {
if (v2 == '>') {
if (v4 > v6) {
v3 = true;
}
} else {
if (v2 == '>=') {
if (v4 >= v6) {
v3 = true;
}
} else {
if (v2 == '<=') {
if (v4 <= v6) {
v3 = true;
}
} else {
if (v2 == '=' or v2 == '==') {
if (v4 == v6) {
v3 = true;
}
} else {
if (v2 == '!=') {
if (v4 != v6) {
v3 = true;
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
}
v12.push(v3);
++v11;
}
var v10 = 0;
while (v10 < v12.length) {
if (v16 == 'and') {
if (!v12[v10]) {
v14 = false;
}
} else {
if (v16 == 'or') {
if (v12[v10]) {
v14 = true;
}
}
}
++v10;
}
return v14;
}
function whatIfF(conditional) {
var v4 = false;
++ifNests;
v4 = evaluateConditionalF(conditional);
if (v4) {
parseNextF();
} else {
var v2 = 0;
var v3 = 0;
while (!false) {
++parser;
var v1 = parsing['s' + parser][0];
if (v2 == 0) {
if (v1 == 'elseIf') {
--ifNests;
whatIfF(parsing['s' + parser][1]);
break;
} else {
if (v1 == 'otherwise') {
parseNextF();
break;
} else {
if (v1 == 'endIf') {
--ifNests;
parseNextF();
break;
}
}
}
}
if (v1 == 'whatIf') {
++v2;
} else {
if (v1 == 'endIf') {
--v2;
}
}
++v3;
if (v3 > 900) {
break;
}
}
}
}
function incrementVariableF(variable, amount) {
if (amount == undefined) {
amount = 1;
}
if (variables[variable] == undefined) {
variables[variable] = amount;
} else {
variables[variable] += amount;
}
parseNextF();
}
function setVariableF(variable, amount) {
setVariable2F(variable, amount);
parseNextF();
}
function setVariable2F(variable, amount) {
if (amount == undefined) {
amount = true;
}
if (variable.indexOf('permanent.') != -1) {
variable = variable.substr(variable.indexOf('.') + 1);
generalSave.permanentVariables[variable] = amount;
} else {
if (amount.slice(0, 1) == '$') {
variables[variable] = variables[amount.slice(1)];
} else {
variables[variable] = amount;
}
}
}
function changeStringF(variable, doWhat, a, b) {
if (doWhat == 'remove') {
variables[variable] = replaceInString(variables[variable], a, '');
}
parseNextF();
}
function startGameAndJumpF(label) {
outOfMenuIntoGame = true;
Key.removeListener(cheatListener);
jumpF(label);
}
function removeNoticeDialogueF() {
var v1 = getInstanceAtDepth(dialogueLayer);
v1._visible = true;
noticeDialogueActive = false;
removeMovieClip(getInstanceAtDepth(noticeDialogueLayer));
}
function noticeDialogueF(d, a) {
currentlySelected = -1;
highlightChoiceF(currentlySelected);
if (d == 'premium') {
var v16 = 'PREMIUM CONTENT UNAVAILABLE';
var v17 = 'Premium choices lead to bonus content/branches/routes (that are not necessary to reach the end of the game). They are only available to those of our patrons who have pledged $5 (or more) to support us developing games like this one. If you would like to become a patron, please <a href=\'' + patreonURL + '\'>click here</a> (link opens in a new window).';
var v18 = 'If you choose to become a premium patron you can access the premium content immediately if you follow the instructions after pledging - you won\'t even have to restart the game. ';
var v4 = ['Return', 'Support us on Patreon'];
var types = ['ok', 'patreon'];
} else {
if (d == 'noScript') {
var v16 = 'SCRIPT ERROR';
var v17 = 'Script missing or malformed. Did you extract all files?';
var v4 = ['Return'];
var types = ['ok'];
} else {
if (d == 'savefileParserError') {
var v16 = 'SAVE FILE ERROR';
var v17 = 'Something\'s gone wrong loading the saved game: "Savefile has no defined parser"';
var v4 = ['Return'];
var types = ['ok'];
} else {
if (d == 'undefinedError') {
var v16 = 'UNDEFINED ERROR';
var v17 = 'Something\'s gone wrong.';
var v4 = ['Return'];
var types = ['ok'];
} else {
if (d == 'ending' || d == 'allEndingsJustNow') {
var v16 = 'ENDING: ' + a;
var v8 = '';
var v10 = ' Please consider <a href=\'' + patreonURL + '\'>supporting us on Patreon</a>.';
var types = ['restart', 'patreon'];
if (d == allEndingsJustNow) {
v8 = ' Congratulations! You can now play the game with commentary from the authors of the game (see the "Options" screen).';
}
if (patreonPledger) {
v10 = ' Thank you for pledging to support us on <a href=\'' + patreonURL + '\'>Patreon</a>! Without your support, we couldn\'t go on.';
}
var v17 = 'You\'ve unlocked ' + generalSave.endingsA.length + ' out of ' + allUniqueEndings.length + ' endings.' + v8 + ' Thank you for playing!' + v10;
var v4 = ['Main menu', 'Support us on Patreon'];
}
}
}
}
}
var options = types.length;
a = getInstanceAtDepth(dialogueLayer);
a._visible = false;
noticeDialogueActive = true;
this.createEmptyMovieClip('nd', noticeDialogueLayer);
nd.types = types;
nd.options = options;
var v3 = nd.attachMovie('noticeDialogue', 'nd', 1);
v3.head.htmlText = v16;
v3.main.html = true;
v3.main.htmlText = v17;
var v6 = new TextField.StyleSheet();
v6.setStyle('a:link', {'color': '#FF8774', 'textDecoration': 'none'});
v6.setStyle('a:hover', {'color': '#CCCCCC', 'textDecoration': 'none'});
v3.main.styleSheet = v6;
false;
var v9 = v3.main.bottomScroll;
var v13 = 232;
var v11 = 81;
var v12 = 8;
v3.body._height = v11 + (v13 - v11) * ((v9 - 2) / (v12 - 2));
v3.main._height -= (v12 - v9) * 20;
var v14 = v3.head.bottomScroll;
if (v14 == 2) {
v3.body._height += v3.head._height / 2;
v3.main._y += v3.head._height / 2;
}
var i = 0;
while (i < options) {
var v2 = nd.attachMovie('noticeDialogueChoice', 'choice' + (i + 1), 2 + i, {'_y': v3.body._height});
v2._y += nd.choice1._height * i;
v2.stop();
v2.i = i;
v2.main.htmlText = v4[i];
v2.onRollOver = function () {
playSystemSoundF('buttonUp');
nd['choice' + nd.currentlySelected].prevFrame();
nd.currentlySelected = this.i + 1;
this.nextFrame();
};
v2.onPress = function () {
var v2 = nd.types[this.i];
playSystemSoundF('buttonUp');
if (v2 == 'ok') {
removeNoticeDialogueF();
} else {
if (v2 == 'patreon') {
url2F(patreonURL);
} else {
if (v2 == 'restart') {
removeNoticeDialogueF();
restartF();
}
}
}
};
++i;
}
nd.attachMovie('noticeDialogueBottom', 'bottom', 15, {'_y': v3.body._height + nd.choice1._height * options});
nd.currentlySelected = 0;
nd.onEnterFrame = function () {
if (nd.hidden) {
if (myKeys.ENTER or myKeys.SPACE) {
dialogueHiderF();
}
} else {
if (this.currentlySelected >= 1 && (myKeys.ENTER or myKeys.SPACE)) {
playSystemSoundF('buttonUp');
var v2 = this.types[this.currentlySelected - 1];
if (v2 == 'ok') {
removeNoticeDialogueF();
} else {
if (v2 == 'patreon') {
url2F(patreonURL, '_blank');
} else {
if (v2 == 'restart') {
removeNoticeDialogueF();
restartF();
}
}
}
}
if (myKeys.DOWN) {
playSystemSoundF('buttonUp');
if (this.currentlySelected < this.options) {
this['choice' + this.currentlySelected].prevFrame();
++this.currentlySelected;
this['choice' + this.currentlySelected].nextFrame();
}
} else {
if (myKeys.UP) {
playSystemSoundF('buttonUp');
if (this.currentlySelected >= 0) {
this['choice' + this.currentlySelected].prevFrame();
if (this.currentlySelected <= 1) {
this.currentlySelected = 1;
} else {
--this.currentlySelected;
}
this['choice' + this.currentlySelected].nextFrame();
}
}
}
}
};
nd._x = screenWidth / 2 - nd._width / 2;
nd._y = screenHeight / 2 - nd._height / 2;
}
function attachChoiceF(choiceA, style, xPos, yPos, rot) {
this.createEmptyMovieClip('choiceMC', dialogueLayer);
choiceMC.style = style;
var premiumChoices = new Object();
choiceBoxA = new Array();
var v15 = 0;
var v16 = 0;
choiceMC.minusY = 0;
var v6 = 0;
while (v6 < choiceA.length) {
var v13 = parsing['s' + choiceA[v6]][2];
var v11 = style;
var v20 = false;
if (v13.slice(0, 7) == 'premium') {
premiumChoices['choice' + v6] = true;
v11 = 'Premium';
v20 = true;
}
var v2 = choiceMC.attachMovie('choiceBox' + v11, 'choiceBox' + v6, v6 + 1);
v2.stop();
v2.premium = v20;
var v9 = v2.body._height;
v16 += v9;
if (v9 == undefined) {
v9 = v2._height;
}
v2._y = v15 + v6 * v9;
v2._x = 0;
choiceBoxA.push(v2);
v2.choiceText = parsing['s' + choiceA[v6]][1];
var v7 = true;
while (v7) {
var v4 = v2.choiceText.indexOf('$');
if (v4 == -1) {
v7 = false;
} else {
var v3 = v4 + 1;
while (v3 <= v2.choiceText.length) {
char3 = v2.choiceText.slice(v3, v3 + 1);
if (char3 == '$' or char3 == '@' or v3 == currentLine.length) {
var v5 = v3;
v3 = Infinity;
}
++v3;
}
if (v3 != Infinity) {
v7 = false;
} else {
var v8 = variables[v2.choiceText.slice(v4 + 1, v5)];
if (v8 != undefined && v5 != undefined) {
v2.choiceText = v2.choiceText.slice(0, v4) + v8 + v2.choiceText.slice(v5 + 1);
}
}
}
}
v2.theText.htmlText = v2.choiceText;
var v10 = v2.theText.bottomScroll;
v2.body.gotoAndStop(v10);
var v12 = 4;
var v14 = v2._height / v12;
choiceMC.minusY = (v12 - v10) * v14;
v15 += v2.body._height - v9;
v2.i = v6;
v2.body.onRollOver = function () {
highlightChoiceF(this._parent.i);
};
v2.body.onPress = function () {
if (!this._parent.premium || this._parent.premium && premiumPatron) {
selectChoiceF(choiceA[this._parent.i], this._parent.choiceText);
} else {
noticeDialogueF('premium');
}
};
++v6;
}
if (rot != undefined) {
choiceMC._rotation = rot;
}
if (!isNaN(Number(yPos))) {
choiceMC._y = yPos;
} else {
if (yPos == 'hanging') {
choiceMC._y = int(screenHeight / 2 - 60 - (choiceMC._height - choiceMC.minusY) / 2);
} else {
if (yPos == 'middle') {
choiceMC._y = int(screenHeight / 2 - (choiceMC._height - choiceMC.minusY) / 2);
} else {
if (yPos == 'almostBottom') {
choiceMC._y = screenHeight - (v16 + 20);
} else {
if (yPos == 'bottom') {
choiceMC._y = screenHeight - v16;
}
}
}
}
}
if (!isNaN(Number(xPos))) {
choiceMC._x = xPos;
} else {
if (xPos == 'middle') {
choiceMC._x = (screenWidth - choiceMC._width) / 2;
} else {
if (xPos == 'left') {
choiceMC._x = 10;
} else {
if (xPos == 'right') {
choiceMC._x = screenWidth - (choiceMC._width + 10);
}
}
}
}
resizeAndReplaceF();
if (lastAction == 'key') {
highlightChoiceF(0);
} else {
currentlySelected = -1;
}
choiceMC.onEnterFrame = function () {
if (!gamePaused && !noticeDialogueActive) {
if (currentlySelected >= 0 && (myKeys.ENTER or myKeys.SPACE)) {
var v1 = premiumChoices['choice' + currentlySelected];
playSystemSoundF('select');
if (!v1 || v1 && premiumPatron) {
selectChoiceF(choiceA[currentlySelected], choiceMC['choiceBox' + currentlySelected].choiceText);
} else {
noticeDialogueF('premium');
}
}
if (myKeys.DOWN) {
if (currentlySelected < choiceBoxA.length - 1) {
++currentlySelected;
}
highlightChoiceF(currentlySelected);
} else {
if (myKeys.UP) {
if (currentlySelected > 0) {
--currentlySelected;
} else {
if (currentlySelected == -1) {
currentlySelected = 0;
}
}
highlightChoiceF(currentlySelected);
}
}
}
};
}
function sceneClipF(clip, playOnceBeforeParseNext) {
removeMovieClip(bg);
bg = gw.createEmptyMovieClip('bg', bgLayer);
var c = bg.attachMovie(clip, 'clip', bg.getNextHighestDepth());
c.stop();
c.onEnterFrame = function () {
if (c._currentframe == c._totalframes or !outOfMenuIntoGame && (myKeys.SPACE or mouseClick or myKeys.ENTER)) {
c.gotoAndStop(c._totalframes);
delete this.onEnterFrame;
parseNextF();
} else {
c.nextFrame();
}
};
}
function addToCgF(b, method, time, dontFireOffParseNext, otherBg, checkAgain, addedThroughCheat) {
var v6 = b;
var v12 = 'whothefuckisit?';
var v9 = b.split('_');
var v5 = 0;
while (v5 < v9.length) {
var v2 = 0;
while (v2 < characterDataA.length) {
if (v9[v5] == characterDataA[v2].image) {
v12 = v9[v5];
v5 = v9.length;
v2 = characterDataA.length;
}
++v2;
}
++v5;
}
var v22 = false;
var v20 = findCGBase(v6);
var v7 = checkAgainstRules(v6, v12);
var v3 = v7.deets;
while (v7.replace) {
var v4 = 0;
while (v4 < v3.length) {
var v8 = v3[v4];
if (v8[0] == 'replace') {
v6 = replaceInString(v6, v8[1], v8[2]);
v7 = checkAgainstRules(v6, v12);
}
++v4;
}
}
if (v7.skipIt) {
if (method == undefined && !dontFireOffParseNext) {
parseNextF();
}
} else {
if (v7.newGraphicBefore) {
var v28 = false;
var v18 = new Object();
var v19 = new Object();
var v11 = 0;
while (v11 < v3.length) {
v8 = v3[v11];
if (v8[0] == 'newGraphicBefore' && !v19[v8[2]] && checkAgain != v8[2]) {
v19[v8[2]] = true;
addToCgF(v20 + v8[2], method, time, dontFireOffParseNext, otherBg, v8[2], true);
v22 = true;
}
++v11;
}
} else {
v22 = true;
}
}
if (v22) {
var v29 = true;
var v21 = bg;
if (otherBg != undefined) {
v21 = otherBg;
}
if (time == undefined) {
time = 0.6;
}
time = int(time * fps);
var v13 = loadBitmapF(v6 + '.png');
if (v13 == undefined) {
v13 = loadBitmapF('cg_' + v6 + '.png');
}
if (v7.changeColor) {
var v11 = 0;
while (v11 < v3.length) {
v8 = v3[v11];
if (v8[0] == 'changeColor') {
var v16 = new flash.filters.ColorMatrixFilter(v8[1]);
v13.applyFilter(v13, v13.rectangle, new flash.geom.Point(0, 0), v16);
}
++v11;
}
}
if (!addedThroughCheat) {
v21.addedCgA.push(b);
}
if (method != 'fade') {
} else {
if (method == 'fade') {
checkIfNextFewItemsAreAddToCg(true);
var v23 = gw.createEmptyMovieClip('fadeDealer', pixelDealerLayer);
var v25 = loadBitmapF(v21.backgroundContainer.image);
v25.draw(v21.backgroundContainer.imageBmp);
v23.attachBitmap(v25, 1);
var v27 = screenHeight / v21.heightStretchToFit;
v23._yscale = 100 * v27;
v23._xscale = v23._yscale;
v23.t = 0;
v23.t2 = 0;
v23.onEnterFrame = function () {
if (!gamePaused) {
if (this.t == 0) {
++this.t2;
this._alpha = easeInOutSine(this.t2, 100, -100, time);
if (this._alpha <= 0) {
this.t = 1;
}
} else {
if (this.t == 1) {
this.t = 2;
removeMovieClip(this);
delete this.onEnterFrame;
if (!dontFireOffParseNext) {
parseNextF();
}
}
}
}
};
}
}
if (v21.xFlipped) {
var v24 = new flash.geom.Matrix();
v24.scale(-1, 1);
v24.translate(v21.backgroundContainer.xFlippedBmp.width, 0);
v21.backgroundContainer.xFlippedBmp.draw(v13, v24);
} else {
v21.backgroundContainer.imageBmp.draw(v13);
}
if (v6.indexOf('exp') != -1 && v7.expTop.length > 0) {
var v10 = 0;
while (v10 < v7.expTop.length) {
if (checkAgain != v7.expTop[v10]) {
addToCgF(v6 + '_' + v7.expTop[v10], method, time, dontFireOffParseNext, otherBg, v7.expTop[v10], true);
}
++v10;
}
}
v11 = v3.length - 1;
while (v11 >= 0) {
v8 = v3[v11];
if (v8[0] == 'newGraphicAfter' && !storedv18[v8[2]] && checkAgain != v8[2]) {
storedv18[v8[2]] = true;
addToCgF(v20 + v8[2], method, time, dontFireOffParseNext, otherBg, v8[2], true);
}
--v11;
}
if (method == undefined && !dontFireOffParseNext) {
parseNextF();
}
}
}
function findCGBase(cgname) {
var v5 = new Array();
var v1 = 0;
while (v1 < CGBasesForCheats.length) {
var v2 = CGBasesForCheats[v1];
var v3 = cgname.indexOf(v2);
if (v3 != -1) {
v5 = cgname.slice(0, v2.length + 1);
break;
}
++v1;
}
return v5;
}
function replaceInString(originalPhrase, partToBeReplaced, partToDoTheReplacing) {
var v1 = originalPhrase.indexOf(partToBeReplaced);
var v3 = originalPhrase;
if (v1 != -1) {
v3 = originalPhrase.slice(0, v1) + partToDoTheReplacing + originalPhrase.slice(v1 + partToBeReplaced.length);
}
return v3;
}
function addBg(b, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, temp, forScreenshot) {
if (xFlipped) {
} else {
xFlipped = false;
}
if (yFlipped) {
} else {
yFlipped = false;
}
var v13 = 2;
var v1 = bg;
if (forScreenshot) {
v1 = crap.createEmptyMovieClip('bg', crap.getNextHighestDepth());
} else {
if (!temp) {
removeMovieClip(v1);
v1 = gw.createEmptyMovieClip('bg', bgLayer);
} else {
var v8 = v1.getNextHighestDepth();
var v19 = v1.getInstanceAtDepth(v8 - 1);
var v4 = v8 - 2;
while (v4 >= 0) {
var v3 = v1.getInstanceAtDepth(v4);
if (v3 != undefined) {
removeMovieClip(v3);
}
--v4;
}
v13 = v8;
}
}
v1.xFlipped = xFlipped;
v1.yFlipped = yFlipped;
var v2 = v1.createEmptyMovieClip('container' + v13, v13);
v1.backgroundContainer = v2;
if (!forScreenshot) {
currentBackground = b;
}
v1.addedCgA = new Array();
var v5 = b + '.png';
v2.imageBmp = loadBitmapF(v5);
if (v2.imageBmp == undefined) {
v5 = 'bg_' + b + '.png';
v2.imageBmp = loadBitmapF(v5);
}
if (v2.imageBmp == undefined) {
v5 = 'cg_' + b + '.png';
v2.imageBmp = loadBitmapF(v5);
}
v2.image = v5;
if (v2.imageBmp == undefined) {
v2.attachMovie(b, 'bg', 1);
if (xFlipped) {
v2.bg._xscale = -v2.bg._xscale;
v2.bg._x = v2.bg._width;
}
} else {
if (xFlipped || yFlipped) {
var v11 = new flash.geom.Matrix();
var v18 = 1;
var v17 = 1;
var v15 = 0;
var v16 = 0;
if (xFlipped) {
v18 = -1;
v15 = v2.imageBmp.width;
}
if (yFlipped) {
v17 = -1;
v16 = v2.imageBmp.height;
}
v11.scale(v18, v17);
v11.translate(v15, v16);
v2.xFlippedBmp = new flash.display.BitmapData(v2.imageBmp.width, v2.imageBmp.height, true, 0);
v2.xFlippedBmp.draw(v2.imageBmp, v11);
v2.imageBmp.dispose();
v2.attachBitmap(v2.xFlippedBmp, 1, auto, true);
} else {
v2.attachBitmap(v2.imageBmp, 1, auto, true);
}
}
if (heightStretchToFit == undefined) {
heightStretchToFit = v2._height;
}
v1.heightStretchToFit = heightStretchToFit;
var v20 = screenHeight / heightStretchToFit;
v2._yscale = 100 * v20;
v2._xscale = v2._yscale;
if (yPos != undefined) {
if (yPos == 'bottom') {
yPos = screenHeight - v1._height;
}
v1._y = yPos;
v1.y = v1._y;
} else {
if (newScene) {
v1._y = 0;
v1.y = 0;
}
}
if (xPos != undefined && xPos != '') {
if (xPos == 'right') {
xPos = screenWidth - v1._width;
} else {
if (xPos == 'center') {
xPos = int((screenWidth - v1._width) / 2);
}
}
v1._x = xPos;
v1.x = v1._x;
} else {
if (newScene) {
v19._x += v1._x;
v1._x = 0;
v1.x = 0;
}
}
if (forScreenshot) {
return v1;
} else {
return v2;
}
}
function calculateF(variable, expression, integer) {
var v7 = '';
var v2 = '';
var v1 = '';
var v8 = '';
var v4 = ['+', '-', '/', 'x', '*'];
var v3 = 0;
while (v3 < v4.length) {
var v5 = expression.indexOf(v4[v3]);
if (v5 != -1) {
v2 = expression.substr(0, v5);
if (isNaN(Number(v2))) {
v2 = variables[v2];
if (isNaN(Number(v2))) {
v2 = 0;
}
}
v2 = Number(v2);
v7 = v4[v3];
v1 = expression.substr(v5 + v4[v3].length, expression.length);
if (isNaN(Number(v1))) {
v1 = variables[v1];
if (isNaN(Number(v1))) {
v1 = 0;
}
}
v1 = Number(v1);
v3 = v4.length;
}
++v3;
}
if (v7 == '') {
v8 = expression;
} else {
if (v7 == '+') {
v8 = v2 + v1;
} else {
if (v7 == '-') {
v8 = v2 - v1;
} else {
if (v7 == '/') {
v8 = v2 / v1;
} else {
if (v7 == '*' or v7 == 'x') {
v8 = v2 * v1;
}
}
}
}
}
if (integer) {
v8 = int(v8);
}
variables[variable] = v8;
parseNextF();
}
function fadeF(newBg, newScene, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext) {
var v2 = addBg(newBg, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, true);
checkIfNextFewItemsAreAddToCg(false);
time = int(time * fps);
var v3 = pixelDealerLayer;
if (!newScene) {
v3 = pixelBehindDealerLayer;
}
fadeDealer = gw.createEmptyMovieClip('fadeDealer', v3);
if (xPos != undefined or yPos != undefined) {
}
v2._alpha = 0;
fadeDealer.targ = v2;
fadeDealer.t = 0;
fadeDealer.t2 = 0;
fadeDealer.onEnterFrame = function () {
if (!gamePaused) {
if (this.t == 0) {
if (!outOfMenuIntoGame && (myKeys.SPACE or mouseClick or myKeys.ENTER)) {
this.t = 1;
this.targ._alpha = 100;
} else {
++this.t2;
this.targ._alpha = int(easeInOutSine(this.t2, 0, 100, time));
if (this.targ._alpha >= 100) {
this.t = 1;
}
}
} else {
if (this.t == 1) {
if (newScene && !dontFireParseNext) {
addBg(newBg, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit);
checkIfNextFewItemsAreAddToCg(true);
}
this.t = 2;
removeMovieClip(this);
delete this.onEnterFrame;
if (newScene && !dontFireParseNext) {
parseNextF();
}
}
}
}
};
}
function colorFadeF(newBg, color, newScene, time, xFlipped, yFlipped, xPos, yPos, heightStretchToFit, dontFireParseNext) {
time = int(time * fps);
var layer = pixelDealerLayer;
if (!newScene) {
layer = pixelBehindDealerLayer;
}
fadeDealer = gw.createEmptyMovieClip('fadeDealer', layer);
fadeDealer._alpha = 0;
fadeDealer.pseudoAlpha = 0;
fadeDealer.t = 0;
fadeDealer.incrementAlpha = (100 / time) * 2;
var c = 0;
if (color == 'black') {
} else {
if (color == 'white') {
var c = 16777215;
}
}
with (fadeDealer) {
beginFill(c);
moveTo(-500, -500);
lineTo(screenWidth + 500, -500);
lineTo(screenWidth + 500, screenHeight + 500);
lineTo(-500, screenHeight + 500);
lineTo(-500, -500);
endFill();
}
fadeDealer.onEnterFrame = function () {
if (!gamePaused) {
if (this.t == 0) {
if (skipping) {
this.t = 1;
}
if (!outOfMenuIntoGame && (myKeys.SPACE or mouseClick or myKeys.ENTER)) {
this.t = 1;
this._alpha = 100;
this.pressed = true;
} else {
this.pseudoAlpha += this.incrementAlpha;
this._alpha = int(this.pseudoAlpha);
if (this._alpha >= 100) {
this.t = 1;
}
}
} else {
if (this.t == 1) {
if (newScene) {
removeAllChars2F();
}
addBg(newBg, newScene, xFlipped, yFlipped, xPos, yPos, heightStretchToFit);
checkIfNextFewItemsAreAddToCg(true);
this.t = 2;
} else {
if (this.t == 2) {
this.pseudoAlpha -= this.incrementAlpha;
this._alpha = int(this.pseudoAlpha);
if (this._alpha <= 0 or this.pressed or skipping) {
removeMovieClip(this);
delete this.onEnterFrame;
if (newScene && !dontFireParseNext) {
parseNextF();
}
}
}
}
}
}
};
}
function checkIfNextFewItemsAreAddToCg(parsePlus) {
var v3 = parser;
var v2 = true;
while (v2) {
++v3;
var v1 = parsing['s' + v3];
if (v1[0] == 'addToCg' && v1[2] != 'fade') {
addToCgF(v1[1], x, x, true);
if (parsePlus) {
++parser;
}
} else {
if (v1[0] == 'screenEffect' && v1[1] == 'lensflare' || v1[0] == 'item') {
parseNextF(true);
} else {
v2 = false;
}
}
}
}
function pixellateF(newBg, xFlipped, yFlipped, xPos, yPos) {
this.createEmptyMovieClip('pixelDealer', pixelDealerLayer);
pixelDealer.t = 10000;
pixelDealer.f = 1;
pixelDealer.scaler = 0;
scaleA = [0.5, 0.3, 0.2, 0.1, 0.05, 0.02, 0.01, 0.002];
pixelDealer.onEnterFrame = function () {
if (!gamePaused) {
++this.t;
if (this.t >= 2) {
this.t = 0;
if (this.f == 1) {
pixellyF(scaleA[this.scaler]);
++this.scaler;
if (this.scaler == scaleA.length) {
addBg(newBg, true, xFlipped);
this.f = 2;
this.scaler -= 2;
}
} else {
if (this.f == 2) {
pixellyF(scaleA[this.scaler]);
--this.scaler;
if (this.scaler < 0) {
bg.container._yscale = 100;
bg.container._xscale = 100;
this.f = 3;
removeMovieClip(pix);
}
} else {
if (this.f >= 3) {
++this.f;
if (this.f == 8) {
removeMovieClip(this);
delete this.onEnterFrame;
parseNextF();
}
}
}
}
}
}
};
}
function pixellyF(scale) {
removeMovieClip(this.getInstanceAtDepth(pixellationLayer));
this.createEmptyMovieClip('pix', pixellationLayer);
bg.container._yscale = 100 * scale;
bg.container._xscale = bg.container._yscale;
myBitmap = new flash.display.BitmapData(screenWidth * scale, screenHeight * scale, false, 16777215);
myBitmap.draw(bg);
pix.attachBitmap(myBitmap, 5);
pix._width = screenWidth;
pix._height = screenHeight;
}
function unactivateCheat(ch) {
ch.activated = false;
var v1 = ch.effect;
activatedCheats[v1] = false;
variables[v1] = false;
}
function activateCheat(ch) {
var v3 = ch.effect;
ch.activated = true;
activatedCheats[v3] = true;
variables[v3] = true;
notificationF('Cheat: "' + v3 + '" activated.');
if (ch.incompat != undefined) {
var v1 = 0;
while (v1 < ch.incompat.length) {
unactivateCheat(cheatsO[ch.incompat[v1]]);
++v1;
}
}
cheatstring = '';
if (v3 == 'unlockAllCgs') {
v1 = 0;
while (v1 < allCgs.length) {
generalSave.unlockedCg[allCgs[v1].base[0]] = true;
++v1;
}
}
}
function regCheat(cheat, effect, minPledge, desc, incompat) {
cheatsO[effect] = new Object();
var v2 = cheatsO[effect];
cheatsO[effect].cheat = cheat;
cheatsO[effect].effect = effect;
cheatsO[effect].minPledge = minPledge;
cheatsO[effect].desc = desc;
cheatsO[effect].activated = false;
cheatsO[effect].incompat = incompat;
cheats.push(v2);
}
function adjustHue(angle, returnAsFinishedFilter) {
angle *= 0.0174532925199433;
var v1 = Math.cos(angle);
var v2 = Math.sin(angle);
var v5 = 0.213;
var v4 = 0.715;
var v3 = 0.072;
var v6 = Array(v5 + v1 * (1 - v5) + v2 * -v5, v4 + v1 * -v4 + v2 * -v4, v3 + v1 * -v3 + v2 * (1 - v3), 0, 0, v5 + v1 * -v5 + v2 * 0.143, v4 + v1 * (1 - v4) + v2 * 0.14, v3 + v1 * -v3 + v2 * -0.283, 0, 0, v5 + v1 * -v5 + v2 * -(1 - v5), v4 + v1 * -v4 + v2 * v4, v3 + v1 * (1 - v3) + v2 * v3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1);
if (returnAsFinishedFilter) {
var v7 = new flash.filters.ColorMatrixFilter(v6);
return v7;
}
v7 = v6;
return v7;
}
function adjustSaturation(s, returnAsFinishedFilter) {
var v3 = 1 - s;
var v8 = 0.212671;
var v10 = 0.71516;
var v7 = 0.072169;
var v4 = v3 * v8;
var v1 = v3 * v10;
var v2 = v3 * v7;
var v6 = Array(v4 + s, v1, v2, 0, 0, v4, v1 + s, v2, 0, 0, v4, v1, v2 + s, 0, 0, 0, 0, 0, 1, 0);
if (returnAsFinishedFilter) {
var v9 = new flash.filters.ColorMatrixFilter(v6);
return v9;
}
v9 = v6;
return v9;
}
Stage.scaleMode = 'noScale';
Stage.displayState = 'fullScreen';
screenWidth = 1024;
screenHeight = 576;
var myListener = new Object();
myListener.onResize = function () {
resizeAndReplaceF();
};
Stage.addListener(myListener);
Object.prototype.clone = function () {
if (this instanceof Array) {
var v2 = [];
var v3 = 0;
while (v3 < this.length) {
v2[v3] = (typeof this[v3] == 'object') ? this[v3].clone() : this[v3];
++v3;
}
return v2;
}
if (this instanceof Date) {
v2 = new Date(this.getTime());
return v2;
}
if (this instanceof XML || this instanceof MovieClip) {
v2 = null;
return v2;
}
v2 = {};
for (v3 in this) {
v2[v3] = (typeof this[v3] == 'object') ? this[v3].clone() : this[v3];
}
return v2;
};
ASSetPropFlags(Object.prototype, ['clone'], 1);
Color.prototype.setTint = function (r, g, b, amount) {
var v4 = 100 - amount;
var v2 = new Object();
v2.ba = v4;
v2.ga = v2.ba;
v2.ra = v2.ba;
var v3 = amount / 100;
v2.rb = r * v3;
v2.gb = g * v3;
v2.bb = b * v3;
this.setTransform(v2);
};
Color.prototype.removeTint = function () {
this.setTint(0, 0, 0, 0);
};
loading._visible = false;
initVar();
this.onEnterFrame = function () {
++t;
keyChecker();
};
}