Combined Code
frame 1 {
function makepercent(n, min, max) {
return Math.floor(((n - min) / (max - min)) * 100);
}
contextmenu = new ContextMenu();
contextmenu.hideBuiltInItems();
_root.menu = contextmenu;
var loadin = 1;
this.onEnterFrame = function () {
if (loadin) {
var v2 = makepercent(_root.getBytesLoaded(), 0, _root.getBytesTotal());
_root.percent.text = v2 + '%';
if (v2 == 100) {
loadin = 0;
_root.gotoAndStop('load');
}
}
};
}
frame 1 {
this.stop();
}
frame 2 {
this.prevFrame();
}
frame 10 {
function tile_table(c, tl, tr, bl, br) {
tl = (tl == c) ? 1 : 0;
tr = (tr == c) ? 1 : 0;
bl = (bl == c) ? 1 : 0;
br = (br == c) ? 1 : 0;
c = tl + tr + bl + br;
if (c == 4) {
return 'cx';
} else {
if (c == 3) {
if (tl && tr && bl) {
return 'br';
} else {
if (tl && tr && br) {
return 'bl';
} else {
if (tl && bl && br) {
return 'tr';
} else {
if (tr && bl && br) {
return 'tl';
}
}
}
}
} else {
if (c == 2) {
if (tl && tr) {
return 'b';
} else {
if (tr && br) {
return 'l';
} else {
if (bl && br) {
return 't';
} else {
if (tl && bl) {
return 'r';
}
}
}
}
if (bl && tr) {
return 'fs';
} else {
if (tl && br) {
return 'bs';
}
}
} else {
if (c == 1) {
if (tl) {
return 'btl';
} else {
if (tr) {
return 'btr';
} else {
if (bl) {
return 'bbl';
} else {
if (br) {
return 'bbr';
}
}
}
}
} else {
if (c == 0) {
return 'co';
}
}
}
}
}
}
function gstate_transition(sub) {
switch (sub.gstate) {
return sub.gstate;
case 'walk':
return 'stand';
case 'northdoor':
return 'stand';
}
return sub.gstate;
}
function nomovement_transition(sub) {
switch (sub.gstate) {
return 0;
case 'walk':
return 1;
case 'northdoor':
return 1;
case 'stand':
return 1;
}
return 0;
}
function gameinit_designed(lvl) {
init_bgsnds(0);
paths_state('bare');
init_player(31, 56);
switch (lvl) {
case 'design':
var v2 = point2tile(_root.fg._xmouse, _root.fg._ymouse);
performaction(world_text[186]);
break;
case 'start':
performaction(world_text[1]);
break;
case 'demo':
performaction(world_text[180]);
break;
case 'continue':
world_state.checkpoint = fetchprogress();
performaction(world_text[world_state.checkpoint]);
}
}
function init_bgsnds(txt) {
txt = txt.split(',');
if (txt[0] == 'dark') {
world_map[0] = [{'desc': '', 'snd': ''}, {'desc': 'living', 'snd': 'room', 'dark': 1}, {'desc': 'hall', 'snd': 'hall', 'dark': 1}, {'desc': 'bath', 'snd': 'bath', 'dark': 1}, {'desc': 'melissa', 'snd': 'room', 'dark': 1}, {'desc': 'melissa2', 'snd': ''}];
world_map[1] = [{'desc': 'dining', 'snd': 'room', 'dark': 1}, {'desc': 'kitchen', 'snd': 'kitchen', 'dark': 1}, {'desc': 'entrance', 'snd': 'hall', 'dark': 1}, {'desc': 'laundry', 'snd': 'laundry', 'dark': 1}, {'desc': 'david', 'snd': 'room', 'dark': 1}, {'desc': '', 'snd': ''}];
} else {
world_map[0] = [{'desc': '', 'snd': ''}, {'desc': 'living', 'snd': 'room', 'dark': 0}, {'desc': 'hall', 'snd': 'hall', 'dark': 0}, {'desc': 'bath', 'snd': 'bath', 'dark': 0}, {'desc': 'melissa', 'snd': 'room', 'dark': 0}, {'desc': 'melissa2', 'snd': ''}];
world_map[1] = [{'desc': 'dining', 'snd': 'room', 'dark': 0}, {'desc': 'kitchen', 'snd': 'kitchen', 'dark': 0}, {'desc': 'entrance', 'snd': 'hall', 'dark': 0}, {'desc': 'laundry', 'snd': 'laundry', 'dark': 0}, {'desc': 'david', 'snd': 'room', 'dark': 0}, {'desc': '', 'snd': ''}];
}
var v1 = 1;
while (v1 < txt.length) {
var v4 = world_map[quickmapA[txt[v1]]][quickmapB[txt[v1]]];
var v2 = txt[v1 + 1];
if (isNaN(Number(v2))) {
v4.snd = v2;
} else {
v4.dark = Number(v2);
}
v1 += 2;
}
cam();
}
function changeworldtime() {
var v1 = (world_state.mvar == 2) ? 6 : world_state.mvar;
v1 = (v1 == 0) ? 7 : v1;
v1 = (v1 == -2) ? 8 : v1;
var v2 = (world_state.dvar == 2) ? 7 : world_state.dvar;
v2 = (v2 == 0) ? 8 : v2;
v2 = (v2 == -2) ? 9 : v2;
world_state.worldtime = v1 < v2 ? v1 : v2;
world_state.dvar = v2;
world_state.mvar = v1;
}
function disableplayer(yn) {
pcp.disablewarp = yn;
}
function paths_state(st) {
world_state.toaster = 0;
switch (st) {
case 'bare':
world_state.toaster = 1;
create_player_paths(1, 0, paths_living_bare);
create_player_paths(2, 0, paths_hall);
create_player_paths(3, 0, paths_roomtohall_bare);
create_player_paths(4, 0, paths_roomtohall_bare);
create_player_paths(0, 1, paths_dining_bare);
create_player_paths(1, 1, paths_kitchen_bare);
create_player_paths(2, 1, paths_entrance);
create_player_paths(3, 1, paths_laundry_bare);
create_player_paths(4, 1, paths_roomtohall_bare);
break;
case 'full':
world_state.toaster = 1;
create_player_paths(1, 0, paths_living);
create_player_paths(2, 0, paths_hall);
create_player_paths(3, 0, paths_bath);
create_player_paths(4, 0, paths_melissa);
create_player_paths(0, 1, paths_dining);
create_player_paths(1, 1, paths_kitchen);
create_player_paths(2, 1, paths_entrance);
create_player_paths(3, 1, paths_laundry);
create_player_paths(4, 1, paths_david);
break;
case 'coke':
create_player_paths(1, 1, paths_kitchen_coke);
break;
case 'sleep_kitchen':
create_player_paths(1, 1, paths_kitchen_sleep);
break;
case 'sleep_living':
create_player_paths(1, 0, paths_living_sleep);
break;
case 'sleep_david':
create_player_paths(4, 1, paths_david_sleep);
break;
case 'sleep_melissa':
create_player_paths(4, 0, paths_melissa_sleep);
break;
case 'unsleep_david':
world_state.toaster = 1;
create_player_paths(4, 1, paths_david);
break;
case 'unsleep_melissa':
world_state.toaster = 1;
create_player_paths(4, 0, paths_melissa);
break;
case 'pee_kitchen':
create_player_paths(1, 1, paths_kitchen_pee);
}
}
function output_faces() {
emotes = [];
for (var v6 in sub_numbers) {
emotes[sub_numbers[v6]] = {};
}
v6 = 0;
while (v6 < world_text.length) {
var v3 = world_text[v6];
if (v3 instanceof Array) {
var v5 = 1;
while (v5 < v3.length) {
var v2 = v3[v5].split('::');
if (sub_numbers[v2[0]] == undefined) {
} else {
emotes[sub_numbers[v2[0]]][v2[1]] = 1;
}
++v5;
}
}
++v6;
}
for (v6 in sub_numbers) {
var v4 = v6 + ': ';
var v1 = '';
for (v5 in emotes[sub_numbers[v6]]) {
v1 += (v1 == '') ? v5 : ',' + v5;
}
v1 = v1.split(',');
v1.sort();
v4 += v1.join(', ');
trace(v4);
}
}
function gameinit(lvl) {
if (demoing) {
lvl = 'start';
}
if (design) {
backup_tilesA = copyarr(world_tilesA);
backup_tilesB = copyarr(world_tilesB);
}
backup_interactA = copyarr(world_interactA);
backup_interactB = copyarr(world_interactB);
bgaud.setVolume(100);
timer = 0;
backup_sprites = copyarr(world_sprites);
backup_world_state = copyob(world_state);
gamep = {'state': 'playing', 'timer': 0, 'fcount': 0, 'tcount': 0, 'fpt': 4, 'fps': 60, 'snd': ''};
gamep.tps = Math.round(gamep.fps / gamep.fpt);
frameon('game');
_root.fg._xscale = tilep.zoom;
_root.fg._yscale = tilep.zoom;
_root.overlay.gotoAndStop('game');
_root.overlay.spc.gotoAndStop(3);
world_state.hidetiles = 1;
gameinit_designed(lvl);
}
function gameexit() {
gamep.state = 'exiting';
if (design) {
world_tilesA = copyarr(backup_tilesA);
world_tilesB = copyarr(backup_tilesB);
}
world_interactA = copyarr(backup_interactA);
world_interactB = copyarr(backup_interactB);
world_sprites = copyarr(backup_sprites);
world_state = copyob(backup_world_state);
}
function superexit() {
frameon('menu');
}
function simulation() {
snd_fade();
switch (gamep.state) {
case 'text':
textcontrol();
break;
case 'minigame':
_root['minigame_' + gamep.minigame]();
break;
case 'cutscene':
if (_root.overlay.mc._currentframe == _root.overlay.mc._totalframes) {
finishcutscene();
snd_initfade('bgaud', 0, 1, 100);
}
break;
case 'precutscene':
if (_root.overlay.mc._currentframe != _root.overlay.mc._totalframes) break;
finishcutscene();
snd_initfade('bgaud', 0, 1, 100);
performaction(text_text);
}
if (gamep.state != 'playing') {
return undefined;
}
++gamep.timer;
gamep.fcount = (gamep.fcount + 1 == gamep.fpt) ? 0 : gamep.fcount + 1;
player();
if (gamep.fcount != 0) {
return undefined;
}
++gamep.tcount;
var v3 = 0;
while (v3 < ref_sprites.length) {
var v2 = ref_sprites[v3];
var v4 = world_sprites[v2][0];
if (!v4.live) {
} else {
v4.ganim = _root.fg.sorted['s' + v2].mc.mc._currentframe;
npc(v2);
if (gamep.state != 'playing') {
return undefined;
}
}
++v3;
}
pcp.wtcheck = 0;
}
function npc(id) {
var v2 = world_sprites[id][0];
var v11 = onscreen(v2.tx, v2.ty);
if (v2.delay == 'c') {
if (v11) {
v2.delay = -1;
if (v2.wt != -1) {
var v14 = world_text[v2.wt];
performaction(v14);
return undefined;
}
} else {
return undefined;
}
} else {
if (v2.delay > -1) {
if (pcp.wtcheck && v2.wt != -1 && v11) {
var v14 = world_text[v2.wt];
performaction(v14);
v2.delay = -1;
} else {
--v2.delay;
}
return undefined;
}
}
if (v2.wt != -1) {
v2.wt = -1;
}
var v5 = world_sprites[id][v2.state];
if (v5.pa != undefined) {
var v14 = world_text[v5.pa];
++v2.state;
performaction(v14);
return undefined;
}
if (v5.statejump) {
if (v5.statejump == 2) {
++v2.state;
v5 = world_sprites[id][v2.state];
}
update_mainstate(v2, v5);
movesprite(id);
return undefined;
}
if (v5.mov && !v2.movn) {
v14 = v5.mov.split('.');
if (v2.mov == undefined || v2.mov == -1) {
v2.mov = 0;
} else {
++v2.mov;
}
if (v2.mov == v14.length) {
v2.mov = -1;
++v2.state;
return undefined;
}
v5.dir = undefined;
v5.gdir = undefined;
v5.gstate = undefined;
var v3 = 0;
var v4 = 0;
do {
if (v4) {
++v2.mov;
v4 = 0;
}
switch (v14[v2.mov]) {
case 'w':
v2.delay = (v14[v2.mov + 1] == 'c') ? 'c' : Number(v14[v2.mov + 1]) * gamep.tps;
v2.mov += 1;
break;
case 'wt':
if (Number(v14[v2.mov + 2]) == 0 || v11) {
var v8 = world_text[Number(v14[v2.mov + 1])];
var v9 = performaction(v8);
if (v9) {
return undefined;
}
} else {
v2.wt = Number(v14[v2.mov + 1]);
v2.delay = (v14[v2.mov + 2] == 'c') ? 'c' : Number(v14[v2.mov + 2]) * gamep.tps;
}
v2.mov += 2;
v3 = 1;
break;
case 'cs':
var v6 = tile_interact(id);
if (v6 != -1) {
var v10 = v6.l ? 'bx' + v6.tx + 'y' + v6.ty : 'ax' + v6.tx + 'y' + v6.ty;
_root.fg.sorted[v10].mc.play();
}
v3 = 1;
break;
case 'as':
var v9 = advancestates(v14[v2.mov + 1], id);
if (v9) {
return undefined;
}
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
case 'cw':
change_world(v14[v2.mov + 1]);
v2.mov += 1;
v3 = 1;
break;
case 'ne':
v5.dir = 'ne';
break;
case 'nw':
v5.dir = 'nw';
break;
case 'se':
v5.dir = 'se';
break;
case 'sw':
v5.dir = 'sw';
break;
case 'j':
v2.tx = Number(v14[v2.mov + 1]);
v2.ty = Number(v14[v2.mov + 2]);
v2.mov += 2;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
case 'snd':
if (v11) {
snd_play(v14[v2.mov + 1]);
}
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
case 'dark':
changedark(v2.tx, v2.ty, Number(v14[v2.mov + 1]));
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
case 'bgsnd':
changebgsnd(v2.tx, v2.ty, v14[v2.mov + 1]);
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
case 'locks':
locks(v14[v2.mov + 1]);
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
break;
default:
v2[v14[v2.mov]] = v14[v2.mov + 1];
v2.mov += 1;
v3 = 1;
v4 = (v2.mov + 1 == v14.length) ? 0 : 1;
continue;
}
} while (v4);
if (v3 && v2.mov + 1 == v14.length) {
v2.mov = -1;
++v2.state;
}
if (v5.dir) {
if (Number(v14[v2.mov + 1]) == 0) {
v5.gdir = v5.dir;
v5.gstate = 'stand';
v5.dir = undefined;
v2.mov += 1;
} else {
v2.movn = 1;
var v13 = world_sprites[id][v2.state + 1];
var v16 = v14[v2.mov + 1];
if (v16 == 't') {
v13.tx = Number(v14[v2.mov + 2]);
v13.ty = Number(v14[v2.mov + 3]);
v2.movdist = -1;
v2.mov += 3;
} else {
v13.tx = -1;
v13.ty = -1;
v2.movdist = Number(v16);
v2.mov += 1;
}
}
}
}
if (v5.dir != undefined) {
v13 = world_sprites[id][v2.state + 1];
if (v2.movn && v2.movdist != -1) {
if (v2.movdist) {
--v2.movdist;
} else {
v13.tx = v2.tx;
v13.ty = v2.ty;
}
}
var v12 = v5.dir;
if (v5.gstate == undefined) {
v2.gstate = 'walk';
}
if (v5.gdir == undefined) {
v2.gdir = v12;
}
update_gstate(id, v5);
var v15 = 0;
if (v2.ty == v13.ty && v2.tx == v13.tx) {
v15 = 1;
}
if (v15) {
if (v5.mov) {
v2.movn = 0;
} else {
++v2.state;
}
v2.gstate = (v2.gstate == 'walk') ? 'stand' : v2.gstate;
update_gstate(id, v13);
movesprite(id);
return undefined;
}
if (v12 == 'nw' || v12 == 'se') {
var v17 = (v12 == 'nw') ? 'se' : 'nw';
} else {
var v17 = (v12 == 'ne') ? 'sw' : 'ne';
}
v14 = checktileto(v12, v17, id);
if (v14 != 0 && v14.ret != 0) {
preparespritemove(id, v5.spd, v14);
if (v5.spd != undefined) {
v2.spd = v5.spd;
}
} else {
if (v2.movn && v2.movdist != -1) {
++v2.movdist;
}
}
} else {
update_gstate(id, v5);
movesprite(id);
}
}
function tile_interact(id) {
var v1 = world_sprites[id][0];
var v2 = tile2point(v1.tx, v1.ty);
v2.px += (v1.gdir == 'nw' || v1.gdir == 'sw') ? 0 : tilep.w;
v2.py += (v1.gdir == 'nw' || v1.gdir == 'ne') ? -tilep.hh : tilep.halfh + tilep.hh;
v2 = point2tile(v2.px, v2.py);
if (tiledata[world_tilesB[v2.tx][v2.ty]].animt) {
return {'tx': v2.tx, 'ty': v2.ty, 'l': 1};
}
if (tiledata[world_tilesB[v1.tx][v1.ty]].animt) {
return {'tx': v1.tx, 'ty': v1.ty, 'l': 1};
}
if (tiledata[world_tilesA[v2.tx][v2.ty]].animt) {
return {'tx': v2.tx, 'ty': v2.ty, 'l': 0};
}
if (tiledata[world_interactA[v1.tx][v1.ty]].animt) {
return {'tx': v1.tx, 'ty': v1.ty, 'l': 0};
}
return -1;
}
function finishcutscene() {
_root.overlay.gotoAndStop('game');
_root.overlay.spc.gotoAndStop(3);
gamep.state = 'playing';
clicks.u = 0;
clicks.d = 0;
clicks.l = 0;
clicks.r = 0;
clicks.space = 2;
}
function performaction(sub) {
var v6 = typeof sub;
if (sub instanceof Array) {
if (sub[0].precut != undefined) {
gamep.state = 'precutscene';
snd_initfade('bgaud', 0, 1, 0);
_root.overlay.gotoAndStop(sub[0].precut);
text_text = copyarr(sub);
text_text[0].precut = undefined;
return 1;
}
gamep.state = 'text';
_root.overlay.gotoAndStop('text');
var v9 = copyarr(sub);
text_end = v9.shift();
text_text = copyarr(v9);
text_on = 0;
text_choice = sub[0].choice ? 1 : 0;
updatetext();
clicks.u = 2;
clicks.d = 2;
clicks.l = 2;
clicks.r = 2;
clicks.space = 2;
return 1;
} else {
if (v6 == 'object') {
var v3 = 0;
if (sub.checkpoint) {
var v5 = sub.cut;
var v8 = sub.checkpoint;
sub = world_text[world_state.checkpoint];
}
if (sub.audio != undefined) {
snd_play(sub.audio);
}
if (sub.sprite != undefined) {
if (sub.animate) {
_root.fg.sorted['s' + sub.sprite].mc.mc.play();
}
var v4 = world_sprites[sub.sprite][0];
if (sub.propname) {
var v7 = sub['propval' + v4[sub.propname]];
var v10 = (v7 == undefined) ? sub.propval : v7;
v4[sub.propname] = v10;
}
if (sub.propname2) {
v4[sub.propname2] = sub.propval2;
}
movesprite(sub.sprite);
}
if (sub.locks) {
locks(sub.locks);
}
if (sub.warps) {
warps(sub.warps);
}
if (sub.changeworld) {
if (v8 == 1) {
_root.nextws = sub.changeworld;
} else {
change_world(sub.changeworld);
v3 = 1;
}
}
if (sub.nextws) {
if (v8 == 1) {
change_world(sub.nextws);
v3 = 1;
} else {
_root.nextws = isNaN(sub.nextws) ? sub.nextws : 'state,' + sub.nextws;
}
}
if (sub.sav) {
saveprogress(sub.sav);
}
if (sub.func) {
_root[sub.func](sub.funcpass);
}
if (sub.func2) {
_root[sub.func2](sub.func2pass);
}
if (sub.func3) {
_root[sub.func3](sub.func3pass);
}
if (sub.as) {
advancestates(sub.as);
}
if (sub.cut || v5) {
gamep.state = 'cutscene';
snd_initfade('bgaud', 0, 1, 0);
var v9 = v5 ? v5 : sub.cut;
_root.overlay.gotoAndStop(v9);
return 1;
}
finishcutscene();
if (sub.nextext != undefined) {
nextext(sub.nextext);
}
if (sub.choice != undefined) {
v9 = sub.choice.split(',');
var v11 = Number(v9[text_on]);
performaction(world_text[v11]);
}
if (sub.minigame) {
gamep.minigame = sub.minigame;
_root['initminigame_' + gamep.minigame]();
gamep.state = 'minigame';
return 1;
}
return v3;
} else {
if (v6 == 'string') {
finishcutscene();
} else {
if (v6 == 'number') {
finishcutscene();
}
}
}
}
}
function textcontrol(minigame) {
var v2 = text_on;
if (clicks.space == 1) {
clicks.space = 2;
if (text_choice || text_on == text_text.length - 1) {
clicks.u = 0;
clicks.d = 0;
clicks.l = 0;
clicks.r = 0;
if (minigame) {
minigamep.texting = 0;
_root.overlay.gotoAndStop('game');
_root.overlay.spc.gotoAndStop(3);
} else {
performaction(text_end);
}
return undefined;
}
}
if (clicks.r == 1) {
++v2;
clicks.r = 2;
}
if (clicks.l == 1) {
--v2;
clicks.l = 2;
}
if (v2 != text_on && v2 > -1 && v2 < text_text.length) {
text_on = v2;
updatetext();
}
}
function updatetext() {
var v5 = (text_on == 0) ? 2 : 1;
var v3 = text_on == text_text.length - 1;
var v4 = v3 ? 2 : 1;
_root.overlay.lft.gotoAndStop(v5);
_root.overlay.rght.gotoAndStop(v4);
if (text_choice) {
_root.overlay.spc.gotoAndStop(4);
} else {
if (v3) {
_root.overlay.spc.gotoAndStop(1);
} else {
_root.overlay.spc.gotoAndStop(2);
}
}
var v2 = text_text[text_on].split('::');
_root.overlay.heads.gotoAndStop(v2[0]);
_root.overlay.heads.mc.gotoAndStop(v2[1]);
_root.overlay.txt.text = v2[2];
}
function update_gstate(id, dub) {
var v2 = world_sprites[id][0];
if (dub.gchar) {
v2.gchar = dub.gchar;
}
if (dub.gstate) {
v2.gstate = dub.gstate;
}
if (dub.gdir) {
v2.gdir = dub.gdir;
}
if (dub.forceinclude != undefined) {
v2.forceinclude = dub.forceinclude;
}
if (dub.ignoreblocking != undefined) {
v2.ignoreblocking = dub.ignoreblocking;
}
}
function nextext(t) {
if (!isNaN(t)) {
performaction(world_text[t]);
return undefined;
}
t = t.split('.');
var v3 = 0;
while (v3 < t.length) {
var v4 = world_state[t[v3]];
var v2 = t[v3 + 1].split(',');
var v1 = 0;
while (v1 < v2.length) {
if (v4 == Number(v2[v1])) {
performaction(world_text[Number(v2[v1 + 1])]);
return undefined;
}
v1 += 2;
}
v3 += 2;
}
}
function change_world(t) {
t = t.split(',');
var v5 = 0;
while (v5 < t.length) {
if (t[v5 + 1] == '++') {
++world_state[t[v5]];
} else {
if (t[v5 + 1] == '--') {
--world_state[t[v5]];
} else {
world_state[t[v5]] = Number(t[v5 + 1]);
}
}
if (t[v5] == 'checkpoint') {
saveprogress('0,' + world_state.checkpoint);
}
if (t[v5] == 'state') {
var v2 = 0;
while (v2 < world_sprites.length) {
var v3 = world_sprites[v2][0];
v3.delay = -1;
v3.mov = -1;
v3.movn = 0;
var v1 = 1;
while (v1 < world_sprites[v2].length) {
var v4 = world_sprites[v2][v1];
if (v4.ws == world_state.state) {
v3.state = v1;
break;
} else {
if (v4.ws > world_state.state) {
break;
}
}
++v1;
}
++v2;
}
cam();
}
v5 += 2;
}
createarea();
}
function locks(t) {
t = t.split(',');
var v2 = 0;
while (v2 < t.length) {
var v4 = Number(t[v2 + 2]);
var v6 = Number(t[v2]);
if (!isNaN(v6)) {
var v8 = Number(t[v2 + 1]);
locks_locker(v6, v8, v4);
} else {
if (t[v2] == 'all') {
for (var v5 in quickmapA) {
locks(v5 + ',all,' + v4);
}
} else {
var v5 = _root['quickmap_' + t[v2]];
if (t[v2 + 1] == 'all') {
for (var v9 in v5) {
var v7 = v5[v9].split(',');
locks_locker(Number(v7[0]), Number(v7[1]), v4);
}
} else {
var v7 = v5[t[v2 + 1]].split(',');
locks_locker(Number(v7[0]), Number(v7[1]), v4);
}
}
}
v2 += 3;
}
}
function locks_locker(tx, ty, tch) {
if (world_interactA[tx][ty] == undefined) {
world_interactA[tx][ty] = {};
}
var v1 = world_interactA[tx][ty];
if (tch == -2) {
tch = v1.touch;
v1.touch = v1.touch2;
v1.touch2 = tch;
} else {
v1.touch2 = v1.touch;
v1.touch = tch;
}
}
function warps(t) {
t = t.split(',');
var v1 = 0;
while (v1 < t.length) {
var v4 = Number(t[v1]);
var v3 = Number(t[v1 + 1]);
var v7 = Number(t[v1 + 2]);
var v6 = Number(t[v1 + 3]);
if (world_interactB[v4][v3] == undefined) {
world_interactB[v4][v3] = {};
}
var v5 = world_interactB[v4][v3];
v5.tx = v7;
v5.ty = v6;
v5.l = 1;
v1 += 6;
}
}
function advancestates(t, id) {
var v12 = t.split('+++');
if (v12.length > 1) {
var v13 = 0;
var v2 = 0;
while (v2 < v12.length) {
var v10 = advancestates(v12[v2], id);
if (v10) {
v13 = 1;
}
++v2;
}
return v13;
}
var v20 = 1;
v10 = t.split('+');
t = v10[0].split(',');
var v1 = v10[1];
if (v1 != undefined) {
v1 = v1.split(',');
var v14 = (v1[0] == 'if') ? 1 : 0;
var v7 = (v1[0] == 'is') ? 1 : 0;
var v18 = (v1[1] == 'or') ? 1 : 0;
var v19 = v14 + v7 + v18;
v20 = (v14 || v7) ? 1 : 0;
}
var v16 = v10[2];
if (v16 != undefined) {
v16 = v16.split(',');
v20 = 0;
}
var v15 = v10[3];
if (v15 != undefined) {
v15 = v15.split(',');
var v17 = 1;
}
if (v14 || v7) {
v10 = 0;
var v11 = 0;
v2 = v19;
while (v2 < v1.length) {
var v6 = v7 ? world_state[v1[v2]] : world_sprites[sub_numbers[v1[v2]]][0].state;
var v9 = (v7 && isNaN(Number(v1[v2 + 1]))) ? world_state[v1[v2 + 1]] : Number(v1[v2 + 1]);
if (v18 && v6 == v9) {
v10 = 1;
v11 = 1;
break;
}
v10 += (v6 == v9) ? 1 : 0;
++v11;
v2 += 2;
}
if (v17 && v11 == v10) {
v17 = 0;
} else {
if (!v17 && v11 != v10) {
return undefined;
}
}
}
v13 = 0;
if (v20) {
v2 = 0;
while (v2 < t.length) {
var v5 = sub_numbers[t[v2]];
var v3 = world_sprites[v5][0];
++v3.state;
v3.mov = -1;
v3.movn = 0;
v3.delay = -1;
if (id == v5) {
v13 = 1;
}
++v2;
}
return v13;
}
v2 = 0;
while (v2 < t.length) {
if (v17) {
v9 = Number(v15[v2]);
} else {
if (v14 || v7) {
v9 = Number(v16[v2]);
} else {
v9 = Number(v1[v2]);
}
}
v5 = sub_numbers[t[v2]];
v3 = world_sprites[v5][0];
v3.state = v9;
v3.mov = -1;
v3.movn = 0;
v3.delay = -1;
if (id == v5) {
v13 = 1;
}
++v2;
}
return v13;
}
function exportworld() {
var v1 = '';
var v2 = new Date();
v1 += '//' + v2.getFullYear() + '/' + (v2.getMonth() + 1) + '/' + v2.getDate() + ' ' + v2.getHours() + ':' + v2.getMinutes();
v1 += '\n';
v1 += 'world_txtA = "' + exporttiles(world_tilesA) + '";';
v1 += '\n';
v1 += 'world_txtB = "' + exporttiles(world_tilesB) + '";';
v1 += '\n';
v1 += 'world_tilesA = importtiles(world_txtA);';
v1 += '\n';
v1 += 'world_tilesB = importtiles(world_txtB);';
trace(v1);
}
function exportvar(nam, val, multi) {
var v3 = nam + ' = ';
if (multi) {
v3 += 'new Array();\r';
var v1 = 0;
while (v1 < val.length) {
v3 += nam + '[' + v1 + ']' + ' = ' + exportarray(val[v1]) + ';' + '\n';
++v1;
}
return v3;
}
var v5 = typeof val;
if (val instanceof Array) {
v3 += exportarray(val);
v3 += ';';
return v3;
}
if (v5 == 'object') {
v3 += exportobject(val);
v3 += ';';
return v3;
}
if (v5 == 'string') {
v3 += '"' + val + '"';
v3 += ';';
return v3;
}
if (v5 == 'number') {
v3 += val;
}
v3 += ';';
return v3;
}
function exportarray(arr, kill) {
var v3 = '[';
var v1 = 0;
while (v1 < arr.length) {
var v4 = typeof arr[v1];
if (arr[v1] == undefined) {
v3 += kill ? '' : ',0';
} else {
if (v1) {
v3 += ', ';
}
if (arr[v1] instanceof Array) {
v3 += exportarray(arr[v1]);
} else {
if (v4 == 'object') {
v3 += exportobject(arr[v1]);
} else {
if (v4 == 'string') {
v3 += '"' + arr[v1] + '"';
} else {
if (v4 == 'number') {
v3 += arr[v1];
}
}
}
}
}
++v1;
}
v3 += ']';
if (v3 == '[]') {
v3 = '0';
}
return v3;
}
function exportobject(obj) {
var v2 = '{';
var v4 = 0;
for (var v5 in obj) {
if (v4) {
v2 += ', ';
}
var v3 = typeof obj[v5];
if (obj[v5] == undefined) {
v2 += v5 + ':' + 0;
} else {
if (v3 == 'string') {
v2 += v5 + ':"' + obj[v5] + '"';
} else {
if (v3 == 'number') {
v2 += v5 + ':' + obj[v5];
}
}
}
++v4;
}
v2 += '}';
return v2;
}
function importarray(txt) {
var v4 = new Array();
txt = txt.slice(1, -1);
while (!false) {
var v6 = txt.charAt(0);
if (v6 == '[') {
var v2 = 1;
var v7 = 1;
while (!false) {
v7 = txt.indexOf(']', v7);
v2 = txt.indexOf('[', v2);
if (v2 == -1 || v2 > v7) {
break;
}
++v2;
++v7;
}
++v7;
var v8 = txt.slice(0, v7);
v4.push(importarray(v8));
txt = txt.slice(v7);
} else {
if (v6 == '{') {
var v7 = txt.indexOf('}') + 1;
v4.push(importobject(txt.slice(0, v7)));
txt = txt.slice(v7);
} else {
v4 = txt.split(', ');
var v3 = 0;
while (v3 < v4.length) {
var v5 = Number(v4[v3]);
if (!isNaN(v5)) {
v4[v3] = v5;
}
++v3;
}
}
}
if (txt.charAt(0) == ',') {
txt = txt.slice(2);
} else {
return v4;
}
}
}
function importobject(txt) {
var v5 = new Object();
txt = txt.slice(1, -1);
var v4 = txt.split(', ');
var v2 = 0;
while (v2 < v4.length) {
var v1 = v4.split(':');
var v3 = (v1[1].charAt(0) == '"') ? v1[1].slice(1, -1) : Number(v1[v2]);
v5[v1[0]] = v3;
++v2;
}
return v5;
}
function copyarr(arr) {
var v4 = new Array();
var v1 = 0;
while (v1 < arr.length) {
var v2 = arr[v1];
if (v2 instanceof Array) {
var v5 = copyarr(arr[v1]);
v4.push(v5);
} else {
if (typeof v2 == 'object') {
var v5 = copyob(arr[v1]);
v4.push(v5);
} else {
v4.push(v2);
}
}
++v1;
}
return v4;
}
function copyob(ob) {
var v2 = new Object();
for (var v3 in ob) {
v2[v3] = ob[v3];
}
return v2;
}
function importtiles(txt) {
txt = txt.split(',');
var v6 = new Array();
var v5 = 0;
var v2 = 0;
v6[v5] = new Array();
var v4 = 0;
while (v4 < txt.length) {
if (txt[v4] == 'br') {
++v5;
v6[v5] = new Array();
v2 = 0;
} else {
var v1 = txt[v4].split('x');
if (v1.length == 0) {
} else {
if (v1.length == 1) {
v6[v5][v2] = Number(v1[0]);
++v2;
} else {
v1[0] = Number(v1[0]);
v1[1] = Number(v1[1]);
if (v1[0] == 0) {
v2 += v1[1];
} else {
var v3 = 0;
while (v3 < v1[1]) {
v6[v5][v2] = v1[0];
++v2;
++v3;
}
}
}
}
}
++v4;
}
return v6;
}
function exporttiles(arr) {
var v2 = '';
var v3 = 0;
var v4 = 0;
var v6 = 0;
while (v6 < arr.length) {
if (v6 != 0) {
if (v3 != 0) {
v2 += (v2.length == 0) ? '' : ',';
v2 += v4 > 1 ? v3 + 'x' + v4 : v3;
}
v2 += (v2.length == 0) ? '' : ',';
v2 += 'br';
v3 = 0;
v4 = 0;
}
var v1 = 0;
while (v1 < arr[v6].length) {
if (arr[v6][v1] == undefined) {
arr[v6][v1] = 0;
}
if (arr[v6][v1] == v3) {
++v4;
} else {
v2 += (v2.length == 0) ? '' : ',';
v2 += v4 > 1 ? v3 + 'x' + v4 : v3;
v3 = arr[v6][v1];
v4 = 1;
}
++v1;
}
++v6;
}
var v7 = v2.split(',');
v6 = v7.length - 1;
while (v6 > 0) {
if (v7[v6] != 'br') {
v7.splice(v6 + 1);
v2 = v7.join(',');
break;
}
--v6;
}
return v2;
}
function cam(xto, yto) {
if (xto == undefined) {
var v2 = tile2screen(pcp.tx, pcp.ty);
xto = v2.sx;
yto = v2.sy;
pcp.xto = v2.sx;
pcp.yto = v2.sy;
}
if (xto != -999) {
_root.fg._x = -(xto * Stage.width);
}
if (yto != -999) {
_root.fg._y = -(yto * Stage.height);
}
campointa = {'x': 0, 'y': 0};
_root.fg.globalToLocal(campointa);
campointb = {'x': Stage.width, 'y': Stage.height};
_root.fg.globalToLocal(campointb);
snd_ambience(xto, yto);
overlay_effect(xto, yto);
createarea();
}
function onscreen(tx, ty) {
var v1 = tile2screen(tx, ty);
if (v1.sx == pcp.xto && v1.sy == pcp.yto) {
return 1;
}
return 0;
}
function overlay_effect(xto, yto) {
var v2 = _root.fg.dark;
if (design == 1) {
v2.gotoAndStop(1);
return undefined;
}
var v3 = world_map[yto][xto];
if (v3.dark) {
v2._x = campointa.x;
v2._y = campointa.y;
v2.gotoAndStop(2);
return undefined;
}
v2.gotoAndStop(1);
}
function changedark(tx, ty, dark) {
var v1 = tile2screen(tx, ty);
world_map[v1.sy][v1.sx].dark = dark;
if (v1.sx == pcp.xto && v1.sy == pcp.yto) {
overlay_effect(v1.sx, v1.sy);
}
}
function changebgsnd(tx, ty, snd) {
if (design == 1) {
return undefined;
}
var v1 = tile2screen(tx, ty);
world_map[v1.sy][v1.sx].snd = snd;
if (v1.sx == pcp.xto && v1.sy == pcp.yto) {
snd_ambience(v1.sx, v1.sy);
}
}
function createarea() {
var v8 = {'xMin': campointa.x - tlradius.l, 'xMax': campointb.x + tlradius.r, 'yMin': campointa.y - tlradius.u, 'yMax': campointb.y + tlradius.d};
tilearea = new Object();
var v9 = point2tile(v8.xMin, v8.yMin);
tilearea.xMin = v9.tx;
tilearea.yMin = v9.ty;
v9 = point2tile(v8.xMax, v8.yMax);
tilearea.xMax = v9.tx;
tilearea.yMax = v9.ty;
tilearea.line = tilearea.xMax - tilearea.xMin;
tilearea.fulline = tilearea.line * 3;
tilearea.layer = tilearea.fulline * (tilearea.yMax - tilearea.yMin + 2);
_root.fg.gotoAndStop(3);
_root.fg.gotoAndStop(1);
var v3 = tilearea.xMin;
while (v3 <= tilearea.xMax) {
if (world_tilesA[v3] == undefined) {
world_tilesA[v3] = new Array();
}
if (world_tilesB[v3] == undefined) {
world_tilesB[v3] = new Array();
}
var v2 = tilearea.yMin;
while (v2 <= tilearea.yMax) {
if (world_tilesA[v3][v2] == undefined) {
world_tilesA[v3][v2] = 0;
}
if (world_tilesB[v3][v2] == undefined) {
world_tilesB[v3][v2] = 0;
}
var v6 = world_tilesA[v3][v2];
if (v6 != 0) {
attachtile(v3, v2, v6, 0);
}
v6 = world_tilesB[v3][v2];
if (v6 != 0) {
attachtile(v3, v2, v6, 1);
}
++v2;
}
++v3;
}
if (design == 1) {
return undefined;
}
ref_sprites = new Array();
var v5 = 0;
while (v5 < world_sprites.length) {
var v4 = world_sprites[v5][0];
update_mainstate(v4, world_sprites[v5][v4.state]);
if (v4.forceinclude) {
} else {
if (v4.tx < tilearea.xMin - 1 || v4.tx > tilearea.xMax + 1 || v4.ty < tilearea.yMin - 1 || v4.ty > tilearea.yMax + 1) {
} else {
ref_sprites.push(v5);
var v7 = (v4.ganim == undefined) ? 1 : v4.ganim;
attachsprite(v5, v7);
}
}
++v5;
}
}
function update_mainstate(sub, dub) {
if (dub.statejump || dub.ws == world_state.state) {
if (dub.spd != undefined) {
sub.spd = dub.spd;
}
sub.tx = dub.tx;
sub.ty = dub.ty;
sub.l = dub.l;
++sub.state;
}
if (dub.forceinclude != undefined) {
sub.forceinclude = dub.forceinclude;
}
if (dub.ignoreblocking != undefined) {
sub.ignoreblocking = dub.ignoreblocking;
}
if (dub.gchar != undefined) {
sub.gchar = dub.gchar;
}
if (dub.gstate != undefined) {
sub.gstate = dub.gstate;
}
if (dub.gdir != undefined) {
sub.gdir = dub.gdir;
}
sub.turnarrive = 0;
sub.live = 1;
}
function attachtile(tx, ty, tl, l) {
var v5 = l ? 'bx' + tx + 'y' + ty : 'ax' + tx + 'y' + ty;
var v3 = tiledata[tl];
var v13 = v3.over ? 1 : 0;
var v10 = get_depth(tx, ty, l, v13, 0);
_root.fg.sorted.attachMovie('tiles', v5, v10);
var v9 = tile2point(tx, ty);
_root.fg.sorted[v5]._x = v9.px;
_root.fg.sorted[v5]._y = v9.py;
tl = (tl == 0) ? tiledata.length : tl;
_root.fg.sorted[v5].gotoAndStop(tl);
if (v3.checkerz) {
_root.fg.sorted[v5].multi.gotoAndStop((tx + ty) % v3.checkerz + 1);
} else {
if (v3.checkerx && v3.checkery) {
_root.fg.sorted[v5].multi.gotoAndStop(tx % v3.checkerx + 1 + (ty % v3.checkery) * v3.checkerx);
} else {
if (v3.checkerx) {
_root.fg.sorted[v5].multi.gotoAndStop(tx % v3.checkerx + 1);
} else {
if (v3.checkery) {
_root.fg.sorted[v5].multi.gotoAndStop(ty % v3.checkery + 1);
} else {
if (v3.table) {
var v7 = ty % 2;
var v11 = !v7 ? hastile(tx - 1, ty - 1, l) : hastile(tx, ty - 1, l);
var v14 = !v7 ? hastile(tx, ty - 1, l) : hastile(tx + 1, ty - 1, l);
var v12 = !v7 ? hastile(tx - 1, ty + 1, l) : hastile(tx, ty + 1, l);
var v15 = !v7 ? hastile(tx, ty + 1, l) : hastile(tx + 1, ty + 1, l);
_root.fg.sorted[v5].multi.gotoAndStop(tile_table(tl, v11, v14, v12, v15));
}
}
}
}
}
}
function hastile(tx, ty, l) {
var v1 = l ? world_tilesB[tx][ty] : world_tilesA[tx][ty];
if (v1 > 0) {
return v1;
}
return 0;
}
function settile(tx, ty, l, tl) {
if (l) {
var v6 = world_tilesB[tx][ty];
var v5 = 'bx' + tx + 'y' + ty;
world_tilesB[tx][ty] = tl;
} else {
var v6 = world_tilesA[tx][ty];
var v5 = 'ax' + tx + 'y' + ty;
world_tilesA[tx][ty] = tl;
}
if (v6 == 0 && _root.fg.sorted[v5] == undefined) {
attachtile(tx, ty, tl, l);
} else {
tl = (tl == 0) ? tiledata.length : tl;
_root.fg.sorted[v5].gotoAndStop(tl);
}
}
function attachsprite(id, ganim) {
var v2 = 's' + id;
_root.fg.sorted.attachMovie('sprites', v2, _root.fg.sorted.getNextHighestDepth());
movesprite(id);
_root.fg.sorted[v2].mc.mc.mc.gotoAndStop(ganim);
}
function movesprite(id) {
sprite_depth(id);
sprite_position(id);
}
function sprite_depth(id) {
var v2 = world_sprites[id][0];
if (v2.tx < tilearea.xMin - 1 || v2.tx > tilearea.xMax + 1 || v2.ty < tilearea.yMin - 1 || v2.ty > tilearea.yMax + 1) {
return undefined;
}
var v4 = 's' + id;
var v3 = get_depth(v2.tx, v2.ty, v2.l, 0, 1);
_root.fg.sorted[v4].swapDepths(v3);
}
function sprite_position(id) {
var v2 = world_sprites[id][0];
var v4 = 's' + id;
var v10 = v2.l ? world_tilesB[v2.tx][v2.ty] : world_tilesA[v2.tx][v2.ty];
var v3 = tiledata[v10];
var v5 = tile2point(v2.tx, v2.ty);
var v8 = v5.px;
v8 += v3.sitx ? v3.sitx : 0;
var v7 = v5.py;
v7 += v3.sity ? v3.sity : 0;
_root.fg.sorted[v4]._x = v8;
_root.fg.sorted[v4]._y = v7;
var v6 = v2.gstate;
var v9 = v2.gdir;
if (v2.gstate == 'stand') {
v6 = (v3.xstate != undefined) ? v3.xstate : v2.gstate;
v9 = (v3.xdir != undefined) ? v3.xdir : v2.gdir;
}
_root.fg.sorted[v4].gotoAndStop(v2.gchar);
_root.fg.sorted[v4].mc.gotoAndStop(v6);
_root.fg.sorted[v4].mc.mc.gotoAndStop(v9);
_root.fg.sorted[v4].mc.mc.mc.gotoAndPlay(1);
}
function get_depth(tx, ty, l, o, s) {
var v1 = 0;
if (l) {
v1 += tilearea.layer;
}
v1 += (ty - tilearea.yMin) * tilearea.fulline;
v1 += tx - tilearea.xMin;
if (s) {
v1 += tilearea.line;
}
if (o) {
v1 += tilearea.line * 2;
}
return v1;
}
function tile2tile(tx, ty, dir, dist) {
var v4 = ty % 2;
var v1 = v4 ? Math.ceil(dist / 2) : Math.floor(dist / 2);
ty += (dir == 'se' || dir == 'sw') ? dist : -dist;
if (!(dir == 'ne' || dir == 'se')) {
tx += -v1;
return {'tx': tx, 'ty': ty};
}
tx += v1;
return {'tx': tx, 'ty': ty};
}
function tile2point(tx, ty) {
var v4 = ty * tilep.halfh;
var v1 = ty % 2;
if (!v1) {
var v5 = tx * tilep.w;
return {'px': v5, 'py': v4};
}
var v5 = tx * tilep.w + tilep.halfw;
return {'px': v5, 'py': v4};
}
function point2tile(px, py) {
var v6 = Math.floor(py / tilep.halfh);
var v2 = v6 % 2;
px -= v2 ? tilep.halfw : 0;
tx = Math.floor(px / tilep.w);
px -= tx * tilep.w;
py -= v6 * tilep.halfh;
if (px < tilep.halfw) {
var v5 = px / tilep.halfw;
var v4 = py / tilep.halfh;
if (v5 + v4 < 1) {
if (v2) {
return {'tx': tx, 'ty': v6 - 1};
} else {
return {'tx': tx - 1, 'ty': v6 - 1};
}
}
return {'tx': tx, 'ty': v6};
}
if (px > tilep.halfw) {
px -= tilep.halfw;
v5 = (tilep.halfw - px) / tilep.halfw;
v4 = py / tilep.halfh;
if (v5 + v4 < 1) {
if (v2) {
return {'tx': tx + 1, 'ty': v6 - 1};
return {'tx': tx, 'ty': v6};
}
return {'tx': tx, 'ty': v6 - 1};
}
}
return {'tx': tx, 'ty': v6};
}
function tile2screen(tx, ty) {
var v1 = tile2point(tx, ty);
var v2 = Math.floor(v1.px / tilep.stagew);
var v3 = Math.floor(v1.py / tilep.stageh);
return {'sx': v2, 'sy': v3};
}
function render() {
if (gamep.state != 'playing') {
return undefined;
}
var v1 = 0;
while (v1 < ref_sprites.length) {
var v2 = ref_sprites[v1];
animatesprite(v2);
++v1;
}
}
function animatesprite(id) {
var v2 = world_sprites[id][0];
if (!v2.turnarrive) {
return undefined;
}
var v3 = 's' + id;
_root.fg.sorted[v3]._x += v2.moveratex;
_root.fg.sorted[v3]._y += v2.moveratey;
if (v2.turnarrive == -25) {
if (_root.fg.sorted[v3].mc.mc.mc._currentframe == _root.fg.sorted[v3].mc.mc.mc._totalframes) {
v2.turnarrive = 0;
v2.live = 1;
}
} else {
if (v2.turnarrive <= gamep.tcount) {
v2.turnarrive = 0;
v2.live = 1;
}
}
}
function checktileto(dir, opdir, id) {
var v2 = world_sprites[id][0];
var v25 = v2.l ? world_tilesB[v2.tx][v2.ty] : world_tilesA[v2.tx][v2.ty];
var v8 = tiledata[v25];
var v9 = v2.l;
var v14 = 0;
if (!v2.l && v8['layer' + dir]) {
v9 = 1;
v14 = 1;
}
var v15 = v2.ty % 2;
var v13 = v8['exit' + dir] ? v8['exit' + dir] : 0;
var v12 = dir;
if (v13 != 0) {
switch (dir) {
case 'nw':
v12 = (v13 == 1) ? 'north' : 'west';
break;
case 'ne':
v12 = (v13 == -1) ? 'north' : 'east';
break;
case 'sw':
v12 = (v13 == 1) ? 'south' : 'west';
break;
case 'se':
v12 = (v13 == -1) ? 'south' : 'east';
}
}
var v22 = v2.tx;
var v21 = v2.ty;
switch (v12) {
case 'nw':
--v21;
v22 -= v15 ? 0 : 1;
break;
case 'ne':
--v21;
v22 += v15 ? 1 : 0;
break;
case 'sw':
++v21;
v22 -= v15 ? 0 : 1;
break;
case 'se':
++v21;
v22 += v15 ? 1 : 0;
break;
case 'north':
v21 -= 2;
break;
case 'south':
v21 += 2;
break;
case 'west':
--v22;
break;
case 'east':
++v22;
}
var v23 = world_tilesA[v22][v21];
var v7 = tiledata[v23];
if (v9) {
if (v7['layer' + opdir]) {
v9 = 0;
v14 = 1;
} else {
v23 = world_tilesB[v22][v21];
v7 = tiledata[v23];
}
}
if (v2.ignoreblocking) {
v14 = 1;
}
if (!v14) {
var v17 = world_state[v7.blockstate];
if (v7.blockx || v17 || v23 == undefined || v23 == 0) {
if (v17 && id != 0) {
} else {
return 0;
}
}
switch (dir) {
case 'nw':
if (v8.blocknw || v7.blockse || v7.trapse) {
return 0;
}
break;
case 'ne':
if (v8.blockne || v7.blocksw || v7.trapsw) {
return 0;
}
break;
case 'sw':
if (v8.blocksw || v7.blockne || v7.trapne) {
return 0;
}
break;
case 'se':
if (v8.blockse || v7.blocknw || v7.trapnw) {
return 0;
}
}
}
var v5 = 0;
while (v5 < ref_sprites.length) {
var v3 = ref_sprites[v5];
if (v3 == id) {
} else {
var v4 = world_sprites[v3][0];
if (v9 == v4.l && v4.tx == v22 && v4.ty == v21) {
return {'id': v3, 'ret': 0};
}
}
++v5;
}
var v24 = v9 ? world_interactB[v22][v21] : world_interactA[v22][v21];
if (v8['anim' + dir]) {
var v18 = v2.l ? 'bx' + v2.tx + 'y' + v2.ty : 'ax' + v2.tx + 'y' + v2.ty;
var v19 = (v8.animout == undefined) ? 2 : v8.animout;
_root.fg.sorted[v18].mc.gotoAndPlay(v19);
}
if (v7['anim' + opdir]) {
v18 = v9 ? 'bx' + v22 + 'y' + v21 : 'ax' + v22 + 'y' + v21;
v19 = (v8.animin == undefined) ? 2 : v8.animin;
_root.fg.sorted[v18].mc.gotoAndPlay(v19);
}
if (v8['gstate' + dir]) {
v2.gstate = v8['gstate' + dir];
} else {
if (v7['gstate' + opdir]) {
v2.gstate = v7['gstate' + opdir];
} else {
if (v7['gstate' + opdir + 'nx']) {
v2.gstate = 'enter' + v7['gstate' + opdir + 'nx'];
} else {
if (v8['gstate' + dir + 'nx']) {
v2.gstate = 'exit' + v8['gstate' + dir + 'nx'];
}
}
}
}
if (v2.l != v9) {
if (v9) {
sprite_position(id);
v2.l = 1;
sprite_depth(id);
} else {
movesprite(id);
v2.l = 0;
}
return {'tx': v22, 'ty': v21, 'tlon': v25, 'tlto': v23};
}
if (v7.under || v8.under) {
if (v21 > v2.ty) {
sprite_position(id);
var v20 = v2.ty;
v2.ty = v21;
sprite_depth(id);
v2.ty = v20;
} else {
movesprite(id);
}
return {'tx': v22, 'ty': v21, 'tlon': v25, 'tlto': v23};
}
if (v21 < v2.ty) {
sprite_position(id);
var v20 = v2.ty;
v2.ty = v21;
sprite_depth(id);
v2.ty = v20;
return {'tx': v22, 'ty': v21, 'tlon': v25, 'tlto': v23};
}
movesprite(id);
return {'tx': v22, 'ty': v21, 'tlon': v25, 'tlto': v23};
}
function preparespritemove(id, spd, obj) {
var v2 = world_sprites[id][0];
var v4 = tiledata[obj.tlon];
var v7 = tiledata[obj.tlto];
var v6 = nomovement_transition(v2);
var v11 = tile2point(v2.tx, v2.ty);
var v10 = v11.px;
var v19 = v4.sitx ? v10 + v4.sitx : v10;
var v8 = v11.py;
var v18 = v4.sity ? v8 + v4.sity : v8;
v11 = tile2point(obj.tx, obj.ty);
var v14 = v6 ? v10 : v11.px;
v14 += v7.sitx ? v7.sitx : 0;
var v13 = v6 ? v8 : v11.py;
v13 += v7.sity ? v7.sity : 0;
var v16 = v14 - v19;
var v15 = v13 - v18;
if (spd == undefined) {
if (v4.spd != undefined) {
spd = v4.spd;
} else {
spd = v2.spd;
}
}
var v17 = 's' + id;
var v12 = v6 ? _root.fg.sorted[v17].mc.mc.mc._totalframes : gamep_spd[spd] * gamep.fpt + 2;
v2.moveratey = (v15 == 0) ? 0 : v15 / v12;
v2.moveratex = (v16 == 0) ? 0 : v16 / v12;
v2.turnarrive = v6 ? -25 : gamep.tcount + gamep_spd[spd];
v2.live = 0;
v2.gstate = gstate_transition(v2);
var v5 = v2.l ? world_interactB[obj.tx][obj.ty] : world_interactA[obj.tx][obj.ty];
if (v5.l != undefined) {
v2.l = v5.l;
v2.tx = v5.tx;
v2.ty = v5.ty;
if (v5.func != undefined) {
_root[v5.func](v2);
}
return undefined;
}
v2.tx = obj.tx;
v2.ty = obj.ty;
}
function ctrlen() {
if (design == 1) {
control_length = inputs.length;
} else {
if (design == 2) {
control_length = 9;
} else {
control_length = 6;
}
}
}
function controls() {
var v2 = 0;
while (v2 < control_length) {
var v1 = inputs[v2];
var v3 = Key.isDown(v1.kcode) || Key.isDown(v1.kcode2);
if (v3 && !clicks[v1.tag]) {
clicks[v1.tag] = 1;
} else {
if (!v3 && clicks[v1.tag] == 2) {
clicks[v1.tag] = 0;
}
}
++v2;
}
}
function switch_keyboard(a) {
switch (a) {
case 'qwerty':
inputs[0].kcode = 74;
inputs[0].kcode2 = 65;
inputs[1].kcode = 76;
inputs[1].kcode2 = 68;
inputs[2].kcode = 73;
inputs[2].kcode2 = 87;
inputs[3].kcode = 75;
inputs[3].kcode2 = 83;
keyboard_type = 1;
return undefined;
case 'azerty':
inputs[0].kcode = 74;
inputs[0].kcode2 = 81;
inputs[1].kcode = 76;
inputs[1].kcode2 = 68;
inputs[2].kcode = 73;
inputs[2].kcode2 = 90;
inputs[3].kcode = 75;
inputs[3].kcode2 = 83;
keyboard_type = 2;
return undefined;
case 'dvorak':
inputs[0].kcode = 84;
inputs[0].kcode2 = 65;
inputs[1].kcode = 69;
inputs[1].kcode2 = 83;
inputs[2].kcode = 82;
inputs[2].kcode2 = 188;
inputs[3].kcode = 78;
inputs[3].kcode2 = 79;
keyboard_type = 3;
return undefined;
case 'fallback':
inputs[0].kcode = 100;
inputs[0].kcode2 = 37;
inputs[1].kcode = 102;
inputs[1].kcode2 = 39;
inputs[2].kcode = 104;
inputs[2].kcode2 = 38;
inputs[3].kcode = 101;
inputs[3].kcode2 = 40;
keyboard_type = 4;
return undefined;
}
}
function snd_play(snd, loop) {
var v2 = 'aud_' + snd;
if (_root[v2] == undefined) {
_root.attachMovie('empty', 'mc' + v2, _root.getNextHighestDepth());
_root[v2] = new Sound(_root['mc' + v2]);
}
sndsplaying[snd] = 1;
_root[v2].attachSound(snd + '.wav');
if (loop) {
_root[v2].start(0, 9999);
} else {
_root[v2].start();
}
}
function stopsounds() {
for (var v1 in sndsplaying) {
if (sndsplaying[v1]) {
snd_stop(v1);
}
}
}
function snd_stop(snd) {
var v2 = 'aud_' + snd;
_root[v2].stop();
sndsplaying[snd] = 0;
}
function snd_ambience(xto, yto) {
var v1 = world_map[yto][xto];
if (v1.snd == gamep.snd) {
return undefined;
}
gamep.snd = v1.snd;
bgaud.stop();
bgaud.attachSound(v1.snd + '.wav');
var v2 = (getTimer() % bgaud.duration) / 1000;
bgaud.start(v2);
}
function snd_initfade(sndname, ease, len, vol, kill) {
var v2 = fadep.length;
fadep[v2] = new Object();
fadep[v2].snd = sndname;
fadep[v2].ease = ease / 100;
fadep[v2].timers = timer;
fadep[v2].timere = timer + len * gamep.fps;
fadep[v2].vols = _root[sndname].getVolume();
fadep[v2].vole = vol;
fadep[v2].kill = kill ? 1 : 0;
}
function snd_fade() {
if (fadep.length == 0) {
return undefined;
}
var v4 = new Array();
var v2 = 0;
while (v2 < fadep.length) {
var v6 = fadep[v2];
var v5 = makepercent(timer, v6.timers, v6.timere);
var v3 = demakepercent(v5, v6.vols, v6.vole);
_root[v6.snd].setVolume(v3);
if (v3 == v6.vole) {
if (v6.kill) {
_root[v6.snd].stop();
}
} else {
v4.push(v2);
}
++v2;
}
if (v4.length == 0) {
fadep = [0];
return undefined;
}
if (v4.length < fadep.length) {
v6 = new Array();
v2 = 0;
while (v2 < v4.length) {
v6[v2] = copyob(fadep[v4[v2]]);
++v2;
}
fadep = copyarr(v6);
}
}
function makepercent(n, min, max) {
return Math.floor(((n - min) / (max - min)) * 100);
}
function demakepercent(p, min, max) {
var v1 = (p / 100) * Math.abs(max - min);
if (min >= max) {
v1 = min - v1;
return v1;
}
v1 += min;
return v1;
}
function designinit() {
clicks.spinner = 0;
clicks.leftclick = 2;
frameon('game');
_root.fg._xscale = tilep.zoom;
_root.fg._yscale = tilep.zoom;
_root.overlay.gotoAndStop('designer');
_root.overlay.l.text = designp.l;
cam(designp.camx, designp.camy);
}
function designloop() {
var v7 = point2tile(_root.fg._xmouse, _root.fg._ymouse);
var v4 = v7.tx;
var v3 = v7.ty;
var v2 = hastile(v4, v3, designp.l);
_root.overlay.t.text = 'x' + v4 + '_y' + v3 + '_tl' + v2;
if (clicks.left == 1 || clicks.right == 1 || clicks.up == 1 || clicks.down == 1) {
var v6 = designp.camx;
v6 -= clicks.left ? 1 : 0;
v6 += clicks.right ? 1 : 0;
var v5 = designp.camy;
v5 -= clicks.up ? 1 : 0;
v5 += clicks.down ? 1 : 0;
cam(v6, v5);
designp.camx = v6;
designp.camy = v5;
clicks.left = 2;
clicks.right = 2;
clicks.up = 2;
clicks.down = 2;
}
if (clicks.one == 1) {
copyscreen();
clicks.one = 2;
} else {
if (clicks.two == 1) {
pastescreen();
clicks.two = 2;
}
}
if (clicks.space == 1) {
designp.l = designp.l ? 0 : 1;
_root.overlay.l.text = designp.l;
clicks.space = 2;
}
if (clicks.spinner != 0) {
v2 += clicks.spinner;
v2 = (v2 == tiledata.length) ? 0 : v2;
v2 = (v2 == -1) ? tiledata.length - 1 : v2;
settile(v4, v3, designp.l, v2);
clicks.spinner = 0;
}
if (clicks.middleclick) {
if (clicks.middleclick == 1) {
designp.copypasta = hastile(v4, v3, designp.l);
clicks.middleclick = 2;
} else {
settile(v4, v3, designp.l, designp.copypasta);
}
}
if (clicks.playtest == 1) {
clicks.playtest = 2;
design = 2;
ctrlen();
gameinit('design');
}
}
function testloop() {
if (clicks.playtest == 1) {
clicks.playtest = 2;
design = 1;
ctrlen();
gameexit();
designinit();
_root.fg.pc.removeMovieClip();
return undefined;
}
if (clicks.test == 1) {
clicks.test = 2;
}
}
function copyscreen() {
var v6 = {'x': 0, 'y': 0};
_root.fg.globalToLocal(v6);
v6 = point2tile(v6.x, v6.y);
var v7 = {'x': Stage.width, 'y': Stage.height};
_root.fg.globalToLocal(v7);
v7 = point2tile(v7.x, v7.y);
screen_tilesA = new Array();
screen_tilesB = new Array();
var v4 = v6.tx;
while (v4 <= v7.tx) {
var v3 = v4 - v6.tx;
if (screen_tilesA[v3] == undefined) {
screen_tilesA[v3] = new Array();
}
if (screen_tilesB[v3] == undefined) {
screen_tilesB[v3] = new Array();
}
var v2 = v6.ty;
while (v2 <= v7.ty) {
var v5 = v2 - v6.ty;
screen_tilesA[v3][v5] = world_tilesA[v4][v2];
screen_tilesB[v3][v5] = world_tilesB[v4][v2];
++v2;
}
++v4;
}
}
function pastescreen() {
var v5 = {'x': 0, 'y': 0};
_root.fg.globalToLocal(v5);
v5 = point2tile(v5.x, v5.y);
var v7 = {'x': Stage.width, 'y': Stage.height};
_root.fg.globalToLocal(v7);
v7 = point2tile(v7.x, v7.y);
var v3 = v5.tx;
while (v3 <= v7.tx) {
var v6 = v3 - v5.tx;
var v2 = v5.ty;
while (v2 <= v7.ty) {
var v4 = v2 - v5.ty;
world_tilesA[v3][v2] = screen_tilesA[v6][v4];
world_tilesB[v3][v2] = screen_tilesB[v6][v4];
++v2;
}
++v3;
}
createarea();
}
function onEnterFrame() {
if (gamep.state != 'paused') {
++timer;
}
controls();
if (framein == 'game') {
if (design == 1) {
designloop();
} else {
if (design == 2) {
testloop();
render();
simulation();
} else {
render();
simulation();
}
}
}
}
function frameon(goto) {
framein = goto;
_root.gotoAndStop(goto);
}
function designing(b) {
if (b == 0) {
design = 0;
frameon('menu');
} else {
design = 1;
frameon('designer');
}
ctrlen();
}
function finishgame(a) {
gameexit();
if (demoing) {
frameon('demoend');
} else {
frameon('menu');
}
}
function init_saves(d) {
var v2 = _root._url.split(':');
demoing = (v2[0] == 'http' || d) ? 1 : 0;
world_state.demoing = demoing;
defaultstate += 'demoing,' + demoing + ',';
mainmen = !demoing ? 'full' : 'demo';
mainmen += (fetchprogress() == 0) ? 'A' : 'B';
}
function saveprogress(t) {
t = t.split(',');
var v3 = prog.split(',');
var v1 = 0;
while (v1 < t.length) {
v3[Number(t[v1])] = t[v1 + 1];
v1 += 2;
}
prog = v3.join(',');
sav.data.prog = prog;
sav.flush();
}
function fetchprogress() {
var v1 = prog.split(',');
return Number(v1[0]);
}
function initminigame_pee() {
minigamep = {'texting': 0, 'canmove': 0, 'section': 0, 'min': 20, 'max': 796, 'spd': 0, 'maxspd': 10, 'accl': 1.5, 'hitting': 0, 'hits': 0, 'goal': 300, 'w': 60, 'wh': 90, 'streamspd': 0, 'streamdir': 1, 'streamaccl': 0.75, 'streamburst': 20};
_root.miniclip.gotoAndStop('pee');
_root.miniclip.mc.gotoAndStop('intro');
snd_initfade('bgaud', 0, 1, 0);
snd_play('pee', 1);
}
function minigame_pee() {
if (minigamep.texting) {
textcontrol(1);
return undefined;
} else {
if (!minigamep.canmove) {
return undefined;
}
}
switch (minigamep.section) {
case 0:
_root.miniclip.mc.gotoAndStop('side');
_root.miniclip.mc.stream.gotoAndStop(1);
_root.miniclip.mc.bottle.goingin.gotoAndStop(2);
_root.miniclip.mc.bottle.peelevel.gotoAndStop(1);
++minigamep.section;
break;
case 1:
minigame_peeside();
break;
case 2:
_root.miniclip.mc.gotoAndStop('interlude');
minigamep.canmove = 0;
++minigamep.section;
break;
case 3:
_root.miniclip.mc.gotoAndStop('front');
_root.miniclip.mc.bottle.miss.gotoAndStop(1);
_root.miniclip.mc.bottle.peelevel.gotoAndStop(1);
minigamep.maxspd = 15;
minigamep.hitting = 0;
minigamep.hits = 0;
minigamep.goal = 1000;
++minigamep.section;
break;
case 4:
minigame_peefront();
break;
case 5:
performaction([{'func': 'end_minigame', 'funcpass': 'pee'}, 'hikki::laugh::AHAHAHA.', 'hikki::laugh::What a stupid thing to make a minigame.', 'hikki::laugh::Oh lord.']);
}
}
function minigame_peefront() {
var v2 = 0;
if (clicks.ul || clicks.dl) {
clicks.ul = 2;
clicks.dl = 2;
v2 = -1;
} else {
if (clicks.ur || clicks.dr) {
clicks.ur = 2;
clicks.dr = 2;
v2 = 1;
}
}
if (v2 == 0 || v2 * minigamep.spd < 0) {
minigamep.spd = 0;
} else {
if (minigamep.spd == 0) {
minigamep.spd = v2;
} else {
var v11 = minigamep.maxspd * v2;
var v8 = minigamep.spd * minigamep.accl;
minigamep.spd = minigamep.maxspd < Math.abs(v8) ? v11 : v8;
}
}
var v5 = _root.miniclip.mc.bottle._x + minigamep.spd;
if (v5 < minigamep.min) {
minigamep.spd = 0;
_root.miniclip.mc.bottle._x = minigamep.min;
} else {
if (v5 > minigamep.max) {
minigamep.spd = 0;
_root.miniclip.mc.bottle._x = minigamep.max;
} else {
_root.miniclip.mc.bottle._x = v5;
}
}
if (minigamep.streamspd == 0) {
minigamep.streamspd = random(minigamep.streamburst);
}
var v4 = _root.miniclip.mc.stream._x + minigamep.streamspd * minigamep.streamdir;
if (v4 < minigamep.min) {
minigamep.streamdir = 1;
_root.miniclip.mc.stream._x = minigamep.min;
} else {
if (v4 > minigamep.max) {
minigamep.streamdir = -1;
_root.miniclip.mc.stream._x = minigamep.max;
} else {
_root.miniclip.mc.stream._x = v4;
if (random(20) == 11) {
minigamep.streamdir *= -1;
}
}
}
minigamep.streamspd = Math.floor(minigamep.streamspd * minigamep.streamaccl);
var v6 = _root.miniclip.mc.bottle._x - minigamep.wh;
var v9 = v6 + minigamep.w;
var v7 = v9 + minigamep.w;
var v10 = v7 + minigamep.w;
v2 = _root.miniclip.mc.stream._x;
if (v2 > v6 && v2 < v10) {
if (v2 < v9) {
if (minigamep.hitting != 3) {
minigamep.hitting = 3;
_root.miniclip.mc.bottle.miss.gotoAndStop(3);
}
} else {
if (v2 > v7) {
if (minigamep.hitting != 2) {
minigamep.hitting = 2;
_root.miniclip.mc.bottle.miss.gotoAndStop(2);
}
} else {
++minigamep.hits;
var v3 = Math.ceil((minigamep.hits / minigamep.goal) * 100);
_root.miniclip.mc.bottle.peelevel.gotoAndStop(v3);
if (minigamep.hits >= minigamep.goal) {
++minigamep.section;
} else {
if (v3 > 70) {
++minigamep.hits;
minigamep.streamburst = 90;
} else {
if (v3 > 40) {
minigamep.hits += 3;
minigamep.streamburst = 50;
}
}
}
if (minigamep.hitting != 0) {
minigamep.hitting = 0;
_root.miniclip.mc.bottle.miss.gotoAndStop(1);
}
}
}
} else {
if (minigamep.hitting != 0) {
minigamep.hitting = 0;
_root.miniclip.mc.bottle.miss.gotoAndStop(1);
}
}
}
function minigame_peeside() {
var v3 = 0;
if (clicks.ul || clicks.dl) {
clicks.ul = 2;
clicks.dl = 2;
v3 = -1;
} else {
if (clicks.ur || clicks.dr) {
clicks.ur = 2;
clicks.dr = 2;
v3 = 1;
}
}
if (v3 == 0 || v3 * minigamep.spd < 0) {
minigamep.spd = 0;
} else {
if (minigamep.spd == 0) {
minigamep.spd = v3;
} else {
var v6 = minigamep.maxspd * v3;
var v5 = minigamep.spd * minigamep.accl;
minigamep.spd = minigamep.maxspd < Math.abs(v5) ? v6 : v5;
}
}
var v4 = _root.miniclip.mc.bottle._x + minigamep.spd;
if (v4 < minigamep.min) {
minigamep.spd = 0;
_root.miniclip.mc.bottle._x = minigamep.min;
} else {
if (v4 > minigamep.max) {
minigamep.spd = 0;
_root.miniclip.mc.bottle._x = minigamep.max;
} else {
_root.miniclip.mc.bottle._x = v4;
}
}
v3 = _root.miniclip.mc.stream.hitTest(_root.miniclip.mc.bottle._x, _root.miniclip.mc.bottle._y, true);
if (!minigamep.hitting && v3) {
_root.miniclip.mc.bottle.goingin.gotoAndStop(1);
minigamep.hitting = 1;
minigamep.hitsmooth = 20;
} else {
if (minigamep.hitting && !v3) {
if (minigamep.hitsmooth) {
--minigamep.hitsmooth;
} else {
_root.miniclip.mc.bottle.goingin.gotoAndStop(2);
minigamep.hitting = 0;
}
}
}
if (v3) {
++minigamep.hits;
var v2 = Math.ceil((minigamep.hits / minigamep.goal) * 100);
_root.miniclip.mc.bottle.peelevel.gotoAndStop(v2);
if (minigamep.hits >= minigamep.goal) {
++minigamep.section;
} else {
if (v2 >= 60) {
_root.miniclip.mc.stream.gotoAndStop(3);
} else {
if (v2 >= 30) {
_root.miniclip.mc.stream.gotoAndStop(2);
}
}
}
}
}
function minigame_peeanim(anim) {
if (anim !== 'toend') {
} else {
minigamep.canmove = 1;
}
}
function initminigame_hands() {
snd_initfade('bgaud', 0, 1, 0);
snd_play('blood', 1);
minigamep = {'texting': 0, 'canmove': 1, 'frames': 0, 'pace': 34, 'update': 0, 'back': 1, 'north': 1, 'action': -1, 'turning': 0, 'turnt': 0, 'miss': 0, 'section': 0, 'small': 0, 'big': 0, 'flip1': 0, 'flip2': 0, 'flipseq': 0, 'sequence': 0};
hands_sequence_small = new Array();
hands_sequence_big = new Array();
var v5 = 0;
while (v5 < 4) {
var v4 = random(5);
hands_sequence_small[v5] = new Array();
var v3 = 0;
while (v3 < 4) {
hands_sequence_small[v5].push(v4);
var v2 = random(5);
if (v2 == v4) {
v2 = random(5);
}
v4 = v2;
++v3;
}
hands_sequence_big[v5] = new Array();
v3 = 0;
while (v3 < 5) {
hands_sequence_big[v5].push(v4);
v2 = random(5);
if (v2 == v4) {
v2 = random(5);
}
v4 = v2;
++v3;
}
++v5;
}
hands_fliponce = new Array();
v5 = 0;
while (v5 < 5) {
hands_fliponce[v5] = random(3) + 1;
++v5;
}
hands_fliptwice = new Array();
v5 = 0;
while (v5 < 3) {
v4 = random(3) + 1;
hands_fliptwice[v5] = [v4, random(4 - v4) + v4 + 1];
++v5;
}
_root.miniclip.gotoAndStop('hands');
_root.miniclip.repeat.gotoAndStop(2);
}
function minigame_hands() {
if (minigamep.texting) {
textcontrol(1);
return undefined;
} else {
if (!minigamep.canmove) {
return undefined;
}
}
if (minigamep.update == 2) {
_root.miniclip.feedback.gotoAndStop(1);
_root.miniclip.repeat.gotoAndStop(2);
} else {
if (minigamep.update == 1) {
minigamep.update = 0;
if (minigamep.turning) {
if (minigamep.back) {
_root.miniclip.simon.gotoAndStop('ftob');
} else {
_root.miniclip.simon.gotoAndStop('btof');
}
minigamep.turning = 0;
minigamep.canmove = 0;
return undefined;
} else {
var v2 = minigamep.back ? 'b' : 'f';
v2 += minigamep.north ? 'n' : 's';
switch (minigamep.action) {
case -1:
break;
case 0:
v2 += 'w';
break;
case 1:
v2 += 'e';
break;
case 2:
v2 += 'sp';
}
_root.miniclip.simon.gotoAndStop(v2);
}
}
}
switch (minigamep.section) {
case 0:
minigame_textprep(['hand::::Watch as I do then do as I did.']);
++minigamep.section;
return undefined;
case 1:
minigame_handsactions(0, 0);
return undefined;
case 2:
minigame_handsrepeat(0);
return undefined;
case 3:
minigamep.update = 2;
_root.miniclip.feedback.gotoAndStop('success');
minigame_textprep(['hand::::Ok, you\'ve got the basics down.', 'hand::::Now comes the hard stuff.']);
++minigamep.section;
return undefined;
case 4:
minigame_handsactions(0, 1);
return undefined;
case 5:
minigame_handsrepeat(0);
return undefined;
case 6:
minigamep.update = 2;
_root.miniclip.feedback.gotoAndStop('success');
minigame_textprep(['hand::::Confusing isn\'t it?', 'hand::::Let\'s step it up.']);
++minigamep.section;
return undefined;
case 7:
minigame_handsactions(1, 1);
return undefined;
case 8:
minigame_handsrepeat(1);
return undefined;
case 9:
minigamep.update = 2;
_root.miniclip.feedback.gotoAndStop('success');
minigame_textprep(['hand::::I\'m impressed.', 'hand::::This will be the last one.']);
++minigamep.section;
return undefined;
case 10:
minigame_handsactions(1, 2);
return undefined;
case 11:
minigame_handsrepeat(1);
return undefined;
case 12:
_root.miniclip.feedback.gotoAndStop('success');
_root.miniclip.win.gotoAndPlay(2);
_root.miniclip.simon.gotoAndStop('blank');
++minigamep.section;
minigamep.canmove = 0;
return undefined;
case 13:
performaction([{'func': 'end_minigame', 'funcpass': 'hands', 'func2': 'locks', 'func2pass': mwell_fill}, 'hikki::bloody::']);
return undefined;
}
}
function minigame_handsrepeat(seq) {
var v2 = -1;
if (clicks.ul == 1) {
clicks.ul = 2;
v2 = 0;
_root.snd_play('westminster_B');
} else {
if (clicks.ur == 1) {
clicks.ur = 2;
v2 = 1;
_root.snd_play('westminster_E');
} else {
if (clicks.dl == 1) {
clicks.dl = 2;
v2 = 2;
_root.snd_play('westminster_Gs');
} else {
if (clicks.dr == 1) {
clicks.dr = 2;
v2 = 3;
_root.snd_play('westminster_Fs');
} else {
if (clicks.space == 1) {
clicks.space = 2;
v2 = 4;
_root.snd_play('westminster_combo');
}
}
}
}
}
if (v2 != -1) {
var v4 = seq ? hands_sequence_big[minigamep.big][minigamep.sequence] : hands_sequence_small[minigamep.small][minigamep.sequence];
if (v2 == v4) {
++minigamep.sequence;
var v5 = seq ? hands_sequence_big[minigamep.big].length : hands_sequence_small[minigamep.small].length;
if (minigamep.sequence == v5) {
minigamep.sequence = 0;
++minigamep.section;
if (seq) {
++minigamep.big;
} else {
++minigamep.small;
}
}
} else {
++minigamep.miss;
if (minigamep.miss == 3) {
_root.miniclip.xxx.gotoAndPlay(4);
snd_stop('blood');
performaction([{'func': 'end_minigame'}, 'hand::::Ok, now I said I wanted to know what you thought of the game BUT...', 'hand::::As it stands you\'re quite pathetic at this game and WELL...', 'hand::::I can\'t really take criticism... from someone as pathetic as you SO...', 'hand::::I ask that you try again and succeed before offering your opinion on this game\'s quality.']);
} else {
if (seq) {
++minigamep.big;
} else {
++minigamep.small;
}
minigamep.sequence = 0;
--minigamep.section;
minigamep.update = 2;
_root.miniclip.xxx.gotoAndStop(minigamep.miss + 1);
_root.miniclip.feedback.gotoAndStop('fail');
switch (random(5)) {
case 0:
minigame_textprep(['hand::::No see, that\'s wrong.', 'hand::::Let\'s try again.']);
break;
case 1:
minigame_textprep(['hand::::Rookie mistake.', 'hand::::Let\'s try again.']);
break;
case 2:
minigame_textprep(['hand::::Are you even paying attention?', 'hand::::Let\'s try again.']);
break;
case 3:
minigame_textprep(['hand::::I don\'t even get how you thought that was correct.', 'hand::::Let\'s try again.']);
break;
case 4:
minigame_textprep(['hand::::Don\'t do that again as we do this again.']);
}
}
}
}
}
function minigame_handsactions(seq, flp) {
++minigamep.frames;
if (minigamep.frames == minigamep.pace) {
minigamep.frames = 0;
} else {
return undefined;
}
minigamep.update = 1;
if (minigamep.action != -1) {
minigamep.action = -1;
return undefined;
}
if (!minigamep.turnt) {
if (flp == 1) {
var v2 = hands_fliponce[minigamep.flip1];
} else {
if (flp == 2) {
var v2 = hands_fliptwice[minigamep.flip2][minigamep.flipseq];
}
}
if (v2 == minigamep.sequence) {
if (!minigamep.north) {
minigamep.north = 1;
return undefined;
}
++minigamep.flipseq;
minigamep.turning = 1;
minigamep.back = minigamep.back ? 0 : 1;
minigamep.turnt = 1;
return undefined;
}
}
v2 = seq ? hands_sequence_big[minigamep.big][minigamep.sequence] : hands_sequence_small[minigamep.small][minigamep.sequence];
if (v2 == undefined) {
if (minigamep.section == 10) {
if (!minigamep.north) {
minigamep.north = 1;
return undefined;
}
if (minigamep.back) {
minigamep.back = 0;
minigamep.turning = 1;
return undefined;
}
}
_root.miniclip.feedback.gotoAndStop('repeat');
_root.miniclip.repeat.gotoAndStop(1);
minigamep.update = 0;
minigamep.sequence = 0;
minigamep.flipseq = 0;
if (flp) {
++minigamep['flip' + flp];
}
++minigamep.section;
return undefined;
}
if (!minigamep.north && (v2 == 0 || v2 == 1) || minigamep.north && (v2 == 2 || v2 == 3)) {
minigamep.north = minigamep.north ? 0 : 1;
return undefined;
}
minigamep.action = v2 > 1 ? v2 - 2 : v2;
++minigamep.sequence;
minigamep.turnt = 0;
}
function minigame_handsanim(anim) {
if (anim !== 'toend') {
} else {
minigamep.canmove = 1;
}
}
function initminigame_lab() {
minigamep = {'texting': 0, 'flask': 0, 'moves': 0, 'cmyk': 'c', 'canmove': 1, 'reset': 0, 'pour1': 'c', 'pour2': 'c', 'pour3': 'c'};
minigamep.c = world_state.cjuice;
minigamep.m = world_state.mjuice;
minigamep.y = world_state.yjuice;
minigamep.k = world_state.kjuice;
_root.miniclip.gotoAndStop('lab');
_root.miniclip.mc.gotoAndStop('c');
minigame_labanim('set');
var v2 = world_state.mouthd ? 1 : 3;
_root.miniclip.mc.tag1.gotoAndStop(v2);
v2 = world_state.lolid ? 2 : 3;
_root.miniclip.mc.tag2.gotoAndStop(v2);
}
function minigame_lab() {
if (minigamep.texting) {
textcontrol(1);
return undefined;
} else {
if (!minigamep.canmove) {
return undefined;
} else {
if (minigamep.flask == 3) {
var v2 = {'c': 0, 'm': 0, 'y': 0, 'k': 0};
v2.c = (minigamep.pour1 == 'c' || minigamep.pour2 == 'c' || minigamep.pour3 == 'c') ? 1 : 0;
v2.m = (minigamep.pour1 == 'm' || minigamep.pour2 == 'm' || minigamep.pour3 == 'm') ? 1 : 0;
v2.y = (minigamep.pour1 == 'y' || minigamep.pour2 == 'y' || minigamep.pour3 == 'y') ? 1 : 0;
v2.k = (minigamep.pour1 == 'k' || minigamep.pour2 == 'k' || minigamep.pour3 == 'k') ? 1 : 0;
if (v2.c && v2.m && v2.y) {
performaction({'cut': 'potionhand', 'func': 'end_minigame', 'funcpass': 'destroy', 'func2': 'change_world', 'func2pass': 'state,5,glass,1'});
return undefined;
} else {
if (v2.k && v2.m && v2.y) {
if (world_state.mouthd) {
performaction([{'func': 'end_minigame'}, 'hikki::mono::I\'ve already mixed these...', 'hikki::mono::I like having a mouth...', 'hikki::mono::Even if it isn\'t mine.']);
return undefined;
}
performaction({'cut': 'potionmouth', 'func2': 'end_minigame', 'func2pass': 'juice', 'func': 'change_world', 'funcpass': 'state,2,mouthd,1'});
return undefined;
} else {
if (v2.k && v2.c && v2.y) {
if (world_state.lolid) {
performaction([{'func': 'end_minigame'}, 'hikki::mono::I\'ve already mixed these...', 'hikki::mono::Being young again was freeing but...', 'hikki::mono::...']);
return undefined;
}
performaction({'cut': 'potionloli', 'func2': 'end_minigame', 'func2pass': 'juice', 'func': 'change_world', 'funcpass': 'state,6,lolid,1,trydoor,-1,mwell,0,kwell,1,cwell,1'});
return undefined;
} else {
if (v2.k && v2.m && v2.c) {
if (world_state.lolid) {
performaction({'cut': 'potiondeath', 'func': 'end_minigame', 'funcpass': 'destroy', 'func2': 'change_world', 'func2pass': 'state,8,glass,1,trydoor,-1'});
return undefined;
}
performaction({'cut': 'potiondie'});
return undefined;
}
}
}
}
} else {
if (!minigamep.c && !minigamep.m && !minigamep.y && !minigamep.k) {
if (minigamep.flask == 0) {
if (minigamep.moves > 1) {
if (world_state.alchemy == 0) {
performaction([{'func': 'end_minigame'}, 'hikki::mono::A chemistry set...']);
} else {
performaction([{'func': 'end_minigame'}, 'hikki::mono::I should try to fill these vials.']);
}
return undefined;
}
} else {
var v4 = world_sprites[0][0];
if (v4.gchar == 'loli') {
performaction([{'func': 'end_minigame'}, 'loli::smile::Potions!']);
} else {
performaction([{'func': 'end_minigame'}, 'hikki::mono::I believe I will require atleast 3 full vials to perform any alchemic feats.']);
}
return undefined;
}
}
}
}
}
var v3 = '';
if (clicks.ul == 1) {
clicks.ul = 2;
v3 = 'c';
} else {
if (clicks.ur == 1) {
clicks.ur = 2;
v3 = 'm';
} else {
if (clicks.dl == 1) {
clicks.dl = 2;
v3 = 'y';
} else {
if (clicks.dr == 1) {
clicks.dr = 2;
v3 = 'k';
}
}
}
}
if (v3 != '' && v3 != minigamep.cmyk) {
_root.miniclip.mc.gotoAndStop(minigamep.cmyk + 'to' + v3);
minigamep.cmyk = v3;
minigamep.canmove = 0;
if (minigamep.reset) {
minigame_labanim('set');
minigamep.reset = 0;
}
++minigamep.moves;
return undefined;
}
if (clicks.space == 1) {
clicks.space = 2;
if (minigamep[minigamep.cmyk]) {
minigamep[minigamep.cmyk] = 0;
++minigamep.flask;
minigamep['pour' + minigamep.flask] = minigamep.cmyk;
minigamep.reset = 1;
_root.miniclip.mc.gotoAndStop(minigamep.cmyk + 'pour');
minigame_labanim('set');
minigamep.canmove = 0;
}
}
}
function minigame_labanim(anim) {
switch (anim) {
case 'set':
_root.miniclip.mc.c.gotoAndStop(minigamep.c + 1);
_root.miniclip.mc.m.gotoAndStop(minigamep.m + 1);
_root.miniclip.mc.y.gotoAndStop(minigamep.y + 1);
_root.miniclip.mc.k.gotoAndStop(minigamep.k + 1);
break;
case 'pour':
_root.miniclip.mc.flask.gotoAndStop(minigamep.flask + 1);
_root.miniclip.mc.flask['pour' + minigamep.flask].mc.gotoAndStop(minigamep['pour' + minigamep.flask]);
break;
case 'toend':
minigamep.canmove = 1;
}
}
function end_minigame(v) {
switch (v) {
case 'juice':
world_state.cjuice = minigamep.c;
world_state.mjuice = minigamep.m;
world_state.yjuice = minigamep.y;
world_state.kjuice = minigamep.k;
break;
case 'hands':
change_world('mwell,1,state,1');
snd_stop('blood');
break;
case 'pee':
if (demoing) {
finishgame('demo');
return undefined;
}
change_world('ywell,1,minibottle,1,bigbottle,2');
locks(ywell_fill);
snd_stop('pee');
break;
case 'destroy':
world_state.cjuice = minigamep.c;
world_state.mjuice = minigamep.m;
world_state.yjuice = minigamep.y;
world_state.kjuice = minigamep.k;
performaction({'func': 'locks', 'funcpass': destroy_lab});
break;
default:
}
snd_initfade('bgaud', 0, 1, 100);
gamep.state = 'playing';
_root.miniclip.gotoAndStop(1);
}
function minigame_textprep(sub) {
minigamep.texting = 1;
_root.overlay.gotoAndStop('text');
var v2 = copyarr(sub);
text_text = copyarr(v2);
text_on = 0;
updatetext();
clicks.left = 2;
clicks.right = 2;
clicks.space = 2;
}
function init_player(tx, ty) {
var v2 = _root.fg;
v2.pc.removeMovieClip();
v2.attachMovie('player_cursor', 'pc', v2.getNextHighestDepth());
var v3 = tile2point(tx, ty);
v2.pc._x = v3.px;
v2.pc._y = v3.py;
pcp = {'tx': tx, 'ty': ty, 'movframes': 20, 'disablewarp': 0};
_root.overlay.spc.gotoAndStop(3);
cam();
}
function player() {
if (pcp.animate) {
player_animate();
return undefined;
}
if (clicks.space == 1) {
clicks.space = 2;
var v1 = world_interactA[pcp.tx][pcp.ty];
if (v1.tx != undefined && !pcp.disablewarp) {
pcp.tx = v1.tx;
pcp.ty = v1.ty;
pcp.animate = 1;
player_animate();
cam();
pcp.wtcheck = 1;
stopsounds();
}
if (v1.touch > -1) {
performaction(world_text[v1.touch]);
}
return undefined;
}
var v2 = 0;
if (clicks.u == 1) {
v2 = 1;
player_move('u');
} else {
if (clicks.d == 1) {
v2 = 1;
player_move('d');
} else {
if (clicks.l == 1) {
v2 = 1;
player_move('l');
} else {
if (clicks.r == 1) {
v2 = 1;
player_move('r');
}
}
}
}
if (v2) {
clicks.u = 2;
clicks.d = 2;
clicks.l = 2;
clicks.r = 2;
}
}
function player_animate() {
var v2 = _root.fg.pc;
--pcp.animate;
if (!pcp.animate) {
var v4 = tile2point(pcp.tx, pcp.ty);
v2._x = v4.px;
v2._y = v4.py;
v2.gotoAndStop('idle');
return undefined;
}
v2._x += pcp.movx;
v2._y += pcp.movy;
if (random(5)) {
return undefined;
}
v2 = _root.fg;
var v5 = v2.getNextHighestDepth();
var v3 = 'drop' + v5;
v2.attachMovie('player_cursor', v3, v5);
v2[v3]._x = v2.pc._x;
v2[v3]._y = v2.pc._y;
v2[v3].gotoAndStop('drop' + (random(3) + 1));
}
function player_move(dir) {
var v4 = world_interactA[pcp.tx][pcp.ty];
var v7 = v4[dir + 'x'];
var v8 = v4[dir + 'y'];
var v5 = tile2point(pcp.tx, pcp.ty);
var v6 = tile2point(v7, v8);
var v2 = {};
v2.h = v6.px - v5.px;
v2.v = v6.py - v5.py;
var v9 = _root.fg.pc;
v9.gotoAndStop('move');
pcp.animate = pcp.movframes;
pcp.movx = v2.h / pcp.movframes;
pcp.movy = v2.v / pcp.movframes;
pcp.tx = v7;
pcp.ty = v8;
var v3 = Math.floor(((Math.abs(v2.h) + Math.abs(v2.v)) / tilep.stageadd) * 100);
if (v3 < 10) {
snd_play('soar');
} else {
if (v3 < 30) {
snd_play('soar2');
} else {
snd_play('soar3');
}
}
}
function rad2deg(radians) {
return radians * 180 / Math.PI;
}
function deg2rad(degrees) {
return degrees * Math.PI / 180;
}
function create_player_paths(xto, yto, links) {
var v20 = tilep.stagew * xto;
var v21 = v20 + tilep.stagew;
var v17 = tilep.stageh * yto;
var v18 = v17 + tilep.stageh;
var v22 = point2tile(v20, v17);
v20 = v22.tx;
v17 = v22.ty;
v22 = point2tile(v21, v18);
v21 = v22.tx;
v18 = v22.ty;
var v1 = [];
var v9 = v20;
while (v9 <= v21) {
var v5 = v17;
while (v5 <= v18) {
var v4 = world_interactA[v9][v5];
if (v4.name == undefined) {
} else {
v1.push({'name': v4.name, 'tx': v9, 'ty': v5, 'u': -1, 'd': -1, 'l': -1, 'r': -1});
}
++v5;
}
++v9;
}
links = links.split('/');
var v11 = 0;
while (v11 < links.length) {
var v8 = links[v11].split(',');
var v3 = -1;
var v6 = -1;
var v10 = -1;
var v2 = 0;
while (v2 < v1.length) {
v4 = v1[v2];
if (v4.name == v8[0]) {
v3 = v2;
}
if (v4.name == v8[1]) {
v6 = v2;
}
if (v4.name == v8[2]) {
v10 = v2;
}
++v2;
}
if (v8[2] == 'all') {
v1[v3].u = v6;
v1[v3].d = v6;
v1[v3].r = v6;
v1[v3].l = v6;
} else {
v1[v6].u = v3;
v1[v10].l = v3;
v1[v3].r = v10;
v1[v3].d = v6;
}
++v11;
}
v11 = 0;
while (v11 < v1.length) {
v4 = v1[v11];
var v7 = world_interactA[v4.tx][v4.ty];
v7.ux = v1[v4.u].tx;
v7.uy = v1[v4.u].ty;
v7.dx = v1[v4.d].tx;
v7.dy = v1[v4.d].ty;
v7.lx = v1[v4.l].tx;
v7.ly = v1[v4.l].ty;
v7.rx = v1[v4.r].tx;
v7.ry = v1[v4.r].ty;
++v11;
}
}
world_txtA = 'br,br,br,0x45,28,br,0x43,34,28,3x3,br,0x41,28,33,3x7,br,0x40,28,3x10,br,0x40,20,18,3x7,br,0x42,72,0,3x3,69,br,br,br,br,br,br,br,br,br,0x15,28,0x27,28x2,2,br,0x13,28x2,3x3,70,0x23,28,2x5,br,0x11,28,31,3x7,0x19,71,0,2x9,br,0x10,28,3x11,0x17,18,2x12,br,0x10,18x2,3x12,0x16,18x2,2x9,br,0x12,21,18,3x9,69,0x18,18x2,2x5,69,br,0x14,22,18,3x5,0x23,18x2,2,br,0x16,18x2,3,br,br,br,br,br,br,br,0x11,28,71,3x3,0x35,3x3,70,br,0x12,3x6,0x3,3x2,0x25,71,3x6,br,0x11,28x2,3x8,0x26,3x6,69,br,0x12,3x10,0x22,71,3x6,br,0x14,3x10,0x20,3x5,br,0x16,3x3,0,3x5,0x21,3,br,0x22,3,0,69,br,br,br,br,br,br,br,br,br,0x15,63x2,4,br,0x13,28x2,4x5,0x27,28x2,65,0,70,br,0x12,28,4x8,0x24,28x2,65x5,br,0x12,18x2,4x5,0x25,28,65x8,br,0x14,18x2,4,0,69,0x25,18,25,65x3,0,65,br,0x46,26,br,br,br,br,br,br,br,br,0x17,28x2,3,0x27,28x2,3,0,70,br,0x15,28x2,3x5,0x23,28x2,3x5,br,0x13,28,32,3x9,70,0x18,28x2,3x9,br,0x12,28,3x12,0x17,28,3x12,br,0x12,18,24,3x9,0x19,18,25,3x9,br,0x14,18,25,3x5,0x23,26,18,3x5,br,0x16,26,18,3,0x27,23,18,3,br,br,br,br,br,br,br,br,0x17,28x2,3,br,0x15,28x2,3x5,br,0x13,28,32,3x9,70,0x18,72,2,br,0x12,28,3x12,br,0x12,18,24,3x9,0x24,71,br,0x14,18';
world_txtB = 'br,br,br,br,0x45,1x3,br,0x43,1x4,44,1x2,br,0x41,1x10,br,0x42,1x7,br,0x42,27,18,1x4,br,0x44,18,br,br,br,br,br,br,br,br,0x45,8,br,0x15,1x4,0x22,28,0,7,5,1,8x2,br,0x13,42,1x5,38,0x19,35,28,1,6,1x2,14,1x2,8,10,br,0x11,1x11,0x18,1x4,15x2,14x2,1x2,9,8,br,0x12,1,39,1x2,41,1x7,0x18,16,12,1x4,74,1x2,br,0x14,40x2,1x8,0x20,13,11,1x4,br,0x16,1x3,43,1,0x25,17,0,73,br,0x18,1,br,br,br,br,br,br,0x13,28,0x37,28,br,0x12,35,1x3,0x5,28,0x27,28x2,1x4,br,0x11,18,1x6,0,28,29,76,1,0x24,28,35,1x6,br,0x12,22,1x8,0x24,28,30,1x7,br,0x11,18,1,75,1x8,0x21,28,35,1x6,br,0x12,19,18,1,75,1x8,0x19,18,1,75,1x3,br,0x14,19,18,1,28x2,18,1x5,0x19,19,18,1,br,0x16,18,0x3,20,18,1,0,1,br,br,br,br,br,br,br,br,br,0x17,1,br,0x15,1,64,1,47,62,0x29,1,0,1,br,0x13,58,1x6,47,0,61,0x24,55,68,1x3,br,0x15,60,1x3,0x26,1x6,0,67,br,0x16,59,0,1,0x27,1x3,0,66,br,br,br,br,br,br,br,br,br,0x49,1,0,1,br,0x17,48,0x29,56,1x4,br,0x15,1x2,46,1x2,45,1x4,0x20,1x7,57,1,br,0x13,1,42,1x10,0x18,55,54,1x2,51,1,52,1x3,55,1,br,0x14,1x9,0x21,1x2,56,1x6,br,0x16,49,1x4,0x25,53,1x3,50,br,0x18,1,0x29,1,br,br,br,br,br,br,br,br,br,0x17,48,br,0x15,1x2,47,46,47,45,1x4,0x18,1x2,br,0x13,1,42,1x3,47x3,1x4,br,0x14,1x9,0x24,1,br,0x16,49,0x31,1,br,br,br,br,br,br,br,br,br,br,br,br,br,br,0';
world_tilesA = importtiles(world_txtA);
world_tilesB = importtiles(world_txtB);
tiledata = new Array();
tmp = 2;
tiledata[tmp] = {'checkery': 2};
tiledata[tmp + 1] = {'checkery': 2};
tiledata[tmp + 2] = {'checkery': 2};
tmp = 5;
tiledata[tmp] = {'animt': 1, 'blockx': 1};
tiledata[tmp + 1] = {'animt': 1, 'blockx': 1};
tiledata[tmp + 2] = {'animt': 1, 'blockx': 1};
tmp = 11;
tiledata[tmp] = {'animt': 1, 'blockx': 1};
tiledata[tmp + 1] = {'animt': 1, 'blockx': 1};
tiledata[tmp + 2] = {'animt': 1, 'blockx': 1};
tiledata[15] = {'sity': 10};
tiledata[17] = {'animt': 1, 'blockx': 1};
tiledata[19] = {'forceout': 'sw', 'animsw': 1, 'animout': 12};
tiledata[29] = {'forceout': 'se', 'animse': 1, 'animout': 12};
tmp = 36;
tiledata[tmp] = {'animnw': 1, 'forceout': 'nw', 'under': 1, 'warpframe': 15};
tiledata[tmp + 1] = {'animne': 1, 'forceout': 'ne', 'under': 1, 'warpframe': 15};
tiledata[46] = {'under': 1};
tmp = 54;
tiledata[tmp] = {'animt': 1};
tiledata[tmp + 2] = {'under': 1};
tiledata[tmp + 3] = {'under': 1};
tiledata[62] = {'sity': -8};
tiledata[47] = {'sity': -8, 'sitx': -4};
tmp = 66;
tiledata[tmp] = {'animt': 1};
tiledata[42] = {'under': 1};
tiledata[48] = {'under': 1};
tiledata[53] = {'under': 1};
tiledata[76] = {};
s;
start_save = '0,1,1,1,1,0,0,0';
is_dem = 0;
world_map = new Array();
quickmapA = {'living': 0, 'hall': 0, 'bath': 0, 'melissa': 0, 'dining': 1, 'kitchen': 1, 'entrance': 1, 'laundry': 1, 'david': 1};
quickmapB = {'living': 1, 'hall': 2, 'bath': 3, 'melissa': 4, 'dining': 0, 'kitchen': 1, 'entrance': 2, 'laundry': 3, 'david': 4};
world_state = {'state': 0, 'hidetiles': 0, 'stove': 1, 'tree': 1, 'microwave': 1, 'melissabed': 2, 'guestbed': 4, 'stereo': 1, 'dresser': 1, 'davidbed': 2, 'nintendo': 1, 'toilet': 1, 'shower': 1, 'curtain': 1, 'towels': 1, 'fridge': 1, 'coke': 2, 'dishes': 2, 'mvar': 0, 'dvar': 0, 'toaster': 1, 'toasterexplained': 0, 'checkpoint': 0};
defaultstate = 'dishes,2,stove,1,fridge,1,tree,1,melissabed,1,guestbed,4,stereo,1,dresser,1,davidbed,1,nintendo,1,toilet,1,shower,1,curtain,1,towels,1,coke,2,microwave,1,';
world_text = new Array();
world_interactA = new Array();
world_interactB = new Array();
var i = 0;
while (i < 80) {
world_interactA[i] = new Array();
world_interactB[i] = new Array();
++i;
}
quickmap_living = {'tv': '19,19', 'tree': '23,19', 'table': '21,18', 'vhs': '19,14'};
world_interactA[18][20] = {'name': 'todining', 'tx': 7, 'ty': 45};
world_interactA[22][25] = {'name': 'toentrance', 'tx': 34, 'ty': 47};
world_interactA[19][19] = {'name': 'tv', 'touch': 101};
world_text[101] = [0, 'pc::d::Television, the modern altar.'];
world_text[130] = [0, 'pc::concern::With my injected lust I\'m afraid I\'ve made this hypnotic device even more potent.'];
world_interactA[23][19] = {'name': 'tree', 'touch': 102};
world_text[102] = [0, 'pc::bask::Ah, the traditional fir tree ritual of Winter Solstice carries on as it always did.', 'pc::d::Some things are eternal.'];
world_text[131] = [0, 'pc::blush::What Thor must think for me to inject my lustful sap into a fir!'];
world_interactA[21][18] = {'name': 'table', 'touch': 103};
world_text[103] = [0, 'pc::shock::Oh-ho! A crystal clear tabletop so that objects on it seem to float.'];
world_text[132] = [0, 'pc::concern::I was trying to focus my lust on the table itself but it\'s lack of visibility...', 'pc::contemplation::I much rather my tables have some meat on them.'];
world_interactA[19][14] = {'name': 'vhs', 'touch': 104};
world_text[104] = [0, 'pc::d::A collection of VHS tapes...', 'pc::laugh::Does the collector not realize we\'re entering the age of the Disc?'];
paths_living_bare = 'todining,toentrance,toentrance/toentrance,todining,todining';
paths_living = 'todining,tv,vhs/toentrance,vhs,tree/tv,tree,table/tree,toentrance,todining/table,todining,toentrance/vhs,table,tv';
paths_living_sleep = 'todining,tv,all/toentrance,tree,all/vhs,table,all/tv,tree,table/table,tv,tree/tree,table,tv';
quickmap_hall = {'thermostat': '36,19', 'tohide': '37,26'};
world_interactA[36][19] = {'name': 'thermostat', 'touch': 144};
world_text[144] = [0, 'pc::d::A thermostat, the modern fireplace.', 'pc::laugh::Silly humans, winter nipples are best nipples.'];
world_interactA[31][15] = {'name': 'toentrance', 'tx': 33, 'ty': 55};
world_interactA[32][23] = {'name': 'tobath', 'tx': 50, 'ty': 20};
world_interactA[34][15] = {'name': 'tomelissa', 'tx': 61, 'ty': 26};
world_interactA[35][17] = {'name': 'todavid', 'tx': 59, 'ty': 53};
world_interactA[37][26] = {'name': 'tohide', 'touch': 105};
world_text[105] = [0, 'pc::d::Beyond is the parent\'s room.', 'pc::contemplation::But I won\'t enter as they\'re not my concern.'];
paths_hall = 'toentrance,tobath,tomelissa/tomelissa,todavid,todavid/todavid,thermostat,tobath/tobath,tomelissa,thermostat/tohide,toentrance,toentrance/thermostat,tohide,tohide';
quickmap_bath = {'bath': '47,17', 'toilet': '48,13', 'sink': '50,16'};
world_interactA[50][20] = {'name': 'tohall', 'tx': 32, 'ty': 23};
world_interactA[47][17] = {'name': 'bath', 'touch': 106};
world_text[106] = [0, 'pc::concern::The tub is the only place that each of the young couple allow disrobing.', 'pc::contemplation::Such prudish behaviors makes my task difficult.'];
world_interactA[48][13] = {'name': 'toilet', 'touch': 107};
world_text[107] = [0, 'pc::curious::It always surprises me to see such a crystal pool of water being used for bodily evacuation.', 'pc::d::Not that I have a problem with wasteful extravagance.'];
world_interactA[50][16] = {'name': 'mirror', 'touch': 108};
world_text[108] = [0, 'pc::curious::...', 'pc::d::...', 'pc::blush::My beauty is hypnotic.'];
paths_roomtohall_bare = 'tohall,tohall,all';
paths_bath = 'tohall,toilet,bath/bath,tohall,toilet/toilet,mirror,mirror/mirror,bath,tohall';
quickmap_melissa = {'bed': '60,20', 'stereo': '60,17', 'music': '61,15', 'dresser': '63,17'};
world_interactA[61][26] = {'name': 'tohall', 'tx': 34, 'ty': 15};
world_interactA[60][20] = {'name': 'bed', 'touch': 109};
world_text[109] = [0, 'pc::disdain::These modern sleeping mats are far too firm.', 'pc::disdain::Why no down and dander?'];
world_interactA[60][17] = {'name': 'stereo', 'touch': 110};
world_text[110] = [0, 'pc::shock::Melissa is quite the emphatic audiophile. What is this kinship I feel?', 'pc::bask::Such resonant resonance, such attention to attenuation.'];
world_text[133] = [0, 'pc::blush::My lustful frequencies have intermingled with this magnificent machine.'];
world_interactA[61][15] = {'name': 'music', 'touch': 111};
world_text[111] = [0, 'pc::shock::What a collection!', 'pc::shock::Music of many eras and of every continent!'];
world_text[134] = [0, 'pc::concern::I hope I didn\'t do any damage to her discs...', 'pc::blush::My lustful injections can be rough.'];
world_interactA[63][17] = {'name': 'dresser', 'touch': 112};
world_text[112] = [0, 'pc::curious::Hmmm...', 'pc::d::No phallic idolatries to be found.'];
world_text[135] = [0, 'pc::contemplation::A rather wasteful place to have injected my lust.', 'pc::contemplation::Not that there\'s anything wrong with wasteful lust.', 'pc::contemplation::Really all lust is wasted lust, to not waste of it would be the waste.'];
paths_melissa = 'bed,stereo,tohall/stereo,tohall,bed/tohall,music,music/music,dresser,dresser/dresser,bed,stereo';
paths_melissa_sleep = 'bed,stereo,all/tohall,dresser,all/stereo,dresser,music/music,stereo,dresser/dresser,music,stereo';
quickmap_dining = {'thermostat': '6,39', 'art': '6,44'};
world_interactA[7][45] = {'name': 'toliving', 'tx': 18, 'ty': 20};
world_interactA[8][49] = {'name': 'tokitchen', 'tx': 20, 'ty': 42};
world_interactA[6][39] = {'name': 'thermostat', 'touch': 144};
world_interactA[6][44] = {'name': 'art', 'touch': 113};
world_text[113] = [0, 'pc::smile::Artistic passions waft around this room.', 'pc::bask::I always wanted to dabble in musery.'];
paths_dining_bare = 'tokitchen,toliving,toliving/toliving,tokitchen,tokitchen';
paths_dining = 'art,tokitchen,thermostat/tokitchen,thermostat,art/toliving,art,tokitchen/thermostat,toliving,toliving';
quickmap_kitchen = {'microwave': '18,43', 'sink': '19,49', 'stove': '21,42', 'coffee': '21,43', 'fridge': '23,46', 'coke': '20,47', 'toaster': '22,44'};
world_interactA[20][42] = {'name': 'todining', 'tx': 8, 'ty': 49};
world_interactA[22][51] = {'name': 'toentrance', 'tx': 32, 'ty': 51};
world_interactA[18][43] = {'name': 'microwave', 'touch': 114};
world_text[114] = [0, 'pc::disdain::Such a pathetic grill these things are, everything exits soggy.'];
world_text[127] = [0, 'pc::blush::That injection was hotter than I\'m accustomed to from grills.'];
world_interactA[19][49] = {'name': 'sink', 'touch': 115};
world_text[115] = [0, 'pc::bask::The soapy scents are delightful.'];
world_text[128] = [0, 'pc::d::I feel somewhat dirty pouring my lust down the sink.'];
world_interactA[21][42] = {'name': 'stove', 'touch': 116};
world_text[116] = [0, 'pc::concern::What a waste, this thing should be baking cakes and caramel mincing.'];
world_interactA[21][43] = {'name': 'coffee', 'touch': 117};
world_text[117] = [0, 'pc::bask::Mmm, this is the good stuff I smell.', 'pc::d::Father clearly doesn\'t mess around.'];
world_text[129] = [0, 'pc::blush::I prefer black, yet had no choice but to inject cream.'];
world_interactA[22][44] = {'name': 'toaster', 'touch': 118};
world_text[118] = [0, 'pc::curious::The\'re an odd scent to this...', 'pc::curious::And not just that overwhelming seizurey-strokey smell.'];
world_text[139] = {'nextext': 'toaster.0,143.toasterexplained.0,140,1,141'};
world_text[140] = [{'nextext': 142, 'changeworld': 'toasterexplained,1'}, 'pc::d::There\'s always one of these around, the odd smelling time-distortion device.', 'pc::concern::Of course I could bend time of my own will if I wanted...', 'pc::contemplation::But that\'s just too much strain.', 'pc::d::Anyhow, I think I just press this thing and...'];
world_text[141] = [{'choice': '142,100'}, 'pc::concern::Shall I take off back to the past?', 'pc::contemplation::Or stick around?'];
world_text[142] = {'cut': 'timetravel', 'checkpoint': 1};
world_text[143] = [0, 'pc::concern::I can\'t seem to get time-distort-travel up and working at this moment.', 'pc::concern::I\'m sure it happens to every guy once in a while.'];
world_interactA[23][46] = {'name': 'fridge', 'touch': 119};
world_text[119] = [0, 'pc::d::Gotta love the icebox, filled with sugar-waters and frosted-meats.'];
world_interactA[20][47] = {'name': 'coke', 'touch': 4};
paths_kitchen_bare = 'coke,toentrance,all/todining,toentrance,toentrance/toentrance,todining,todining';
paths_kitchen_coke = 'todining,coke,all/toentrance,coke,all/coke,coke,all';
paths_kitchen = 'todining,microwave,stove/microwave,stove,sink/stove,coffee,coffee/coffee,toaster,toaster/toaster,sink,toentrance/sink,fridge,todining/fridge,toentrance,microwave/toentrance,todining,fridge';
paths_kitchen_sleep = 'todining,microwave,all/stove,microwave,all/toaster,coffee,all/fridge,coffee,all/toentrance,sink,all/microwave,coffee,coffee/coffee,sink,sink/sink,microwave,microwave';
paths_kitchen_pee = 'todining,stove,all/coffee,stove,all/sink,fridge,all/toaster,microwave,all/toentrance,fridge,all/microwave,stove,stove/stove,fridge,fridge/fridge,microwave,microwave';
quickmap_entrance = {'tohide': '31,56'};
world_interactA[32][51] = {'name': 'tokitchen', 'tx': 22, 'ty': 51};
world_interactA[34][47] = {'name': 'toliving', 'tx': 22, 'ty': 25};
world_interactA[35][47] = {'name': 'tolaundry', 'tx': 47, 'ty': 53};
world_interactA[33][55] = {'name': 'tohall', 'tx': 31, 'ty': 15};
world_interactA[31][56] = {'name': 'tohide', 'touch': 120};
world_text[120] = [0, 'pc::d::As much as I enjoy frolicking through nature...', 'pc::d::I think I\'ll stay inside until I\'ve achieved my task.'];
paths_entrance = 'toliving,tolaundry,tolaundry/tolaundry,tokitchen,tohide/tokitchen,tohall,toliving/tohall,tohide,tokitchen/tohide,toliving,tohall';
quickmap_laundry = {'waterheater': '48,48', 'washer': '49,49'};
world_interactA[47][53] = {'name': 'toentrance', 'tx': 35, 'ty': 47};
world_interactA[48][48] = {'name': 'heater', 'touch': 121};
world_text[121] = [0, 'pc::d::Nothing really special about the heated water barrel.'];
world_interactA[49][49] = {'name': 'washer', 'touch': 122};
world_text[122] = [0, 'pc::concern::A washer but no dryer...', 'pc::curious::Maybe they rely on air drying of their garments like pathetic ancient people.'];
paths_laundry_bare = 'toentrance,toentrance,all';
paths_laundry = 'heater,washer,washer/washer,toentrance,toentrance/toentrance,heater,heater';
quickmap_david = {'bed': '64,50', 'dresser': '62,44', 'tv': '62,47', 'games': '64,46'};
world_interactA[59][53] = {'name': 'tohall', 'tx': 35, 'ty': 17};
world_interactA[64][50] = {'name': 'bed', 'touch': 123};
world_text[123] = [0, 'pc::disdain::Dreadful, the linens are filthy and the springs pierce the cushioning.'];
world_text[136] = [0, 'pc::disdain::I can\'t believe I injected lust on such a filthy thing.', 'pc::contemplation::I should inspect myself for Lice.'];
world_interactA[62][44] = {'name': 'dresser', 'touch': 124};
world_text[124] = [0, 'pc::d::David\'s fashion sense is terrible.'];
world_interactA[62][47] = {'name': 'tv', 'touch': 125};
world_text[125] = [0, 'pc::d::A gaming entertainment mechanism. Like cards or ball-cup.'];
world_text[137] = [0, 'pc::bask::Injecting lust into a game felt much better than I expected it would.'];
world_interactA[64][46] = {'name': 'games', 'touch': 126};
world_text[126] = [0, 'pc::d::David\'s collection of games and sequential art.', 'pc::blush::I can also sense areas of lustful aura hiding within.'];
world_text[138] = [0, 'pc::blush::I didn\'t need to inject much lust to attract David to his secret collection.'];
paths_david = 'dresser,games,tv/games,tv,bed/tv,bed,games/bed,tohall,tohall/tohall,dresser,dresser';
paths_david_sleep = 'dresser,games,all/tohall,tv,all/games,tv,bed/tv,bed,games/bed,games,tv';
world_interactB[18][18] = {'name': 'todining', 'tx': 8, 'ty': 42, 'l': 1};
world_interactB[22][23] = {'name': 'toentrance', 'tx': 34, 'ty': 44, 'l': 1};
world_interactB[31][12] = {'name': 'toentrance', 'tx': 33, 'ty': 53, 'l': 1};
world_interactB[32][20] = {'name': 'tobath', 'tx': 50, 'ty': 18, 'l': 1};
world_interactB[37][24] = {'name': 'tohide', 'tx': 77, 'ty': 47, 'l': 1};
world_interactB[35][12] = {'name': 'tomelissa', 'tx': 61, 'ty': 24, 'l': 1};
world_interactB[36][14] = {'name': 'todavid', 'tx': 59, 'ty': 51, 'l': 1};
world_interactB[50][18] = {'name': 'tohall', 'tx': 32, 'ty': 20, 'l': 1};
world_interactB[61][24] = {'name': 'tohall', 'tx': 35, 'ty': 12, 'l': 1};
world_interactB[8][42] = {'name': 'toliving', 'tx': 18, 'ty': 18, 'l': 1};
world_interactB[8][47] = {'name': 'tokitchen', 'tx': 19, 'ty': 39, 'l': 1};
world_interactB[19][39] = {'name': 'todining', 'tx': 8, 'ty': 47, 'l': 1};
world_interactB[22][49] = {'name': 'toentrance', 'tx': 32, 'ty': 48, 'l': 1};
world_interactB[32][48] = {'name': 'tokitchen', 'tx': 22, 'ty': 49, 'l': 1};
world_interactB[34][44] = {'name': 'toliving', 'tx': 22, 'ty': 23, 'l': 1};
world_interactB[36][44] = {'name': 'tolaundry', 'tx': 47, 'ty': 51, 'l': 1};
world_interactB[31][54] = {'name': 'tohide', 'tx': 75, 'ty': 43, 'l': 1};
world_interactB[33][53] = {'name': 'tohall', 'tx': 31, 'ty': 12, 'l': 1};
world_interactB[47][51] = {'name': 'toentrance', 'tx': 36, 'ty': 44, 'l': 1};
world_interactB[59][51] = {'name': 'tohall', 'tx': 36, 'ty': 14, 'l': 1};
world_interactB[75][43] = {'name': 'toentrance', 'tx': 31, 'ty': 54, 'l': 1};
world_interactB[77][47] = {'name': 'tohall', 'tx': 37, 'ty': 24, 'l': 1};
world_sprites = new Array();
world_sprites[0] = new Array();
sub_david = world_sprites[0];
world_sprites[1] = new Array();
sub_melissa = world_sprites[1];
world_sprites[2] = new Array();
sub_mom = world_sprites[2];
world_sprites[3] = new Array();
sub_dad = world_sprites[3];
world_sprites[4] = new Array();
sub_girl = world_sprites[4];
sub_numbers = {'david': 0, 'melissa': 1, 'mom': 2, 'dad': 3, 'girl': 4, 'pc': 5, 'none': 6};
sub_girl.push({'tx': 70, 'ty': 40, 'state': 1, 'l': 1, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'ne', 'spd': 0, 'forceinclude': 1});
sub_dad.push({'tx': 21, 'ty': 44, 'state': 1, 'l': 1, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne', 'spd': 0, 'forceinclude': 1});
sub_melissa.push({'tx': 62, 'ty': 21, 'state': 1, 'l': 1, 'gchar': 'melissa_summer', 'gstate': 'stand', 'gdir': 'sw', 'spd': 0, 'forceinclude': 1});
sub_mom.push({'tx': 78, 'ty': 48, 'state': 1, 'l': 1, 'gchar': 'mother_work', 'gstate': 'stand', 'gdir': 'ne', 'spd': 0, 'forceinclude': 1});
sub_david.push({'tx': 64, 'ty': 50, 'state': 1, 'l': 1, 'gchar': 'david_summer', 'gstate': 'bed', 'gdir': 'ne', 'spd': 0, 'forceinclude': 1});
sub_mom.push({});
sub_david.push({});
sub_girl.push({});
world_text[1] = [{'precut': 'previously'}, 'pc::d::Ok, did you get all that?', 'pc::curious::No? Alright...', 'pc::d::The boy is David and the girl is Melissa.', 'pc::d::They met and fell in love over summer break. (*game_01)', 'pc::d::At around the same time their parents started also dating.', 'pc::d::Then when they were going to school again Melissa somewhat cheated on David with another boy. (*game_03)', 'pc::d::David broke up the relationship immediately but their parents were engaged soon after and they married and bought this house.', 'pc::d::And now it is winter holidays and David will not be able to ignore Melissa for much longer so-', 'pc::shock::What\'s that?', 'pc::laugh::Aha you\'re right, I need to introduce myself.', 'pc::devious::I am...', 'pc::lust::~PANEROS~\n-Reuniter of lovers. Mender of shattered bonds.-', 'pc::determined::And I won\'t be leaving until our task of reuniting these two is accomplished.', 'pc::d::Let\'s begin!'];
sub_melissa.push({'mov': 'sw.t.34.14.se.3.sw.1.se.3.gdir.ne.gstate.touch.w.2.nw.3.sw.1.nw.t.32.51.as.dad.ne.t.35.46.sw.0'});
sub_melissa.push({});
sub_dad.push({'mov': 'gstate.touch.w.2.cs.w.3.cs.ne.0'});
sub_dad.push({});
sub_dad.push({'mov': 'se.3.sw.1.se.t.32.49.ne.0.wt.0.10'});
world_text[0] = [0, 'melissa::tired::Bye Dad, have a good day at work.', 'dad::smile::Thanks sleepyhead.', 'dad::smile::I know it\'s your first real day of vacation but don\'t spend the whole time lazing about.', 'melissa::tired::No promises.', 'dad::laugh::Okay okay, bye.'];
sub_melissa.push({'mov': 'ne.t.35.46.nw.t.21.20.ne.3.nw.1.j.22.15.gstate.couch.w.2.bgsnd.tv_soap'});
sub_melissa.push({});
sub_dad.push({'mov': 'se.1.as.melissa,mom.sw.4'});
sub_dad.push({});
sub_mom.push({'mov': 'nw.t.34.18.ne.3.w.2.sw.3.nw.t.32.51.ne.5.nw.3.wt.2.4.se.3.sw.4.as.melissa,david.sw.4'});
sub_mom.push({});
world_text[2] = [0, 'mom::d::Goodbye Melissa, I\'m off to work.', 'melissa::tired::Bye.'];
sub_melissa.push({'mov': 'w.6.j.22.16.nw.2.sw.2.nw.1.sw.t.7.43.se.1.sw.1.se.t.20.40.sw.1.se.6.ne.0.gstate.touch.cw.fridge,4.w.2.cw.fridge,2.nw.1.sw.2.nw.0.gstate.touch.cw.coke,1'});
sub_melissa.push({});
sub_david.push({'mov': 'cw.davidbed,1.nw.0.j.63.49.nw.1.sw.3.nw.2.sw.t.32.21.nw.t.48.14.ne.0.cw.toilet,2.snd.pee.w.5.cw.toilet,3.snd.flush.se.3.ne.0.snd.sink.w.2.se.2.ne.2.nw.2.ne.1.nw.t.32.51.ne.1.nw.t.22.48.wt.3.c'});
sub_david.push({});
world_text[3] = [{'func': 'paths_state', 'funcpass': 'coke'}, 'pc::d::I have the distinct feeling I\'ve happened upon my first opportunity to bring these two closer.'];
world_text[4] = [{'cut': 'kitchen', 'func3': 'saveprogress', 'func3pass': '1,1', 'func': 'paths_state', 'funcpass': 'bare', 'as': 'melissa'}, 'pc::d::Yes, this is it. I can use this.', 'pc::devious::I will tickle the bubbles within this bottle so that when it\'s opened...'];
sub_melissa.push({'mov': 'j.21.47.sw.1.nw.0.as.david.w.2.cw.coke,2.ne.1.se.1.ne.1.gstate.touch.cw.fridge,4.w.1.cw.fridge,2.sw.1.se.2.ne.4.nw.3.ne.2.nw.1.ne.1.nw.1.j.22.15.gstate.couch.w.1.wt.5.c'});
sub_melissa.push({});
world_text[5] = [{'as': 'girl'}, 'pc::concern::I thought for sure that would work.', 'pc::contemplation::A peek is certainly all I need to renew my romantic spirits.', 'pc::concern::These two didn\'t even aknowledge each others existence.', 'pc::concern::Humans are difficult as normal.'];
sub_david.push({'mov': 'nw.1.ne.1.nw.4.sw.1.nw.0.gstate.touch.cs.w.1.sw.1.nw.0.w.1.gstate.touch.cw.microwave,2.bgsnd.microwave.sw.1.nw.0.w.1.gstate.touch.cs.w.1.ne.1.nw.0.gstate.touch.w.1.cw.microwave,1.bgsnd.kitchen.w.1.ne.2.se.4.sw.1.se.4.sw.1.se.t.34.18.ne.t.61.48.se.2.ne.2.nw.0.gstate.sit.w.2.cw.nintendo,2.bgsnd.vidya.w.2.wt.6.c'});
sub_david.push({});
world_text[6] = [{'as': 'girl'}, 'david::focus::...', 'pc::shock::He\'s not even masturbating in secret after such a stimulus!', 'pc::contemplation::What a stubborn boy.'];
sub_girl.push({});
sub_girl.push({'mov': 'wt.7.0'});
world_text[7] = {'cut': 'transition', 'nextws': defaultstate + 'state,1,mvar,0,dvar,0,checkpoint,7,stereo,2,dishes,1,toilet,3', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,living,tv_game,melissa,song1'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 1, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_dad.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 1, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_melissa.push({'tx': 60, 'ty': 21, 'l': 1, 'ws': 1, 'gchar': 'melissa_summer', 'gstate': 'music', 'gdir': 'nw'});
sub_melissa.push({});
sub_david.push({'tx': 22, 'ty': 14, 'l': 1, 'ws': 1, 'gchar': 'david_summer', 'gstate': 'couch', 'gdir': 'nw'});
sub_david.push({});
sub_mom.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 1, 'gchar': 'mother_work', 'gstate': 'stand', 'gdir': 'ne'});
sub_mom.push({'mov': 'w.1.ne.2.wt.8.0.sw.0.w.1.wt.9.4.ne.2.se.t.78.48.gchar.mother.as.melissa'});
sub_mom.push({});
sub_mom.push({'mov': 'nw.t.32.51.ne.t.35.46.nw.3.wt.10.4.se.2.sw.4.nw.2.ne.1.cw.fridge,4.w.3.cw.fridge,2.nw.t.20.42.ne.1.nw.4.ne.1.nw.2.sw.2.se.0.w.1.wt.11.6.w.2.gstate.art'});
sub_mom.push({});
world_text[8] = [0, 'mom::yell::David! Melissa! I\'m home!'];
world_text[9] = [0, 'mom::tired::Welcome home, Mom.', 'mom::tired::How was work?', 'mom::tired::Tiring.', 'mom::tired::Go take a bath while we make dinner for you.', 'mom::tired::Thanks guys, you\'re such wonderful children.', 'pc::concern::I think she\'s lost the plot.'];
world_text[10] = [0, 'mom::d::Hi David.', 'david::d::Hey.', 'mom::d::What have you been up to today?', 'david::d::Nothing.', 'mom::smile::Sounds good, what are you watching?', 'david::d::Endless commercials.', 'mom::smile::Well, I\'m gonna try and get some work done on my painting.', 'david::d::Kay.'];
world_text[11] = [0, 'mom::focus::...', 'mom::focus::These greens are so ugly...'];
sub_melissa.push({'mov': 'j.60.17.nw.0.cw.stereo,1.bgsnd.room.gstate.touch.w.1.ne.3.nw.0.gstate.crouch.w.2.as.mom.se.2.sw.2.se.2.sw.t.33.15.se.1.sw.2.se.1.sw.2.nw.5.ne.0.gstate.toilet.snd.pee.w.5.snd.flush.cw.toilet,1.se.3.ne.0.gstate.touch.snd.sink.w.2.se.2.ne.3.nw.t.32.51.ne.1.nw.t.21.47.wt.15.c'});
sub_melissa.push({});
tempstate1 = sub_melissa.push({'mov': 'cw.mvar,--.sw.2.nw.4.gstate.touch.cs.w.2.ne.2.nw.0.gstate.touch.cs.w.2.sw.1.nw.0.gstate.touch.w.1.cw.microwave,2.bgsnd.microwave.w.3.cw.microwave,1.bgsnd.kitchen.w.1.wt.12.5.ne.3.as.girl'}) - 1;
sub_melissa.push({});
world_text[12] = [{'nextext': 51}, 'melissa::food::Mmmm...', 'none::d::[Sleepiness Decreased.]'];
tempstate2 = sub_melissa.push({'mov': 'cw.mvar,++.ne.1.nw.2.ne.0.gstate.touch.w.1.cs.w.4.wt.13.5.cs.w.2.nw.2.ne.1.as.girl'}) - 1;
sub_melissa.push({});
world_text[13] = [{'nextext': 49}, 'melissa::bask::Ahhh, Dad\'s coffee is the best.', 'pc::d::This will likely keep her up all night.', 'melissa::smile::And it\'s the perfect time, I\'ll caffeine crash right at bedtime.', 'pc::concern::Or not.', 'none::d::[Sleepiness Increased.]'];
tempstate3 = sub_melissa.push({'mov': 'cw.mvar,++.sw.2.w.1.wt.14.5.cw.dishes,2.w.2.nw.4.ne.4.as.girl'}) - 1;
sub_melissa.push({});
world_text[14] = [{'nextext': 49}, 'melissa::mad::They\'re all so lazy, I\'m the only one who does the dishes.', 'melissa::mad::Dad was promising me the whole time things would be better when he remarries.', 'melissa::mad::But all it got me was two more people to clean up after.', 'melissa::tired::...', 'none::d::[Sleepiness Increased.]'];
temp_m = 'kitchen,microwave,';
temp_c = ',kitchen,coffee,';
temp_s = ',kitchen,sink,';
world_text[15] = [{'func': 'paths_state', 'funcpass': 'sleep_kitchen', 'locks': temp_m + '16' + temp_c + '18' + temp_s + '20'}, 'pc::contemplation::Once again I sense an opportunity arising in this cluttered room.', 'pc::d::I shall inject my potent lust into one of the objects in this room to attract Melissa to it.'];
world_text[16] = [{'choice': '100,17,100'}, 'pc::d::I believe if I inject my lust into this microwave it will cause Melissa to chow down on a plump sausage.', 'none::d::[Inject Microwave with Lust]', 'none::d::[Cancel]'];
world_text[17] = [{'as': 'melissa+' + tempstate1, 'nextext': 22, 'locks': temp_m + '127' + temp_c + '117' + temp_s + '115'}, 'pc::lust::~THE LUST SONG~'];
world_text[18] = [{'choice': '100,19,100'}, 'pc::d::If I were to inject my lust into this coffee Melissa would surely swallow.', 'none::d::[Inject Coffee Pot with Lust]', 'none::d::[Cancel]'];
world_text[19] = [{'as': 'melissa+' + tempstate2, 'nextext': 22, 'locks': temp_m + '114' + temp_c + '129' + temp_s + '115'}, 'pc::lust::~THE LUST SONG~'];
world_text[20] = [{'choice': '100,21,100'}, 'pc::d::To inject this sink with lust would cause Melissa to rub these dishes all over.', 'none::d::[Inject Sink with Lust]', 'none::d::[Cancel]'];
world_text[21] = [{'as': 'melissa+' + tempstate3, 'nextext': 22, 'locks': temp_m + '114' + temp_c + '117' + temp_s + '128'}, 'pc::lust::~THE LUST SONG~'];
world_text[22] = {'func': 'paths_state', 'funcpass': 'full'};
world_text[100] = {};
tempstate1 = sub_melissa.push({'mov': 'as.dad.nw.3.gstate.touch.w.2.nw.1.ne.1.nw.3.sw.2.se.0.w.1.wt.23.5.w.2.ne.2.se.2.ne.3.se.t.35.46.ne.t.49.48.se.1.cs.w.4.as.melissa,melissa'}) - 1;
sub_melissa.push({});
sub_girl.push({'mov': 'as.melissa+' + tempstate1});
sub_girl.push({});
world_text[23] = [0, 'mom::d::So what do you think?', 'melissa::d::It\'s pretty.', 'mom::focus::...', 'melissa::d::It doesn\'t look the same though.', 'mom::focus::I know.', 'melissa::d::Why is it different?', 'mom::focus::I\'m trying to recapture my youth.', 'mom::d::All of us oldies try to do that.'];
sub_dad.push({'mov': 'ne.2.sw.0.wt.24.3.ne.2.se.t.36.22.ne.1.w.1.sw.1.se.3.gchar.father.w.2.nw.t.32.51.ne.1.nw.3.ne.1.gstate.touch.cw.fridge,4.w.2.cw.fridge,2.nw.6.ne.1.nw.3.ne.1.nw.2.sw.0.wt.25.4.se.1.ne.2.wt.26.5.ne.2.se.5.ne.1.se.1.ne.0.w.1.gstate.touch.as.david'});
sub_dad.push({});
world_text[24] = [0, 'dad::shock::Christ, it\'s hot in here.', 'dad::mad::You wouldn\'t think it\'s winter at all.'];
world_text[25] = [0, 'mom::focus::How was work?', 'dad::d::Jay got me to go on-site again.', 'mom::focus::Tell Jay to get a new guy already, you\'re a supervisor now.', 'dad::tired::I do but he keeps saying we can\'t afford it.', 'dad::tired::How was your day?', 'mom::focus::Absolutely mind-numbing, endless mountains of forms.', 'mom::d::The brats get pizza and music on their last day before holidays...', 'dad::smile::You want to order a pizza? If we\'re lucky, one of those brats will be delivering it.', 'mom::smile::I\'d rather keep them as far away as possible.'];
world_text[26] = [0, 'dad::d::Hi David.', 'david::d::...', 'dad::d::What are you watching?', 'david::d::Re-runs.', 'dad::smile::I\'m gonna work on the Tree. You could help if you want.', 'david::d::...'];
sub_melissa.push({'mov': 'nw.1.sw.t.32.51.se.t.33.16.ne.t.64.18.nw.1.ne.0.cw.dresser,3.w.2.cw.dresser,1.nw.1.ne.0.cw.dresser,2.w.2.cw.dresser,7.w.1.cw.dresser,6.w.1.cw.dresser,1.w.1.sw.1.nw.2.gstate.crouch.w.3.sw.2.nw.0.w.2.j.60.21.gstate.music.bgsnd.song2.cw.stereo,2'});
sub_melissa.push({});
sub_david.push({'mov': 'w.2.wt.27.c'});
sub_david.push({});
tempstate1 = sub_david.push({'mov': 'cw.dvar,++.w.2.wt.34.5.w.2.wt.37.0'}) - 1;
sub_david.push({});
world_text[34] = [{'nextext': 51}, 'david::d::...', 'pc::concern::...', 'david::d::...', 'pc::contemplation::Well... that was effective.', 'none::d::[Sleepiness Increased.]'];
tempstate2 = sub_david.push({'mov': 'cw.dvar,--.gstate.tvsurf.bgsnd.tvsurf.w.2.wt.35.5.w.2.wt.37.0'}) - 1;
sub_david.push({});
world_text[35] = [{'nextext': 53}, 'david::d::Commercial, rerun, local news, commercial, commercial...', 'david::mad::No, no, nope, hell no...', 'none::d::[Sleepiness Decreased.]'];
tempstate3 = sub_david.push({'mov': 'cw.dvar,++.j.21.15.se.3.w.1.wt.36.5.w.2.wt.37.0'}) - 1;
sub_david.push({});
world_text[36] = [{'nextext': 51}, 'dad::smile::Glad you decided to join me.', 'david::d::Sure.', 'dad::d::...', 'david::d::...', 'dad::d::So anything in particular you wanting from Santa?', 'david::think::Hmmm...', 'david::think::If you intend to buy my love I can think of a few games and manga I\'d like.', 'pc::shock::How cruel!', 'dad::mad::How about I get you Superman64 and a pack of Archie comics?', 'david::shock::Don\'t even joke about that.', 'dad::devious::Casper meets Richie Rich.', 'david::shock::...', 'pc::laugh::I don\'t completely get the threat but David has the painful expression of a fish.', 'none::d::[Sleepiness Increased.]'];
temp_tv = 'living,tv,';
temp_ta = ',living,table,';
temp_tr = ',living,tree,';
world_text[27] = [{'func': 'paths_state', 'funcpass': 'sleep_living', 'locks': temp_tv + '28' + temp_ta + '30' + temp_tr + '32'}, 'pc::d::Another lust injecting opportunity.', 'pc::curious::What shall I attract David to?'];
world_text[28] = [{'choice': '29,100'}, 'none::d::[Inject TV with Lust]', 'none::d::[Cancel]'];
world_text[29] = [{'as': 'david+' + tempstate1, 'nextext': 22, 'locks': temp_tv + '130' + temp_ta + '103' + temp_tr + '102'}, 'pc::lust::~THE LUST SONG~'];
world_text[30] = [{'choice': '31,100'}, 'none::d::[Inject Remote with Lust]', 'none::d::[Cancel]'];
world_text[31] = [{'as': 'david+' + tempstate2, 'nextext': 22, 'locks': temp_tv + '101' + temp_ta + '132' + temp_tr + '102'}, 'pc::lust::~THE LUST SONG~'];
world_text[32] = [{'choice': '33,100'}, 'none::d::[Inject Tree with Lust]', 'none::d::[Cancel]'];
world_text[33] = [{'as': 'david+' + tempstate3, 'nextext': 22, 'locks': temp_tv + '101' + temp_ta + '103' + temp_tr + '131'}, 'pc::lust::~THE LUST SONG~'];
world_text[37] = {'cut': 'night', 'changeworld': 'state,2,stereo,1,tree,2,davidbed,1,melissabed,1', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 'dark,melissa,0,dining,0,kitchen,0,david,0'};
world_text[49] = [0, 'none::d::[Bedtime ETA 10:30pm]'];
world_text[51] = [0, 'none::d::[Bedtime ETA 11:30pm]'];
world_text[53] = [0, 'none::d::[Bedtime ETA 12:30am]'];
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 2, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_dad.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 2, 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_melissa.push({'tx': 63, 'ty': 21, 'l': 1, 'ws': 2, 'gstate': 'stand', 'gchar': 'melissa_pj', 'gdir': 'nw'});
sub_david.push({'tx': 61, 'ty': 46, 'l': 1, 'ws': 2, 'gstate': 'stand', 'gdir': 'se'});
sub_mom.push({'tx': 6, 'ty': 44, 'l': 1, 'ws': 2, 'gstate': 'art', 'gchar': 'mother', 'gdir': 'se'});
sub_david.push({'mov': 'wt.38.c'});
sub_david.push({});
temp_nextext = 'dvar.-2,54,0,52,2,50';
tempstate1 = sub_david.push({'mov': 'cw.dvar,--.se.2.sw.3.w.1.dark.1.ne.3.w.1.se.1.ne.1.se.1.j.64.50.gstate.bed.cw.davidbed,2.w.3.wt.45.3.as.girl'}) - 1;
sub_david.push({});
world_text[45] = [{'nextext': temp_nextext}, 'david::sleep::...', 'david::sleep::Why can\'t I fall asleep?', 'david::sleep::I want to fall asleep so much that I can\'t sleep.', 'none::d::[Sleepiness Decreased.]'];
tempstate2 = sub_david.push({'mov': 'cw.dvar,--.se.3.ne.1.nw.0.gstate.sit.cw.nintendo,2.bgsnd.vidya.w.1.wt.46.3.as.girl'}) - 1;
sub_david.push({});
world_text[46] = [{'nextext': temp_nextext}, 'david::focus::...', 'david::pissed::Ugh, I keep dying before I can reach the last red coin.', 'david::focus::I\'m getting this star no matter what!', 'none::d::[Sleepiness Decreased.]'];
tempstate3 = sub_david.push({'mov': 'cw.dvar,++.se.1.ne.2.se.2.ne.1.gstate.sit.w.3.wt.47.3.as.girl'}) - 1;
sub_david.push({});
world_text[47] = [{'nextext': temp_nextext}, 'pc::d::He\'s pulled out a hidden Japanese book from the back.', 'pc::blush::He\'s pulled out something else as well.', 'pc::shock::What an amazing single-handed book-holding/page-flipping technique!', 'none::d::[Sleepiness Increased.]'];
temp_b = 'david,bed,';
temp_t = ',david,tv,';
temp_g = ',david,games,';
world_text[38] = [{'func': 'paths_state', 'funcpass': 'sleep_david', 'locks': temp_b + '39' + temp_t + '41' + temp_g + '43'}, 'pc::d::Ok, what shall I make David do now?'];
world_text[39] = [{'choice': '40,100'}, 'none::d::[Inject Bed with Lust]', 'none::d::[Cancel]'];
world_text[40] = [{'as': 'david+' + tempstate1, 'func': 'paths_state', 'funcpass': 'unsleep_david', 'locks': temp_b + '136' + temp_t + '125' + temp_g + '126'}, 'pc::lust::~THE LUST SONG~'];
world_text[41] = [{'choice': '42,100'}, 'none::d::[Inject Videogame Console with Lust]', 'none::d::[Cancel]'];
world_text[42] = [{'as': 'david+' + tempstate2, 'func': 'paths_state', 'funcpass': 'unsleep_david', 'locks': temp_b + '123' + temp_t + '137' + temp_g + '126'}, 'pc::lust::~THE LUST SONG~'];
world_text[43] = [{'choice': '44,100'}, 'none::d::[Inject Collection with Lust]', 'none::d::[Cancel]'];
world_text[44] = [{'as': 'david+' + tempstate3, 'func': 'paths_state', 'funcpass': 'unsleep_david', 'locks': temp_b + '123' + temp_t + '125' + temp_g + '138'}, 'pc::lust::~THE LUST SONG~'];
sub_melissa.push({'mov': 'wt.58.c'});
sub_melissa.push({});
temp_nextext = 'mvar.-2,52,0,50,2,48';
tempstate1 = sub_melissa.push({'mov': 'cw.mvar,++.nw.2.sw.3.w.1.dark.1.ne.2.nw.3.gstate.touch.w.1.j.60.21.gstate.music.bgsnd.song3.cw.stereo,2.w.1.wt.55.3.as.girl'}) - 1;
sub_melissa.push({});
world_text[55] = [{'nextext': temp_nextext}, 'melissa::musicmouth::Oh oh-oh ooohhh', 'melissa::music::Mmmm~~', 'melissa::musicmouth::pachu wari wari, pachu wa-ri wa-', 'melissa::music::...', 'pc::curious::I think she fell asleep.', 'none::d::[Sleepiness Increased.]'];
tempstate2 = sub_melissa.push({'mov': 'cw.mvar,--.nw.2.ne.1.nw.3.gstate.crouch.w.1.wt.56.3.as.girl'}) - 1;
sub_melissa.push({});
world_text[56] = [{'nextext': temp_nextext}, 'melissa::focus::Where is Schizophonia?!', 'melissa::focus::...', 'melissa::d::There it is... this ordering is terrible.', 'melissa::focus::I should reorder... maybe by genre.', 'melissa::focus::Hip-Hop, Orchestral Rock, Baroque Pop, Rockabilly, J-Rock, Kraut-rock...', 'melissa::focus::No wait those last two aren\'t really genres, they\'re geography. And I have stuff that fits into multiple genres.', 'melissa::focus::...', 'pc::d::She\'s going to be at this all night from the looks of it.', 'none::d::[Sleepiness Decreased.]'];
tempstate3 = sub_melissa.push({'mov': 'cw.mvar,++.nw.2.w.1.ne.2.w.2.cw.dresser,4.w.1.wt.57.4.as.girl'}) - 1;
sub_melissa.push({});
world_text[57] = [{'nextext': temp_nextext}, 'melissa::d::...', 'melissa::focus::...', 'melissa::tired::What did I come over here for? I\'ve forgotten completely.', 'pc::d::I can\'t say I\'m sure why I decided to send you over there either.', 'melissa::tired::...', 'none::d::[Sleepiness Increased.]'];
temp_s = 'melissa,stereo,';
temp_m = ',melissa,music,';
temp_d = ',melissa,dresser,';
world_text[58] = [{'func': 'paths_state', 'funcpass': 'sleep_melissa', 'locks': temp_s + '59' + temp_m + '61' + temp_d + '63'}, 'pc::d::Melissa once again looks susceptible to my influence...'];
world_text[59] = [{'choice': '60,100'}, 'none::d::[Inject Stereo with Lust]', 'none::d::[Cancel]'];
world_text[60] = [{'as': 'melissa+' + tempstate1, 'func': 'paths_state', 'funcpass': 'unsleep_melissa', 'locks': temp_s + '133' + temp_m + '111' + temp_d + '112'}, 'pc::lust::~THE LUST SONG~'];
world_text[61] = [{'choice': '62,100'}, 'none::d::[Inject Music Collection with Lust]', 'none::d::[Cancel]'];
world_text[62] = [{'as': 'melissa+' + tempstate2, 'func': 'paths_state', 'funcpass': 'unsleep_melissa', 'locks': temp_s + '110' + temp_m + '134' + temp_d + '112'}, 'pc::lust::~THE LUST SONG~'];
world_text[63] = [{'choice': '64,100'}, 'none::d::[Inject Dresser with Lust]', 'none::d::[Cancel]'];
world_text[64] = [{'as': 'melissa+' + tempstate3, 'func': 'paths_state', 'funcpass': 'unsleep_melissa', 'locks': temp_s + '110' + temp_m + '111' + temp_d + '135'}, 'pc::lust::~THE LUST SONG~'];
world_text[48] = [0, 'none::d::[Bedtime ETA 10:00pm]'];
world_text[50] = [0, 'none::d::[Bedtime ETA 11:00pm]'];
world_text[52] = [0, 'none::d::[Bedtime ETA 12:00am]'];
world_text[54] = [0, 'none::d::[Bedtime ETA 1:00am]'];
sub_girl.push({'mov': 'as.mom'});
sub_girl.push({});
tempstate1 = sub_mom.push({}) - 1;
sub_mom.push({'mov': 'w.3.ne.2.se.2.sw.1.se.1.sw.1.se.0.w.1.dark.1.ne.1.se.3.sw.1.se.4.sw.2.as.mom+is,dishes,1+' + (tempstate1 + 3) + '+' + (tempstate1 + 5)});
sub_mom.push({});
sub_mom.push({'mov': 'sw.1.w.5.cw.dishes,2.ne.1.as.mom+' + (tempstate1 + 5)});
sub_mom.push({});
sub_mom.push({'mov': 'se.1.dark.1.ne.1.se.4.sw.1.se.t.32.15.sw.1.se.t.36.24.ne.1.se.2'});
sub_mom.push({});
sub_girl.push({'mov': 'w.2.wt.65.0'});
sub_girl.push({});
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 3, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_melissa.push({'tx': 60, 'ty': 21, 'l': 1, 'ws': 3, 'gchar': 'melissa_pj', 'gstate': 'bed', 'gdir': 'ne'});
sub_melissa.push({});
sub_david.push({'tx': 64, 'ty': 50, 'l': 1, 'ws': 3, 'gchar': 'david_summer', 'gstate': 'bed', 'gdir': 'nw'});
sub_david.push({});
sub_dad.push({'tx': 78, 'ty': 48, 'l': 1, 'ws': 3, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne'});
tempstate1 = sub_dad.push({'mov': 'nw.t.32.51.ne.1.nw.4.ne.1.cs.w.1.nw.1.ne.0.gstate.touch.w.2.se.1.sw.1.se.3.ne.4.nw.4.ne.1.nw.2.ne.0.w.1.sw.0.bgsnd.tv_news.wt.70.c'}) - 1;
sub_dad.push({});
world_text[70] = [0, 'none::d::The housing market shows no sign of slowing, this is the best time to sell. Everyone in America wants a house of their own right now.', 'dad::d::...', 'none::d::To the big headline this morning, footage of the continued nighttime bombings of Iraq.', 'none::d::These airstrikes are taking place on a facility that we\'re told is suspected of the manufacture of chemical weapons.', 'none::d::This is the result of the Iraqi government breaking an agreement to allow United Nations weapons inspectors...'];
tempstate2 = sub_dad.push({'mov': 'j.20.17.sw.0.bgsnd.tv_news.wt.70.2.nw.2.sw.4.se.2.sw.1.se.3.sw.1.se.2.as.girl'}) - 1;
sub_dad.push({});
sub_girl.push({});
sub_dad.push({'mov': 'ne.0.gstate.touch.w.1.cs.w.2.cs.w.2.se.2.sw.1.se.4.sw.3.w.1.sw.2.j.70.40'});
sub_dad.push({});
tempstate3 = sub_dad.push({'mov': 'j.20.17.bgsnd.tv_news.j.70.40'}) - 1;
sub_dad.push({});
sub_mom.push({'tx': 78, 'ty': 48, 'l': 1, 'ws': 3, 'gchar': 'mother_work', 'gstate': 'stand', 'gdir': 'ne'});
tempstate4 = sub_mom.push({}) - 1;
tempstate5 = sub_mom.push({'mov': 'nw.t.32.51.ne.1.nw.4.ne.1.nw.1.as.girl'}) - 1;
sub_mom.push({});
tempstate6 = sub_mom.push({'mov': 'wt.66.8.as.dad.sw.1.nw.3.w.1.cs.w.1.ne.2.nw.4.ne.1.nw.2.sw.2.se.0'}) - 1;
sub_mom.push({});
sub_girl.push({'mov': 'as.mom+' + tempstate6});
sub_girl.push({});
world_text[66] = [0, 'mom::tired::You have a good day, hubs.', 'dad::smile::You too. There\'s still some coffee if you want some.', 'mom::tired::Thanks.', 'dad::smile::Ok, I\'m off.'];
tempstate6 = sub_mom.push({'mov': 'j.6.44.se.0.w.3.ne.2.se.2.sw.1.se.3.sw.1.se.t.22.46.sw.1.se.4.sw.3.w.1.sw.2'}) - 1;
sub_mom.push({});
temp_x = 'dad,mom+is,worldtime,8+' + tempstate3 + ',' + tempstate6 + '+++dad,mom+is,worldtime,7+' + tempstate2 + ',' + tempstate5 + '+++dad,mom+is,worldtime,6+' + tempstate1 + ',' + tempstate4;
tempstate1 = sub_melissa.push({'mov': 'w.3.j.61.18.ne.0.cw.melissabed,2.se.2.w.1.se.1.sw.t.34.14.se.1.sw.1.se.1.sw.4.nw.3.wt.68.0.ne.0.gstate.touch.w.3.nw.0.gchar.melissa_nude.w.1.sw.1.cw.curtain,2.se.1.sw.0.bgsnd.shower.cw.shower,2.w.1.wt.69.3.nw.1.sw.0.j.47.19.w.1.ne.0.cw.curtain,4.se.0.w.4.nw.0.w.4.se.1.w.4.ne.0.w.2.nw.0'}) - 1;
sub_melissa.push({});
world_text[69] = [0, 'melissa::d::...', 'melissa::shock::Too cold!', 'melissa::d::...', 'melissa::pain::Too hot!', 'melissa::d::...', 'melissa::grit::Too cold.', 'melissa::d::...'];
tempstate2 = sub_melissa.push({'mov': 'w.13.j.61.18.ne.0.cw.melissabed,2.se.2.w.1.se.1.sw.2.wt.67.c'}) - 1;
sub_melissa.push({});
tempstate3 = sub_david.push({'mov': 'w.3.j.63.48.nw.0.cw.davidbed,1.w.1.sw.3.nw.2.sw.5.nw.2.sw.1.nw.7.ne.1.wt.68.0.nw.2.ne.1.cw.fridge,4.gstate.touch.w.3.cw.fridge,2.sw.3.nw.t.18.45.ne.1.nw.0.cw.microwave,2.bgsnd.microwave.ne.0.w.1.se.0.w.1.sw.0.w.1.nw.0.cw.microwave,1.bgsnd.kitchen.w.1.ne.2.nw.1.ne.1.nw.3.ne.1.nw.3.ne.0.gstate.touch.w.1.se.2.ne.t.20.13.se.2.sw.0.w.1.j.22.14.gstate.couch.w.4.gstate.tvsurf.bgsnd.tvsurf.w.4.gstate.couch.bgsnd.tv_game'}) - 1;
sub_david.push({});
tempstate4 = sub_david.push({'mov': 'w.10.j.63.48.nw.0.cw.davidbed,1.w.1.sw.3.nw.2.sw.5.nw.1.gstate.walk.w.1.wt.67.c'}) - 1;
sub_david.push({});
temp_a = '+++melissa+is,mvar,worldtime+' + tempstate1 + '+++david+is,dvar,worldtime+' + tempstate3 + '+++melissa,david+is,mvar,dvar+' + tempstate2 + ',' + tempstate4;
world_text[65] = {'cut': 'day', 'as': temp_x + temp_a, 'func3': 'changeworldtime', 'changeworld': defaultstate + 'state,3,melissabed,3,tree,2,davidbed,2,toilet,2', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 'laundry,laundry_washing'};
world_text[68] = [{'locks': 'kitchen,toaster,139', 'nextext': 'toasterexplained.0,323'}, 'pc::contemplation::I feel like I\'ve missed my chance.', 'pc::concern::I\'m going to need to go back.'];
world_text[323] = [0, 'pc::d::Luckily I sensed an item earlier that could return me.', 'pc::d::It was in the kitchen...'];
tempstate1 = sub_girl.push({'mov': 'w.1.wt.327.0'}) - 1;
sub_girl.push({});
world_text[67] = {'as': 'girl+' + tempstate1};
world_text[327] = [{'precut': 'morning', 'func3': 'saveprogress', 'func3pass': '2,1', 'nextext': 71}, 'pc::laugh::Now that\'s how it\'s done!', 'pc::d::I will stoke her lust and broker trust.', 'pc::bask::I\'ll have them reunited in no time at all.'];
world_text[71] = {'cut': 'transition', 'nextws': defaultstate + 'state,4,mvar,0,dvar,0,checkpoint,71,tree,2,curtain,3,towels,4', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 0};
sub_girl.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 4, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_dad.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 4, 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_mom.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 4, 'gstate': 'stand', 'gdir': 'ne'});
sub_mom.push({});
sub_david.push({'tx': 22, 'ty': 14, 'l': 1, 'ws': 4, 'gstate': 'couch', 'gchar': 'david_summer', 'gdir': 'ne'});
sub_david.push({'mov': 'bgsnd.tv_soap.wt.72.c.as.melissa'});
sub_david.push({});
world_text[72] = [{'nextext': 324}, 'pc::disdain::He\'s been sitting there all day like a toad.'];
sub_melissa.push({'tx': 49, 'ty': 16, 'l': 1, 'ws': 4, 'gstate': 'stand', 'gchar': 'melissa_towel', 'gdir': 'ne'});
sub_melissa.push({'mov': 'wt.73.c.as.david'});
world_text[73] = [{'nextext': 324}, 'pc::disdain::This stubborn girl just putters around.'];
world_text[324] = [0, 'pc::disdain::This is pathetic. They\'re alone together with all the chances in the world...', 'pc::disdain::They leave me no choice but to be more proactive in my approach.', 'pc::contemplation::I need to force them to engage with one another...', 'pc::contemplation::A sexually charged situation.', 'pc::disdain::But these damn puritanicals won\'t even disrobe without complete privacy...', 'pc::determined::One way or another, I will force them to bathe together like children!'];
world_text[200] = [{'locks': 'kitchen,toaster,139', 'nextext': 'toasterexplained.0,323'}, 'pc::concern::This is not going as I had planned. I have no choice but to reset the gameboard of life.'];
sub_melissa.push({'mov': 'w.2.sw.1.nw.2.sw.1.nw.0.w.1.cw.towels,3.ne.2.se.t.32.21.ne.4.nw.2.ne.t.63.19.nw.1.ne.1.cw.dresser,3.wt.74.c.w.5.gchar.melissa_nude.w.5.wt.75.0.as.david.gchar.melissa_winter.cw.dresser,1.nw.3.gstate.crouch.w.3.se.1.sw.3.nw.1.gstate.touch.w.2.j.60.21.gstate.music.cw.stereo,2.bgsnd.song1.w.2.wt.200.0'});
sub_melissa.push({});
world_text[74] = [{'locks': 'hall,thermostat,145,dining,thermostat,145'}, 'melissa::grit::So cold...', 'pc::concern::This cold is going to drive Melissa to dress in even thicker clothing if I don\'t quickly remind her of a way to get warm without bundling up.'];
world_text[75] = [{'locks': 'hall,thermostat,144,dining,thermostat,144'}, 'melissa::d::I guess I\'ll put on my sweats.', 'pc::disdain::Argh, I might as well give up now.'];
world_text[145] = [{'locks': 'hall,thermostat,144,dining,thermostat,144', 'as': 'melissa,melissa', 'changeworld': 'mvar,1'}, 'pc::d::This should work.', 'pc::lust::~THE LUST SONG~'];
sub_melissa.push({'mov': 'as.david.gchar.melissa_summer.cw.dresser,1.se.1.sw.t.34.14.se.4.sw.1.se.2.ne.0.gstate.touch.wt.76.2.w.1.nw.t.32.13.sw.1.nw.4.ne.t.49.48.se.1.w.1.cs.w.1.nw.1.sw.t.32.51.se.t.33.16.ne.t.62.21.nw.4.w.2.j.60.21.gstate.music.cw.stereo,2.bgsnd.song3'});
sub_melissa.push({});
world_text[76] = [0, 'melissa::d::Let\'s burn this motherfucker down.'];
tempstate1 = sub_melissa.push({'mov': 'j.60.21.bgsnd.room.j.32.49.cw.stereo,1.nw.2.ne.1.cw.fridge,4.gstate.touch.w.4.cw.fridge,2.sw.2.nw.1.cw.coke,1.gstate.touch.w.2.cw.coke,2.ne.2.se.1.ne.0.cw.fridge,4.gstate.touch.w.1.cw.fridge,2.sw.1.as.melissa,melissa+is,mvar,1.se.3.sw.1.se.t.33.16.ne.t.62.21.nw.4.j.60.21.gstate.music.cw.stereo,2'}) - 1;
sub_melissa.push({});
sub_david.push({'mov': 'j.21.15.nw.2.sw.6.se.2.sw.1.se.2.sw.1.se.4.sw.0.wt.77.c'});
sub_david.push({});
world_text[77] = [{'locks': 'kitchen,microwave,146,kitchen,stove,147,kitchen,fridge,148', 'func': 'paths_state', 'funcpass': 'pee_kitchen'}, 'david::tired::What to eat...', 'pc::d::A meal decision doesn\'t seem too important but maybe I can get him into the bath somehow through this.'];
temp_a = 'kitchen,microwave,114,kitchen,stove,116,kitchen,fridge,119';
world_text[148] = [{'locks': temp_a, 'as': 'melissa+' + tempstate1 + '+++david', 'func': 'paths_state', 'funcpass': 'full'}, 'pc::d::The icebox it is.', 'pc::lust::~THE LUST SONG~'];
sub_david.push({'mov': 'se.0.w.1.se.1.w.2.wt.78.3.sw.1.se.4.sw.1.se.t.34.18.wt.200.0.ne.t.62.45.se.2.w.1.j.64.50.gstate.bed.cw.davidbed,2'});
sub_david.push({});
world_text[78] = [0, 'melissa::d::Sorry, were you going to the fridge?', 'pc::shock::Oh! Somehow I got them speaking!', 'david::pissed::It\'s ok, I\'ve lost my appetite.', 'pc::concern::That\'s not good.'];
tempstate2 = sub_david.push({'mov': 'nw.3.sw.1.nw.0.gstate.touch.cs.w.2.sw.2.nw.0.gstate.touch.cs.w.2.ne.1.nw.0.gstate.touch.w.2.cw.microwave,2.bgsnd.microwave.w.2.gstate.stand.w.9.cw.microwave,1.bgsnd.kitchen.gstate.touch.w.4.se.0.w.1.wt.79.c.w.10.wt.80.0.ne.2.se.3.sw.1.nw.1.sw.0.gstate.eat.cw.coke,3.wt.200.0'}) - 1;
sub_david.push({});
world_text[146] = [{'locks': temp_a, 'as': 'melissa+' + tempstate1 + '+++david+' + tempstate2, 'func': 'paths_state', 'funcpass': 'full'}, 'pc::d::The microwave will have to do.', 'pc::lust::~THE LUST SONG~'];
world_text[79] = [{'locks': 'david,tv,149'}, 'david::pissed::I wanted to eat in the livingroom but it sounds like Melissa has taken that spot.', 'david::d::I suppose I could eat in here...', 'pc::curious::Maybe I should have him eat somewhere, else?'];
world_text[80] = [{'locks': 'david,tv,125'}, 'david::d::Whatever, I\'ll just eat in here.'];
world_text[149] = [{'locks': 'david,tv,125', 'as': 'david,david'}, 'david::d::Oh right, I need to be the level I started last night. I\'ll eat while I play.', 'pc::devious::Perfect, he\'ll definitely make a mess and need to bathe.'];
sub_david.push({'mov': 'sw.1.se.4.ne.2.se.5.sw.1.se.t.34.18.ne.t.61.47.se.2.ne.1.nw.0.gstate.sit.w.1.cw.nintendo,2.bgsnd.vidya.w.3.wt.81.4.cw.dvar,1.as.girl'});
sub_david.push({});
world_text[81] = [0, 'david::shock::God damnit!', 'david::pissed::Food all up in my junk. I\'ll have to take a shower later.', 'pc::d::Called it!'];
sub_david.push({'mov': 'cw.nintendo,1.bgsnd.room.sw.3.nw.2'});
tempstate3 = sub_david.push({'mov': 'sw.t.32.21.nw.2.sw.2.cw.shower,2.bgsnd.shower.w.1.nw.1.gchar.david_nude.w.1.sw.0.w.1.j.47.19.ne.0.cw.curtain,4.w.1.se.0.w.1.se.1.w.3.as.melissa,melissa,melissa+is,mvar,2.w.3.cw.shower,1.bgsnd.bath.w.1.ne.0.w.2.cw.curtain,2.as.david+is,mvar,2.w.1.j.48.19.nw.3.sw.0.w.1.cw.towels,1.gchar.david_towel.se.2.ne.2'}) - 1;
sub_david.push({});
sub_david.push({'mov': 'se.0.cw.shower,1.bgsnd.bath'});
sub_david.push({});
tempstate2 = sub_david.push({'mov': 'ne.0.cs.w.2.nw.2.ne.0.gstate.touch.w.1.nw.1.sw.3.se.1.sw.0.w.2.nw.1.ne.3.se.1.ne.0.gstate.touch.cw.stove,2.w.3.se.4.ne.0.cw.fridge,4.gstate.touch.w.3.cw.fridge,2.nw.4.ne.0.gstate.touch.cw.stove,3.w.2.ne.0.w.3.gstate.touch.w.1.wt.85.4.w.6.cw.stove,2.se.2.sw.1.nw.1.sw.0.gstate.eat.cw.coke,3.as.david+is,mvar,0.cw.dvar,1.w.3.as.girl'}) - 1;
sub_david.push({});
world_text[147] = [{'locks': temp_a, 'as': 'melissa+' + tempstate1 + '+++david+' + tempstate2, 'func': 'paths_state', 'funcpass': 'full'}, 'pc::d::I\'ll have him cook in front of a hot stove!', 'pc::lust::~THE LUST SONG~'];
world_text[85] = [0, 'david::smile::...', 'pc::d::David\'s making french toast.', 'pc::curious::It seems he puts the cinnamon in the pan with the butter, very interesting.', 'pc::d::My personal theory is that there\'s 3 types of people...', 'pc::bask::There\'s those who put the cinnamon in the coating...', 'pc::bask::Those are the optimistic people who think they can lazily just dump all the cinnamon in and maybe it will spread evenly on it\'s own.', 'pc::bask::Second there\'s the ones who put the cinnamon directly on the bread as it fries...', 'pc::bask::These people are eternal pessimists, stingily conserving the cinnamon.', 'pc::d::And then there\'s the people who mix the cinnamon with the frying butter...', 'pc::d::The realists who realize it\'s worth the extra effort and wasted cinnamon to enrapture their breads and dwelling with the delightful scent.', 'pc::d::Now knowing that David is a logical boy who can be plied by the rationality of pleasure...', 'pc::bask::...well that makes my task easier.'];
sub_david.push({'mov': 'cw.coke,2.se.2.sw.2.cw.dishes,1.w.1.ne.2.se.4.sw.1.se.t.34.18.as.david+' + tempstate3});
sub_david.push({});
sub_melissa.push({'mov': 'se.2.ne.4.nw.t.19.16.ne.1.nw.1.gstate.crouch.w.2.wt.82.c.w.1.se.3.sw.1.gstate.crouch.w.2.sw.0.w.1.bgsnd.tv_movie.se.1.ne.1.se.1.ne.2.nw.1.j.22.15.gstate.couch.w.1.as.girl'});
sub_melissa.push({});
world_text[82] = [{'nextext': 83}, 'melissa::d::Let\'s see... Big Daddy... Yellow Submari-', 'melissa::smile::Ah, Scream...', 'melissa::think::Or maybe Ferris Beuller... hmmm, which should I watch?'];
world_text[83] = [{'choice': '325,84'}, 'pc::contemplation::If she watches the horror flick maybe she\'ll be so scared she\'ll wet herself.\n[Watch Horror]', 'pc::laugh::Or maybe she\'ll pee herself laughing at the comedy film.\n[Watch Comedy]'];
world_text[84] = [{'changeworld': 'mvar,2'}, 'pc::lust::~THE LUST SONG~'];
world_text[325] = [0, 'pc::lust::~THE LUST SONG~'];
sub_melissa.push({'mov': 'wt.326.4.j.22.16.se.1.sw.2.nw.2.sw.1.gstate.crouch.bgsnd.room.w.1.se.7.wt.200.0.sw.5.se.t.34.18.sw.3.nw.5.ne.0.cw.toilet,3.gstate.toilet.snd.pee.w.7.snd.flush.se.3.ne.0.gstate.touch.snd.sink.w.2.se.2.ne.2.as.david.nw.5.ne.1.nw.3.ne.5.nw.t.20.18.sw.0.bgsnd.tv_movie.w.1.se.1.ne.1.se.1.ne.2.nw.1.j.22.15.gstate.couch'});
sub_melissa.push({});
world_text[326] = [0, 'melissa::d::Stop running to stupid places you stupid girl.', 'melissa::d::...', 'melissa::d::Well I gotta pee...'];
sub_melissa.push({'mov': 'wt.86.5.j.22.16.se.0.gchar.melissa_fast.se.1.sw.3.se.5.sw.5.se.t.34.18.as.david.sw.3.nw.0.wt.87.0'});
sub_melissa.push({'mov': 'j.48.14.gchar.melissa_summer.gstate.toilet.w.2.snd.flush.se.3.ne.0.snd.sink.w.2.wt.88.0'});
sub_melissa.push({});
world_text[86] = [0, 'melissa::laugh::Hahaha, oh man they stole the car they stole the car has been double st-', 'melissa::shock::-AH, I\'m busting to pee. Gotta go fast!'];
world_text[87] = {'cut': 'bathroom', 'func3': 'saveprogress', 'func3pass': '3,1', 'changeworld': 'curtain,1'};
world_text[88] = [{'nextext': 89}, 'pc::blush::I can sense lust rising on every front.', 'pc::laugh::The proactive approach is working miracles!', 'pc::d::I\'ll push them even further next round.', 'pc::laugh::Paneros will squish you two together until you\'re in-love once more!'];
sub_girl.push({});
sub_girl.push({'mov': 'w.3.as.david+is,mvar,2+++melissa+is,mvar,1'});
sub_girl.push({});
world_text[89] = {'cut': 'night', 'changeworld': defaultstate + 'state,5,mvar,0,dvar,0,checkpoint,89,tree,2,dishes,1,toilet,3,nintendo,2', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,david,vidya,living,tv_show,laundry,1'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 5, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_dad.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 5, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_melissa.push({'tx': 22, 'ty': 15, 'l': 1, 'ws': 5, 'gchar': 'melissa_summer', 'gstate': 'couch', 'gdir': 'nw'});
sub_melissa.push({});
sub_mom.push({'tx': 21, 'ty': 13, 'l': 1, 'ws': 5, 'gchar': 'mother', 'gstate': 'couch', 'gdir': 'ne'});
sub_david.push({'tx': 63, 'ty': 48, 'l': 1, 'ws': 5, 'gchar': 'david_summer', 'gstate': 'sit', 'gdir': 'nw'});
sub_david.push({'mov': 'w.3.wt.92.c'});
tempstate1 = sub_david.push({}) - 1;
world_text[92] = [0, 'david::contemplation::*sigh* I can\'t find the last 5 coins in this level anywhere...'];
sub_mom.push({'mov': 'w.3.wt.90.c'});
sub_mom.push({});
world_text[90] = [{'as': 'david+' + (tempstate1 + 1)}, 'none::d::~Who will Markob give the final \'rose of romantic consideration\' to? Samanthelly or Tanyezebel?~', 'none::d::*tension*', 'mom::smile::He is an absolute idiot if he doesn\'t pick Sammy, she\'s so smart and considerate.', 'melissa::dispoint::He\'ll probably just pick Tanya because she\'s prettier.', 'mom::shock::Sammy is cuter! Guys like cute too.', 'none::d::I\'m having a, like, really hard decision because I really, really, like, enjoyed the time I spent with both of you...', 'none::d::I think that like I want...', 'none::d::~Rose of Romantic Consideration will return shortly.~', 'melissa::laugh::Not only is Sam not as pretty, she ruined their date.', 'mom::d::But she apologized afterwards, you have to be very brave and thoughtful to recognize your faults and apologize for them.', 'melissa::think::I suppose...', 'pc::contemplation::I can sense Melissa considering apologizing to David.', 'none::d::~Rose of Romantic Consideration returns. What will Markob\'s decision be?~', 'melissa::smile::All of that doesn\'t matter anyways, he\'ll pick Tanya.', 'mom::d::Why do you say that?', 'none::d::I have decided that I will give my final rose to...', 'none::d::*tension*', 'none::d::Tanyeezy.', 'none::d::~The final \'rose of romantic consideration\' is handed to Tanyezebel, eliminating Samanthelly.~', 'mom::dispoint::Awwww...', 'melissa::smile::I knew he would choose the pretty one because Mark is obviously SHALLOW.', 'mom::dispoint::I guess so...'];
sub_mom.push({'mov': 'wt.91.3.j.21.15.nw.2.sw.t.7.43.nw.1.sw.2.se.0.w.2.gstate.art'});
sub_mom.push({});
world_text[91] = [0, 'mom::smile::Well that\'s enough for me, I\'m going to work on my painting.', 'melissa::d::Ok.'];
sub_david.push({'mov': 'cw.nintendo,1.bgsnd.room.j.33.49.ne.3.nw.3.wt.93.4.se.3.sw.2.w.2.nw.0.w.2.wt.94.c.w.1.sw.3.as.mom.se.t.34.18.ne.t.61.48.se.1.ne.1.se.1.ne.1.nw.0.gstate.sit.w.1.cw.nintendo,2.bgsnd.vidya.w.2.wt.95.c'});
sub_david.push({});
world_text[93] = [0, 'david::d::Oh...', 'mom::smile::Hey David, sit down. Watch Rose of Romantic Consideration with us.', 'david::d::No... I\'m good.'];
world_text[94] = [0, 'pc::curious::David\'s looking quite intently at this portrait of Melissa and her Father.', 'pc::contemplation::He\'s thinking about...', 'pc::shock::This is intense, there\'s dense inner conflict here I don\'t feel I was prepared for!', 'pc::concern::Here I was thinking that David was just sour over his lover\'s infidelity but there\'s even more to it...', 'pc::concern::A jealousy of her upbringing and assumed spoiled nature...', 'pc::concern::A cocktail of feelings concerning how his philandering Father left him and his Mother...', 'pc::contemplation::I may have my work cut out for me after all.'];
world_text[95] = [{'locks': 'david,tv,96'}, 'pc::disdain::This won\'t do, I cannot let David distract himself anymore.', 'pc::determined::I will make him face these feelings one way or another.'];
world_text[96] = [{'locks': 'david,tv,97', 'as': 'david'}, 'pc::devious::ZAP!'];
world_text[97] = [0, 'pc::blush::A zapped television.'];
sub_david.push({'mov': 'cw.nintendo,1.bgsnd.room.w.1.ne.0.wt.98.3.ne.1.nw.2.sw.1.se.0.wt.99.4.cw.nintendo,2.bgsnd.vidya.wt.150.2.ne.1.se.2.sw.1.nw.0.w.1.gstate.sit.w.2.wt.151.4.cw.nintendo,1.bgsnd.room.w.2.wt.152.c'});
sub_david.push({});
world_text[98] = [0, 'david::d::What...?', 'david::shock::WHAT?!'];
world_text[99] = [0, 'david::focus::Red wire, red plug. Yellow wire, yellow plug. White wire, white plug.', 'david::focus::Electricity plugs are fine, tv powerlight is on.', 'david::shock::Did the console break?!', 'david::focus::Calm! Calmly turn off and on the console...'];
world_text[150] = [0, 'david::relief::Thank god, it works.', 'pc::d::That\'s right thank me.'];
world_text[151] = [0, 'david::d::Alright where was-', 'david::shock::The savefile is gone...', 'david::pissed::Ugggggh, all my progress.', 'david::sad::Man, whatever... I was getting sick of collecting stuff anyways.'];
world_text[152] = [{'locks': 'all,all,153,living,tree,-2,bath,bath,-2,bath,toilet,-2,hall,tohide,-2,living,vhs,-2,melissa,music,-2,melissa,stereo,-2,kitchen,coffee,-2,living,tree,155,bath,bath,157,bath,toilet,157,hall,tohide,159,living,vhs,161,melissa,music,163,melissa,stereo,163,kitchen,coffee,165'}, 'david::sad::...', 'pc::determined::David is spacing out, this is the opportunity I need to get him thinking about things.', 'pc::determined::The things that anger him about his new life.', 'pc::determined::The things that will move him to action!'];
temp_a = 'pc::curious::Maybe THIS will spark David.\n[Use]';
temp_b = 'pc::d::Or maybe it will waste my chances.\n[Cancel]';
temp_x = 'mvar.6,168.dvar.3,169';
world_text[153] = [{'choice': '154,100'}, temp_a, temp_b];
world_text[154] = [{'changeworld': 'mvar,++', 'nextext': temp_x}, 'david::sad::...', 'pc::dispoint::No effect.', 'pc::dispoint::I can\'t keep suggesting the wrong things or I will miss my chance.'];
world_text[155] = [{'choice': '156,100'}, temp_a, temp_b];
world_text[156] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'living,tree,-2,living,tree,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::Why do I have to share Christmas with a couple of strangers?', 'david::mad::...'];
world_text[157] = [{'choice': '158,100'}, temp_a, temp_b];
world_text[158] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'bath,bath,-2,bath,toilet,-2,bath,bath,167,bath,toilet,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::It\'s bad enough I can\'t walk around the house without running into her but then I can\'t even get any privacy in the shower.', 'david::mad::...'];
world_text[159] = [{'choice': '160,100'}, temp_a, temp_b];
world_text[160] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'hall,tohide,-2,hall,tohide,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::That asshole sleeping with my mom.', 'david::mad::...'];
world_text[161] = [{'choice': '162,100'}, temp_a, temp_b];
world_text[162] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'living,vhs,-2,living,vhs,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::Me and my mom didn\'t have any money to waste but this stupid guy was buying crappy movies every week.', 'david::mad::...'];
world_text[163] = [{'choice': '164,100'}, temp_a, temp_b];
world_text[164] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'melissa,music,-2,melissa,music,167,melissa,stereo,-2,melissa,stereo,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::Melissa got all this shit whenever she wanted, spoiled brat.', 'david::mad::...'];
world_text[165] = [{'choice': '166,100'}, temp_a, temp_b];
world_text[166] = [{'changeworld': 'dvar,++', 'nextext': temp_x, 'locks': 'kitchen,coffee,-2,kitchen,coffee,167'}, 'david::sad::...', 'david::focus::...', 'david::focus::Stupid pretentious old man yakking on about coffees, thinking he\'s classy because he overpays.', 'david::mad::...'];
world_text[167] = [0, 'pc::d::I\'ve already used this one.'];
world_text[168] = [{'locks': 'all,all,-2', 'as': 'david', 'nextext': 'toasterexplained.0,323'}, 'david::sad::What am I doing spacing out and thinking about stupid things?', 'david::sad::Screw it, I\'m going to sleep.', 'pc::dispoint::Rats, all I managed to do was make David depressed. I should start over.'];
sub_david.push({'mov': 'w.2.nw.0.w.1.se.0.j.64.50.gstate.bed.cw.davidbed,2'});
sub_david.push({});
world_text[169] = [{'locks': 'all,all,-2', 'as': 'david,david,david'}, 'david::mad::And fucking Melissa...', 'david::mad::I loved her.', 'pc::d::Here we go!'];
sub_david.push({'mov': 'sw.3.nw.2.sw.3.nw.2.ne.t.63.19.nw.2.wt.170.c.nw.2'});
sub_david.push({});
world_text[170] = [{'as': 'melissa'}, 'david::mad::...', 'david::mad::How about I scratch \'Michael\' into every one of these discs.', 'pc::curious::Wait, who\'s Michael?'];
sub_melissa.push({'mov': 'j.34.13.ne.2.wt.171.c.ne.1'});
sub_melissa.push({});
world_text[171] = [{'as': 'david'}, 'melissa::concern::David? What are you doing in my room?', 'david::mad::...'];
sub_david.push({'mov': 'se.3.as.dad.sw.4.se.1.sw.0.wt.172.c.w.1.ne.0.wt.173.c.gchar.david_fast.nw.1.ne.2.nw.2.gchar.david_summer.gstate.sit.as.melissa'});
sub_david.push({});
sub_david.push({'mov': 'j.70.40'});
sub_david.push({});
world_text[172] = [0, 'melissa::think::Wait, David...', 'melissa::think::I\'ve been thinking about stuff from before...', 'david::mad::...', 'melissa::sad::And well, I never properly apologized for what I did...'];
world_text[173] = [{'nextext': 175, 'as': 'melissa'}, 'david::mad::Apologize?! You think you can just say \'sorry\' and everything will be fine!?', 'melissa::sad::No.', 'david::mad::I\'m never forgiving you.', 'melissa::sad::That\'s fine, I deserve that... I let myself be manipulated and hurt you and...', 'melissa::contemplation::I just want you to know that I never stopped loving you so if you could at least...', 'david::mad::...', 'david::pain::You\'re...', 'david::pain::You\'re not fair...'];
sub_melissa.push({'mov': 'gstate.crouch'});
sub_melissa.push({});
sub_melissa.push({'mov': 'gstate.stand.gchar.melissa_fast.ne.1.as.david.nw.3.se.0.gchar.melissa_summer'});
sub_melissa.push({});
sub_dad.push({'mov': 'ne.2.wt.174.4.sw.0.w.2.ne.2.se.t.36.22.ne.1.gstate.touch'});
sub_dad.push({});
world_text[174] = [0, 'dad::shock::Holy hell is it hot in here.', 'dad::mad::That\'s enough of that, I\'m gonna give these Honolulu kids a talking to.'];
tempstate1 = sub_dad.push({'mov': 'j.36.21.nw.4.ne.1.nw.2.ne.3.nw.0.wt.177.c.sw.2.se.2.as.melissa.ne.2.wt.176.4.sw.5.se.t.78.48'}) - 1;
sub_dad.push({});
world_text[175] = [{'precut': 'fuck', 'func3': 'saveprogress', 'func3pass': '4,1', 'as': 'dad+' + tempstate1}, 'dad::mad::MELISSA?!', 'dad::mad::DAVID!?'];
world_text[176] = [0, 'dad::d::Where\'s David gone to?'];
world_text[177] = [0, 'dad::mad::Melissa, are you kidding me?', 'melissa::nervous::Um, what?', 'dad::mad::It\'s freezing outside and you\'re walking around with bare arms like it\'s Honolulu!', 'melissa::nervous::Oh...', 'dad::d::Stop wasting electricity and put on some warmer clothes.', 'melissa::nervous::Yeah, ok... sorry.'];
sub_melissa.push({'mov': 'se.2.nw.0.as.david'});
sub_melissa.push({});
sub_melissa.push({'mov': 'ne.1.sw.0.w.1.sw.1.se.0'});
sub_melissa.push({});
sub_david.push({'mov': 'j.61.18.w.1.nw.0.w.1.se.0.wt.178.c.w.1.se.1.as.melissa.se.2.sw.6.wt.179.0'});
sub_david.push({});
world_text[178] = [0, 'melissa::relief::Crap, I thought he heard us...', 'melissa::laugh::Hahaha.', 'david::shame::What\'s so funny?', 'melissa::laugh::This happened the first time we had sex too.', 'david::smile::Your Dad has the worst timing.', 'david::d::...', 'pc::determined::Go on David, say what you feel.', 'david::shame::...'];
world_text[179] = [{'nextext': 'demoing.0,180,1,185'}, 'pc::determined::It isn\'t perfect yet but I\'m clearly making progress.', 'pc::lust::OneHandGames \'Cold Winter Days\' will be right back after the break!'];
world_text[185] = {'func': 'finishgame'};
world_text[180] = {'cut': 'transition', 'nextws': defaultstate + 'state,6,tree,3,melissabed,3,davidbed,2', 'locks': 'kitchen,toaster,143', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 'dark,laundry,laundry_washing'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 6, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_melissa.push({'tx': 60, 'ty': 21, 'l': 1, 'ws': 6, 'gchar': 'melissa_pj', 'gstate': 'bed', 'gdir': 'nw'});
sub_melissa.push({});
sub_david.push({'tx': 64, 'ty': 50, 'l': 1, 'ws': 6, 'gchar': 'david_winter', 'gstate': 'bed', 'gdir': 'nw'});
sub_david.push({});
sub_mom.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 6, 'gstate': 'stand', 'gdir': 'ne'});
sub_mom.push({});
sub_dad.push({'tx': 21, 'ty': 19, 'l': 1, 'ws': 6, 'gchar': 'father', 'gstate': 'embrace', 'gdir': 'ne'});
sub_dad.push({'mov': 'w.c.w.2.wt.181.c.w.3.wt.182.0'});
sub_dad.push({});
world_text[181] = [0, 'mom::bask::This is so nice... our first Christmas.', 'mom::bask::I think Melissa is finally warming to me.', 'dad::smile::I told you she would.', 'mom::bask::I always wanted a daughter...', 'dad::smile::Before you know it they\'ll feel we\'d always been together.', 'dad::smile::She\'ll be calling you \'mom\'...', 'mom::bask::...', 'dad::smile::...And hitting you up for money.', 'mom::laugh::You\'re terrible.', 'dad::smile::And our two lonely little only-children will finally get to be the siblings they always wanted to be.', 'pc::laugh::Not if I can help it.'];
world_text[182] = {'cut': 'day', 'changeworld': defaultstate + 'state,7,tree,3,dishes,1,toilet,3', 'locks': 'kitchen,toaster,143', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,living,tv_game'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 7, 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_dad.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 7, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_melissa.push({'tx': 32, 'ty': 52, 'l': 1, 'ws': 7, 'gchar': 'melissa_winter', 'gstate': 'stand', 'gdir': 'ne'});
sub_melissa.push({'mov': 'w.1.wt.183.c.as.mom.sw.3'});
sub_melissa.push({});
world_text[183] = [0, 'melissa::smile::Alright I gotta go now or I\'m gonna be late to meet up with my friend.', 'mom::smile::Ok... you said before that she\'s going to be sleeping over right?', 'melissa::smile::Yeah.', 'mom::smile::Alright, do you have everything you need?', 'melissa::smile::Yeah, I\'m set.'];
sub_mom.push({'tx': 33, 'ty': 50, 'l': 1, 'ws': 7, 'gchar': 'mother', 'gstate': 'stand', 'gdir': 'sw'});
sub_mom.push({});
sub_mom.push({'mov': 'sw.3.w.2.wt.203.2.w.1.ne.t.35.46.nw.t.21.20.ne.1.nw.1.sw.0.w.1.wt.184.2.sw.1.nw.3.sw.4.nw.1.sw.2.se.0.gstate.art.w.3.wt.186.0'});
sub_mom.push({});
world_text[203] = [0, 'mom::smile::Have fun!'];
world_text[184] = [0, 'mom::d::Watching Jeapordy I see.', 'david::d::Yeah...', 'mom::smile::You gotten any of the answers?', 'david::d::Nope.', 'mom::smile::Yeah, I\'ve always found Jeapordy to be way too hard.', 'mom::d::Well, it\'s my first day of holidays so I should dig my heels in and make some progress on my painting.', 'david::d::Sounds like a plan.'];
sub_david.push({'tx': 22, 'ty': 14, 'l': 1, 'ws': 7, 'gchar': 'david_winter', 'gstate': 'couch', 'gdir': 'nw'});
sub_david.push({});
world_text[186] = {'cut': 'night', 'changeworld': defaultstate + 'state,8,mvar,0,dvar,0,checkpoint,186,tree,3,toilet,3,nintendo,2', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,living,tv_show,david,vidya'};
sub_dad.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 8, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_david.push({'tx': 63, 'ty': 48, 'l': 1, 'ws': 8, 'gchar': 'david_winter', 'gstate': 'sit', 'gdir': 'nw'});
sub_david.push({});
sub_mom.push({'tx': 21, 'ty': 13, 'l': 1, 'ws': 8, 'gchar': 'mother', 'gstate': 'couch', 'gdir': 'sw'});
sub_mom.push({});
sub_girl.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 8, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_melissa.push({'tx': 75, 'ty': 44, 'l': 1, 'ws': 8, 'gchar': 'melissa_winter', 'gstate': 'stand', 'gdir': 'ne'});
sub_melissa.push({'mov': 'ne.3.sw.0.w.c.as.girl,mom'});
sub_melissa.push({});
sub_girl.push({'mov': 'ne.2'});
sub_girl.push({});
sub_mom.push({'mov': 'j.21.21.se.3.sw.0.as.melissa.wt.187.3.sw.5.as.melissa.sw.2.as.melissa,girl.se.0'});
sub_mom.push({});
sub_melissa.push({'mov': 'ne.0'});
sub_melissa.push({});
world_text[187] = [0, 'mom::smile::I thought I heard something, welcome home.', 'girl::smile::Hi Melissa\'s Mom.', 'melissa::d::...'];
sub_melissa.push({'mov': 'nw.0'});
sub_melissa.push({});
sub_girl.push({'mov': 'nw.0'});
sub_girl.push({});
world_text[188] = [0, 'mom::smile::Hi, you\'re Karen right?', 'girl::d::Kiernan.', 'mom::d::Sorry, so did you two have a good time? What did you do?', 'melissa::d::We mostly just hung out at the mall.', 'girl::laugh::Trying on inappropriate clothes and asking the clerks what they thought.', 'melissa::nervous::Shut up.', 'mom::laugh::Sounds fun.', 'melissa::nervous::We\'re gonna go to my room.', 'mom::smile::Ok, if you want anything just ask.'];
sub_melissa.push({'mov': 'sw.0.wt.188.5.as.girl.ne.1.as.mom.se.4.ne.1.se.2.ne.t.62.21.sw.0'});
sub_melissa.push({});
sub_girl.push({'mov': 'ne.2.se.4.ne.1.se.2.ne.t.62.22.wt.189.2.as.melissa'});
sub_girl.push({});
world_text[189] = [0, 'melissa::relief::Sorry about her.', 'girl::d::Your Mom is cool.', 'melissa::d::First thing, she\'s my step-mom and secondly she\'s most definitely not cool. You\'ll know when you take her class next year.', 'girl::smile::Melissa, I\'m on my fifth step-father... trust me you got a cool one.', 'melissa::think::...'];
sub_mom.push({'mov': 'ne.3.nw.2.ne.1.gstate.touch.as.dad'});
sub_mom.push({});
sub_dad.push({'mov': 'ne.2.sw.0.as.mom'});
sub_dad.push({});
sub_mom.push({'mov': 'sw.1.se.2.sw.0.wt.190.4.as.dad'});
sub_mom.push({});
world_text[190] = [0, 'mom::smile::Welcome home.', 'dad::tired::Yeah.', 'mom::concern::You sound dead tired.', 'dad::tired::...', 'mom::concern::Want me to fix you something?', 'dad::tired::I don\'t know.', 'mom::pissed::Fine, whatever.'];
sub_dad.push({'mov': 'ne.3.nw.0.gstate.touch.as.mom'});
sub_dad.push({});
sub_mom.push({'mov': 'se.0.w.1.as.dad.nw.2.ne.1.gstate.touch.cw.fridge,4'});
sub_mom.push({});
sub_dad.push({'mov': 'nw.3.ne.0.gstate.touch.wt.191.3.as.mom.sw.1.nw.1'});
sub_dad.push({});
world_text[191] = [0, 'dad::d::I\'m sorry... It\'s been a rough day. We were overbooked.', 'mom::pissed::Jay again?', 'dad::tired::Yeah.', 'mom::mad::That turd...', 'mom::concern::You want something to eat?', 'dad::devious::You.', 'mom::laugh::You\'d fall asleep!', 'mom::smile::I\'ll decide something for you then?', 'dad::bask::Thank you.', 'mom::smile::Oh and Melissa\'s friend, Kiernan, is here sleeping over so you should say \'hi\'.', 'dad::tired::Uggghhh... sure.'];
sub_mom.push({'mov': 'cw.fridge,2.nw.5.sw.1.nw.0.gstate.touch.cs.as.david'});
sub_mom.push({});
sub_melissa.push({'mov': 'nw.3.sw.0.gstate.crouch.as.girl.w.2.wt.192.2.j.61.17.cw.guestbed,1.as.girl'});
sub_melissa.push({});
sub_girl.push({'mov': 'ne.2.nw.0'});
sub_girl.push({});
world_text[192] = [0, 'melissa::smile::This is your bed.', 'girl::d::Ooh, floor bed.', 'melissa::laugh::Hehe.'];
sub_girl.push({'mov': 'nw.2.as.melissa'});
sub_girl.push({});
sub_melissa.push({'mov': 'se.0.wt.193.2.as.girl.ne.2.se.1.ne.0.gstate.touch.cw.dresser,2.as.david.w.1.gstate.stand.gchar.melissa_nude'});
sub_melissa.push({});
world_text[193] = [0, 'girl::d::These pants are killing me, I wanna put on my PJs.', 'melissa::smile::Ok, let\'s do it.'];
sub_girl.push({'mov': 'w.4.gstate.nude'});
sub_girl.push({});
sub_david.push({});
sub_david.push({'mov': 'as.mom'});
sub_david.push({});
sub_mom.push({'mov': 'sw.1.nw.0.gstate.touch.as.dad'});
sub_mom.push({});
sub_mom.push({'mov': 'cw.microwave,2.bgsnd.microwave.locks.kitchen,microwave,195'});
sub_mom.push({});
tempstate2 = sub_mom.push({'mov': 'cw.microwave,1.bgsnd.kitchen.ne.3.nw.4.ne.1.nw.1.ne.t.20.13.se.2.sw.0.w.1.j.21.13.gstate.couch'}) - 1;
sub_mom.push({});
sub_dad.push({'mov': 'ne.1.se.4.as.mom.sw.1.se.t.33.16.ne.t.61.23.locks.kitchen,microwave,-2.wt.194.0.cw.mvar,1.as.girl,melissa,mom.sw.t.33.16.se.t.36.23.se.2.gchar.father.as.dad,girl+is,dvar,-1.cw.dvar,-1'});
sub_dad.push({});
world_text[194] = [0, 'dad::d::Knock, knock girls.', 'melissa::shock::DAD! HOW ABOUT ACTUALLY KNOCKING?!', 'dad::shock::Uh, Sorry...', 'melissa::shock::GET OUT ALREADY!', 'girl::laugh::Nice to meet you Mr. Melissa\'s Father.'];
world_text[195] = [{'as': 'mom+' + (tempstate2 + 2)}, 'pc::d::ZAP!'];
world_text[196] = [0, 'pc::d::I cooked the microwave.'];
sub_mom.push({'mov': 'cw.microwave,1.bgsnd.kitchen.locks.kitchen,microwave,196.w.1.se.0.wt.197.0'});
sub_mom.push({});
tempstate1 = sub_dad.push({'mov': 'j.32.14.nw.4.ne.1.nw.3.wt.198.4.as.girl,melissa.nw.1.ne.1.nw.4.as.mom.sw.2.nw.0.gstate.touch'}) - 1;
sub_dad.push({});
sub_mom.push({'mov': 'sw.1.ne.0.w.3.wt.199.5.w.4.wt.201.2.cw.microwave,2.bgsnd.microwave.as.dad.ne.1.nw.0'});
sub_mom.push({});
world_text[197] = [{'as': 'dad+' + tempstate1}, 'mom::yell::Waah! Babe, come here! Come here! Come here!'];
world_text[198] = [0, 'dad::shock::What\'s wrong?!', 'mom::d::Something happened with the microwave.', 'dad::tired::This day doesn\'t end.'];
world_text[199] = [0, 'dad::d::Hmmm *rattle* mmmm *knock* hmm.', 'mom::concern::Don\'t hurt yourself.', 'dad::tired::...'];
world_text[201] = [0, 'dad::d::I think I found the problem.', 'mom::d::What is it?', 'dad::d::The plug fell out...', 'mom::d::...', 'pc::laugh::Zappity zaps!'];
sub_dad.push({'mov': 'ne.2.se.4.sw.1.as.mom+' + tempstate2 + '.se.4.sw.1.se.t.36.23.se.2.gchar.father.as.dad,girl+is,dvar,-1.cw.dvar,-1'});
sub_dad.push({});
sub_girl.push({'mov': 'gchar.girl_pj.nw.0.w.1.ne.0'});
sub_girl.push({});
sub_melissa.push({'mov': 'gchar.melissa_pj.w.2.cw.dresser,1.sw.1.wt.202.2.nw.1.sw.1.as.girl.sw.1.ne.0.gstate.sit'});
sub_melissa.push({});
world_text[202] = {'nextext': 'mvar.0,204,1,205'};
world_text[204] = [0, 'melissa::smile::Your PJs are cute.', 'girl::dispoint::I look like a Hostess Snoball.', 'melissa::d::Better than looking like a kilt.', 'girl::smile::Yeah, you look a kilt. How about underneath? You breezy as a Scotsman?', 'melissa::laugh::Totally commando!'];
world_text[205] = [0, 'melissa::nervous::I\'m so sorry about my father barging in like that and seeing you naked.', 'girl::laugh::You screamed so loud.', 'melissa::blush::I did, huh?', 'girl::laugh::You scared the shit out of him!', 'melissa::laugh::I really did.'];
tempstate1 = sub_dad.push({'mov': 'nw.3.as.girl+is,dvar,0.nw.4.as.dad,dad+is,dvar,1.sw.0'}) - 1;
sub_dad.push({});
sub_dad.push({'mov': 'nw.t.32.51.ne.t.35.46.nw.4.ne.1.nw.4.ne.2.sw.0.w.1.j.21.13.gstate.couch'});
sub_dad.push({});
sub_girl.push({'mov': 'nw.0.gstate.sit.w.2.as.girl,girl+is,dvar,-1.cw.dvar,-1'});
sub_girl.push({});
sub_girl.push({'mov': 'wt.206.2.cw.dvar,0.se.2.sw.t.33.16.se.2.sw.3.nw.2.se.0.w.1.nw.3.gstate.toilet.locks.bath,sink,207.w.2.snd.pee.w.6.snd.flush.cw.toilet,1.se.3.ne.0.as.dad+' + tempstate1 + '.as.girl,girl,girl,girl+is,dvar,1.locks.bath,sink,-2.snd.sink'});
sub_girl.push({});
sub_girl.push({'mov': 'se.2.ne.2.wt.208.3.cw.mvar,1.as.dad,girl,girl,girl'});
sub_girl.push({});
world_text[206] = [0, 'melissa::smile::I got some new import cds the other week of this pop band from France I really li-', 'girl::d::Melissa I need to use the bathroom.', 'melissa::d::Oh, it\'s just across the hall.', 'girl::d::Alright.'];
world_text[207] = [{'changeworld': 'dvar,1', 'locks': 'bath,sink,-2'}, 'pc::determined::ZAP ZAP ZAP! I\'M NOT GONNA FAIL THIS TIME!'];
world_text[208] = {'nextext': 'mvar.0,209,1,210'};
world_text[209] = [0, 'dad::smile::Hi Kiernan, good to finally meet you.', 'girl::d::You too, Melissa\'s Father.', 'dad::smile::Richard.', 'girl::smile::Richard.', 'dad::smile::What did you two get up to?', 'girl::smile::We went to the mall and had our picture taken with Santa.', 'dad::laugh::That\'s nice, I\'d love to see the picture.', 'girl::smile::We don\'t have the picture.', 'dad::curious::Why\'s that?', 'girl::smile::Santa kept it to jerk off to.', 'dad::d::...', 'girl::smile::We were grinding on his lap so hard that he had to go on break.', 'dad::concern::This isn\'t funny.', 'girl::smile::If you give me a \'ho ho ho\' I\'ll sit on your lap.', 'dad::concern::....'];
world_text[210] = [0, 'dad::smile::Uh, hi... Kiernan. Good to finally meet you.', 'dad::shame::Sorry about earlier, I\'m really tired from work and didn\'t even think-', 'girl::smile::Show me your cock.', 'dad::shock::Wuh?', 'girl::smile::You got to see my cute young body so I want to see your cock.', 'dad::concern::This isn\'t funny.', 'girl::d::Good, because I\'m not kidding. Whip it out.', 'dad::concern::....'];
sub_girl.push({'mov': 'w.2.wt.211.2.snd.sink.w.2.se.2.ne.2.as.girl'});
world_text[211] = [0, 'girl::pissed::Ugh, this sink knob is too damn tight.', 'girl::pain::Is it frozen?!', 'girl::relief::Got it.'];
sub_girl.push({'mov': 'ne.3.nw.2.ne.5.nw.2.gstate.sit.w.1.wt.212.c.j.62.16.nw.0.bgsnd.song2.w.1.wt.213.0.j.70.40.w.1.wt.214.0'});
sub_girl.push({});
world_text[212] = [{'cut': 'cd1', 'func': 'disableplayer', 'funcpass': 1, 'as': 'melissa'}, 'girl::bask::Y\'know I kinda know your new-mom already.', 'girl::d::My aunt goes to art exhibits like they\'re bars.', 'melissa::laugh::What?!', 'girl::d::Free wine, smart guys, stuff to look at.', 'girl::bask::She told me your mom does these cool paintings of naked people and dancing and stuff.', 'melissa::d::She\'s doing a painting now but it\'s just a house.'];
sub_melissa.push({'mov': 'j.62.14.nw.0.gstate.crouch'});
sub_melissa.push({});
world_text[213] = [{'cut': 'cd2', 'func': 'init_bgsnds', 'funcpass': 'dark', 'as': 'melissa', 'changeworld': 'guestbed,2,melissabed,3'}, 'girl::shock::You serious?!', 'melissa::nervous::Shhhh quiet... and remember you can\'t tell anyone, you promised.', 'girl::concern::Of course. Isn\'t it weird though.', 'girl::lipbite::You\'re kinda like... brother and sister now.', 'melissa::d::C\'mon it\'s not incest... I mean... we were together before our parents were.', 'girl::lipbite::...', 'melissa::nervous::What?', 'girl::shock::Oh, sorry...', 'girl::smile::I was just thinking how much fun it would be to have a brother.', 'melissa::laugh::Ahahaha, gross.'];
sub_melissa.push({'mov': 'j.60.21.gstate.bed'});
sub_melissa.push({});
world_text[214] = [{'nextext': 221, 'func': 'disableplayer', 'funcpass': 0}, 'girl::contemplation::Night Melissa.', 'melissa::bask::Goodnight Kiernan.'];
world_text[221] = {'cut': 'transition', 'nextws': defaultstate + 'state,9,davidbed,2,tree,3,guestbed,2,melissabed,3', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 'dark'};
sub_mom.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 9, 'gchar': 'mother', 'gstate': 'couch', 'gdir': 'sw'});
sub_mom.push({});
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 9, 'gchar': 'girl_pj', 'gstate': 'stand', 'gdir': 'ne'});
sub_girl.push({});
sub_melissa.push({'tx': 60, 'ty': 21, 'l': 1, 'ws': 9, 'gchar': 'melissa_pj', 'gstate': 'bed', 'gdir': 'ne'});
sub_melissa.push({});
sub_dad.push({'tx': 78, 'ty': 48, 'l': 1, 'ws': 9, 'gchar': 'father', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({});
sub_david.push({'tx': 64, 'ty': 50, 'l': 1, 'ws': 9, 'gchar': 'david_winter', 'gstate': 'bed', 'gdir': 'nw'});
sub_david.push({'mov': 'wt.215.c.j.63.49.se.0.cw.davidbed,1.w.1.nw.1.sw.4.nw.2.sw.2.nw.2.ne.0.w.c.as.dad,dad,dad,david+is,mvar,1.w.1.ne.2.w.1.wt.216.c.as.melissa,dad.j.60.50.ne.0.gstate.sit.wt.222.c'});
sub_david.push({});
world_text[215] = [0, 'david::sleep::....', 'david::pissed::...', 'david::determined::...'];
world_text[216] = [{'cut': 'sleepover', 'func3': 'saveprogress', 'func3pass': '5,1'}, 'david::nervous::I want to see it...', 'david::nervous::I want to see her sleeping face...'];
sub_melissa.push({'mov': 'w.4.wt.217.c'});
sub_melissa.push({});
world_text[217] = [{'as': 'girl'}, 'melissa::bask::Mmmmm...', 'girl::contemplation::Y\'know I haven\'t fallen asleep yet, right?', 'melissa::shock::...', 'girl::bask::I can\'t believe he just waltzed in here and jizzed on your face.', 'melissa::nervous::...', 'girl::bask::And now you\'re slupring it up and schlicking with it like a total slut.', 'melissa::contemplation::Auuuhhh...', 'girl::contemplation::Oh my god are you still going while I talk to you?', 'melissa::contemplation::N-no...', 'girl::bask::You perverts are made for each other.'];
world_text[222] = [{'as': 'girl'}, 'david::relief::...', 'pc::d::I have successfully directed David\'s impulsive lusts towards Melissa.', 'pc::d::Now it\'s just a matter of getting him to remember why he loves her...'];
sub_dad.push({'mov': ''});
sub_dad.push({});
sub_david.push({'mov': 'sw.3.se.0'});
sub_david.push({});
sub_david.push({'mov': 'nw.t.32.51.ne.1.nw.3.sw.1.se.0.dark.0.nw.1.ne.1.nw.2.sw.0'});
sub_david.push({});
sub_dad.push({'mov': 'nw.2.as.david.sw.1.dark.0.nw.0.wt.218.c.nw.3.ne.1.nw.t.33.17.wt.219.2.as.david.nw.t.32.51.ne.1.nw.3.ne.1.cw.fridge,4.gstate.touch.w.2.cw.fridge,2.sw.2.nw.1.cw.coke,4.w.1.wt.220.c'});
sub_dad.push({});
world_text[218] = [0, 'dad::d::David...'];
world_text[219] = [0, 'dad::smile::You couldn\'t sleep either?', 'david::d::Yeah.', 'dad::smile::How about you and me have a nightcap?', 'david::d::Sure.'];
world_text[220] = [{'nextext': 'toasterexplained.0,323'}, 'dad::d::Milk always gets me to sleep.', 'david::d::That\'s cliche.', 'dad::smile::Yeah it\'s probably just psychological.', 'dad::smile::But then again, so is sleeping.', 'pc::d::This is a nice moment but I am afraid I missed the boat on David\'s night time opportunity.', 'pc::concern::I will have to dash this moment in time as Father was merely an interruption.', 'pc::curious::I wonder what it was that kept Father from sleeping?'];
sub_girl.push({});
sub_girl.push({'mov': 'w.1.wt.223.0'});
world_text[223] = {'cut': 'day', 'changeworld': defaultstate + 'state,10,checkpoint,223,tree,3,guestbed,3,melissabed,2,shower,2,towels,2', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,bath,shower,laundry,laundry_washing'};
sub_mom.push({'tx': 6, 'ty': 44, 'l': 1, 'ws': 10, 'gchar': 'mother', 'gstate': 'art', 'gdir': 'se'});
sub_mom.push({});
sub_girl.push({'tx': 34, 'ty': 12, 'l': 1, 'ws': 10, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'sw'});
sub_girl.push({});
sub_melissa.push({'tx': 33, 'ty': 13, 'l': 1, 'ws': 10, 'gchar': 'melissa_winter', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({'tx': 5, 'ty': 43, 'l': 1, 'ws': 10, 'gchar': 'father_work', 'gstate': 'stand', 'gdir': 'se'});
sub_david.push({'tx': 48, 'ty': 20, 'l': 1, 'ws': 10, 'gchar': 'david_nude', 'gstate': 'stand', 'gdir': 'se'});
sub_david.push({});
sub_melissa.push({'mov': 'wt.224.c'});
tempstate1 = sub_melissa.push({}) - 1;
world_text[224] = [0, 'girl::smile::David\'s in the shower right now, why don\'t you run in there with him, pretend it\'s an accident.', 'melissa::smile::Shut up!', 'melissa::shame::Plus that already happened...', 'girl::laugh::Slut!', 'melissa::d::God, be quiet. Plus it really was an accident.', 'girl::smile::Suuure.'];
sub_dad.push({'mov': 'wt.225.c.ne.1.se.1.ne.1.se.2.sw.1.se.3.sw.1.se.5.sw.1.se.4.sw.3.w.1.sw.2.w.4.ne.2.wt.226.0.as.girl,david+++melissa+' + (tempstate1 + 1)});
sub_dad.push({});
world_text[225] = [0, 'dad::d::You woke up early.', 'mom::tired::I woke up at 3am and couldn\'t get back to sleep so I\'ve been painting.', 'dad::d::You look tired...', 'mom::tired::I am but I\'m in the zone now, can\'t stop.', 'dad::d::Ok well I\'m going to work.', 'mom::tired::I still can\'t believe they have you working on Christmas Eve.', 'dad::d::Yeah well, I\'ll be off on time tonight at least.', 'dad::smile::Oh, and I\'m gonna pick up a movie for all of us to watch together.', 'dad::smile::Christmas Eve movie night is a tradition of ours.', 'mom::smile::I can\'t wait. Have a good day.'];
world_text[226] = [0, 'dad::yell::Kiernan, your Uncle is here to pick you up!'];
sub_melissa.push({'mov': 'sw.t.32.15.nw.4.sw.1.nw.0'});
sub_melissa.push({});
sub_girl.push({'mov': 'sw.t.32.15.nw.5.sw.1.se.0.wt.227.2.as.dad,melissa.sw.3'});
sub_girl.push({});
world_text[227] = [0, 'girl::d::See ya Melissa.', 'melissa::smile::See ya.'];
sub_dad.push({'mov': 'sw.2.j.70.40'});
sub_dad.push({});
sub_melissa.push({'mov': 'nw.1.sw.0.w.4.ne.1.se.t.33.16.ne.t.63.20.nw.3.sw.0.gstate.crouch.w.2.j.61.18.cw.guestbed,4.w.2.sw.0.w.2.se.2.sw.2.nw.0.gstate.touch.w.1.cw.melissabed,1.nw.0'});
sub_melissa.push({});
sub_melissa.push({'mov': 'se.1.sw.4'});
sub_melissa.push({});
sub_david.push({'mov': 'bgsnd.bath.cw.shower,1.w.1.ne.0.cw.curtain,2.w.1.j.48.19.nw.3.sw.0.w.1.cw.towels,4.gchar.david_towel.ne.2.se.5.ne.t.62.45.nw.0.cs.w.1.gchar.david_nude.w.1.cs.w.1.gchar.david_winter.sw.t.34.17.as.mom.nw.2.sw.1.nw.t.32.51.ne.1.nw.t.21.47.ne.0'});
sub_david.push({});
sub_mom.push({'mov': 'ne.2.se.2.sw.1.se.3.sw.1.se.5.sw.0.wt.228.1.as.david.se.1.sw.1.se.3.sw.1.as.melissa.se.t.33.16.ne.0.wt.229.1.as.melissa.se.t.78.48'});
sub_mom.push({});
world_text[228] = [0, 'mom::tired::Morning David.', 'david::d::Morning.', 'mom::tired::I\'m going to take a nap.', 'david::d::...Ok.'];
world_text[229] = [0, 'mom::tired::Did you have fun with Kiernan last night?', 'melissa::smile::Yeah, we listened to music and stuff.', 'mom::tired::I woke up last night and couldn\'t get back to sleep so I\'m going to take a nap now.', 'melissa::d::Ok, I won\'t bother you.', 'mom::smile::Thanks.'];
sub_david.push({'mov': 'w.1.ne.1.cs.w.1.se.1.ne.0.cw.fridge,4'});
sub_david.push({});
sub_david.push({'mov': 'cw.fridge,2.nw.2.sw.1.nw.1.sw.0'});
sub_david.push({});
sub_david.push({'mov': 'gstate.eat'});
sub_david.push({});
sub_melissa.push({'mov': 'sw.1.nw.6.ne.1.nw.3.ne.0.wt.230.4.as.david.sw.2.nw.4.sw.0.w.1.nw.1.ne.3.se.1.ne.0.gstate.touch.cw.stove,2.w.1.se.4.ne.0.gstate.touch.cw.fridge,4.wt.231.2.cw.fridge,2.nw.4.ne.0.gstate.touch.w.1.cw.stove,3.w.1.wt.232.c.cw.stove,2.nw.1.sw.3.se.2.ne.0.cw.coke,3.as.david.w.1.wt.233.c.as.david.cw.coke,2.se.2.sw.0.w.1.cw.dishes,1.ne.2.se.t.33.50.sw.1.se.t.33.16.ne.1.se.2.ne.t.62.45.se.2.nw.0.gstate.sit.w.1.wt.234.4.as.david'});
sub_melissa.push({});
world_text[230] = [0, 'david::think::...', 'melissa::d::You getting something to eat?', 'david::d::Uh yeah, I just can\'t think of what to have...', 'melissa::smile::I\'m gonna have an omelette. You want one?', 'david::d::Yeah... ok.'];
world_text[231] = [0, 'melissa::d::What do you want in yours?', 'david::think::Ummm, cheese.'];
world_text[232] = [0, 'melissa::d::So with this we\'re even.', 'david::d::Even?', 'melissa::devious::You fed me, I\'ve fed you.', 'david::nervous::...', 'david::blush::...', 'melissa::blush::...'];
world_text[233] = [0, 'melissa::smile::You like it?', 'david::food::Yeah, it\'s good.', 'melissa::smile::So what are you gonna do today?', 'david::food::I don\'t know, just play games I guess.', 'pc::dispoint::Even after I destroy his savedata he spends all yesterday getting back to where he was.', 'melissa::blush::Can I play with you?', 'david::blush::Uh... yeah, sure.'];
sub_david.push({'mov': 'se.t.33.50.sw.1.se.t.33.16.ne.1.se.2.ne.t.61.48.se.2.ne.2.nw.0.gstate.sit.cw.nintendo,2.bgsnd.vidya'});
sub_david.push({});
world_text[234] = [0, 'david::smile::So, I\'ve got some multiplayer games but they all suck pretty hard.', 'david::curious::You want to take turns with this single player one?', 'melissa::smile::Sure.', 'david::d::Alright, I\'ll just set it up...', 'david::smile::Here, you go first.', 'melissa::laugh::Here I go!'];
sub_david.push({'mov': 'w.4.snd.vidyadeath.wt.235.2.w.4.as.melissa'});
sub_david.push({});
world_text[235] = [0, 'melissa::dispoint::Damnit, I died already.', 'melissa::smile::Here, your turn.', 'david::focus::I\'ll show you how it\'s done.'];
sub_melissa.push({'mov': 'ne.1.gstate.crouch.w.2.wt.236.c.as.david.j.63.47.gdir.sw.gstate.crouch.w.1.wt.237.c.as.mom,david.gdir.nw.gstate.sit'});
sub_melissa.push({});
world_text[236] = [0, 'melissa::devious::Hey, what\'s this?', 'david::focus::What\'s what?', 'david::glance::...', 'david::shock::Put that back!', 'melissa::blush::...'];
sub_david.push({'mov': 'gdir.ne'});
sub_david.push({});
world_text[237] = [0, 'melissa::blush::Kiss me.', 'david::blush::What?!', 'pc::laugh::Everything is falling into place!', 'melissa::blush::Kiss me...', 'david::blush::Fine, I will.', 'melissa::blushclosed::...', 'david::lipbite::...', 'pc::d::It\'s finally happening.', 'mom::yell::David.'];
sub_david.push({'mov': 'gdir.nw'});
sub_david.push({});
sub_mom.push({'mov': 'j.35.15.ne.2.wt.238.c'});
sub_mom.push({});
world_text[238] = [{'nextext': 239}, 'pc::dispoint::Well I suppose an interruption was to be expected. It seems to be a theme by now.', 'david::blush::Um, yeah?', 'mom::shock::Oh, Melissa...', 'mom::smile::That\'s nice, you\'re playing together.', 'mom::d::Dad called, he\'s going to be home soon with a film for Christmas Eve, so get ready.'];
world_text[239] = {'cut': 'night', 'changeworld': defaultstate + 'state,11,checkpoint,239,tree,4,towels,4,microwave,2', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,kitchen,microwave,laundry,1,bath,1'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 11, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'sw'});
sub_girl.push({});
sub_mom.push({'tx': 19, 'ty': 44, 'l': 1, 'ws': 11, 'gchar': 'mother', 'gstate': 'stand', 'gdir': 'nw'});
sub_mom.push({});
sub_dad.push({'tx': 78, 'ty': 48, 'l': 1, 'ws': 11, 'gchar': 'father', 'gstate': 'stand', 'gdir': 'se'});
sub_david.push({'tx': 23, 'ty': 18, 'l': 1, 'ws': 11, 'gchar': 'david_winter', 'gstate': 'stand', 'gdir': 'se'});
sub_david.push({});
sub_melissa.push({'tx': 23, 'ty': 20, 'l': 1, 'ws': 11, 'gchar': 'melissa_winter', 'gstate': 'touch', 'gdir': 'ne'});
sub_melissa.push({});
sub_dad.push({'mov': 'nw.3.ne.1.w.1.nw.t.32.13.sw.1.nw.4.ne.5.nw.3.sw.1.se.0.wt.240.3.as.melissa,david,mom.dark.1.ne.2.nw.5.ne.2.sw.0.w.1.j.21.13.gstate.couch'});
sub_dad.push({});
sub_dad.push({'mov': 'gstate.snuggle.w.2.wt.241.c'});
sub_mom.push({'mov': 'bgsnd.kitchen.cw.microwave,1.w.2.ne.3.nw.4.ne.1.nw.1.ne.6.se.2.ne.0.w.1.as.dad.j.70.40'});
sub_mom.push({});
sub_david.push({'mov': 'nw.3.sw.0.w.1.j.22.14.gstate.couch'});
sub_david.push({});
sub_melissa.push({'mov': 'nw.2.sw.2.nw.2.sw.0.gstate.crouch.w.1.bgsnd.tv_movie.sw.0.w.1.ne.1.se.2.ne.2.nw.1.j.22.15.gstate.couch'});
sub_melissa.push({});
world_text[240] = [0, 'dad::smile::Here y\'go Melissa, do us the honors.', 'melissa::d::Kay.'];
world_text[241] = [{'nextext': 242}, 'mom::d::Are you comfortable? I\'m not pinching on anything am I?', 'dad::d::You\'re fine.', 'dad::smile::It\'s starting.', 'none::d::I owe everything to George Bailey. Help him, dear Father.', 'none::d::Joseph, Jesus and Mary. Help my friend Mr. Bailey.', 'none::d::Help my son George tonight.', 'none::d::He never thinks about himself, God; that\'s why he\'s in trouble.', 'none::d::George is a good guy. Give him a break, God.'];
world_text[242] = [{'precut': 'movienight', 'func3': 'saveprogress', 'func3pass': '6,1'}, 'none::d::Look, Daddy. Teacher says, every time a bell rings an angel gets his wings.', 'none::d::That\'s right, that\'s right. *wink* Attaboy, Clarence.', 'dad::smile::Even better than I remember it!'];
sub_dad.push({'mov': 'as.mom.j.21.14.sw.3.se.1.sw.0'});
sub_dad.push({});
sub_dad.push({'mov': 'bgsnd.room.ne.0.wt.243.2.as.melissa,david.ne.1.nw.3.gstate.touch.w.2.se.3'});
sub_dad.push({});
sub_mom.push({'mov': 'j.21.15.nw.1.sw.2.se.4.sw.2.se.1.dark.0.as.dad.nw.1.ne.1.nw.1.ne.0'});
sub_mom.push({});
world_text[243] = [0, 'dad::d::Alright you two, off to bed.', 'dad::smile::Don\'t stay up waiting for Santa Claus.'];
sub_melissa.push({'mov': 'w.1.j.22.16.se.1.sw.2.wt.244.1.se.1.sw.1.se.4.sw.5.se.t.33.16.ne.1.sw.0'});
sub_melissa.push({});
sub_david.push({'mov': 'w.2.j.21.15.se.2.sw.2.wt.245.1.as.mom.se.1.sw.1.se.4.sw.5.se.t.33.16.ne.0.w.1.wt.246.3.as.melissa'});
sub_david.push({});
world_text[244] = [0, 'melissa::smile::Goodnight Dad, Goodnight Mom.', 'mom::smile::...', 'dad::smile::Goodnight Melissa.', 'mom::smile::Goodnight.'];
world_text[245] = [0, 'david::d::Night.', 'mom::smile::Goodnight.', 'dad::smile::Goodnight David.'];
world_text[246] = [0, 'david::nervous::So umm, should we...?', 'melissa::smile::Goodnight David', 'david::d::Y-yeah, goodnight.'];
sub_melissa.push({'mov': 'gstate.crouch.w.1.wt.247.1.ne.1.as.david.ne.t.64.18.nw.1.ne.0.cw.dresser,3.w.1.gchar.melissa_nude.w.1.cw.dresser,1.nw.1.ne.0.cw.dresser,2.w.1.gchar.melissa_pj.cw.dresser,1.sw.3.se.1.sw.2.dark.1.ne.2.nw.2.sw.0.w.1.j.60.21.gstate.bed.cw.melissabed,3'});
sub_melissa.push({});
world_text[247] = [0, 'melissa::smile::Goodnight David\'s cock.', 'david::blush::...'];
sub_david.push({'mov': 'se.2.ne.t.60.50.se.1.sw.0.dark.1.ne.3.se.1.ne.1.se.0.w.1.j.64.50.gstate.bed.cw.davidbed,2'});
sub_david.push({});
sub_mom.push({'mov': 'se.0.w.3.ne.1.nw.1.wt.248.2.as.dad.sw.0.w.1.sw.1.se.t.35.46.sw.t.32.52'});
sub_mom.push({});
sub_dad.push({'mov': 'sw.1.se.t.35.46.sw.t.32.52.sw.3.w.4.ne.2.wt.249.2.nw.1.ne.1.as.mom.ne.6.nw.t.21.21.ne.2.gstate.touch'});
sub_dad.push({});
world_text[248] = [0, 'mom::d::They\'re all still in your car right?', 'dad::d::Yeah, I\'ll go get them.'];
world_text[249] = [0, 'dad::pain::Yeesh, it\'s freezing out there. Here take some.'];
sub_mom.push({'mov': 'nw.0.ne.6.nw.t.22.22.ne.2.w.1.wt.302.0'});
sub_mom.push({});
clearwords = 'word_toy,0,word_yuletide,0,word_tinsel,0,word_eggnog,0,word_gift,0,word_elf,0,word_frank,0,word_santa,0,word_sleigh,0,word_holly,0,word_green,0,word_nativity,0,word_christmas,0,word_candycane,0,word_cupid,0,word_family,0,word_reindeer,0,word_rudolph,0,word_north,0,word_noel,0,';
world_text[302] = {'changeworld': defaultstate + clearwords + 'state,12,checkpoint,302,tree,4,towels,4,melissabed,3,davidbed,2', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': '0,melissa,1,david,1,laundry,1,bath,1'};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 12, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'sw'});
sub_girl.push({});
sub_mom.push({'tx': 23, 'ty': 20, 'l': 1, 'ws': 12, 'gchar': 'mother', 'gstate': 'stand', 'gdir': 'ne'});
sub_dad.push({'tx': 22, 'ty': 19, 'l': 1, 'ws': 12, 'gchar': 'father', 'gstate': 'touch', 'gdir': 'ne'});
sub_dad.push({});
sub_david.push({'tx': 64, 'ty': 50, 'l': 1, 'ws': 12, 'gchar': 'david_winter', 'gstate': 'bed', 'gdir': 'se'});
tempstate1 = sub_david.push({'mov': 'w.3.wt.303.c'}) - 1;
sub_david.push({});
world_text[303] = [0, 'david::d::I can\'t sleep...', 'david::d::Of course I can\'t sleep, it\'s too early and the only thing I can think of is ripping Melissa\'s clothes off.', 'david::d::...'];
sub_melissa.push({'tx': 60, 'ty': 21, 'l': 1, 'ws': 12, 'gchar': 'melissa_pj', 'gstate': 'bed', 'gdir': 'ne'});
tempstate2 = sub_melissa.push({'mov': 'w.3.wt.304.c'}) - 1;
sub_melissa.push({});
world_text[304] = [0, 'melissa::d::...', 'melissa::contemplation::...', 'melissa::d::...', 'melissa::think::I should have kissed him then...'];
world_text[328] = [{'nextext': 'toasterexplained.0,323'}, 'pc::determined::This isn\'t really my business but I feel the need to get Father this win!', 'pc::determined::So I will have to go back and start again.'];
sub_mom.push({'mov': 'w.1.wt.250.c.sw.2.se.3.sw.5.wt.328.0.se.t.78.48.j.70.40'});
sub_mom.push({});
sub_mom.push({'mov': 'sw.3.se.0.w.1.dark.1.ne.1.se.3.sw.5.se.t.78.48.j.70.40'});
sub_mom.push({});
sub_dad.push({'mov': 'cw.tree,5.nw.1.sw.1.nw.4.sw.4.se.1.sw.1.se.1.sw.1.se.0.w.1.dark.1.ne.1.se.3.sw.1.se.4.sw.2.se.1.dark.1.ne.1.se.3.sw.2.se.1.dark.1.ne.1.se.t.36.22.sw.1.se.1.dark.1.w.1.ne.1.se.2.w.2.wt.305.0'});
sub_dad.push({});
world_text[250] = [{'nextext': 253, 'changeworld': 'dvar,0'}, 'mom::d::I\'ll wrap that one.', 'dad::d::Alright.', 'mom::focus::...', 'dad::focus::...', 'mom::tired::...', 'mom::yawn::Aaaawwwuhh.', 'dad::dispoint::Aw c\'mon don\'t yawn. Now I\'m gonna have t-', 'dad::yawn::OooAAuuaaahhh.', 'mom::smile::You want to play a game?', 'dad::d::What did you have in mind?', 'mom::smile::Word Chain, Christmas Edition.', 'dad::d::So only Christmas words then? Ok.', 'mom::smile::And we should bet something.', 'dad::smile::Betting? You must be really good at this game.', 'mom::devious::Maaaaybeeee. How about if I win I get to go to sleep and you have to finish the wrapping on your own.', 'dad::sad::Cruel! Leaving me with all this horrible paper and tape!', 'mom::devious::If you win you still have to do all the wrapping...', 'dad::smile::No deal.', 'mom::devious::...but I\'ll blow you while you do it.', 'dad::shock::DEAL.', 'mom::d::First word is PRESENT.', 'dad::think::Present... T...'];
world_text[251] = [{'as': ''}, 'mom::laugh::That word was already used! I win!', 'mom::laugh::Goodnight sucker.', 'dad::dispoint::Sleep well, grifter.'];
world_text[252] = [{'as': 'dad,mom,mom'}, 'mom::think::Wait... Hold on...', 'mom::shock::You got me!', 'dad::smile::That was fun.', 'mom::devious::Well a bet is a bet.', 'dad::laugh::Aha, hold on.', 'dad::smile::We\'re almost done anyways, you can pay in the bedroom.', 'dad::smile::If one of those brats comes out to shake presents I don\'t want them to find...', 'dad::glance::...you shaking my presents.', 'mom::laugh::That\'s horrible.', 'dad::smile::Alright this is the last one, let\'s get outta here.'];
world_text[253] = [{'choice': '254,257,258'}, 'dad::d::Toy', 'dad::d::Tree', 'dad::d::Tinsel'];
world_text[254] = {'nextext': 'word_toy.1,251.word_yuletide.1,252.dvar.0,255'};
world_text[255] = [{'nextext': 260, 'changeworld': 'word_toy,1,word_yuletide,1'}, 'mom::think::Y...', 'mom::smile::YULETIDE', 'dad::think::E... E...'];
world_text[257] = [{'nextext': 274}, 'mom::devious::ELMO', 'dad::concern::Elmo? How is that Christmas?', 'mom::devious::Because Tickle Me Elmo was a huge Christmas toy craze.'];
world_text[258] = {'nextext': 'word_tinsel.1,251.dvar.0,259'};
world_text[259] = [{'nextext': 256, 'changeworld': 'word_tinsel,1'}, 'mom::think::Nice one... let\'s see, L.. LIGHTS.', 'dad::think::S... Sssss...'];
world_text[260] = [{'choice': '261,263'}, 'dad::d::Eggnog', 'dad::d::Elf'];
world_text[261] = {'nextext': 'word_eggnog.1,251.word_gift.1,252.dvar.0,262'};
world_text[262] = [{'nextext': 253, 'changeworld': 'word_eggnog,1,word_gift,1'}, 'mom::smile::Easy, GIFT.', 'dad::dispoint::Back to T, huh?'];
world_text[263] = {'nextext': 'word_elf.1,251.word_frank.1,252.dvar.0,264'};
world_text[264] = [{'nextext': 260, 'changeworld': 'word_elf,1,word_frank,1'}, 'mom::think::F... F...', 'mom::think::...', 'dad::smile::You got nothing.', 'mom::devious::FRANKINCENSE', 'dad::shock::That\'s a good one... and you sent me right back to E!'];
world_text[274] = [{'nextext': 200}, 'dad::think::O... Ohhh...', 'dad::think::...', 'dad::tired::I can\'t think of anything.', 'mom::devious::You give up?', 'dad::contemplation::Yeaaaaah.', 'mom::laugh::So weak!', 'mom::devious::You could have gone with ORNAMENT or even ORGAN FAILURE that comes with Christmas alcohol comsumption.', 'dad::pissed::Ugggh, you\'re too good.', 'mom::bask::Don\'t wake me when you come to bed.'];
world_text[256] = [{'choice': '265,267,257'}, 'dad::d::Santa Claus', 'dad::d::Sleigh', 'dad::d::Scrooge'];
world_text[265] = {'nextext': 'word_santa.1,251.dvar.0,266'};
world_text[266] = [{'nextext': 269, 'changeworld': 'word_santa,1'}, 'mom::d::S... STOCKING.', 'dad::think::G...'];
world_text[267] = {'nextext': 'word_sleigh.1,251.word_holly.1,252.dvar.0,268'};
world_text[268] = [{'nextext': 275, 'changeworld': 'word_sleigh,1,word_holly,1'}, 'mom::think::Sleigh.. H...', 'dad::smile::Hey, you can spell too.', 'mom::devious::HOLLY.', 'dad::mad::Y! Y!!', 'dad::think::Hnnnnmmm...'];
world_text[269] = [{'choice': '270,272'}, 'dad::d::Gift', 'dad::d::Green'];
world_text[270] = {'nextext': 'word_gift.1,251.dvar.0,271'};
world_text[271] = [{'nextext': 278, 'changeworld': 'word_gift,1'}, 'mom::think::T... T...', 'mom::d::TRAFFIC.', 'dad::smile::Very clever.', 'dad::think::C...'];
world_text[272] = {'nextext': 'word_green.1,251.word_nativity.1,252.dvar.0,273'};
world_text[273] = [{'nextext': 275, 'changeworld': 'word_green,1,word_nativity,1'}, 'mom::think::Nnnnn.... NATIVITY.', 'dad::mad::Y?! You\'re merciless!', 'mom::devious::Hurry up and lose.'];
world_text[275] = [{'choice': '276'}, 'dad::d::Yuletide'];
world_text[276] = {'nextext': 'word_yuletide.1,251.word_elf.1,252.dvar.0,277'};
world_text[277] = [{'nextext': 285, 'changeworld': 'word_yuletide,1,word_elf,1'}, 'mom::tired::E is for ELF.', 'dad::think::F... Fffff-'];
world_text[278] = [{'choice': '279,281,283'}, 'dad::d::Christmas', 'dad::d::Candycane', 'dad::d::Cupid'];
world_text[279] = {'nextext': 'word_christmas.1,251.dvar.0,280'};
world_text[280] = [{'nextext': 290, 'changeworld': 'word_christmas,1'}, 'mom::smile::S is for STAR.', 'dad::dispoint::You do yours too quick.', 'mom::smile::You\'re just too slow.', 'dad::think::Star.. R...'];
world_text[281] = {'nextext': 'word_candycane.1,251.word_eggnog.1,252.dvar.0,282'};
world_text[282] = [{'nextext': 269, 'changeworld': 'word_candycane,1,word_eggnog,1'}, 'mom::d::EGGNOG.', 'dad::think::G...'];
world_text[283] = {'nextext': 'word_cupid.1,251.dvar.0,284'};
world_text[284] = [{'nextext': 290, 'changeworld': 'word_cupid,1'}, 'mom::confused::Cupid? I think you got the wrong holiday.', 'pc::d::Just a reminder that my name is PANEROS and I REUNITE LOVERS.', 'pc::d::Cupid just turns people into stalkers.', 'dad::smile::Not THAT Cupid, I mean the reindeer.', 'mom::laugh::Oh right... in that case, DASHER.', 'dad::d::R...'];
world_text[285] = [{'choice': '286,288'}, 'dad::d::Frankincense', 'dad::d::Family'];
world_text[286] = {'nextext': 'word_frank.1,251.word_eggnog.1,252.dvar.0,287'};
world_text[287] = [{'nextext': 269, 'changeworld': 'word_frank,1,word_eggnog,1'}, 'mom::d::EGGNOG.', 'dad::think::G...'];
world_text[288] = {'nextext': 'word_family.1,251.word_yuletide.1,252.dvar.0,289'};
world_text[289] = [{'nextext': 260, 'changeworld': 'word_family,1,word_yuletide,1'}, 'mom::smile::Awwwww, that\'s so sweet.', 'dad::bask::Well, you know nothing is more impor-', 'mom::devious::YULETIDE.', 'dad::d::...You\'re serious about this.', 'mom::smile::The word was YULETIDE ending in E.'];
world_text[290] = [{'choice': '291,293'}, 'dad::d::Reindeer', 'dad::d::Rudolph'];
world_text[291] = {'nextext': 'word_reindeer.1,251.dvar.0,292'};
world_text[292] = [{'nextext': 295, 'changeworld': 'word_reindeer,1'}, 'mom::think::R... R...', 'mom::think::...', 'dad::smile::Tick, tick.', 'mom::dispoint::I guess I\'ll go with RIBBON.', 'dad::think::Nnnn...'];
world_text[293] = {'nextext': 'word_rudolph.1,251.word_holly.1,252.dvar.0,294'};
world_text[294] = [{'nextext': 275, 'changeworld': 'word_rudolph,1,word_holly,1'}, 'mom::think::Rudolph.. H...', 'dad::smile::Hey, you can spell too.', 'mom::devious::HOLLY.', 'dad::mad::Y! Y!!', 'dad::think::Hnnnnmmm...'];
world_text[295] = [{'choice': '296,298,300'}, 'dad::d::North Pole', 'dad::d::Nativity', 'dad::d::Noel'];
world_text[296] = {'nextext': 'word_north.1,251.word_elf.1,252.dvar.0,297'};
world_text[297] = [{'nextext': 285, 'changeworld': 'word_north,1,word_elf,1'}, 'mom::d::At the North Pole there are elves so... ELF.', 'dad::think::F...'];
world_text[298] = {'nextext': 'word_nativity.1,251.word_yuletide.1,252.dvar.0,299'};
world_text[299] = [{'nextext': 285, 'changeworld': 'word_nativity,1,word_yuletide,1'}, 'mom::d::YULETIDE.', 'dad::dispoint::You\'re killing me here....'];
world_text[300] = {'nextext': 'word_noel.1,251.dvar.0,301'};
world_text[301] = [{'nextext': 253, 'changeworld': 'word_noel,1'}, 'mom::think::L...', 'dad::smile::You got nothing.', 'mom::devious::LIST.', 'dad::dispoint::Ugh...'];
world_text[305] = [{'as': 'david+' + (tempstate1 + 2) + '+++melissa+' + (tempstate2 + 2)}, 'mom::stuffed::MFFF MFFF MFF.', 'dad::xtc::Oh Ohh OHH.', 'mom::tonsil::Uuuh shoot it down my throat.', 'dad::mad::You wish!', 'mom::xtc::Uwaaaahhhh'];
sub_david.push({});
sub_melissa.push({'mov': 'wt.307.2.j.61.18.sw.0.cw.melissabed,2.w.1.wt.308.2.ne.3.se.1.ne.0.cw.dresser,2.as.david'});
sub_melissa.push({});
world_text[307] = [0, 'dad::xtc::Unh Unh YEAH.', 'melissa::disgust::Oh god, they\'re so loud.'];
world_text[308] = [0, 'melissa::pain::Crap, it\'s cold.'];
sub_david.push({'mov': 'wt.306.1.j.63.47.se.0.cw.davidbed,1.w.1.as.melissa.sw.5.nw.2.sw.2.nw.0'});
sub_david.push({});
world_text[306] = [0, 'mom::xtc::Ahh ahhh ahhh!', 'david::disgust::Gross...'];
sub_melissa.push({'mov': 'cw.dresser,1.gchar.melissa_winter.se.2.sw.7.se.0.wt.309.2.as.david.sw.3.nw.t.32.51.ne.1.nw.3.sw.1.se.0.dark.0.w.1.ne.2.cw.fridge,4'});
sub_melissa.push({});
world_text[309] = [0, 'melissa::d::Couldn\'t sleep either, huh?', 'mom::stuffed::BLUBBLUNG.', 'david::disgust::Let\'s get outta here.'];
sub_david.push({'mov': 'nw.1.sw.3.nw.t.32.51.ne.1.nw.6.sw.0.w.2.wt.310.c.as.melissa,dad,david,david'});
sub_david.push({});
world_text[310] = [0, 'david::dispoint::So gross.', 'melissa::d::They\'ve gotten louder since getting the house.', 'david::concern::What?', 'melissa::smile::They used to be quieter when they had sex at the apartment... my apartment.', 'david::concern::And you\'re not grossed out by that?', 'melissa::d::Well I am but I\'m at least a little happy that even wh-', 'dad::d::Yeah, I\'ll get it... be quiet, the kids are sleeping.', 'melissa::shock::Oh shit, he\'s coming...'];
sub_david.push({'mov': 'gchar.david_wfast.se.1.ne.1.nw.4.ne.1.nw.2.ne.1.nw.1.sw.0'});
sub_david.push({});
sub_melissa.push({'mov': 'gchar.melissa_wfast.cw.fridge,2.nw.5.ne.1.nw.3.ne.1.sw.0.wt.311.2'});
sub_melissa.push({});
world_text[311] = [0, 'david::nervous::Hey watch it, your hands on my-', 'melissa::shush::Shhh...'];
sub_dad.push({'mov': 'j.32.14.nw.4.ne.1.nw.3.ne.1.cw.fridge,4.wt.312.4.as.david.nw.5.ne.1.nw.3.w.1.wt.315.2.nw.1.ne.1.nw.1.ne.2.w.1.wt.316.c'});
sub_dad.push({});
world_text[312] = [0, 'dad::focus::Umm, I could swear we had Cool Whip in here...', 'dad::focus::What else could we... Mayo?', 'dad::d::Hold on a second, was the light in here already on?'];
world_text[315] = [0, 'dad::curious::Yeah this one\'s off. Is the living room off, I don\'t remember turning that off.'];
world_text[316] = [0, 'dad::d::Oh that\'s right, she turned the living room light off.', 'dad::concern::Did I just turn the light on when I came in to the Kitchen and immediately forget?', 'dad::concern::I\'m getting old.'];
sub_david.push({'mov': 'wt.313.1.as.melissa.nw.1.ne.3.se.t.35.46.ne.4.sw.0.gchar.david_winter'});
sub_david.push({});
world_text[313] = [0, 'dad::d::I better check I didn\'t leave the other lights on...', 'david::nervous::We gotta move.'];
sub_melissa.push({'mov': 'nw.2.ne.3.se.t.35.46.ne.3.w.1.wt.314.c.sw.0.gchar.melissa_winter'});
sub_melissa.push({});
tempstate1 = sub_dad.push({'mov': 'j.22.47.ne.0.wt.317.2.cw.fridge,2.sw.2.se.0.dark.1.w.1.ne.1.se.3.sw.1.as.melissa.se.t.36.23.se.2'}) - 1;
sub_dad.push({});
world_text[317] = [0, 'dad::focus::...', 'dad::d::I guess I\'ll have to go with the honey mustard.'];
world_text[314] = [{'as': 'dad+' + tempstate1}, 'melissa::focus::...', 'melissa::focus::Ok, I can hear him heading back.'];
sub_david.push({'mov': 'se.1.sw.0'});
sub_david.push({});
sub_melissa.push({'mov': 'wt.318.1.as.david.se.1.sw.0.dark.0.wt.319.8.ne.0.w.1.wt.320.c.as.david.j.50.47.gchar.melissa_nude.ne.0.w.3.wt.321.0'});
sub_melissa.push({});
sub_david.push({'mov': 'j.50.46.gchar.david_nude.ne.0'});
sub_david.push({});
world_text[318] = [0, 'melissa::relief::He\'s left.'];
world_text[319] = [0, 'david::shame::Melissa...', 'melissa::curious::What is i-?', 'david::shame::Don\'t turn around.', 'melissa::curious::...', 'david::shame::I want to say something and I don\'t want you looking at me while I say it.', 'melissa::concern::Okay.', 'david::shame::I f- forgive you.', 'david::shame::I forgive you and I\'m sorry for just... leaving.', 'david::shame::I\'m just like my Dad...'];
world_text[320] = [{'cut': 'love', 'func3': 'saveprogress', 'func3pass': '7,1'}, 'melissa::concern::You\'re not like him and...', 'melissa::think::and...', 'david::sad::...', 'melissa::determined::And he\'s not even your Dad anymore.', 'melissa::smile::Your new Dad walks around with a boner trying to find some food to put on your Mom.', 'david::laugh::Stop it...', 'david::smile::That\'s gross.', 'melissa::smile::...', 'david::smile::...', 'melissa::blush::Kiss me.', 'david::lipbite::...', 'pc::lust::~THE LUST SONG~', 'pc::d::My final attack!'];
world_text[321] = {'cut': 'snow', 'changeworld': defaultstate + 'state,13,melissabed,2,tree,5,towels,4', 'locks': 'kitchen,toaster,139', 'func': 'paths_state', 'funcpass': 'full', 'func2': 'init_bgsnds', 'func2pass': 0};
sub_girl.push({'tx': 70, 'ty': 40, 'l': 1, 'ws': 13, 'gchar': 'girl', 'gstate': 'stand', 'gdir': 'sw'});
sub_girl.push({});
sub_dad.push({'tx': 21, 'ty': 13, 'l': 1, 'ws': 13, 'gchar': 'father', 'gstate': 'couch', 'gdir': 'se'});
sub_dad.push({});
sub_david.push({'tx': 23, 'ty': 20, 'l': 1, 'ws': 13, 'gchar': 'david_winter', 'gstate': 'sit', 'gdir': 'ne'});
sub_david.push({});
sub_melissa.push({'tx': 22, 'ty': 19, 'l': 1, 'ws': 13, 'gchar': 'melissa_pj', 'gstate': 'sit', 'gdir': 'ne'});
sub_melissa.push({});
sub_mom.push({'tx': 22, 'ty': 16, 'l': 1, 'ws': 13, 'gchar': 'mother', 'gstate': 'stand', 'gdir': 'se'});
sub_mom.push({'mov': 'w.c.se.1.wt.322.c'});
sub_mom.push({});
world_text[322] = [{'cut': 'end'}, 'mom::smile::Ok, who\'s gonna open first.', 'melissa::smile::David you can go first.', 'dad::yawn::Uaaauuggh.', 'david::focus::It\'s a....', 'david::curious::A Dreamcast game?', 'mom::curious::I got it for you, do you like it?', 'david::concern::I don\'t have a Dreamcast...', 'melissa::laugh::Ahahaha...', 'mom::smile::Sorry, sorry.', 'pc::d::Well it looks like I\'ve finished what I set out to accomplish.', 'pc::bask::That\'s that then.', 'dad::yawn::-UUUUhhh.'];
tlradius = {'r': 0, 'l': 0, 'u': 0, 'd': 0};
tilep = {'w': 48, 'h': 24, 'zoom': 150};
tilep.stagew = (100 / tilep.zoom) * Stage.width;
tilep.stageh = (100 / tilep.zoom) * Stage.height;
tilep.stageadd = tilep.stagew + tilep.stageh;
tilep.halfw = tilep.w / 2;
tilep.halfh = tilep.h / 2;
tilep.hh = tilep.halfh / 2;
tileradius.r = tilep.halfw;
tileradius.l = tileradius.r;
tileradius.d = tilep.halfh;
tileradius.u = tileradius.d;
tilearea = {'xMin': 0, 'xMax': 0, 'yMin': 0, 'yMax': 0};
gamep_spd = [8, 6, 5, 3, 2];
inputs = new Array();
inputs.push({'tag': 'l', 'desc': 'Move'});
inputs.push({'tag': 'r', 'desc': 'Move'});
inputs.push({'tag': 'u', 'desc': 'Move'});
inputs.push({'tag': 'd', 'desc': 'Move'});
inputs.push({'tag': 'space', 'desc': 'Action', 'kcode': 32});
inputs.push({'tag': 'f', 'desc': 'Fullscreen', 'kcode': 70});
inputs.push({'tag': 'playtest', 'desc': 'Shift', 'kcode': 16});
inputs.push({'tag': 'leftclick', 'desc': 'Leftclick', 'kcode': 1});
inputs.push({'tag': 'test', 'desc': 'T', 'kcode': 84});
inputs.push({'tag': 'middleclick', 'desc': 'Middleclick', 'kcode': 4});
inputs.push({'tag': 'up', 'desc': 'Move', 'kcode': 104});
inputs.push({'tag': 'down', 'desc': 'Move', 'kcode': 101});
inputs.push({'tag': 'right', 'desc': 'Move', 'kcode': 102});
inputs.push({'tag': 'left', 'desc': 'Move', 'kcode': 100});
inputs.push({'tag': 'one', 'desc': 'Copy', 'kcode': 109});
inputs.push({'tag': 'two', 'desc': 'Paste', 'kcode': 107});
clicker = new Object();
clicker.onMouseWheel = function (delta) {
clicks.spinner = delta > 0 ? 1 : -1;
};
Mouse.addListener(clicker);
clicks = {};
var i = 0;
while (i < 9) {
var sub = inputs[i];
clicks[sub.tag] = 0;
++i;
}
switch_keyboard('qwerty');
sndsplaying = {};
_root.attachMovie('empty', 'bgaudio', _root.getNextHighestDepth());
bgaud = new Sound(_root.bgaudio);
bgaud.onSoundComplete = function () {
bgaud.start(0, 999);
};
fadep = new Array();
designp = {'camx': 0, 'camy': 0, 'l': 1};
timer = 0;
designing(0);
sav = SharedObject.getLocal('x');
prog = (sav.data.prog == undefined) ? start_save : sav.data.prog;
}
movieClip 7 {
}
movieClip 16 {
frame 40 {
stop();
}
}
movieClip 25 {
frame 40 {
stop();
}
}
movieClip 26 {
}
movieClip 29 {
}
movieClip 36 {
}
movieClip 38 {
}
movieClip 42 {
}
movieClip 43 {
}
movieClip 46 {
}
movieClip 55 {
frame 40 {
stop();
}
}
movieClip 64 {
frame 40 {
stop();
}
}
movieClip 65 {
}
movieClip 66 {
}
movieClip 69 {
}
movieClip 78 {
frame 48 {
stop();
}
}
movieClip 87 {
frame 48 {
stop();
}
}
movieClip 88 {
}
movieClip 89 {
}
movieClip 92 {
}
movieClip 101 {
frame 40 {
stop();
}
}
movieClip 110 {
frame 40 {
stop();
}
}
movieClip 111 {
}
movieClip 114 {
}
movieClip 119 {
}
movieClip 120 {
}
movieClip 123 {
}
movieClip 133 {
frame 40 {
stop();
}
}
movieClip 144 {
frame 40 {
stop();
}
}
movieClip 145 {
}
movieClip 146 {
}
movieClip 154 {
}
movieClip 179 {
frame 47 {
stop();
}
}
movieClip 204 {
frame 47 {
stop();
}
}
movieClip 205 {
}
movieClip 210 {
}
movieClip 218 {
}
movieClip 222 {
}
movieClip 223 {
}
movieClip 226 {
}
movieClip 235 {
frame 48 {
stop();
}
}
movieClip 244 {
frame 48 {
stop();
}
}
movieClip 245 {
}
movieClip 253 {
}
movieClip 256 {
}
movieClip 258 {
}
movieClip 261 {
}
movieClip 270 {
frame 40 {
stop();
}
}
movieClip 279 {
frame 40 {
stop();
}
}
movieClip 280 {
}
movieClip 281 {
}
movieClip 284 {
}
movieClip 293 {
frame 48 {
stop();
}
}
movieClip 302 {
frame 48 {
stop();
}
}
movieClip 303 {
}
movieClip 308 {
}
movieClip 311 {
}
movieClip 313 {
}
movieClip 315 {
}
movieClip 320 {
}
movieClip 328 {
frame 49 {
stop();
}
}
movieClip 336 {
frame 49 {
stop();
}
}
movieClip 337 {
}
movieClip 339 {
}
movieClip 348 {
}
movieClip 352 {
}
movieClip 360 {
frame 42 {
stop();
}
}
movieClip 368 {
frame 42 {
stop();
}
}
movieClip 369 {
}
movieClip 371 {
}
movieClip 372 {
}
movieClip 376 {
}
movieClip 385 {
frame 48 {
stop();
}
}
movieClip 394 {
frame 48 {
stop();
}
}
movieClip 395 {
}
movieClip 403 {
}
movieClip 406 {
}
movieClip 407 {
}
movieClip 410 {
}
movieClip 419 {
frame 40 {
stop();
}
}
movieClip 428 {
frame 40 {
stop();
}
}
movieClip 429 {
}
movieClip 430 {
}
movieClip 440 {
}
movieClip 449 {
frame 48 {
stop();
}
}
movieClip 458 {
frame 47 {
stop();
}
}
movieClip 459 {
}
movieClip 461 {
}
movieClip 462 {
}
movieClip 468 {
}
movieClip 477 {
frame 56 {
stop();
}
}
movieClip 486 {
frame 56 {
stop();
}
}
movieClip 487 {
}
movieClip 489 {
}
movieClip 491 {
}
movieClip 500 {
frame 24 {
stop();
}
}
movieClip 509 {
frame 24 {
stop();
}
}
movieClip 510 {
}
movieClip 511 {
}
movieClip 520 {
frame 16 {
stop();
}
}
movieClip 529 {
frame 16 {
stop();
}
}
movieClip 530 {
}
movieClip 531 {
}
movieClip 540 {
frame 16 {
stop();
}
}
movieClip 549 {
frame 16 {
stop();
}
}
movieClip 550 {
}
movieClip 554 {
}
movieClip 563 {
frame 18 {
stop();
}
}
movieClip 572 {
frame 18 {
stop();
}
}
movieClip 573 {
}
movieClip 578 {
}
movieClip 579 sprites {
}
movieClip 637 loadaudio {
frame 1 {
stop();
}
}
movieClip 639 crosshair {
}
movieClip 640 empty {
}
movieClip 642 {
}
movieClip 643 {
}
movieClip 644 {
frame 33 {
stop();
_parent._parent.removeMovieClip();
}
}
movieClip 645 {
frame 39 {
stop();
_parent._parent.removeMovieClip();
}
}
movieClip 646 {
frame 41 {
stop();
_parent._parent.removeMovieClip();
}
}
movieClip 647 player_cursor {
frame 1 {
stop();
}
}
movieClip 649 {
}
movieClip 653 {
frame 1 {
stop();
}
}
movieClip 656 {
frame 1 {
stop();
}
}
movieClip 659 {
frame 1 {
stop();
}
}
movieClip 666 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('drawer_open');
}
frame 70 {
_root.snd_play('drawer_close');
}
}
movieClip 675 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('cabinet_open');
}
frame 2 {
}
frame 49 {
_root.snd_play('cabinet_close');
}
}
movieClip 685 {
}
movieClip 686 {
}
movieClip 689 {
}
movieClip 692 {
}
movieClip 699 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('drawer_open');
}
frame 48 {
_root.snd_play('drawer_close');
}
}
movieClip 704 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('coffeepot_out');
}
frame 30 {
stop();
}
frame 31 {
_root.snd_play('coffeepot_in');
}
}
movieClip 708 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('cabinet_open');
}
frame 42 {
_root.snd_play('cabinet_close');
}
}
movieClip 717 {
frame 2 {
_root.snd_play('pan');
_root.world_state.stove = 4;
}
frame 3 {
_root.snd_play('fry');
}
}
movieClip 722 {
}
movieClip 728 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('door_open');
}
frame 98 {
_root.snd_play('door_close');
}
}
movieClip 752 {
frame 1 {
stop();
}
}
movieClip 763 {
}
movieClip 768 {
}
movieClip 776 {
}
movieClip 782 {
}
movieClip 787 {
}
movieClip 793 {
frame 2 {
_root.snd_play('dresser1');
}
frame 3 {
_root.snd_play('dresser1');
}
frame 4 {
_root.snd_play('dresser2');
}
frame 5 {
_root.snd_play('dresser1');
}
frame 6 {
_root.snd_play('dresser2');
}
frame 7 {
_root.snd_play('dresser2');
}
frame 8 {
_root.snd_play('dresser2');
}
}
movieClip 796 {
}
movieClip 805 {
}
movieClip 806 {
}
movieClip 812 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('dresser1');
}
}
movieClip 824 {
}
movieClip 833 {
}
movieClip 834 {
}
movieClip 847 {
frame 2 {
_root.snd_play('showercurtain_open');
}
frame 22 {
stop();
}
}
movieClip 852 {
frame 2 {
_root.snd_play('showercurtain_close');
}
frame 23 {
stop();
}
}
movieClip 853 {
frame 2 {
_root.world_state.curtain = 3;
}
frame 4 {
_root.world_state.curtain = 1;
}
}
movieClip 862 {
}
movieClip 868 {
frame 1 {
stop();
}
frame 2 {
_root.snd_play('washinglid_open');
}
frame 76 {
_root.snd_play('washinglid_close');
}
}
movieClip 876 {
frame 2 {
_root.snd_play('fridge_close');
_root.world_state.fridge = 1;
}
frame 4 {
_root.snd_play('fridge_open');
_root.world_state.fridge = 3;
}
}
movieClip 880 {
}
movieClip 883 tiles {
frame 1 {
this.design.gotoAndStop(_root.world_state.hidetiles + 1);
}
frame 7 {
this.mc.gotoAndStop(_root.world_state.microwave);
}
frame 9 {
this.mc.gotoAndStop(_root.world_state.dishes);
}
frame 10 {
this.mc.gotoAndStop(_root.world_state.dishes);
}
frame 16 {
this.mc.gotoAndStop(_root.world_state.stove);
}
frame 17 {
this.mc.gotoAndStop(_root.world_state.fridge);
}
frame 40 {
this.design.gotoAndStop(_root.world_state.hidetiles + 1);
}
frame 43 {
this.mc.gotoAndStop(_root.world_state.tree);
}
frame 45 {
this.mc.gotoAndStop(_root.world_state.melissabed);
}
frame 46 {
this.mc.gotoAndStop(_root.world_state.guestbed);
}
frame 47 {
this.design.gotoAndStop(_root.world_state.hidetiles + 1);
}
frame 48 {
this.mc.gotoAndStop(_root.world_state.stereo);
}
frame 49 {
this.mc.gotoAndStop(_root.world_state.dresser);
}
frame 50 {
this.mc.gotoAndStop(_root.world_state.davidbed);
}
frame 51 {
this.mc.gotoAndStop(_root.world_state.nintendo);
}
frame 58 {
this.mc.gotoAndStop(_root.world_state.toilet);
}
frame 61 {
this.mc.gotoAndStop(_root.world_state.shower);
}
frame 62 {
this.mc.gotoAndStop(_root.world_state.curtain);
}
frame 64 {
this.mc.gotoAndStop(_root.world_state.towels);
}
frame 73 {
this.mc.gotoAndStop(_root.world_state.fridge);
}
frame 74 {
this.mc.gotoAndStop(_root.world_state.coke);
}
}
movieClip 888 {
frame 1 {
this.stop();
}
}
instance of movieClip 888 {
onClipEvent (press) {
_root.designinit();
}
}
instance of movieClip 888 {
onClipEvent (press) {
_root.exportworld();
}
}
frame 25 {
_root._quality = 'HIGH';
this.nextFrame();
}
movieClip 894 {
}
movieClip 930 {
frame 1 {
this.gotoAndStop(_root.keyboard_type);
}
}
movieClip 935 {
}
movieClip 941 {
}
movieClip 946 {
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(2);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(1);
}
onClipEvent (press) {
_root.gameinit('start');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(3);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(1);
}
onClipEvent (press) {
_root.frameon('cutscenes');
}
}
instance of movieClip 941 {
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com/', '_blank');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(8);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(7);
}
onClipEvent (press) {
_root.gameinit('start');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(9);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(7);
}
onClipEvent (press) {
_root.frameon('cutscenes');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(10);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(7);
}
onClipEvent (press) {
_root.gameinit('demo');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(14);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(11);
}
onClipEvent (press) {
_root.gameinit('start');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(13);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(11);
}
onClipEvent (press) {
_root.frameon('cutscenes');
}
}
instance of movieClip 941 {
onClipEvent (rollOver) {
_parent.gotoAndStop(12);
}
onClipEvent (rollOut) {
_parent.gotoAndStop(11);
}
onClipEvent (press) {
_root.gameinit('continue');
}
}
}
movieClip 949 {
frame 1 {
stop();
}
}
instance of movieClip 949 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://twitter.com/onehandgames/', '_blank');
}
}
movieClip 952 {
frame 1 {
stop();
}
}
instance of movieClip 952 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.tumblr.com', '_blank');
}
}
movieClip 954 {
frame 1 {
this.gotoAndStop(_root.keyboard_type);
}
instance of movieClip 941 {
onClipEvent (press) {
_root.switch_keyboard('qwerty');
_parent.gotoAndStop(1);
_root.anim.mc.gotoAndStop(1);
}
}
instance of movieClip 941 {
onClipEvent (press) {
_root.switch_keyboard('azerty');
_parent.gotoAndStop(2);
_root.anim.mc.gotoAndStop(2);
}
}
instance of movieClip 941 {
onClipEvent (press) {
_root.switch_keyboard('dvorak');
_parent.gotoAndStop(3);
_root.anim.mc.gotoAndStop(3);
}
}
instance of movieClip 941 {
onClipEvent (press) {
_root.switch_keyboard('fallback');
_parent.gotoAndStop(4);
_root.anim.mc.gotoAndStop(4);
}
}
}
frame 26 {
this.stop();
init_saves(is_dem);
_root.mc.gotoAndStop(_root.mainmen);
}
frame 27 {
this.prevFrame();
}
frame 31 {
this.nextFrame();
}
movieClip 961 {
frame 1 {
stop();
}
}
movieClip 1003 {
frame 1 {
_root.snd_play('mu_kitchen');
}
frame 493 {
stop();
}
}
movieClip 1023 {
frame 1 {
_root.snd_play('mu_morning');
}
frame 302 {
stop();
}
}
movieClip 1122 {
frame 1 {
_root.snd_play('mu_shower');
}
frame 1016 {
stop();
}
}
movieClip 1167 {
frame 1 {
_root.snd_play('mu_sex');
}
frame 1228 {
stop();
}
}
movieClip 1260 {
frame 1 {
_root.snd_play('mu_sleepover');
}
frame 1439 {
stop();
}
}
movieClip 1348 {
frame 1 {
_root.snd_play('mu_movie');
}
frame 2039 {
stop();
}
}
movieClip 1481 {
frame 1 {
_root.snd_play('mu_love');
}
frame 3006 {
stop();
}
}
movieClip 1482 {
frame 1 {
stop();
var temp = _root.prog.split(',');
_root.cutscanplay = new Object();
var i = 1;
while (i < 8) {
_root.cutscanplay['cut' + i] = Number(temp[i]);
_root.overlay['lines' + i].onPress = function () {
var v3 = this._name.split('s');
v3 = Number(v3[1]);
if (_root.cutscanplay['cut' + v3]) {
_root.overlay.gotoAndStop(['play' + v3]);
}
};
_root.overlay['lines' + i].onRollOver = function () {
var v3 = this._name.split('s');
v3 = Number(v3[1]);
if (_root.cutscanplay['cut' + v3]) {
_root.overlay['lines' + v3].gotoAndStop(2);
} else {
_root.overlay['lines' + v3].gotoAndStop(3);
}
};
_root.overlay['lines' + i].onRollOut = function () {
var v3 = this._name.split('s');
v3 = Number(v3[1]);
_root.overlay['lines' + v3].gotoAndStop(1);
};
++i;
}
}
instance of movieClip 888 {
onClipEvent (press) {
_root.frameon('menu');
}
}
instance of movieClip 888 {
onClipEvent (press) {
_root.snd_stop('mu_kitchen');
_root.snd_stop('mu_love');
_root.snd_stop('mu_morning');
_root.snd_stop('mu_movie');
_root.snd_stop('mu_sex');
_root.snd_stop('mu_shower');
_root.snd_stop('mu_sleepover');
_parent.gotoAndStop(1);
}
}
}
frame 32 {
this.stop();
}
frame 33 {
this.prevFrame();
}
frame 40 {
this.nextFrame();
}
movieClip 1484 {
frame 1 {
stop();
}
}
movieClip 1485 {
frame 1 {
stop();
}
}
movieClip 1490 {
}
movieClip 1493 {
}
movieClip 1495 {
}
movieClip 1513 {
}
movieClip 1540 {
frame 1 {
_root.snd_play('pipespin');
}
frame 46 {
_root.snd_play('pipe');
}
frame 143 {
stop();
}
}
movieClip 1543 {
frame 1 {
stop();
}
}
movieClip 1548 {
}
movieClip 1577 {
frame 1 {
var temp = _root.world_sprites[0][0].gchar;
switch (temp) {
case 'david_summer':
temp = 1;
break;
case 'david_fast':
temp = 1;
break;
case 'david_winter':
temp = 2;
break;
case 'david_wfast':
temp = 2;
break;
default:
temp = 3;
}
this.mc.gotoAndStop(temp);
}
}
movieClip 1582 {
}
movieClip 1605 {
frame 1 {
var temp = _root.world_sprites[3][0].gchar;
switch (temp) {
case 'father_work':
temp = 1;
break;
default:
temp = 2;
}
this.mc.gotoAndStop(temp);
}
}
movieClip 1628 {
}
movieClip 1632 {
}
movieClip 1666 {
frame 1 {
var temp = _root.world_sprites[1][0].gchar;
switch (temp) {
case 'melissa_pj':
temp = 2;
break;
case 'melissa_winter':
temp = 3;
break;
case 'melissa_wfast':
temp = 3;
break;
default:
temp = 1;
}
this.mc.gotoAndStop(temp);
}
}
movieClip 1670 {
}
movieClip 1683 {
frame 1 {
var temp = _root.world_sprites[4][0].gchar;
if (temp == 'girl_pj') {
temp = 2;
} else {
if (_root.world_sprites[4][0].gstate == 'nude') {
temp = 3;
} else {
temp = 1;
}
}
this.mc.gotoAndStop(temp);
}
}
movieClip 1684 {
}
movieClip 1686 {
}
movieClip 1689 {
}
movieClip 1693 {
frame 95 {
_root.change_world(_root.nextws);
}
frame 211 {
stop();
}
}
movieClip 1699 {
frame 1 {
_root.snd_play('mu_timetravel');
}
frame 95 {
_root.change_world(_root.nextws);
}
frame 211 {
stop();
}
}
movieClip 1701 {
frame 130 {
stop();
if (_root.framein == 'game') {
_root.finishgame();
}
}
}
movieClip 2173 {
frame 1 {
_root.snd_play('mu_previously');
}
}
movieClip 2176 {
frame 1 {
_root.snd_play('mu_day');
}
frame 126 {
stop();
}
}
movieClip 2178 {
frame 1 {
_root.snd_play('mu_night');
}
frame 130 {
stop();
}
}
movieClip 2181 {
frame 1 {
_root.snd_play('mu_snow');
}
frame 178 {
stop();
}
}
movieClip 2183 {
frame 119 {
stop();
}
}
movieClip 2185 {
frame 123 {
stop();
}
}
movieClip 2186 {
instance of movieClip 888 {
onClipEvent (press) {
_root.frameon('designer');
}
}
}
frame 41 {
this.stop();
}
frame 42 {
this.prevFrame();
}
frame 46 {
this.nextFrame();
}
instance of movieClip 949 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://twitter.com/onehandgames/', '_blank');
}
}
instance of movieClip 952 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.tumblr.com', '_blank');
}
}
movieClip 2193 {
frame 1 {
stop();
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
instance of movieClip 2193 {
onClipEvent (rollOver) {
this.gotoAndStop(2);
}
onClipEvent (rollOut) {
this.gotoAndStop(1);
}
onClipEvent (press) {
getURL('http://onehandgames.bandcamp.com', '_blank');
}
}
frame 47 {
this.stop();
}
frame 48 {
this.prevFrame();
}