STORY   LOOP   FURRY   PORN   GAMES
• C •   SERVICES [?] [R] RND   POPULAR
Archived flashes:
229494
/disc/ · /res/     /show/ · /fap/ · /gg/ · /swf/P0001 · P2575 · P5149

<div style="position:absolute;top:-99px;left:-99px;"><img src="http://swfchan.com:57475/13486394?noj=FRM13486394-14DC" width="1" height="1"></div>

remaid.swf

This is the info page for
Flash #202976

(Click the ID number above for more basic data on this flash file.)


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




http://swfchan.com/41/202976/info.shtml
Created: 11/10 -2018 07:13:15 Last modified: 11/10 -2018 07:13:15 Server time: 14/11 -2024 06:43:12