Repository navigation
Expand file tree
/
Copy pathgknoll.inf
More file actions
1628 lines (1473 loc) · 63.5 KB
/
Copy pathgknoll.inf
File metadata and controls
1628 lines (1473 loc) · 63.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
! GRASSY KNOLL: The JFK Assassination Simulation
Constant Story "GRASSY KNOLL: The JFK Assassination Simulation";
Constant Headline "^Based on the books^The Warren Commission Report and^On The Trail of the Assassins by Jim Garrison^Game and Text Copyright 1995 by Tom Kidd^";
Constant DEBUG;
! Variables to store the current time
Global hours = 12; ! Initial hours (24h time)
Global printhours = 12; ! Initial print hours (12h time)
Global minutes = 00; ! Initial minutes
Global fulltime = 1200; ! 24h time spelled out for event checking
Global chance = 0; ! Placeholder value for chance
Replace DrawStatusLine;
Include "parser";
Include "verblib";
! Overriding DrawStatusLine lets me put the time in the status bar.
[ DrawStatusLine width posa posb posc;
!if (invisible_status) { @split_window 0; return; }
@split_window 1; @set_window 1; @set_cursor 1 1; style reverse;
width = 0->33; posa = width-39; posb = width-26; posc = width-13;
spaces (width);
@set_cursor 1 2; PrintShortName(location);
if (width > 76) {
@set_cursor 1 posa; print "Score: ", sline1;
@set_cursor 1 posb; print "Moves: ", sline2;
@set_cursor 1 posc;
print "Time: ";
if (hours < 10) print "0";
printhours = hours;
if (hours > 12) printhours = hours - 12;
print printhours;
print ":";
if (minutes < 10) print "0";
print minutes;
if (hours > 11) print " PM"; else print " AM";
}
if (width > 63 && width <= 76) {
@set_cursor 1 posb; print sline1, "/", sline2;
}
@set_cursor 1 1; style roman; @set_window 0;
];
Object Timer "game timer"
with name 'game timer name',
time_left 60;
[ Initialise;
location = Outside_DCCCB;
! location = Outside_PH;
! move Hanky to player;
print "It's been six years since you last saw Dana Wilkins, your old High
School Sweetheart. Since then, you've graduated from Texas A&M, and you're
starting to make a name for yourself in your field. However, true love still
eludes you, and you hear that Dana is single. She called Wednesday. She wanted
to meet you. She said that it was urgent.^^
Well, it's at least worth a shot. She lives in Grand Prarie, Texas,
and she works at the School Book Depository, which is somewhere on Elm Street
in Dallas.^^
On the upside, Dana was a real looker back in Texas High School,
class of '57. On the downside, Dallas is a whole 3 hours away from Texarkana,
Texas.^^
So, on November 22, 1963, you take off from work, and head for
Big ~D~. When you get near the Dealy Plaza, around 10:00, it takes about an
hour to find a parking space some three blocks away. Seems some parade is in
town. Oh, yes, the President's in it. Great. You can't get to Dealy until
12:00. You've got to meet Dana for lunch at noon. No doubt she'll also want
to watch the parade as well. Great. She works on the second floor of the
School Book Depository. Perfect. This promises to be an interesting weekend...^^";
! NOTE: TODO: Right now I'm not actually using the timer.
! The examples I found were using it but really it's just a handy way to get
! a function to run on every turn. I should probably use a Daemon but I need
! to figure out how those work first. And maybe I use a timer in the future.
! so for now it stays.
StartTimer(Timer, 60, TimePasses);
move Magic_Bullet to Gurney;
];
[ TimePasses;
if (parent(Timer) == nothing) {
Timer.time_left = Timer.time_left - 1;
IncrementTime();
CheckForEvents();
}
];
[ IncrementTime;
minutes = minutes + 1;
if (minutes >= 60) {
minutes = 0;
hours = hours + 1;
}
fulltime = (hours * 100) + minutes + 1; ! adding 1 because the increment happens after the turn
];
Replace AfterLife;
Include "grammar";
! Grammar for talking
[ TalkSub;
if (noun has animate) {
if (RunLife(noun, ##Talk)) rtrue; ! Call the NPC's life routine for Talk
print "You try to talk to ", (the) noun, ", but get no response.";
return true;
}
"There's no one to talk to.";
];
! Define the "Help" action
[ HelpSub;
if (location provides help_message) {
print (string) location.help_message, "^";
} else {
"Sorry, you're on your own here.";
}
];
! Extend the grammar to recognize "Help" as a command
Verb 'help' * -> Help;
! A generic room with a custom help message
Class ObjectWithHelp
class Object
with help_message 0, ! Default to no help message
before [;
Help: return HelpSub();
];
Verb 'talk'
* noun -> Talk
* 'to' noun -> Talk;
Verb 'follow'
* noun -> Follow;
Extend 'follow' first
* noun -> Follow;
[ FollowSub;
if (location == CandL && noun == Lee_Harvey_Oswald) {
hours = 12;
minutes = 54;
PlayerTo(BandN);
}
];
Extend 'kill' first
* noun -> Kill;
[ KillSub;
if (parent(Knife) == player && (noun == William_Newman ||
noun == Dana_Wilkins ||
noun == Zapruder ||
noun == Mr_Truly ||
noun == James_Hague ||
noun == Jean_Hill_Mary_Mormon ||
noun == Joe_Smith)) {
move Dead_Body to parent(noun);
move noun to Backstage;
}
if (parent(Dead_Body) == location) {
! [BadBoy] in the AGT source
print "You attack and kill the innocent person. Now, your knife is covered in blood,
and everyone is staring at you. Maybe you shouldn't have done that.";
} else {
print "You're not strong enough to kill anyone with your bare hands.";
}
];
Attribute legible;
[ ReadSub; ];
Extend 'read' first * legible -> Read;
[ AfterLife;
print "^^Would you like me to try and get you resurrected? (yes/no)^^";
if (YesOrNo()) {
deadflag = 0;
print "I'll try... but don't blame me if something goes wr@@64#%&&^^
---- POOF ----^^
You are engulfed in a large cloud of thick orange smoke, and you emerge coughing
and gasping, and find that you must start all over...^^";
PlayerTo(PandRP);
return true; ! Prevent game from ending
}
return false; ! Proceed with normal death (game over)
];
! LOCATIONS
! [Outside DCCCB] in the AGT source
ObjectWithHelp Outside_DCCCB "Outside the Dallas County Criminal Courts Building"
has light
with description [;
"You are standing outside the Dallas County Criminal Courts Building, where
all of the city's criminal trials are being held. These guys probably can't
handle any more crime in this city. From here, a sidewalk leads north, while
the building enters to the east.";
],
help_message "Go inside if you want, but remember, your purpose here is not in there. Get
to the School Book Depository now!",
e_to DCCCB,
n_to Outside_DCRB;
ObjectWithHelp DCCCB "The Dallas County Criminal Courts Building"
has light
with description "This is the Dallas County Criminal Courts Building. It is bustling with
lawyers, judges, and tourists, most of which are seeking shelter from the
Texas heat outside. There is an exit to the west.",
help_message "As nice and comfortable as this is, you really ought to be getting back to
your once (and maybe future) girlfriend!",
w_to Outside_DCCCB;
! [Outside DCRB] in the AGT source
ObjectWithHelp Outside_DCRB "Outside the Dallas County Records Building"
has light
with description "You're standing outside the Dallas County Records building. Your uncle was
born in Dallas, and if your guess is correct, his birth certificate is in
there somewhere. You can follow the sidewalk to the north or south, or you
can beat the heat by entering the building to the east.",
help_message "Go inside if you want, but remember, your purpose here is not in there. Get
to the School Book Depository now!",
s_to Outside_DCCCB,
n_to Outside_DTB,
e_to DCRB;
ObjectWithHelp DCRB "The Dallas County Records Building"
has light
with description "You're standing in the Dallas County Records Building. WIth the possible
exception of the receptionist and the tourists beating the heat, the place is
empty. Cold, but empty. There is an exit to the east.",
help_message "As nice and comfortable as this is, you really ought to be getting back to
your once (and maybe future) girlfriend!",
w_to Outside_DCRB;
! [Outside DTB] in the AGT source
ObjectWithHelp Outside_DTB "Outside the Dal-Tex Building"
has light
with description "You're standing outside the Dal-Tex Building. You don't have a clue what
Dal-Tex makes (or even if it's a company), and the outside of this
establisment doesn't help much. You can cross Houston Street to the west, or
you can enter the building to the east.",
help_message "Go inside if you want, but remember, your purpose here is not in there. Get
to the School Book Depository now!",
e_to DTB,
w_to Outside_SBD,
s_to Outside_DCRB;
ObjectWithHelp DTB "The Dal-Tex Building"
has light
with description "This is the Dal-Tex Building, and the insides don't give much help as to
exactly what in the hell the Dal-Tex Building is. There are some people here,
and the place is at least air conditioned. There is an exit to the west.",
help_message "As nice and comfortable as this is, you really ought to be getting back to
your once (and maybe future) girlfriend!",
w_to Outside_DTB;
! [Outside SBD] in the AGT source
ObjectWithHelp Outside_SBD "Outside the School Book Depository"
has light
with description "Well, you've made it to the School Book Depository. There are people hanging
around outside, some even sitting down on the grass outside, to watch the
parade. There are also some people sitting at open windows, hoping to catch
a glimpse of the parade. The entrance to the School Book Depository is to
the north. Across the street to the east is the Dal-Tex Building. Across Elm
street to the south is a large grassy field. And to the southwest is
Pergolas.",
help_message "Well, Dingleberry, seeing as how your whole purpose in driving up here for
three hours is in this building to the north, you might as well go in there.",
n_to [;
if (fulltime > 1240) {
! [LockedOut] in the AGT source
print "You can't go into the School Book Depository, since it's been sealed off by
the Dallas Police Department.";
return true;
}
return SBD;
],
ne_to [;
if (fulltime > 1231 && fulltime < 1241) {
return EandM;
}
return true;
],
s_to Grassy_Field,
e_to Outside_DTB,
sw_to Pergolas;
! [Grassy Field] in the AGT source
ObjectWithHelp Grassy_Field "A Grassy Field"
has light
with description "This grassy field looks like a great place for a picnic, and indeed there are
some people picnicing here. You can also get a great view of the parade that's
coming. Across Elm Street to the north is the School Book Depository, to the
northwest, there are Pergolas, and to the west, there is a grassy knoll. To
the southwest, there is a triple underpass.",
help_message "Well, it's cute and all, but remember your purpose here (whatever that may
be).",
n_to Outside_SBD,
nw_to Pergolas,
w_to Grassy_Knoll,
sw_to Underpass3;
ObjectWithHelp Pergolas "Pergolas"
has light
with description "You're standing here outside some pergolas (structures consisting of parallel
colonnades supporting an open roof of girders and cross rafters). Across Elm
Street to the southeast is a large grassy field. To the northeast is the
School Book Depository, and to the southwest, there is a grassy knoll.",
help_message "Well, it's cute and all, but remember your purpose here (whatever that may
be).",
ne_to Outside_SBD,
se_to Grassy_Field,
sw_to Grassy_Knoll;
! [Grassy Knoll] in the AGT source
ObjectWithHelp Grassy_Knoll "Grassy Knoll"
has light
with description "This appears to be a grassy knoll. As with everything today, there are a lot
of people here. There is a nice shade tree here, right up near a spiked
wooden fence. To the northeast are some pergolas, and across the street to
the east, there is a grassy field. To the south, there is a triple underpass",
help_message "You know, if someone really wanted to kill the president, this would be a
great place to try and get a shot off....",
ne_to Pergolas,
s_to Underpass3,
e_to Grassy_Field;
ObjectWithHelp SBD "The School Book Depository"
has light
with description "This is the School Book Depository's Main Entrance. The building appears to be
being refurbished, and there are lots of workers moving about. There are
people working here, and there is a foyer to the north. There is also some
stairs to the southeast.",
help_message "You've come this far, now do it!",
s_to [;
if (fulltime > 1240) {
! [LockedIn] in the AGT source
print "It appears that you cannot exit the School Book Depository, as it has been
sealed off by the Dallas Police Department. Seems some people heard shots
coming from the building.";
return true;
}
return Outside_SBD;
],
se_to SBDStairs1,
n_to Foyer1;
ObjectWithHelp SBDStairs1 "Stairwell, first floor"
has light
with description "This stairwell can take you up. There is also an exit to the northwest. There
are some workers in outfits going up and down the stairs.",
help_message "Hello, Mr. Tyler........going up?",
nw_to SBD,
u_to SBDStairs2;
Object Foyer1 "Foyer, first floor"
has light
with description "This is a Foyer of sorts, whose exits lead north, northeast, and to the south.
There are some workers in outfits here, all giving you that ~you don't belong
here~ look.",
s_to SBD,
n_to OSS,
ne_to Truly;
Object OSS "Open Storage Space"
has light
with description "This is a big, open, storage space. What'd you expect from a Book Depository?
There are some more workers in outfits here. You can go south to exit.",
before [;
! In the AGT source I think the Cooler may have been because
! AGT can switch locations but not move characters directly
move Cooler to Backstage;
move Dana_Wilkins to Grassy_Knoll;
],
s_to Foyer1;
Object Truly "Mr. Truly's Office"
has light
with description "This appears to be the somewhat well-kept (and somewhat empty) office of a Mr.
Roy S. Truly. The only exit is to the southwest.",
sw_to Foyer1;
Object SBDStairs2 "Stairs, second floor"
has light,
with description "This is the stairwell of the second floor. Unspectacular, except for the fact
that it leads up and down. There is also an exit for this floor to the
northwest.",
d_to SBDStairs1,
u_to SBDStairs6,
nw_to Foyer2;
Object Foyer2 "Foyer, second floor"
has light,
with description "This is another Foyer of sorts, with exits to the north, west, and to the
southeast. There are still more workers here, moving about.",
n_to Hallway,
w_to Lunchroom,
se_to SBDStairs2;
Object Hallway "Hallway"
has light,
with description "This is a hallway, whose one purpose is to lead to the office space to the
west, and to the Foyer to the south.",
s_to Foyer2,
w_to OSpace;
Object OSpace "Office Space"
has light,
with description "This is some open office space, with nice little desks, and lots of pencils.
Most of the people seem to be crowded around the windows. There are exits to
the east and to the south.",
e_to Hallway,
s_to ConRoom;
! Note: to simulate how it works in the AGT source, I have to label the coke/food machines as "scenery"
! which means I have to simulate their descriptions here. If there's a more correct way to do this I'll
! update this in the future.
Object Lunchroom "Lunchroom"
has light,
with description "This is a lunchroom, complete with boring tables, a Coke machine, and one of
those things that sells you stale sandwiches. There is an exit to the east,
and one to the south.^^ There is a Coke machine here. Insert a quarter, and get a drink.^ There are some bottles of Coke here. (in the machine)^ There is a Sandwich Dispenser here.^ There are some Ham and Cheese Sandwiches here. (in the dispenser)",
help_message "This room contains a puzzle. Try looking around carefully.",
before [;
! print "fulltime: ", fulltime;
],
s_to Hallway2,
e_to Foyer2;
Object Hallway2 "Hallway"
has light,
with description "This is a hallway, whose sole purpose is to lead to the west and to the north.",
n_to Lunchroom,
w_to ConRoom;
Object ConRoom "Conference Room"
has light,
with description "This is an unused conference room, presumably because of the current lunch
hour. There is a long table, some chairs here, a portrait of Govenor Connaly.
There are some exits to the north and to the east.",
n_to OSpace,
e_to Hallway2;
Object SBDStairs6 "Stairway, sixth floor"
has light,
with description "This is the stairwell for the sixth floor. The third, fourth and fifth floor
looked so boring, you skipped over them. There is an exit to the northwest,
and another one down.",
d_to SBDStairs2,
nw_to LOSpace;
Object LOSpace "Large Open Space"
has light
with description "This is a large open space, with lots of boxes and stuff. There are some more
workers working and moving about. The window view to the northwest would
provide an excellent view of the parade (though it's hard to get to). There is
also an exit to the southeast.",
se_to SBDStairs6,
nw_to Window6;
Object Window6 "Window, sixth floor"
has light
with description "This window gives a perfect view of the parade, or at least the back of it as
it passes by. There is an exit to the southeast.",
se_to LOSpace;
Object Underpass3 "Triple Underpass"
has light
with description "This is a triple underpass, formed by the convergence of Elm, Main and
Commerce street, all coming together under the railroad overpass. There is
a grassy field to the northeast, and a grassy knoll to the north.",
n_to Grassy_Knoll,
ne_to Grassy_Field;
! in the AGT source this was where I "stored" characters before they were to be seen.
! This room is not accessible from the game directly.
Object Backstage "Backstage"
has light
with description "This room is for the cast to stay in while they wait.",
n_to SBD;
Object Jail "Jail Cell"
has light
with description "This is a jail cell in the Dallas Police Department, and you are surrounded
by people you recognize as being in Dealy Plaza just a few minutes ago. It
is obvious that you will be here for a while.";
Object Jail2 "Jail Cell"
has light
with description "This is a jail cell in the Dallas Police Department, and you are surrounded
by people you recognize as being in the School Book Depository just a few
minutes ago. It is obvious that you will be here for a while.";
! This is the GAME_END room in the AGT source. It may not be necessary in Inform
Object Endgame "Game Over"
has light;
! This is the RESURRECTION_ROOM room in the AGT source. I'm not sure how we get there
! in the AGT game and there may not be a direct eqivalent in Inform
! [P+RP] in the AGT source
Object PandRP "Peristyles and Reflectng Pools"
has light
with description "Well, looks loke the whole ressurection thing worked, but all that orange
smoke appears to have startled some of the old timers sitting here, at the
beautiful peristiles and reflecting pools. You would do good to leave here
amd avoid any further embarrassment. You can go east to the Dallas County
Criminal Courts Building, or you could go west to that grassy field. Either
way, you probably shouldn't come back.",
e_to Outside_DCCCB,
w_to Grassy_Field;
! [E+M] in the AGT source
Object EandM "Elm and Main Street"
has light
with description "The man known as Oswald gets on a bus here at the intersection of Elm and
Main Street. If you wish, you can board the bus and see where he goes, or
you can go back to Dealy Plaza to the southeast.",
se_to Outside_SBD;
! [P+L] in the AGT source
Object PandL "Paydras and Lamar Street"
has light
with description "Here, Oswald goes southeast. You can follow him, or go to the southwest, back
to Dealy Plaza.",
se_to CandL,
sw_to Outside_DCCCB;
! This location exists to tell you to do the "FOLLOW OSWALD" command. Will need to see
! if something similar can be rigged up with Inform
! [C+L] in the AGT source
Object CandL "Commerce and Lamar Street"
has light
with description "Here, Oswald hails a cab. If you want, you can FOLLOW OSWALD.",
sw_to Outside_DCCCB;
! [B+N] in the AGT source
Object BandN "Beckley and Neely"
has light
with description "You grab the bottom of the cab, and get out from under it when it gets to
the intersection of Berkley and Neely Streets. Oswald doesn't see you. Hey, it
could happen! Oswald isn't here, but you could've swore he went north. Might
as well go North and follow him.",
n_to [;
hours = 13;
minutes = 03;
return NBAve;
];
! [1026NB] in the AGT source
Object NBAve "1026 North Beckley Ave."
has light
with description "Here, at 1026 North Beckley Ave., is a rooming house. Oswald leaves here and
goes south. Never even saw you.",
sw_to BandN,
s_to Davis;
Object Davis "Davis and Beckley Street"
has light
with description "This is the intersection of Davis and Beckley Street. Oswald went east from
here.",
n_to NBAve,
e_to DavisAndC;
! [DAVIS+C] in the AGT source
Object DavisAndC "Davis and Commerce Street"
has light
with description "This is the intersection of Davis and Crawford Street. Oswald went southeast
from here.",
w_to Davis,
se_to TenthAndC;
! The "INITIAL" concept in AGT may work differently in AGT than Inform, may need to debug later
! [10+C] in the AGT source
Object TenthAndC "10th and Commerce Street"
has light
with description "This is the intersection of 10th and Crawford Street. Oswald went northeast",
initial "This is the intersection of 10th and Crawford Street. Oswald went northeast
from here. From the northeast, you can hear gunshots. Great.",
nw_to DavisAndC,
ne_to [;
hours = 13;
minutes = 16;
return TenthAndP;
];
! [10+P] in the AGT source
Object TenthAndP "10th St. and Patton Ave."
has light
with description "This is the intersection of 10th St. and Patton Ave. Oswald went southeast from here.",
initial "This is the intersection of 10th St. Oswald went southeast from here.",
sw_to TenthAndC,
se_to CandJ;
! [C+J] in the AGT source
Object CandJ "Crawford St. and Jefferson Blvd."
has light
with description "This is the intersection of Crawford St. and Jefferson Blvd. Oswald probably
went southwest from here",
ne_to TenthAndP,
sw_to [;
hours = 13;
minutes = 50;
return TexasT;
];
! The AGT source gives 500 points to the score for getting here
! [TexasT] in the AGT source
Object TexasT "Texas Theater"
has light
with description "This is the Texas Theater, where you think you just saw Oswald go into.
However, it is currently being swarmed by cops. You can enter the theater to
the north, or start heading back to the south.",
before [;
score = score + 50;
],
n_to [;
! [Arrest3] in the AGT source
print "~Well, since you obviously saw the incident, we have to take you in for
questioning,~ says Officer Bill Cook.^^
And with that, you are taken to jail.";
return Jail3;
],
s_to [;
hours = 14;
minutes = 30;
return Outside_DCCCB;
];
Object Jail3 "Jail Cell"
has light
with description "This is a jail cell in the Dallas Police Department, and you are alone. It
is obvious that you will be here for a while.";
! [Outside PH] in the AGT source
Object Outside_PH "Outside Parkland Hospital ER"
has light
with description "You are here at Parkland Hospital, standing outside the Emergency Room. The
Hospital enters to the west, while a walk to Dealy Plaza is to the east.",
initial "You are here at Parkland Hospital, standing outside hte Emergency Room. Some
Secret Service agents and plenty of Doctors and Surgeons have just escorted
the wounded President inside. The Hospital enters ot the west, while a walk
to Dealy Plaza is to the east.",
e_to [;
minutes = minutes + 10; ! may cause an issue after x:50
return Underpass3;
],
w_to ERLobby;
Object ERLobby "Emergency Room Lobby"
has light
with description "This is the lobby of the Emergency Room of Parkland Hospital. The Emergency
Room Hallway is to the north, while the exit outside is to the east.",
initial "This is the lobby of the Emergency Rom of Parkland Hospital. You were able
to enter hte lobby because of the connotion outside. There is similar
commotion here, though it appears obvious that hte President is in the hallway
to the north.",
n_to ERLobby,
e_to Outside_PH;
Object ERHall "Emergency Room Hallway"
has light
with description "This is the Emergency Room Hallway of the Parkland Hospital. Trama Room 1,
which is the room that they wheeled the President into, enters to the north.",
s_to ERHall,
n_to TR1;
Object TR1 "Trauma Room 1"
has light
with description "This is Trauma Room 1, where the President has just been taken. There are
lots of people here. Surgeons, Doctors, and Secret Service Agents. Due to the
confusion, no one notices your presence.",
initial "This is Trauma Room 1, where the President has just been taken. There are
lots of people here. Surgeons, Doctors, and Secret Service Agents. Due to the
confusion, no one notices your presence.",
s_to ERHall;
Object Jail4 "Jail Cell"
has light
with description "This is a Jail Cell. Your murder charge is being proccessed. You're gonna be
here a long time.";
! EVENTS
[ CheckForEvents;
! Time/location based events
! [LunchIt] in the AGT source
if (location == Lunchroom && fulltime > 1214 && fulltime < 1221) {
print "^^There is a man in the lunchroom, who has the name Oswald on his outfit, eating.";
}
! [Seizure!] in the AGT source
if (location == Outside_SBD && fulltime > 1214 && fulltime < 1221) {
print "^^There is a man in the street, who is having an epileptic seizure. There
are people gathered all around.";
}
! [Lunch1] in the AGT source
if (location == Window6 && fulltime > 1214 && fulltime < 1221) {
print "^^There is a man sitting at the window, his name tag says Bonnie Ray Williams,
who is sitting here eating his chicken lunch.";
}
! [Lunch2] in the AGT source
if ((location == Lunchroom && fulltime > 1230 && fulltime < 1233) ||
(location == OSpace && fulltime > 1231 && fulltime < 1234)) {
print "^^There is a man, with the name Oswald on his outfit, who appears to be on his
way out of the building.";
}
! [ByeOswald1] in the AGT source
if ((location == Outside_SBD ||
location == SBD) && fulltime > 1232 && fulltime < 1235) {
print "^^There is a man, with the name Oswald on his outfit, leaving the School Book
Depository, despite all of the police and others surrounding the entrance.
If you want, you can follow him to the northeast.";
}
! [SS1] in the AGT source
if ((location == Outside_SBD ||
location == Pergolas) && fulltime > 1219 && fulltime < 1226) {
print "^^You can see what appear to be Secret Service Men in the windows of the 6th
floor of the School Book Depository";
}
! [CopFence] in the AGT source
if (location == Grassy_Knoll && fulltime > 1220 && fulltime < 1230) {
print "^^There are some people standing behind the wooden picket fence. One of them
appears to be a police officer, and he appears to have a rifle.";
}
! [BlackUMB] in the AGT source
if (location == Pergolas && fulltime > 1225 && fulltime < 1230) {
print "^^There is a man, standing near Elm Street, dressed in black, who has just now
opened a black umbrella.";
}
! [Pand] in the AGT source
if (( location == Grassy_Knoll ||
location == Grassy_Field ||
location == Underpass3) && fulltime > 1223 && fulltime < 1230) {
print "^^The limo is right in front of you and you feel this strange urge to try and get into it.";
}
! [Pand] in the AGT source
if ((location == Outside_DTB ||
location == Outside_DCRB ||
location == Outside_DCCCB ||
location == Outside_SBD ||
location == Pergolas ||
location == Grassy_Knoll ||
location == Grassy_Field ||
location == Underpass3) && fulltime > 1230 && fulltime < 1245) {
print "^^There is pandemonium on the streets, with people running all over the place,
cops everywhere arresting people, and even some people who look like Secret
Service agents.";
}
! [Hoboes] in the AGT source
if (location == Pergolas && fulltime > 1245 && fulltime < 1250) {
print "^^Some officers from the Dallas Police Department are marching three hoboes in
handcuffs to a patrolcar.";
}
! [UhOhOswald] in the AGT source
! in the AGT source it's a "Look" command but here it's just part of the room description now
if (location == Window6 && fulltime > 1230) {
print "^^There are some bullet casings, laying neatly here, and a paper bag.";
}
! [UhOhOswald2] in the AGT source
! in the AGT source it's a "Look" command but here it's just part of the room description now
if (location == LOSpace && fulltime > 1230) {
print "^^There is a rifle here, laying in the boxes.";
}
if (fulltime > 1230) {
move Zapruder to Backstage;
}
! [NoBrain] in the AGT source
if (location == TR1 && fulltime > 1239 && fulltime < 1246) {
print "^^It appears obvious apoun viewing the head of the President that the right
side of his brain is missing.";
}
! [HolyThroat] in the AGT source
if (location == TR1 && fulltime > 1240 && fulltime < 1247) {
print "^^It is also becoming more obvious to you and the surgeons that there is a
large hole in the President's throat.";
}
! [NoLuck] in the AGT source
if (location == TR1 && fulltime > 1241 && fulltime < 1248) {
print "^^The surgeons are trying, unsuccessfully, to revive the President.";
}
! [Asshole] in the AGT source
if (location == ERHall && fulltime > 1244 && fulltime < 1248) {
print "^^There is a man here, a Secret Service Agent named Clint Hill (nevermind how
you know that), who is waving a gun, and making threats.";
}
! [DumbAsshole] in the AGT source
if (location == ERHall && fulltime > 1245 && fulltime < 1249) {
print "^^Nurse Doris Nelson is trying (somewhat successfully) to talk down Clint Hill.";
}
! [Nude] in the AGT source
if (location == TR1 && fulltime > 1244 && fulltime < 1248) {
print "^^Dr. Charles A. Crenshaw is cutting off JFK's trouser legs, and taking off his
back brace, in preparation for surgery. However, he leaves the President's
boxer shorts on, in order to preserve a bit of dignity.";
}
! [TM!] in the AGT source
if (location == TR1 && fulltime > 1246 && fulltime < 1249) {
print "^^Dr. Jim Carrico perfors a trachiomoty, while Dr. Charles A. Crenshaw
discovers that there is a pulse, though no blood pressure.";
}
! [Ouch] in the AGT source
if (location == TR1 && fulltime > 1248 && fulltime < 1251) {
print "^^The doctors insert a cathader into the President's heart, while his breathing
is now being performed by a machine.";
}
! [DOA] in the AGT source
if (location == TR1 && fulltime > 1251 && fulltime < 1300) {
print "^^President John F. Kennedy has been pronounced dead.";
}
! [ByeParade] in the AGT source
if ((location == Outside_DCRB ||
location == Outside_DCCCB) && fulltime > 1224 && fulltime < 1231) {
print "^^The parade goes by. When it gets to Elm Street, though, something happens.";
}
! [JFKShot1] in the AGT source
if ((location == Outside_DTB ||
location == Outside_SBD ||
location == Underpass3) && fulltime > 1224 && fulltime < 1234) {
print "^^The parade is passing by.
^And here's the president.
^Wait.
^He's been shot.
^^^^More shots are ringing out.
^He's been shot in the head.
^The limo drives on.";
}
! [NoNoNo] in the AGT source
if ((location == Window6 ||
location == LOSpace)
&& fulltime > 1229 && fulltime < 1236) {
print "^^For some strange, inexplicable reason, you feel as if you should get out of
this room. Maybe it's those gunshots.";
PlayerTo(SBDStairs6);
}
! [JFKShot2] / [JFKShot3] in the AGT source
! In the AGT game we show an image from the Zapruder film ([GK50])
! but we can't do that in Inform so I'm just putting more line breaks in,
if ((location == Grassy_Field ||
location == Grassy_Knoll ||
location == Pergolas)
&& fulltime > 1226 && fulltime < 1230) {
print "^^The parade is passing by.
^And here's the president.
^Wait.
^He's been shot..
^^^^More shots are ringing out.
^He's been shot in the head.
^The limo drives on.";
minutes = minutes + 5;
PlayerTo(Underpass3);
}
! In Inform we have to mvoe the limo to the place it needs to be to
! mimic the GET IN LIMO functionality like in AGT
if (fulltime > 1223) {
if (location == Grassy_Knoll) {
move Limo to Grassy_Knoll;
}
if (location == Grassy_Field) {
move Limo to Grassy_Field;
}
if (location == Underpass3) {
move Limo to Underpass3;
}
}
! Time/location/condition based events
if (location == Jail3 && fulltime > 1430) {
if (parent(Dana_Wilkins) == Jail3) {
! [GoodJob2] in the AGT source
print "Well, since this is a dark day in the history of America, it will take some
time to sort things out. In Addition, it will be a long time, if ever, to
prove that the man that you followed killed Kennedy. But you've got a date
next weekend with Dana, so things could be worse.";
} else {
! [Oopsy2] in the AGT source
print "Well, since this is a dark day in the history of America, it will take some
time to sort things out. Even worse, since you followed some nut that you
thought killed the President, you've completely missed Dana Wilkins, and love
eludes you one more time. Damn.";
}
deadflag = 3;
}
if (location == Jail && fulltime > 1400) {
if (parent(Dana_Wilkins) == Jail) {
! [GoodJob1] in the AGT source
print "Well, since this is a dark day in the history of America, it will take some
time to sort things out. But you've got a date next weekend with Dana, so
things could be worse.";
} else {
! [Oopsy] in the AGT source
print "Well, since this is a dark day in the history of America, it will take some
time to sort things out. Even worse, you've completely missed Dana Wilkins,
and love eludes you one more time. Damn.";
}
deadflag = 3;
}
if (location == EandM && fulltime > 1245) {
if (parent(Bus) == EandM) {
move Bus to Backstage;
}
! [FO2] in the AGT source
print "Well, the bus has left, and you can't get on it (obviously). Since you don't
want to get lost in Downtown Dallas, you might as well go southeast, back to
Dealy Plaza.";
}
! Time/location/chance based events
chance = random(100);
! [Arrest1] in the AGT source, 50% chance
if ((location == Grassy_Knoll ||
location == Grassy_Field ||
location == Outside_DCRB ||
location == Outside_DCCCB ||
location == Pergolas )
&& fulltime > 1233 && chance < 50) {
print "^^~Well, since you obviously saw the incident, we have to take you in for
questioning,~ says Officer Joe Smith.^^
And with that, you are taken to jail.^^";
hours = 13;
minutes = 30;
PlayerTo(Jail);
}
! [Arrest1] in the AGT source, 25% chance
if (location == Outside_SBD && fulltime > 1233 && chance < 25) {
print "^^~Well, since you obviously saw the incident, we have to take you in for
questioning,~ says Officer Joe Smith.^^
And with that, you are taken to jail.^^";
hours = 13;
minutes = 30;
PlayerTo(Jail);
}
! [Arrest2] in the AGT source, 90% chance
if ((location == SBD ||
location == SBDStairs1 ||
location == SBDStairs2 ||
location == Foyer1 ||
location == Truly ||
location == OSS ||
location == Lunchroom ||
location == ConRoom ||
location == Window6) && fulltime > 1245 && chance < 90) {
print "^^~Well, since you were in the School Book Depository, we need to take you in
for questioning,~ says Officer Chris Whitaker of the Dallas Police Department.^^
And with that, you are taken to jail.^^";
hours = 13;
minutes = 30;
PlayerTo(Jail2);
}
! [Arrest2] in the AGT source, 75% chance
if (location == LOSpace && fulltime > 1245 && chance < 75) {
print "^^~Well, since you were in the School Book Depository, we need to take you in
for questioning,~ says Officer Chris Whitaker of the Dallas Police Department.^^
And with that, you are taken to jail.^^";
hours = 13;