LSL1FR/logic.012.src

886 lines
24 KiB
Text
Executable file

if (isset(f5)) {
load.pic(v0);
draw.pic(v0);
discard.pic(v0);
load.view(72);
load.view(28);
load.view(20);
load.view(27);
load.view(10);
load.view(4);
load.view(6);
load.sound(1);
animate.obj(o1);
ignore.horizon(o1);
ignore.blocks(o1);
ignore.objs(o1);
set.view(o1,72);
set.loop(o1,0);
set.cel(o1,0);
position(o1,18,73);
draw(o1);
v52 = 8;
cycle.time(o1,v52);
animate.obj(o2);
ignore.horizon(o2);
ignore.blocks(o2);
ignore.objs(o2);
set.view(o2,28);
set.cel(o2,0);
cycle.time(o2,v86);
position(o2,51,101);
draw(o2);
stop.update(o2);
if (!obj.in.room("bottle of pills",v0) &&
isset(f65)) {
add.to.pic(72,3,0,112,51,4,4);
}
else {
animate.obj(o3);
ignore.horizon(o3);
ignore.blocks(o3);
ignore.objs(o3);
set.view(o3,72);
set.loop(o3,2);
if (isset(f65)) {
last.cel(o3,v52);
set.cel.v(o3,v52);
}
else {
set.cel(o3,0);
}
position(o3,112,51);
draw(o3);
stop.update(o3);
}
if (isset(f64)) {
add.to.pic(72,1,0,65,51,4,4);
}
v30 = 0;
if (v1 == 11) {
v38 = 0;
v39 = 148;
reset(f200);
start.motion(o0);
set.loop(o0,0);
}
else {
if (v1 == 15) {
v38 = 58;
v39 = 148;
v30 = 14;
}
else {
v38 = 70;
v39 = 64;
set.loop(o0,2);
set(f200);
reset(f34);
start.motion(o0);
reset(f85);
release.priority(o0);
}
}
position.v(o0,v38,v39);
if (v1 != 15) {
draw(o0);
}
show.pic();
if (v30 == 14) {
prevent.input();
set(f85);
set(f54);
}
else {
reset(f85);
accept.input();
}
return();
}
reset(f200);
if (posn(o0,53,60,94,64)) {
set(f200);
}
reset(f202);
if (obj.in.room("bottle of pills",v0) &&
isset(f200) &&
posn(o0,82,60,99,64)) {
set(f202);
}
if (v30 == 13 &&
obj.in.room("bottle of pills",v0)) {
set(f202);
}
reset(f201);
if (isset(f200)) {
if (posn(o0,61,60,79,64)) {
set(f201);
}
}
reset(f205);
if (!isset(f200) &&
posn(o0,42,148,58,152)) {
set(f205);
}
if (isset(f200) &&
v30 == 0 &&
isset(f208) &&
isset(f209)) {
stop.motion(o0);
}
if (v30 == 0 &&
posn(o0,53,60,54,64)) {
reset(f200);
v65 = 0;
set(f75);
}
if (!isset(f2)) {
goto(Label1);
}
if ((said("examine") ||
said("examine","area") ||
said("examine","alley"))) {
if (!obj.in.room("bottle of pills",v0)) {
print("%m7 and a fence.");
}
else {
print("%m7, a fence, and something sitting in the east window.");
}
}
if ((said("examine","ladder") ||
said("examine","balcony"))) {
print("A rickety fire escape, complete with safety ladder, is loosely attached"
"to the building. A mild, reddish glow comes from the window behind it.");
}
if (v30 != 14) {
if ((said("find","bin") ||
said("examine","bin") ||
said("look in","bin"))) {
if (!isset(f205)) {
print("Move to the front of the trash bin.");
}
else {
print("Unfortunately, you can't see much from out here.");
}
}
if ((said("brush","off","bra") ||
said("brush","bra") ||
said("brush","i'm","off"))) {
set(f67);
}
if ((said("board","bin") ||
said("jump","bin") ||
said("jump","about","bin") ||
said("climb","bin") ||
said("climb","about","bin"))) {
if (isset(f200)) {
print("You reconsider after noticing the trash bin is behind where you"
"would fall!");
}
else {
if (!isset(f205)) {
print("Move to the front of the trash bin.");
}
else {
v65 = 100;
set(f75);
}
}
}
}
else {
if ((said("climb","out","bin") ||
said("jump","out","bin") ||
said("climb","out") ||
said("catch","out") ||
said("board","out") ||
said("board") ||
said("board","bin"))) {
v65 = 200;
set(f75);
}
if ((said("find","bin") ||
said("look in","bin") ||
said("examine","bin"))) {
if (obj.in.room("hammer",v0)) {
print("Amidst assorted, odoriferous refuse from Lefty's clientel, you"
"discover Lefty's old, left-handed hammer.");
}
else {
print("There's nothing else here worth describing, let alone taking.");
}
}
if (said("catch","hammer")) {
if (!obj.in.room("hammer",v0)) {
set(f55);
}
else {
set(f67);
get("hammer");
v3 += 3;
}
}
}
if (said("examine","brick")) {
print("There is an old neon sign hanging on the wall that says \"Hotel\"...");
print("...approximately.");
}
if ((said("climb","up") ||
said("climb","balcony") ||
said("climb","up","balcony") ||
said("move","down","ladder","balcony") ||
said("move","ladder","balcony") ||
said("move","down","ladder") ||
said("move","ladder") ||
said("climb","ladder") ||
said("get up","on","ladder") ||
said("catch","ladder") ||
said("decrease","ladder") ||
said("jump","ladder") ||
said("jump","up","ladder") ||
said("jump","on","ladder") ||
said("jump") ||
said("jump","up"))) {
if ((isset(f200) ||
v30 == 13 ||
isset(f201))) {
print("Move closer to the ladder.");
}
else {
if (isset(f205)) {
print("There's no way to reach the ladder from down here. It's only"
"accessible from above.");
}
else {
print("Whee!");
}
}
}
if ((said("close","glass") ||
said("decrease","glass"))) {
if ((!isset(f200) ||
!isset(f201))) {
set(f54);
}
else {
print("Nah. That room needs the fresh air!");
}
}
if ((said("examine","glass") ||
said("look in","glass"))) {
if (!isset(f200)) {
print("There are two windows high above you. The west window by the fire"
"escape has a dim, reddish glow; the east window is dark. There may be"
"something on the sill of the east window, but you can't make it out"
"from down here.");
}
else {
if (isset(f201)) {
print("Looking inside the west window, you see the room you just left.");
}
else {
if (obj.in.room("bottle of pills",v0)) {
print("Looking at the east window, you notice a bottle of pills sitting"
"on the window ledge.");
}
else {
print("You broke it, didn't you?");
}
}
}
}
if ((said("examine","west","glass") ||
said("look in","west","glass"))) {
if (!isset(f200)) {
print("There are two windows high above you. The west window by the fire"
"escape has a dim, reddish glow; the east window is dark. There may be"
"something on the sill of the east window, but you can't make it out"
"from down here.");
}
else {
print("Looking inside the west window, you see the room you just left.");
}
}
if ((said("examine","east","glass") ||
said("look in","east","glass"))) {
if (!isset(f200)) {
print("There are two windows high above you. The west window by the fire"
"escape has a dim, reddish glow; the east window is dark. There may be"
"something on the sill of the east window, but you can't make it out"
"from down here.");
}
else {
if (obj.in.room("bottle of pills",v0)) {
print("Looking at the east window, you notice a bottle of pills sitting on"
"the window ledge.");
}
else {
print("You broke it, didn't you?");
}
}
}
if (has("rope") &&
v30 != 13) {
if ((said("attach","rope","bureau") ||
said("attach","rope","i'm"))) {
if (!isset(f208)) {
set(f67);
set(f208);
}
else {
print("It already is.");
}
}
if (said("attach","rope","balcony")) {
if (!isset(f200)) {
print("It's not long enough to reach from here.");
}
else {
if (!isset(f209)) {
set(f67);
set(f209);
}
else {
print("It already is.");
}
}
}
}
if ((said("catch","aphrodisiac") ||
said("catch","bottle") ||
said("catch","bottle","aphrodisiac") ||
said("carry","above","glass") ||
said("carry","above","balcony","catch","aphrodisiac") ||
said("carry","about","aphrodisiac") ||
said("carry","above","balcony","about","aphrodisiac") ||
said("carry","above","balcony") ||
said("carry","glass") ||
said("jump","glass") ||
said("get up","balcony") ||
said("get up","on","balcony") ||
said("carry","above","balcony") ||
said("carry","above") ||
said("carry","out") ||
said("climb","on","balcony") ||
said("climb","above") ||
said("climb","above","balcony","catch","aphrodisiac") ||
said("climb","balcony","catch","aphrodisiac") ||
said("climb","above","balcony","aphrodisiac") ||
said("climb","balcony","aphrodisiac") ||
said("climb","above","balcony") ||
said("climb","balcony"))) {
if (has("bottle of pills")) {
set(f55);
}
else {
if (obj.in.room("bottle of pills",v0) &&
!isset(f202)) {
print("Try moving to the east end of the fire escape.");
}
else {
if ((!isset(f208) ||
!isset(f209))) {
v65 = 250;
set(f75);
v58 = 16;
}
else {
if (v30 != 13) {
v30 = 13;
set(f85);
stop.motion(o0);
set.view(o0,6);
set.loop(o0,1);
reposition.to(o0,92,61);
set(f34);
cycle.time(o0,v86);
print("With the rope securely holding you to the railing, you can"
"reach all the way over to the window. NOW, of all times, you"
"notice the window's locked!");
}
else {
if (!obj.in.room("bottle of pills",v0)) {
print("You already took them. Why do this again?");
}
else {
if (!isset(f65)) {
print("You consider sticking your hand through a solid glass"
"window, but realize that if you did, you wouldn't be able"
"to play the violin.");
print("(Of course, you can't play the violin now, but you get the"
"idea.)");
}
else {
set.loop(o0,1);
start.update(o3);
erase(o3);
add.to.pic(72,3,0,112,51,4,4);
get("bottle of pills");
v3 += 8;
print("You got 'em! But what are they?");
}
}
}
}
}
}
}
if ((said("break","glass","hammer") ||
said("use","hammer","break","glass") ||
said("break","glass") ||
said("break","glass","use","hammer") ||
said("beat","glass","hammer") ||
said("use","hammer","beat","glass") ||
said("beat","glass") ||
said("beat","glass","use","hammer") ||
said("use","hammer"))) {
if (!has("hammer")) {
set(f68);
}
else {
if ((!isset(f202) ||
!isset(f208) ||
!isset(f209))) {
set(f54);
}
else {
if (v30 != 13) {
print("You might try reaching over to the window first.");
}
else {
set.loop(o0,0);
set.cel(o0,0);
end.of.loop(o0,f203);
}
}
}
}
if (v30 == 13) {
if (said("unbolt","glass")) {
print("Unlock it? From the outside?");
}
if (said("increase","glass")) {
print("You can't. It's locked from the inside.");
}
if ((said("beat","glass") ||
said("beat","glass","use","fingers") ||
said("use","fingers","beat","glass") ||
said("break","glass"))) {
print("You consider sticking your hand through a solid glass window, but"
"realize that if you did, you wouldn't be able to play the violin.");
print("(Of course, you can't play the violin now, but you get the idea.)");
}
if ((said("board","balcony") ||
said("board","back","on","balcony") ||
said("board","on","balcony") ||
said("board","back") ||
said("board","back","balcony") ||
said("catch","on","balcony") ||
said("catch","back","balcony") ||
said("catch","back","on","balcony") ||
said("move","on","rope") ||
said("move","rope") ||
said("catch","balcony") ||
said("climb","back") ||
said("climb","back","balcony") ||
said("climb","back","on","balcony") ||
said("climb","on","balcony") ||
said("climb","balcony") ||
said("add","balcony") ||
said("add","balcony") ||
said("done","hanging","rope"))) {
set(f67);
v30 = 0;
set.view(o0,0);
reposition.to(o0,86,64);
accept.input();
start.motion(o0);
reset(f85);
reset(f34);
cycle.time(o0,v84);
}
if (said("examine","down")) {
print("It's a long way to the ground!");
}
}
if ((said("cut","rope","rol") ||
said("use","knife","rol"))) {
if (v30 == 13) {
print("Using the dull pocket knife, you cut the rope free.");
v65 = 250;
set(f75);
v58 = 23;
}
else {
if (!isset(f208) &&
!isset(f209)) {
print("How can you do that?");
}
else {
print("Using the dull pocket knife, you cut the rope free.");
reset(f208);
reset(f209);
start.motion(o0);
reset(f85);
if (has("bottle of pills")) {
print("%g176");
}
else {
get("rope");
print("A rickety fire escape, complete with safety ladder, is loosely"
"attached to the building. A mild, reddish glow comes from the"
"window behind it.");
}
}
}
}
if ((said("catch","rope","rol") ||
said("let go","rope","rol"))) {
if (v30 == 13) {
v65 = 250;
set(f75);
v58 = 23;
}
else {
if (!isset(f208) &&
!isset(f209)) {
print("How can you do that?");
}
else {
print("You untie the rope.");
reset(f209);
reset(f208);
start.motion(o0);
reset(f85);
}
}
}
if (isset(f200)) {
if (said("examine","balcony")) {
print("You are on a fire escape. A rusty ladder is at one end. East of the"
"fire escape is another window, just out of your reach.");
}
if ((said("board","glass") ||
said("climb","glass") ||
said("board","back") ||
said("board","area") ||
said("board","glass"))) {
if (!isset(f201)) {
print("Move closer to the window, if you want to go back in the hooker's"
"room.");
}
else {
set(f67);
v76 = 17;
}
}
if ((said("climb","down") ||
said("decrease","ladder") ||
said("board","ladder") ||
said("board","down","ladder") ||
said("climb","down","ladder") ||
said("climb","ladder"))) {
print("Try moving to the west end of the fire escape.");
}
if (said("examine","down")) {
print("It's a long way to the ground!");
}
if ((said("jump") ||
said("jump","off") ||
said("jump","down") ||
said("jump","bin") ||
said("get up","on","balcony") ||
said("jump","off","balcony") ||
said("climb","down","balcony"))) {
v65 = 250;
set(f75);
v58 = 23;
}
}
if (obj.in.room("bottle of pills",v0) &&
said("examine","aphrodisiac")) {
if (isset(f202)) {
print("Looking at the east window, you notice a bottle of pills sitting on"
"the window ledge.");
}
else {
print("There may be something in the east window, but from here, you're not"
"sure.");
}
}
if ((said("catch","ladder") ||
said("drain","ladder"))) {
print("You can't. Even its rusty bolts are too tough for you!");
}
if ((said("throw","rope","rol") ||
said("climb","down","rope","rol") ||
said("climb","rope","rol"))) {
print("It's not long enough to reach anywhere, but you might want to use it"
"for safety purposes.");
}
if ((said("attach","rope") ||
said("use","rope"))) {
print("Be more specific.");
}
if ((said("examine","above","fence") ||
said("examine","fence"))) {
print("You see alleys stretching off to infinity.");
}
if ((said("climb","fence") ||
said("jump","fence") ||
said("jump","above","fence") ||
said("climb","above","fence"))) {
print("The fence is much too tall for you to climb over.");
}
if ((said("close","cap","rol") ||
said("climb","on","bin","rol") ||
said("climb","bin","rol") ||
said("climb","on","top","bin","rol") ||
said("decrease","cap","rol") ||
said("decrease","bin","rol") ||
said("get up","on","bin") ||
said("move","cap","rol") ||
said("close","bin","rol"))) {
print("Unfortunately the lid on the trash bin just will not close.");
}
if ((said("examine","back","bin") ||
said("move","bin","rol"))) {
print("Try as you might, it is impossible to move the trash bin.");
}
if (said("attach","rope","anyword")) {
print("The solution is closer to you than that.");
}
if ((said("cut","glass","use","diamond ring") ||
said("use","diamond ring","cut","glass") ||
said("carry","rope","rol") ||
said("carry","ladder","rol") ||
said("beat","fence","rol") ||
said("beat","ladder","rol") ||
said("beat","brick","rol"))) {
print("%g176");
}
Label1:
if (isset(f203)) {
reset(f203);
print("Subtly, you smash the window with your hammer. Your future as a"
"second-story man seems quite plausible!");
prevent.input();
start.update(o3);
end.of.loop(o3,f207);
}
if (isset(f207)) {
reset(f207);
reset(f34);
stop.update(o3);
set(f65);
accept.input();
}
if (isset(f44)) {
v200--;
if (v200 == 16) {
print("Hey! Where are you?");
}
if (v200 == 11) {
print("After a careful analysis of your surroundings, you conclude you are"
"at the bottom of a pile of garbage!");
accept.input();
}
if (v200 == 1 &&
v30 == 14) {
print("\"YUCK!!\"");
}
}
current.cel(o2,v52);
if (v52 == 4) {
set(f75);
}
if (isset(f75)) {
reset(f75);
v65++;
if (v65 == 1) {
v30 = 5;
start.update(o2);
set.cel(o2,1);
set(f85);
prevent.input();
erase(o0);
end.of.loop(o2,f75);
sound(1,f40);
}
if (v65 == 2) {
set.view(o0,20);
set.priority(o0,11);
position(o0,53,99);
draw(o0);
move.obj(o0,53,137,3,f75);
}
if (v65 == 3) {
set.cel(o2,0);
stop.update(o2);
force.update(o2);
}
if (v65 == 4) {
stop.motion(o0);
set(f85);
set.view(o0,27);
set.cel(o0,1);
set.priority(o0,15);
reposition.to(o0,40,126);
cycle.time(o0,v86);
set(f34);
end.of.loop(o0,f75);
}
if (v65 == 5) {
reset(f34);
stop.cycling(o0);
last.cel(o0,v52);
set.cel.v(o0,v52);
accept.input();
v30 = 14;
v200 = 5;
v65 = 0;
}
if (v65 == 101) {
set(f67);
stop.motion(o0);
set(f85);
accept.input();
v30 = 14;
set.view(o0,10);
last.cel(o0,v52);
set.cel.v(o0,v52);
set.priority(o0,15);
reposition.to(o0,45,145);
cycle.time(o0,v85);
set(f34);
reverse.loop(o0,f75);
}
if (v65 == 102) {
reset(f34);
stop.cycling(o0);
set.view(o0,27);
reposition.to(o0,40,126);
last.cel(o0,v52);
set.cel.v(o0,v52);
v200 = 5;
v65 = 0;
}
if (v65 == 201) {
set(f85);
set(f67);
set.view(o0,10);
set.cel(o0,0);
set.priority(o0,15);
position(o0,49,145);
cycle.time(o0,v86);
set(f34);
end.of.loop(o0,f75);
}
if (v65 == 202) {
reset(f34);
set.view(o0,0);
reposition.to(o0,52,148);
start.motion(o0);
reset(f85);
release.priority(o0);
step.size(o0,v84);
cycle.time(o0,v84);
v30 = 0;
v65 = 0;
}
if (v65 == 251) {
set(f85);
prevent.input();
v30 = 5;
set.view(o0,20);
set.cel(o0,3);
set.priority(o0,15);
reposition.to(o0,95,68);
force.update(o0);
print.v(v58);
v58 = 0;
cycle.time(o0,v84);
move.obj(o0,95,157,4,f75);
sound(1,f40);
}
if (v65 == 252) {
reset(f34);
stop.cycling(o0);
set.view(o0,4);
set.cel(o0,0);
reposition.to(o0,83,157);
v67 = 5;
}
if (v65 == 253) {
set(f34);
cycle.time(o0,v86);
end.of.loop(o0,f75);
}
if (v65 == 254) {
v76 = 8;
}
}
if (posn(o0,0,135,3,136)) {
v2 = 4;
}
if (v2 == 4) {
v76 = 11;
}
return();
// Messages
#message 1 "Try moving to the east end of the fire escape."
#message 2 "Try moving to the west end of the fire escape."
#message 3 "%m7 and a fence."
#message 4 "Nah. That room needs the fresh air!"
#message 5 "You are on a fire escape. A rusty ladder is at one end. East of the fire escape is another window, just out of your reach."
#message 6 "%m7, a fence, and something sitting in the east window."
#message 7 "It's a nice little alley, with a trash bin, two windows, a fire escape"
#message 8 "Move closer to the ladder."
#message 9 "(Of course, you can't play the violin now, but you get the idea.)"
#message 10 "Unlock it? From the outside?"
#message 11 "You can't. It's locked from the inside."
#message 12 "Looking inside the west window, you see the room you just left."
#message 13 "Looking at the east window, you notice a bottle of pills sitting on the window ledge."
#message 14 "There are two windows high above you. The west window by the fire escape has a dim, reddish glow; the east window is dark. There may be something on the sill of the east window, but you can't make it out from down here."
#message 15 "You broke it, didn't you?"
#message 16 "You lean far out over the railing before remembering that agility is yet another of your short suits."
#message 17 "With the rope securely holding you to the railing, you can reach all the way over to the window. NOW, of all times, you notice the window's locked!"
#message 18 "Subtly, you smash the window with your hammer. Your future as a second-story man seems quite plausible!"
#message 19 "You got 'em! But what are they?"
#message 20 "You might try reaching over to the window first."
#message 21 "You consider sticking your hand through a solid glass window, but realize that if you did, you wouldn't be able to play the violin."
#message 22 "It already is."
#message 23 "What is this; a death wish?"
#message 24 "You already took them. Why do this again?"
#message 25 "Amidst assorted, odoriferous refuse from Lefty's clientel, you discover Lefty's old, left-handed hammer."
#message 26 "There's nothing else here worth describing, let alone taking."
#message 27 "\"YUCK!!\""
#message 28 "Unfortunately, you can't see much from out here."
#message 29 "Wow! Does your head hurt!!"
#message 30 "Hey! Where are you?"
#message 31 "After a careful analysis of your surroundings, you conclude you are at the bottom of a pile of garbage!"
#message 32 "Move to the front of the trash bin."
#message 33 "There's no way to reach the ladder from down here. It's only accessible from above."
#message 34 "You see alleys stretching off to infinity."
#message 35 "The fence is much too tall for you to climb over."
#message 36 "It's not long enough to reach from here."
#message 37 "It's not long enough to reach anywhere, but you might want to use it for safety purposes."
#message 38 "Be more specific."
#message 39 "You untie the rope."
#message 40 "How can you do that?"
#message 41 "Using the dull pocket knife, you cut the rope free."
#message 42 "%g176"
#message 43 "A rickety fire escape, complete with safety ladder, is loosely attached to the building. A mild, reddish glow comes from the window behind it."
#message 44 "Unfortunately the lid on the trash bin just will not close."
#message 45 "Try as you might, it is impossible to move the trash bin."
#message 46 "The solution is closer to you than that."
#message 47 "There is an old neon sign hanging on the wall that says \"Hotel\"..."
#message 48 "...approximately."
#message 49 "You can't. Even its rusty bolts are too tough for you!"
#message 50 "Not now!"
#message 51 "There may be something in the east window, but from here, you're not sure."
#message 52 "It's a long way to the ground!"
#message 53 "Whee!"
#message 54 "Move closer to the window, if you want to go back in the hooker's room."
#message 55 "You reconsider after noticing the trash bin is behind where you would fall!"