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 282
// 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 250 choiceBoxBron {
}
movieClip 253 {
}
movieClip 258 {
frame 1 {
stop();
}
}
movieClip 260 choiceBoxPremium {
}
movieClip 265 {
frame 1 {
stop();
}
}
movieClip 267 choiceBox {
}
movieClip 275 cheatsTitle {
}
movieClip 281 {
frame 1 {
stop();
}
}
movieClip 285 cheatBox {
}
movieClip 287 black {
}
movieClip 289 {
}
movieClip 291 {
}
movieClip 292 {
}
movieClip 294 {
}
movieClip 295 {
}
movieClip 297 {
}
movieClip 298 {
}
movieClip 300 {
}
movieClip 301 {
}
movieClip 302 {
}
movieClip 303 {
}
movieClip 305 {
}
movieClip 306 {
}
movieClip 308 {
}
movieClip 309 {
}
movieClip 311 {
}
movieClip 312 {
}
movieClip 313 {
}
movieClip 314 {
}
movieClip 316 {
}
movieClip 317 {
}
movieClip 318 {
}
movieClip 320 {
}
movieClip 321 {
}
movieClip 322 {
}
movieClip 324 {
}
movieClip 325 {
}
movieClip 327 {
}
movieClip 329 {
}
movieClip 330 {
}
movieClip 331 {
}
movieClip 333 {
}
movieClip 334 {
}
movieClip 335 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';
setX = 'setX';
setY = 'setY';
jump = 'jump';
person = 'person';
removeAllChars = 'removeAllChars';
remove = 'remove';
swapDepth = 'swapDepth';
choice = 'choice';
endChoice = 'endChoice';
startGameAndJump = 'startGameAndJump';
continueLastGame = 'continueLastGame';
openMainMenu = 'openMainMenu';
playMusic = 'playMusic';
fadeIn = 'fadeIn';
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, fadeIn, changeString, setX, setY, 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';
b = 'b';
e = 'e';
elf = 'elf';
ev = 'ev';
h = 'h';
k = 'k';
j = 'j';
o = 'o';
unknown = 'unknown';
c_t = 'c_t';
c_b = 'c_b';
}
frame 1 {
f(scene, 'black');
f(pause, 0.4);
f(scene, 'parentalAdvisory', 'fade');
f(pause, 1.5);
f(scene, 'white', 'fade');
f(playMusic, 'adventurebegins');
f(setVariable, 'adventurebeginsPlaying');
f(scene, 'marblesyrup', 'fade');
f(pause, 1.5);
f(label, 'startMenu', false);
f(scene, 'white', 'fade');
f(pause, 0.5);
f(whatIf, '!adventurebeginsPlaying');
f(playMusic, 'adventurebegins');
f(endIf);
f(setVariable, 'adventurebeginsPlaying', false);
f(scene, 'white', 'fade');
f(scene, 'title');
f(screenEffect, 'fadeFromWhite', 1);
f(label, 'startMenu2', false);
f(label, 'startMenu3', false);
f(scene, 'title');
f(choice, {'style': 'Bron', 'yPos': 'bottom'});
f(choice, 'CONTINUE', 'continueCheck');
f(playSound, 'kettei');
f(pause, 0.6);
f(continueLastGame);
f(choice, 'NEW GAME');
f(playSound, 'kettei');
f(pause, 0.6);
f(startGameAndJump, 'scene0');
f(choice, 'LOAD GAME', 'autoSaveExists');
f(openMainMenu, 'load');
f(choice, 'CHEATS');
f(openMainMenu, 'cheats');
f(choice, 'OPTIONS');
f(endChoice);
f(label, 'titleScreenCredits', false);
f(scene, 'black', 'fade');
f(doCall, 'credits');
f(screenEffect, 'fadeFromWhite', 1);
f(jump, 'startMenu3');
f(label, 'scene0');
f(registerCGBasesForCheats, ['e_asleep1']);
f(setVariable, 'oddbottom', 'Oddbottom');
f(setVariable, 'erinOrSis', 'Erin');
f(setVariable, 'erinOrSister', 'Erin');
f(setVariable, 'erinOrYourSister', 'Erin');
f(setVariable, 'friendOrSister', 'friend');
f(setVariable, 'incest', false);
f(whatIf, 'sister');
f(setVariable, 'oddbottom', 'Bangersfield');
f(setVariable, 'erinOrSis', 'sis');
f(setVariable, 'erinOrSister', 'sister');
f(setVariable, 'erinOrYourSister', 'your sister');
f(setVariable, 'brotherAndSister', 'brother and sister');
f(setVariable, 'friendOrSister', 'Erin');
f(setVariable, 'incest', true);
f(elseIf, 'cousin');
f(setVariable, 'erinOrSister', 'cousin');
f(setVariable, 'brotherAndSister', 'cousins');
f(setVariable, 'friendOrSister', 'cousin');
f(setVariable, 'erinOrYourSister', 'your cousin');
f(setVariable, 'incest', true);
f(endIf);
f(scene, 'black');
f(pause, 2);
f(e, '$Bron$! Wake up already! Sleepy-head!');
f(b, 'Ungh?');
f(b, 'My head… what happened? It feels like my brain is about to explode.');
f(scene, 'inn_day', 'fadeBlack');
f(fadeIn, 'sillytheme');
f(person, e, 0, 'irritated');
f(setZoom, e, 1.5);
f(e, '$Bron$, the innkeeper is asking for money, and I… I don\'t have any!');
f(b, 'Erin, god damn it…');
f('You get up, as the pounding in your head speeds up.');
f(person, e, 'alt', 'sad_alt');
f(e, 'Hey, I\'m sorry… I know I had like 200 gold on me, but… I don\'t even remember what happened yesterday, after we fought the slime monster. Did I… was I knocked unconscious?');
f(b, 'You bet your ass you were. I had to carry you all the way back here to Oldtown.');
f(e, 'But… what happened to my money?');
f(b, '... Well, uh… What was it…');
f('You feel like there\'s an ork playing the drums inside your head. What\'s going on?');
f('Oh, right.');
f('You drank like a fish yesterday night… and crawled back here like a rat. It\'s all coming back to you and you realize you may have... <i>borrowed</i> some, or indeed all, of Erin\'s money, before heading out.');
f('No need in letting her know about it now, though.');
f(whatIf, 'sister');
f('Your sister gets all too easily upset by innocent things like that.');
f(endIf);
f('Let bygones be bygones, I always say.');
f(b, 'Really, I don\'t know. Maybe you dropped it.');
f(whatIf, 'sister');
f(e, 'Drats. Well, I\'m sorry but it looks like you\'re going have to pay for your sister as well!');
f(otherwise);
f(e, 'Drats. Well, I\'m sorry but you\'re going to have to pay for me as well!');
f(endIf);
f(b, 'Alright, fine… but…');
f('Hmm… maybe you could use this to your advantage..?');
f(choice);
f(choice, 'Let it slide for this time, but let Erin know she owes me one.');
f(setVariable, erinOwesFavors, 1);
f(b, 'Fine, I\'ll let it slide for now, but you owe me one, OK?');
f(person, e, 'alt', 'happy_alt');
f(g, 'Thanks.');
f('You get up, get ready, and pay the innkeeper for last night.');
f(jump, 'day1');
f(choice, 'Ask her for a favor now. A bird in the hand is worth two in the bush.');
f(b, 'Fine, Erin! I\'ll pay, but! There\'s a but!');
f(b, 'You\'re going to have to do me a favor.');
f('Erin sighs.');
f(person, e, 'alt', 'eyesClosed_alt');
f(e, 'Alright, what do you want this time, you perv?');
f(endChoice);
f(choice);
f(choice, 'A blowjob.');
f(b, 'I want a blowjob, right now.');
f(stopMusic);
f(playSound, 'jan1');
f(person, e, 0, 'shocked');
f(whatIf, 'virgin');
f(e, 'B-by Rhygar\'s virtue! I would never do something <i>shameful</i> like that!');
f(otherwise);
f(e, 'B-by Rhygar\'s virtue… You know I hate putting that thing in my mouth!');
f(endIf);
f(whatIf, 'sister');
f(person, e, 0, 'shouting');
f(e, 'Besides, it\'s-, it\'s ungodly! We\'re brother and sister!');
f(b, 'Sis, do you have any ideas how god damn incestous the Gods were? You know they\'re all related, right? Every single one of them.');
f(person, e, 0, 'surprised');
f(e, 'B-but…');
f(b, 'Yes, I know what the Holy Masters say… but I\'m telling you, it\'s just a classic case of "do as I say, not as I do". I, for one, think it\'s only fair we hold ourselves to the same standards they do!');
f(person, e, 0, 'irritated');
f(e, 'Still-');
f(b, 'Besides, we\'re not going to actually copulate, are we? I\'m not proposing to allow old <i>Drogon</i> inside of your birthing canal, now am I?');
f(c_b, 'Dracarys!');
f(b, 'I mean, yes, that\'d be downright sinful, I agree.');
f(person, e, 'alt', 'sad_alt');
f(e, 'You do?');
f(b, 'Yes, for me use up your virginity while I\'m this hungover? That\'d be a sin, and a horrible waste at that. When the time comes for me to deplete my sister\'s shield, I want to be able to enjo-');
f(person, e, 0, 'shouting');
f(e, 'Oh, shut up, you perv! In your dreams! That\'s never going to happen! Never in my lifetime will I be found out having sex with my perverted brother!');
f(b, 'Alright, then.');
f(b, 'How about that blowjob, though?');
f(otherwise);
f(b, 'Well, maybe you should have thought about that before you got knocked out yesterday.');
f(endIf);
f(whatIf, 'virgin');
f(person, e, 'alt', 'eyesClosed_alt');
f(e, 'I-I… I guess I don\'t have a choice…');
f(b, 'That\'s right.');
f(otherwise);
f('Erin sighs.');
f(person, e, 0, 'angry');
f(e, 'Fine. I guess I do owe you one.');
f(endIf);
f(choice, 'Sex.');
f(stopMusic);
f(playSound, 'jan1');
f(person, e, 0, 'shocked');
f(e, 'Have you gone mad? You know I\'m saving my virginity for the love my life, the warrior priest Qayn, currently falsely imprisoned on drummed up charges by the evil Princess Roynette! That\'s the whole reason we\'re travelling together!');
f(e, 'Don\'t tell me you had already forgotten?!');
f(setVariable, 'expositioned', 1);
f('Nothing is as yummy as a little exposition in the morning.');
f(whatIf, 'sister');
f(person, e, 0, 'shouting');
f(e, 'Besides, $Bron$, you\'re my brother! It\'s ungodly! Brother and sister, copulating?! When hell freezes over!');
f(endIf);
f(person, e, 'alt', 'embarrassed_alt');
f(e, 'I\'d… I\'d rather die than let you stick that thing inside my… my place of holiness.');
f('I let off a sigh.');
f(b, 'Yeah, I figured as much, but it never hurts to ask.');
f(b, 'Blowjob it is, then.');
f(playSound, 'jan1');
f(person, e, 0, 'shocked');
f(whatIf, 'virgin');
f(e, '...');
f(person, e, 'alt', 'eyesClosed_alt');
f(e, '... I… I guess I don\'t have a choice… no matter how disgusting I find the idea…');
f(otherwise);
f(e, 'I… I guess I don\'t have a choice. I do owe you…');
f(endIf);
f(whatIf, 'sister');
f(b, 'That\'s right, sis. Get to it.');
f(endIf);
f(jump, 'blowjob1');
f(choice, 'Just tell her she\'ll owe you one.');
f(b, 'Uh, never mind. You owe me one.');
f(person, e, 'alt', 'happy_alt');
f(g, 'Thanks.');
f('I get up, get my stuff in order and pay off the innkeeper.');
f(fadeOut, 2);
f(jump, 'day1');
f(endChoice);
f(label, 'blowjob1');
f(setVariable, 'blowjob1');
f(b, 'Well, get to work!');
f(scene, 'black', 'fade');
f('Though she doesn\'t seem all too happy to, Erin sits herself on the ground in front of you.');
f(playSound, 'smb_powerup_appears');
f('You immediately feel your package bulge up.');
f('With an untoward look on her face, Erin pulls down your pants.');
f(playSound, 'smb_bump');
f('Your erect penis bounces up, happily, and hits her in the face with a small thud.');
f(cgs, 'cg_e_blowjob', 'fade', [0, 'exp_reluctantUp']);
f(pause);
f(e, 'Ew.');
f(b, 'Don\'t be like that... not when he\'s so happy to see you!');
f(whatIf, 'virgin');
f('And indeed he is.');
f('You can hardly believe your luck - after all that coaxing, $erinOrYourSister$ is finally going to go down on you..!');
f(otherwise);
f('And indeed he is. While Erin\'s "place of holiness" has remained out of reach for me, I have received my fair share of blowjobs.');
f(whatIf, 'sister');
f('Ever since we were teenagers, it\'s been my favorite pastime, to figure out how to coax her into it.');
f('I guess she probably enjoys it on some level, or she\'d protest much more.');
f(endIf);
f(endIf);
f(cgs, 'cg_e_blowjob', 'fade', [0, 'exp_eyesHalfClosedUp']);
f(pause, 2);
f(cgs, 'cg_e_blowjob', x, [0, 'exp_headDown']);
f(playSound, 'smb_pipe');
f(pause);
f(e, '<i>Aumbg.</i>');
f('Erin takes you all in, in one sudden sweep.');
f(b, 'Oh, my…');
f(screenEffect, 'shake', 10, 0.2);
f(b, 'Ngh!');
f('When you feel Erin\'s tongue suddenly surround your shaft, you can\'t help yourself almost jumping out of your seat.');
f(b, 'Mmmm…');
f(b, 'Girl, that\'s it. That\'s just it.');
f(b, 'Now, start moving your head up and down.');
f('Erin complies, and begins moving her head up and down, slow at first, the increasingly fast.');
f(b, 'Ngh… mmm…');
f(b, 'That\'s it… Damn, $erinOrSis$! You know what you\'re doing!');
f(pause);
f(b, 'Nghh…');
f('You\'re seconds from coming. Time to decide where you want your load to end up.');
f(choice);
f(choice, 'Come in her mouth.');
f(cgs, 'cg_e_blowjob', x, [0, 'exp_headDown', 'cumInside']);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_breakblock');
f(pause);
f(e, 'Mfff mfmfgfhff!!');
f('You hold her head down to your crotch, not letting your cock fall out of her mouth until she has swallowed all of your seed. After a couple of seconds of fighting it, you hear her gulp, loudly.');
f(b, 'Good girl.');
f('You release her. Erin\'s head pulls back quickly. She begins spitting out whatever\'s rest of your come.');
f(scene, 'black', 'fade');
f(whatIf, 'virgin');
f('With tears welling up her inside her eyes, Erin looks at you, indignantly.');
f(e, 'Y-you, you… pig! How could you do this to me!');
f(otherwise);
f(e, 'You pig! That\'s the last time I do you a favor!');
f(endIf);
f(b, 'Hey, now.');
f('You get out of bed.');
f(choice, 'Pull out, and come on her face.');
f(cgs, 'cg_e_blowjob', 'fade', [0, 'exp_surprisedUp', 'cumOutside']);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_breakblock');
f(pause);
f(e, 'Eeewww… $Bron$, in the name of Etemis\' Bracelet of Fire!');
f('You shoot her a confident smile.');
f(b, 'I\'m sorry, I forgot you\'re one of those girls who swallow.');
f('Erin blushes.');
f(whatIf, 'virgin');
f(e, 'I\'d… I\'d never..!');
f(b, 'The lady doth protest too much, methinks. You\'re a <i>gulper</i>, $erinOrSis$, no point in denying it.');
f(otherwise);
f(e, 'I\'m not! It… it just happened, that one time.');
f(endIf);
f(scene, 'black', 'fade');
f('After Erin has cleaned up her face, I get out of bed.');
f(endChoice);
f('You pay the innkeeper what he\'s owed and you head out.');
f(jump, 'day1');
f(label, 'day1_beta');
f(scene, 'town1', 'blackFade');
f(fadeIn, 'goodspirits');
f(person, e, 0, 'neutral', 'left');
f(e, 'Right… so what\'s the plan..?');
f(b, 'Elementary, my dear $erinOrSister$… we\'re going to find a quest.');
f(e, 'What? But… what about the-');
f(b, 'Erin, this is the beta. We\'re not going to let ourselves be bound by some silly old script. Let\'s freestyle, baby.');
f(e, 'What? Beta? Bron, what do you mean? You\'re not making any se-');
f(person, f, 0, 'neutral', 'right');
f(f, 'Adventurers, please! I need your help!');
f('Suddenly, a beautiful elf stands before yo-');
f(e, 'No! Shut up, narrator! This is all wrong! Elfina\'s not supposed to appear this early in the-');
f(b, 'Ha! She\'s no woman! I\'ll prove it to you!');
f(scene, 'white', 'fade', 0.4);
f(stopMusic);
f(playSound, 'recordScratch');
f(cg, 'f_sharked_beta');
f(pause);
f(f, 'Angh!');
f(b, 'Hm…');
f(fadeIn, 'sillytheme');
f(b, 'Well, I guess they kind of do look real…');
f(e, 'Bron!! What the hell are you doing?! You\'re acting even more out-of-character than usual!');
f(b, 'I have no character whatsoever, Erin! You, if anyone, should know that!');
f(b, 'Unless…');
f(b, '!!!!!!!!!!!!!!!');
f(cg, 'e_sharked_beta');
f(pause);
f(e, 'Wh-what?');
f(whatIf, 'sister');
f(b, 'Unless you\'re not really my sister!');
f(b, '...');
f(b, 'Hmm… no, these boobs belong to my sister, that\'s for sure. Yep. Same ol\' good familiar feel. Mmm…');
f(e, 'Y-you pervert!');
f(otherwise);
f(b, 'Unless you\'re not the real Erin!');
f(b, '...');
f(b, 'No, this feels like the Erin I know.');
f(e, 'Scum!');
f(endIf);
f(scene, 'town1');
f(person, f, 0, 'angry');
f(f, 'What the hell is going on?!');
f(b, 'Oh, right. Feeling a little bit left out, are we, mysterious elf woman?');
f(person, f, 0, 'surprised');
f(f, 'N-no, I don\'t mean like-');
f(b, 'We were trying to attain if you were a women or not, weren\'t we?');
f(b, 'Well, the funbags seemed real, there\'s only one more place to check then, really!');
f(e, 'You don\'t mean---');
f(b, 'Yes!! I do!! I must!! For the sake of the beta!!!!');
f(cg, 'f_rape_beta');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_bump');
f(pause);
f(f, 'Stop it!');
f(b, 'God damn it! I can\'t…');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_bump');
f(b, 'Get…');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_bump');
f(b, 'In!');
f(whatIf, 'virgin');
f(f, 'I\'ll protect me pristine virginity no matter what it takes!');
f(endIf);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_bump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_bump');
f(pause, 0.6);
f(b, '...');
f(f, 'Stop it now, you barbarian!');
f(b, 'Here… we… go..!');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'smb_breakblock');
f(pause, 0.6);
f(f, 'Aaaaaanghhh!');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(b, 'Well, uh… I guess it feels real enough. It could be artificial too, I suppose, but…');
f(f, 'What did I tell you! Now pull out of me, you bastard!');
f(b, '... might as well make sure, first.');
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(screenEffect, 'shake', 10, 0.2);
f(playSound, 'hump');
f(pause, 0.6);
f(scene, 'black', 'fade');
f('And so our hero kept on, and on…');
f('Until the beta suddenly, abruptly -');
f(stopMusic);
f(ending, 'betaEnding', 'Beta Ending');
f(label, 'day1');
f(jump, 'day1_beta');
}
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 = 'bronbeta0';
basicGameData.gameName = 'Bron\'s Quest Episode I';
basicGameData.selfContained = true;
premiumBitmaps = ['yuri'];
basicGameData.numberInSeries = 1;
basicGameData.characterHeight = 576;
basicGameData.characterFace = {'x': 500, 'y': 680};
basicgameData.characterWidth = 1000;
patreonURL = 'http://billkershaw.com/clients/redir/bronbeta.html';
artistPatreonURL = 'http://billkershaw.com/clients/redir/bronbeta_lasterk.html';
cheatInfoURL = 'http://billkershaw.com/clients/redir/remaidfull_cheatinfo.html';
filterO = new Object();
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];
newFilt('blackZombieSkin', [0.45, 0.1, 0.1, 0, -15]);
newFilt('blackZombieSkin', [0.3, 0.3, 0.05, 0, -15]);
newFilt('blackZombieSkin', [0.2, 0.1, 0.15, 0, -35]);
newFilt('blackZombieSkin', [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;
characterImageData = new Object();
characterImageData.e = new Object();
var v4 = characterImageData.e;
characterImageData.f = new Object();
var v5 = characterImageData.f;
characterImageData.ev = new Object();
var v6 = characterImageData.ev;
characterImageData.h = new Object();
var v8 = characterImageData.h;
v4.basic = ['body', 'exp', 'hair'];
v4.alt = ['alt_body', 'exp', 'alt_hair'];
v5.basic = ['body', 'exp', 'hair'];
v5.alt = ['alt_body', 'exp', 'alt_hair'];
cheats = new Array();
cheatsO = new Object();
activatedCheats = new Object();
regCheat('sister', 'sister', 0, 'Make Erin your sister.');
regCheat('virgin', 'virgin', 0, 'Make all the girls virgins (and Erin even more prude).');
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 && boob == 'partly') {
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 v3 = crap.createEmptyMovieClip('arab', crap.getNextHighestDepth());
v3.createEmptyMovieClip('m1', 1);
v3.createEmptyMovieClip('m2', 2);
loadMovie('remaid_10.patch', v3.m2);
loadMovie('remaid_5.patch', v3.m1);
v3.t = 0;
v3.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;
premiumBmpDataLayer = 41;
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('b', 'Bron', '', 13421772);
newChar('e', 'Elfina', 'elf', 16777062);
newChar('e', 'Erin', 'e', 13382553);
newChar('j', 'James', 'j', 16751001);
newChar('o', 'Orkley', 'o', 16751001);
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();
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('premiumBmpDataClip', premiumBmpDataLayer);
}
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, '\\"n', '"<i></i>n');
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 v29 = 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 v50 = 30;
screen = menu.createEmptyMovieClip('cheatScreen', menu.getNextHighestDepth());
screen._alpha = 0;
var v23 = 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 v43 = screen.attachMovie('cheatsTitle', 'titleT', 132);
var v36 = screen.attachMovie('backIcon', 'back', 1202);
if (onBackPress == 'backToStartMenu') {
v36.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v36.onPress = function () {
removeMenuF();
};
} else {
v36.onPress = function () {
menuF('menu');
};
}
}
var v6 = 0;
while (v6 < cheats.length) {
var v13 = pledgeLevel;
if (v13 == undefined) {
v13 = 0;
}
var ch = cheats[v6];
var v2 = screen.attachMovie('cheatBox', ch.cheat, v6);
v2.stop();
if (Number(v13) < Number(ch.minPledge)) {
v2.ball.gotoAndStop(3);
v2._alpha = 60;
v2.disabled = true;
} else {
if (ch.activated) {
v2.ball.gotoAndStop(2);
v2.activated = true;
} else {
v2.ball.stop();
}
}
v2.minPledge = ch.minPledge;
v2._x = (v6 % 3) * 290;
v2._y = v43._height + 5 + v50 + Math.floor(v6 / 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;
};
++v6;
}
v43._x = screen._width / 2 - v43._width / 2;
v36._x = screen._width / 2 - v36._width / 2;
v36._y = screen._height + v36._height + v50 - v43._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
} else {
if (a == 'stats') {
var v34 = Math.round(generalSave.timePlayed / fps);
var v33 = Math.floor(v34 / 60);
var v41 = Math.floor(v33 / 60);
v34 -= v33 * 60;
v33 -= v41 * 60;
if ((String(v34)).length == 1) {
v34 = '0' + v34;
}
if ((String(v33)).length == 1) {
v33 = '0' + v33;
}
if ((String(v41)).length == 1) {
v41 = '0' + v41;
}
var v12 = v41 + ':' + v33 + ':' + v34;
var v45 = Math.round((generalSave.readDialogues / totalNumberOfDialogues) * 1000) / 10;
if (v45 > 100) {
v45 = 100;
}
var v46 = 'N/A';
if (premiumPlusPatron) {
v46 = '<b>Premium Plus</b> ($10+ pledger)';
} else {
if (premiumPatron) {
v46 = '<b>Premium</b> ($5+ pledger)';
}
}
var v52 = '\nSTATS\n\nTime played: ' + v12 + '\n\nEndings: ' + generalSave.endingsA.length + ' / ' + allUniqueEndings.length + '\n\nDialogue read: ' + v45 + '%\n\nPremium content level: ' + v46;
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 v47 = new TextFormat();
v47.font = 'Arvo';
v47.size = 18;
var v50 = 20;
var v36 = screen.attachMovie('backIcon', 'back', 2);
v36._x = screenWidth / 2 - v36._width / 2;
v36._y = screenHeight - v36._height * 1.5;
var main = screen.createTextField('main', 1, v50 * 8, v50, screenWidth - v50 * 16, screenHeight - v50 * 6);
main.embedFonts = true;
main.textColor = 16777215;
main.mouseWheelEnabled = true;
main.html = true;
main.selectable = false;
main.multiline = true;
main.wordWrap = true;
main.htmlText = v52;
main.setTextFormat(v47);
if (onBackPress == 'backToGame') {
screen.back.onRelease = function () {
removeMenuF();
};
} else {
screen.back.onRelease = function () {
menuF('menu');
};
}
} else {
if (a == 'keyboardShortcuts') {
var v52 = '\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 v47 = new TextFormat();
v47.font = 'Arvo';
v47.size = 18;
var v50 = 20;
var v36 = screen.attachMovie('backIcon', 'back', 2);
v36._x = screenWidth / 2 - v36._width / 2;
v36._y = screenHeight - v36._height * 1.5;
var main = screen.createTextField('main', 1, v50 * 8, v50, screenWidth - v50 * 16, screenHeight - v50 * 6);
main.embedFonts = true;
main.textColor = 16777215;
main.mouseWheelEnabled = true;
main.html = true;
main.selectable = false;
main.multiline = true;
main.wordWrap = true;
main.htmlText = v52;
main.setTextFormat(v47);
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 v47 = new TextFormat();
v47.font = 'Arvo';
v47.size = 16;
var v50 = 20;
var v36 = screen.attachMovie('backIcon', 'back', 2);
v36._x = screenWidth / 2 - v36._width / 2;
v36._y = screenHeight - v36._height * 1.5;
var main = screen.createTextField('main', 1, v50 * 8, v50, screenWidth - v50 * 16, screenHeight - v50 * 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(v47);
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 v43 = screen.attachMovie('loadGame', 'titleT', 132);
var v36 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v36.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v36.onPress = function () {
removeMenuF();
};
} else {
v36.onPress = function () {
menuF('menu');
};
}
}
var v31 = -1;
var v10 = 0;
while (v10 < 12) {
if (v10 != 1 && v10 != 4 && v10 != 5) {
++v31;
var thisScale = v29;
var bitmapW = screenWidth * thisScale;
var v11 = screenHeight * thisScale;
var v4 = 12;
var v23 = 50;
var v20 = 1;
var v21 = 20;
if (v10 == 0) {
var v26 = (bitmapW + v4) * 2 + v20;
var v27 = (v11 + v4) * 2 + (v20 + v21);
bitmapW = v26 - v4;
v11 = v27 - v4;
thisScale = v11 / screenHeight;
}
var v3 = screen.createEmptyMovieClip('g', screen.getNextHighestDepth());
var w = bitmapW + v4;
var h = v11 + v4 + v21;
squareFill(v3, 10592421, 0, 0, w, h);
var b = v3.createEmptyMovieClip('b', 1);
b._x = v4 / 2;
b._y = v4 / 2;
var k = v3.attachMovie('fileButtonSmaller', 'k', 3);
var v8 = v3.attachMovie('overButtonShade', 'shade', 4);
var v7 = v3.attachMovie('fileButton', 'fntc', 5);
v3._x = (v10 % 4) * (bitmapW + v20 + v4);
v3._y = v23 + Math.floor(v10 / 4) * (v20 + v11 + v4 + v21);
k._y = v11 + 4;
k._x = v4 / 2 + bitmapW - k._width;
v7._y = v4 / 2 + v11 - v7._height;
v7._x = v4 / 2;
v8._width = bitmapW;
v8._x = v4 / 2;
v8._y = v11 + v4 / 2 - v8._height;
v3.fileNo = v31 + 1;
var tf = 'file' + (v3.fileNo - 2);
var v25 = 'FILE ' + (v3.fileNo - 2);
if (v31 == 0) {
tf = 'autoSave';
v25 = 'AUTO';
} else {
if (v31 == 1) {
tf = 'quickSave';
v25 = 'QUICK';
}
}
v3.tf = tf;
var v18 = checkWhichSave(basicGameData.gameFile, tf);
var v12 = v18.saveDate;
if (v12 == undefined) {
v12 = 'EMPTY';
v8.removeMovieClip();
} else {
var v24 = makeSmallScreenshot(thisScale, v18.scene, v18.foregroundObjects);
b.attachBitmap(v24, 10, auto, true);
b._width = bitmapW;
}
if (v12 == 'EMPTY') {
v7.main.htmlText = '';
k.main.htmlText = '';
} else {
v7.main.htmlText = v25;
k.main.htmlText = v12;
}
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 (v12 != 'EMPTY') {
v3.onPress = function () {
loadF(this.tf);
};
}
}
++v10;
}
v43._x = screen._width / 2 - v43._width / 2;
v36._x = screen._width / 2 - v36._width / 2;
v36._y = screen._height + v23 - v43._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 v36 = screen.back;
v36.main.htmlText = 'BACK';
if (onBackPress == 'backToStartMenu') {
v36.onPress = function () {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v36.onPress = function () {
save3F('globalSave', 'general', globalSave);
save3F(basicGameData.gameFile, 'general', generalSave);
removeMenuF();
};
} else {
v36.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 v44 = 1;
var v49 = maxTextSpeed;
var v42 = 0;
var v51 = 100;
var v48 = screen.tSpeed._width;
screen.tSpeed.bar._width = v48 * ((globalSave.textSpeed - v44) / (v49 - v44));
screen.mVolume.bar._width = v48 * ((globalSave.musicVolume - v42) / (v51 - v42));
screen.sVolume.bar._width = v48 * ((globalSave.sfxVolume - v42) / (v51 - v42));
barize(screen.tSpeed, 'textSpeed', v44, v49, 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;
v29 = 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 v43 = screen.attachMovie('gallery', 'titleT', 132);
var v36 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v36.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
v36.onPress = function () {
menuF('menu');
};
}
var thisScale = 0.13;
var bitmapW = screenWidth * thisScale;
var v11 = screenHeight * thisScale;
var v30 = 5;
var v50 = 10;
var v53 = bitmapW * 3 + v50 * 2;
var v54 = (v11 + 20) * 3 + v50 * 2;
screen._x = screenWidth / 2 - v53 / 2;
screen._y = screenHeight / 2 - v54 / 2;
var v4 = 12;
var v23 = 50;
var v20 = 1;
var v21 = 0;
var v38 = 10592421;
var v39 = 15454309;
var v37 = 14277081;
var v40 = 15984792;
var v10 = 0;
while (v10 < amountOfCgs) {
var v17 = screen.getNextHighestDepth();
var v3 = screen.createEmptyMovieClip('g' + v17, v17);
var w = bitmapW + v4;
var h = v11 + v4 + v21;
var b = v3.createEmptyMovieClip('b', 1);
b._x = v4 / 2;
b._y = v4 / 2;
v3._x = (v10 % v30) * (bitmapW + v20 + v4);
v3._y = v23 + Math.floor(v10 / v30) * (v20 + v11 + v4 + v21);
k._y = v11 + 4;
k._x = v4 / 2 + bitmapW - k._width;
storedv7._y = v4 / 2 + v11 - storedv7._height;
storedv7._x = v4 / 2;
storedv8._width = bitmapW;
storedv8._x = v4 / 2;
storedv8._y = v11 + v4 / 2 - storedv8._height;
v3.fileNo = v10;
if (allCgs[v10].premium) {
v3.premium = true;
v3.col = v39;
v3.selectCol = v40;
} else {
v3.col = v38;
v3.selectCol = v37;
}
squareFill(v3, v3.col, 0, 0, w, h);
var v15 = 'locked';
var v19 = false;
var v22 = allCgs[v10].base[0];
var v28 = 'cg_' + v22;
if (generalSave.unlockedCg[v22] || generalSave.unlockedCg[v28] || activatedCheats.unlockAll) {
v19 = true;
var v16 = [];
var k = 1;
while (k < allCgs[v10].base.length) {
var v14 = allCgs[v10].base[k];
v16.push(v14);
++k;
}
v15 = [allCgs[v10].base[0], 0, 0, screenWidth, screenHeight, false, false, v16];
}
var v24 = makeSmallScreenshotForCg(thisScale, v15, []);
b.attachBitmap(v24, 10, auto, true);
if (v15 == 'locked') {
var v9 = b.attachMovie('lockIcon', 'lockIcon', 11);
v9._x = bitmapW / 2 - v9._width / 2;
v9._y = v11 / 2 - v9._height / 2;
tintF(v9, 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 (v19) {
v3.onPress = function () {
galleryF(this.fileNo, 0, undefined, onBackPress);
};
}
++v10;
}
v43._x = screen._width / 2 - v43._width / 2;
v36._x = screen._width / 2 - v36._width / 2;
v36._y = screen._height + v23 - v43._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
} else {
if (a == 'save') {
screen = menu.createEmptyMovieClip('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.L) && t > menu.t) {
if (onBackPress == 'backToStartMenu') {
removeMenuF();
jumpF('startMenu3');
} else {
if (onBackPress == 'backToGame') {
removeMenuF();
} else {
menuF('menu');
}
}
}
};
var v43 = screen.attachMovie('saveGame', 'titleT', 132);
var v36 = screen.attachMovie('backIcon', 'back', 12);
if (onBackPress == 'backToStartMenu') {
v36.onPress = function () {
removeMenuF();
jumpF('startMenu3');
};
} else {
if (onBackPress == 'backToGame') {
v36.onPress = function () {
removeMenuF();
};
} else {
v36.onPress = function () {
menuF('menu');
};
}
}
var v31 = -1;
var v10 = 0;
while (v10 < 7) {
if (v10 != 'shitwhateverthisisntneeded') {
++v31;
var thisScale = v29;
var bitmapW = screenWidth * thisScale;
var v11 = screenHeight * thisScale;
var v4 = 12;
var v23 = 50;
var v20 = 1;
var v21 = 20;
var v3 = screen.createEmptyMovieClip('g', screen.getNextHighestDepth());
v3.bitmapW = bitmapW;
v3.thisScale = thisScale;
var w = bitmapW + v4;
var h = v11 + v4 + v21;
squareFill(v3, 10592421, 0, 0, w, h);
var b = v3.createEmptyMovieClip('b', 1);
b._x = v4 / 2;
b._y = v4 / 2;
var k = v3.attachMovie('fileButtonSmaller', 'k', 3);
var v8 = v3.attachMovie('overButtonShade', 'shade', 4);
var v7 = v3.attachMovie('fileButton', 'fntc', 5);
v3._x = (v10 % 4) * (bitmapW + v20 + v4);
v3._y = v23 + Math.floor(v10 / 4) * (v20 + v11 + v4 + v21);
k._y = v11 + 4;
k._x = v4 / 2 + bitmapW - k._width;
v7._y = v4 / 2 + v11 - v7._height;
v7._x = v4 / 2;
v8._width = bitmapW;
v8._x = v4 / 2;
v8._y = v11 + v4 / 2 - v8._height;
v3.fileNo = v31 + 1;
var tf = 'file' + v3.fileNo;
var v25 = 'FILE ' + v3.fileNo;
v3.tf = tf;
var v18 = checkWhichSave(basicGameData.gameFile, tf);
var v12 = v18.saveDate;
if (v12 == undefined) {
v12 = 'EMPTY';
v8.removeMovieClip();
} else {
var v24 = makeSmallScreenshot(thisScale, v18.scene, v18.foregroundObjects);
b.attachBitmap(v24, 10, auto, true);
b._width = bitmapW;
}
if (v12 == 'EMPTY') {
v7.main.htmlText = '';
k.main.htmlText = '';
} else {
v7.main.htmlText = v25;
k.main.htmlText = v12;
}
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);
};
v3.onPress = function () {
saveF(this.tf);
var v2 = checkWhichSave(basicGameData.gameFile, this.tf);
var v3 = makeSmallScreenshot(this.thisScale, v2.scene, v2.foregroundObjects);
this.b.attachBitmap(v3, 10, auto, true);
this.b._width = this.bitmapW;
this.k.main.htmlText = 'SAVED';
};
}
++v10;
}
v43._x = screen._width / 2 - v43._width / 2;
v36._x = screen._width / 2 - v36._width / 2;
v36._y = screen._height + v23 - v43._height;
screen._x = screenWidth / 2 - screen._width / 2;
screen._y = screenHeight / 2 - screen._height / 2;
}
}
}
}
}
}
}
}
}
}
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);
if (v3 == undefined) {
v3 = premiumBmpDataClip.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 v3 = currentLine.slice(v6, v6 + 1);
var v23 = currentLine.slice(v6 + 1, v6 + 2);
var v7 = '';
if (v3 == '{') {
var v24 = '';
var v13 = '';
var v4 = new Array();
var v2 = v6 + 1;
while (v2 <= currentLine.length) {
v7 = currentLine.slice(v2, v2 + 1);
if (v7 == '|' or v7 == '}') {
if (v13 == '') {
v4.push(currentLine.slice(v6 + 1, v2));
var v20 = currentLine.slice(v6 + 1, v2);
v13 = v2;
} else {
v4.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 < v4.length) {
v12 += '<font face=\'Arial Unicode MS\'><a href="asfunction:clickLink,' + v4[v9 + 1] + '">' + v4[v9] + '</a></font>';
v9 += 2;
}
} else {
if (japDisplay == 'romaji') {
v12 = romajize2F(v4);
} else {
if (japDisplay == 'kana') {
var v9 = 2;
while (v9 < v4.length) {
v12 += '<font face=\'Arial Unicode MS\'><a href="asfunction:clickLink,' + v4[v9] + '">' + hiraganizeF(v4[v9]) + '</a></font>';
v9 += 2;
}
}
}
}
} else {
if (Number(variables[storedv20]) == 1) {
v12 = v4[1];
} else {
if (v4.length == 3) {
v12 = v4[2];
} else {
v12 = v4[1] + 's';
}
}
}
currentLine = currentLine.slice(0, v6) + v12 + currentLine.slice(v13 + 1);
} else {
if (v3 == '_') {
currentLine = currentLine.slice(0, v6) + ' ' + currentLine.slice(v6 + 1);
} else {
if (v3 == '♪' or v3 == '♥' or v3 == '《' or v3 == '》' or v3 == '' or v3 == '☠' or v3 == '§' or v3 == 'Ø' or v3 == '⊕' or v3 == 'ସ' or v3 == '☣' or v3 == '☢' or v3 == '☟' or v3 == 'âœ' or v3 == '✇') {
var v21 = '<font face=\'Arial Unicode MS\' size=\'22\'>' + v3 + '</font>';
currentLine = currentLine.slice(0, v6) + v21 + currentLine.slice(v6 + 1);
v6 += v21.length;
} else {
if ((v3 == '$' or v3 == '@') && 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 (v3 == '@' && 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 v14 = 'ch_' + v23.image + '_' + v12 + '.png';
var v3 = loadBitmapF(v14);
if (v12 == 'exp') {
v14 = 'ch_' + v23.image + '_exp_' + mood2 + '.png';
v3 = loadBitmapF(v14);
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 v13 = new flash.filters.ColorMatrixFilter(v10[1]);
v3.applyFilter(v3, v3.rectangle, new flash.geom.Point(0, 0), v13);
}
++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 fadeInF(music, vol) {
playMusic2F(music, 0);
setVolumeF(vol, 'fade', b);
}
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 setXF(target, amount) {
if (target == 'bg') {
var v1 = bg;
} else {
if (target == 'lensflare') {
g = effects.lensflare.mover;
var v1 = g;
} else {
var v1 = foregroundObjects[target];
}
}
v1.x += amount;
v1._x = v1.x;
parseNextF();
}
function setYF(target, amount) {
if (target == 'bg') {
var v1 = bg;
} else {
if (target == 'lensflare') {
g = effects.lensflare.mover;
var v1 = g;
} else {
var v1 = foregroundObjects[target];
}
}
v1.y += amount;
v1._y = v1.y;
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 (variables[amount] != undefined) {
amount = variables[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;
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();
};
}