ifmapper 0.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (87) hide show
  1. data/HISTORY.txt +2 -0
  2. data/IFMapper.gemspec +21 -0
  3. data/IFMapper.rb +27 -0
  4. data/icons/copy.png +0 -0
  5. data/icons/cut.png +0 -0
  6. data/icons/filenew.png +0 -0
  7. data/icons/fileopen.png +0 -0
  8. data/icons/filesave.png +0 -0
  9. data/icons/filesaveas.png +0 -0
  10. data/icons/help.png +0 -0
  11. data/icons/kill.png +0 -0
  12. data/icons/nextpage.png +0 -0
  13. data/icons/paste.png +0 -0
  14. data/icons/prevpage.png +0 -0
  15. data/icons/printicon.png +0 -0
  16. data/icons/redo.png +0 -0
  17. data/icons/saveas.png +0 -0
  18. data/icons/undo.png +0 -0
  19. data/icons/winapp.png +0 -0
  20. data/icons/zoom.png +0 -0
  21. data/lib/IFMapper/Connection.rb +63 -0
  22. data/lib/IFMapper/FXAboutDialogBox.rb +32 -0
  23. data/lib/IFMapper/FXConnection.rb +283 -0
  24. data/lib/IFMapper/FXConnectionDialogBox.rb +126 -0
  25. data/lib/IFMapper/FXMap.rb +1614 -0
  26. data/lib/IFMapper/FXMapDialogBox.rb +51 -0
  27. data/lib/IFMapper/FXMapFileDialog.rb +29 -0
  28. data/lib/IFMapper/FXMapperSettings.rb +45 -0
  29. data/lib/IFMapper/FXMapperWindow.rb +1051 -0
  30. data/lib/IFMapper/FXPage.rb +24 -0
  31. data/lib/IFMapper/FXPageDialogBox.rb +38 -0
  32. data/lib/IFMapper/FXRoom.rb +218 -0
  33. data/lib/IFMapper/FXRoomDialogBox.rb +119 -0
  34. data/lib/IFMapper/FXSearchDialogBox.rb +51 -0
  35. data/lib/IFMapper/FXSpline.rb +54 -0
  36. data/lib/IFMapper/FXWarningBox.rb +45 -0
  37. data/lib/IFMapper/IFMReader.rb +613 -0
  38. data/lib/IFMapper/Map.rb +110 -0
  39. data/lib/IFMapper/PDFMapExporter.rb +315 -0
  40. data/lib/IFMapper/Page.rb +158 -0
  41. data/lib/IFMapper/Room.rb +104 -0
  42. data/maps/Bureaucracy.ifm +75 -0
  43. data/maps/Hollywood_Hijinx.ifm +149 -0
  44. data/maps/Jigsaw.ifm +806 -0
  45. data/maps/LGOP.ifm +705 -0
  46. data/maps/Mercy.ifm +76 -0
  47. data/maps/Planetfall.ifm +186 -0
  48. data/maps/Plundered_Hearts.ifm +251 -0
  49. data/maps/Ralph.ifm +50 -0
  50. data/maps/Robots_of_Dawn.ifm +224 -0
  51. data/maps/Seastalker.ifm +149 -0
  52. data/maps/Sherlock.ifm +209 -0
  53. data/maps/SoFar.ifm +72 -0
  54. data/maps/Starcross.ifm +170 -0
  55. data/maps/Suspended.ifm +82 -0
  56. data/maps/Wishbringer.ifm +277 -0
  57. data/maps/Wishbringer2.ifm +246 -0
  58. data/maps/Zork1.ifm +410 -0
  59. data/maps/Zork2.ifm +150 -0
  60. data/maps/Zork3.ifm +136 -0
  61. data/maps/Zork_Zero.ifm +557 -0
  62. data/maps/anchor.ifm +645 -0
  63. data/maps/atrox.ifm +134 -0
  64. data/maps/awaken.ifm +116 -0
  65. data/maps/babel.ifm +279 -0
  66. data/maps/bse.ifm +150 -0
  67. data/maps/change.ifm +128 -0
  68. data/maps/curses.ifm +307 -0
  69. data/maps/curves.ifm +529 -0
  70. data/maps/edifice.ifm +158 -0
  71. data/maps/frozen.ifm +126 -0
  72. data/maps/glow.ifm +101 -0
  73. data/maps/library.ifm +93 -0
  74. data/maps/mindelec.ifm +89 -0
  75. data/maps/minster.ifm +234 -0
  76. data/maps/muse.ifm +154 -0
  77. data/maps/paperchase.ifm +110 -0
  78. data/maps/space_st.ifm +104 -0
  79. data/maps/stationfall.ifm +320 -0
  80. data/maps/theatre.ifm +182 -0
  81. data/maps/toonesia.ifm +54 -0
  82. data/maps/tortoise.ifm +72 -0
  83. data/maps/vgame.ifm +219 -0
  84. data/maps/weather.ifm +98 -0
  85. data/maps/windhall.ifm +154 -0
  86. data/maps/zebulon.ifm +68 -0
  87. metadata +144 -0
@@ -0,0 +1,104 @@
1
+
2
+ #
3
+ # Class used to represent a Room or Location in a Map.
4
+ #
5
+ class Room
6
+ attr_accessor :name
7
+ attr_accessor :objects
8
+ attr_accessor :tasks
9
+ attr_reader :exits
10
+ attr_accessor :darkness
11
+ attr_accessor :x, :y
12
+
13
+ DIRECTIONS = [
14
+ 'N',
15
+ 'NE',
16
+ 'E',
17
+ 'SE',
18
+ 'S',
19
+ 'SW',
20
+ 'W',
21
+ 'NW',
22
+ ]
23
+
24
+ DIR_TO_VECTOR = {
25
+ 0 => [ 0, -1 ],
26
+ 1 => [ 1, -1 ],
27
+ 2 => [ 1, 0 ],
28
+ 3 => [ 1, 1 ],
29
+ 4 => [ 0, 1 ],
30
+ 5 => [ -1, 1 ],
31
+ 6 => [ -1, 0 ],
32
+ 7 => [ -1, -1 ]
33
+ }
34
+
35
+ def [](dir)
36
+ return @exits[dir]
37
+ end
38
+
39
+ def []=(dir, connection)
40
+ @exits[dir] = connection
41
+ end
42
+
43
+ #
44
+ # Return a direction from the vector of the exit that would take
45
+ # us to the 'b' room more cleanly.
46
+ #
47
+ def vector_to_dir(dx, dy)
48
+ if dx == 0
49
+ return 4 if dy > 0
50
+ return 0 if dy < 0
51
+ raise "vector_to_dir: dx == 0 and dy == 0"
52
+ elsif dx > 0
53
+ return 1 if dy < 0
54
+ return 2 if dy == 0
55
+ return 3
56
+ else
57
+ return 7 if dy < 0
58
+ return 6 if dy == 0
59
+ return 5
60
+ end
61
+ end
62
+
63
+ #
64
+ # Given to 'adjacent' rooms, return the most direct exit from this
65
+ # room to room b.
66
+ #
67
+ def exit_to(b)
68
+ dx = (b.x - @x)
69
+ dy = (b.y - @y)
70
+ return vector_to_dir(dx, dy)
71
+ end
72
+
73
+ # Check if two rooms are next to each other. If so,
74
+ # return the exit that would take us from this room to the other.
75
+ # Otherwise, return nil
76
+ def next_to?(b)
77
+ if not b.kind_of?(Room)
78
+ raise "next_to?(b): #{b} is not a room."
79
+ end
80
+ if self == b
81
+ raise "next_to? comparing same room #{self}"
82
+ end
83
+ dx = (b.x - @x)
84
+ dy = (b.y - @y)
85
+ return nil if dx.abs > 1 or dy.abs > 1
86
+ return vector_to_dir(dx, dy)
87
+ end
88
+
89
+
90
+ def initialize(x, y, name = 'Room')
91
+ @exits = Array.new( DIRECTIONS.size )
92
+ @darkness = false
93
+ @name = name
94
+ @x = x
95
+ @y = y
96
+
97
+ @objects = ''
98
+ @tasks = ''
99
+ end
100
+
101
+ def to_s
102
+ "\"#{@name}\""
103
+ end
104
+ end
@@ -0,0 +1,75 @@
1
+ # IFM Map for "Bureaucracy" by Infocom
2
+ # This file written by Dave Chapeskie <dchapes@ddm.crosswinds.net>
3
+ #
4
+ # $Id: Bureaucracy.ifm,v 1.3 2000/10/27 17:22:45 dchapes Exp $
5
+ #
6
+ # Note: only just started, not updated to use IFM v2.0 features
7
+
8
+ title "Bureaucracy";
9
+
10
+ ########################################################################
11
+ # Starting Items
12
+ item "digital wristwatch";
13
+ item "wallet";
14
+ item "US Excess card" hidden;
15
+ item "Beezer card" hidden;
16
+
17
+ ########################################################################
18
+ map "Main Area";
19
+
20
+ room "Back Room";
21
+ item "telephone/answering machine";
22
+ item "table";
23
+ item "hacksaw";
24
+ item "address book" tag address_book;
25
+ item "small case";
26
+ item "Boysenberry computer";
27
+ item "letter";
28
+ item "passport";
29
+ task "read second page" need address_book
30
+ note "to get bank's addresses";
31
+ # 547 314-0947
32
+ # 318-1128,319-5620
33
+ # 17 Okapi Plaze 315-8117
34
+ # 316-6888
35
+ task "open case" note "reveals adventure game cartridge and an eclipse predicting cartridge";
36
+ room "Front Room" dir e start;
37
+ task "open door" tag O_door;
38
+ room "(outside, address=n)" tag Outside dir e after O_door exit n s w e;
39
+ item "mailbox";
40
+ #task "open mailbox" note "reveals leaflet";
41
+ item "leaflet" hidden;# after last;
42
+ #task "x leaflet" need leaflet note "mentions stamp";
43
+ item "stamp" hidden;# after last;
44
+
45
+ room "Alley" tag Alley dir e e;
46
+ item "back door";
47
+ room "Behind Mansion" dir s;
48
+ task "open screen door" tag O_screen
49
+ after Ring_doorbell; #not really
50
+ room "Porch" dir w after O_screen;
51
+ item "macaw";
52
+ item "mail";
53
+ room "Trophy Room" dir s exit w n;
54
+ item "painting";
55
+ item "matron";
56
+
57
+ room "(n-1)" tag Outside_N1 dir n from Outside exit n s e w;
58
+ room "Restaurant" tag Restaurant dir e e
59
+ oneway; #not really. We just can't go out the front without paying
60
+ item "grubby door";
61
+ task "order food";
62
+ task "eat burger" score 1 after last;
63
+ task "open door";
64
+ link Restaurant to Alley oneway after last;
65
+ room "Bookshop" dir w from Outside_N1;
66
+
67
+ room "(n-2)" dir n from Outside_N1 exit e w n;
68
+
69
+ room "(n+1)" dir s s from Outside exit n s e;
70
+ task "ring doorbell" tag Ring_doorbell;
71
+ room "(n+2)" dir s exit n s w;
72
+ item "llama";
73
+ item "mailbox";
74
+ item "notice";
75
+ room "(n+3)" dir s;
@@ -0,0 +1,149 @@
1
+ ########################################################################
2
+ # IFM map for "Hollywood Hijinx" by Infocom
3
+ # This file written by Glenn Hutchings <zondo@hunting2.demon.co.uk>
4
+ #
5
+ # $Id: Hollywood_Hijinx.ifm,v 1.2 2003/01/11 21:29:21 dchapes Exp $
6
+ #
7
+ # Status: map incomplete, no tasks, item notes
8
+ ########################################################################
9
+
10
+ title "Hollywood Hijinx";
11
+
12
+ ########################################################################
13
+
14
+ map "Outside the House";
15
+
16
+ room "South Junction" tag S_Junc;
17
+ item "statue" note "Turn it W, E, N to open door";
18
+
19
+ room "Front Porch" dir n tag Porch;
20
+ item "yellowed paper" note "Contains maze map";
21
+ item "business card";
22
+
23
+ room "Southwest Junction" dir w w n n from S_Junc tag SW_Junc;
24
+
25
+ room "Patio" dir e e tag Patio;
26
+ item "orange punch card" note "Feed it to computer";
27
+
28
+ room "Southeast Junction" dir e e n n from S_Junc link Patio tag SE_Junc;
29
+
30
+ room "Garden, South" dir n from Patio tag G_South;
31
+
32
+ room "Garden, East" dir ne;
33
+
34
+ room "Garden, North" dir nw tag G_North;
35
+ item "pond";
36
+
37
+ room "Garden, West" dir sw link G_South;
38
+ item "shovel" note "Dig for treasure in maze";
39
+
40
+ room "Entrance to Hedge Maze" dir n from G_North tag EHM;
41
+
42
+ room "Hedge Maze" dir n;
43
+
44
+ room "Northwest Junction" dir w w from EHM link SW_Junc;
45
+
46
+ room "Cannon Emplacement" dir n n e e tag Cannon;
47
+ item "cannon";
48
+ item "cannonball" note "Fire it from cannon";
49
+
50
+ room "Northeast Junction" dir e e s s link EHM SE_Junc tag NE_Junc;
51
+
52
+ room "Cliff" dir n from Cannon go down;
53
+ item "ladder";
54
+ item "hatch";
55
+
56
+ ########################################################################
57
+
58
+ map "The Ground Floor";
59
+
60
+ room "Foyer" join Porch tag Foyer;
61
+
62
+ room "Hallway" dir e;
63
+ item "painting";
64
+ item "green punch card" note "Feed it to computer" hidden;
65
+ item "wall safe" hidden;
66
+ item "cheese grater" note "Treasure" hidden;
67
+
68
+ room "Parlour" dir e;
69
+ item "piano";
70
+ item "violet punch card" note "Feed it to computer" hidden;
71
+
72
+ room "Living Room" dir w w from Foyer tag L_Room;
73
+ item "statuettes" note "Encode safe combination";
74
+ item "rug";
75
+ item "phone";
76
+
77
+ room "Fireplace" dir w;
78
+ item "loose brick";
79
+ item "indigo punch card" note "Feed it to computer" hidden;
80
+
81
+ room "Dining Room" dir n n from L_Room tag D_Room;
82
+ item "thin paper" note "Contains maze map";
83
+
84
+ room "Game Room" dir e e link Foyer;
85
+ item "scale model";
86
+
87
+ room "Short Hall" dir e tag Hall;
88
+
89
+ room "Men's Room" dir s;
90
+
91
+ room "Ladies' Room" dir n from Hall;
92
+
93
+ room "Screening Room" dir e from Hall;
94
+ item "yellow punch card" note "Feed it to computer";
95
+
96
+ room "Projection Booth" dir s;
97
+ item "projectors";
98
+ item "film";
99
+ item "slide";
100
+
101
+ room "Kitchen" dir w from D_Room;
102
+
103
+ room "Cellar" dir s go down tag Cellar;
104
+ item "computer" note "Feed it the punch cards";
105
+
106
+ room "Closet" dir nw from Foyer go in tag Closet;
107
+ item "pegs";
108
+ item "bucket";
109
+ item "skis" note "Ski over broken steps";
110
+
111
+ link Cellar to Closet style special;
112
+
113
+ ########################################################################
114
+
115
+ map "On the Beach";
116
+
117
+ room "Top Landing" join NE_Junc;
118
+
119
+ room "Middle of Beach Stairs" dir n;
120
+
121
+ room "Bottom Landing" dir n tag Landing;
122
+
123
+ room "Beach" dir n go down;
124
+ item "green match";
125
+ item "fire";
126
+
127
+ room "Inlet" dir w w;
128
+
129
+ room "Surface of Grotto Pool" dir s s tag Pool;
130
+
131
+ room "Grotto" dir e tag Grotto;
132
+
133
+ link Grotto to Landing dir n;
134
+
135
+ room "Grotto, Underwater" dir s from Pool go down;
136
+
137
+ room "Underwater Passage" dir s go down;
138
+
139
+ room "Underwater Passage" dir w;
140
+
141
+ room "Underwater" dir n go up;
142
+
143
+ room "Surface of Pool" dir n go up;
144
+
145
+ room "Ledge" dir n;
146
+
147
+ room "Tunnel" dir n;
148
+
149
+ ########################################################################
data/maps/Jigsaw.ifm ADDED
@@ -0,0 +1,806 @@
1
+ # IFM Map for Jigsaw
2
+ # Jigsaw is by Graham Nelson
3
+ # This file writen by Dave Chapeskie <dchapes@ddm.crosswinds.net>
4
+ # Many little mistakes corrected by Daniel Biddle <deltab@osian.net>
5
+ #
6
+ # $Id: Jigsaw.ifm,v 1.6 2003/01/12 16:29:50 dchapes Exp $
7
+ #
8
+ # Note: This is unfinished, not updated to use IFM 2.0 features.
9
+
10
+ title "Jigsaw";
11
+
12
+ ########################################################################
13
+ map "Prologue";
14
+ # --------
15
+
16
+ # Starting Items
17
+ item "white party ticket" tag Party_Ticket;
18
+
19
+ # Starting room
20
+ room "Century Park" start tag Century_Park
21
+ exit n;
22
+ item "corner piece" tag Jig1 hidden score 1 after Beer_Tent lost;
23
+
24
+ # Other rooms/items
25
+ room "Beer Tent" dir e from Century_Park;
26
+ item "sparkler" tag Sparkler keep;
27
+ task "enter Beer Tent" tag Beer_Tent get Jig1;
28
+
29
+ room "Behind Beer Tent" dir se from Century_Park
30
+ score 1 after Beer_Tent;
31
+ item "rucksack" tag Sack keep;
32
+ item "wooden box" note "Labeled A4";
33
+ item "tagged key" tag Tagged_Key hidden;
34
+ item "curious device" tag Device hidden score 1
35
+ need Sack keep; # not really
36
+
37
+ room "Churchyard" dir ne from Century_Park;
38
+ item "night-jar";
39
+ task "sketch night-jar" tag Sketch1 need Pencil Sketch_Book;
40
+
41
+ room "Victorian Chapel" dir e;
42
+ item "collage statue";
43
+
44
+ room "Vestry" dir e;
45
+ item "piano stool";
46
+ item "charcoal pencil" tag Pencil hidden score 1;
47
+ item "sketch book" tag Sketch_Book hidden score 1;
48
+
49
+ room "Kaldecki's Monument" tag Monument dir w from Century_Park;
50
+
51
+ room "Atop the Monument" dir w go up;
52
+ item "lightning conductor";
53
+ task "light the fuse" need Sparkler score 1
54
+ after Sketch1; # not really
55
+
56
+ room "Corridor in the Monument" dir n w n from Monument go in
57
+ oneway after last;
58
+ item "glass display case";
59
+ task "put gadget on case" tag Unlock_Case need RzRov;
60
+ item "corner piece" tag Jig16 hidden lost score 1 after Unlock_Case;
61
+
62
+ room "Inside the Monument" tag Jigsaw dir e;
63
+ item "jigsaw table";
64
+ item "ormolu clock" tag Clock keep;
65
+ item "centre piece" tag Jig2 hidden score 1 lost;
66
+ task "clean table" tag Clean_Table score 1;
67
+ task "place A1 piece" need Jig4 tag Jig4 score 1 after Clean_Table;
68
+ task "place A2 piece" need Jig9 tag Jig9 score 1 after Clean_Table;
69
+ task "place A3 piece" need Jig14 tag Jig14 score 1 after Clean_Table;
70
+ task "place A4 piece" need Jig1 tag Jig1 score 1 after Clean_Table;
71
+ task "place B1 piece" need Jig5 tag Jig5 score 1 after Clean_Table;
72
+ task "place B2 piece" need Jig7 tag Jig7 score 1 after Clean_Table;
73
+ task "place B3 piece" need Jig12 tag Jig12 score 1 after Clean_Table;
74
+ task "place B4 piece" need Jig8 tag Jig8 score 1 after Clean_Table;
75
+ task "place C1 piece" need Jig3 tag Jig3 score 1 after Clean_Table;
76
+ task "place C2 piece" need Jig2 tag Jig2 score 1 after Clean_Table;
77
+ task "place C3 piece" need Jig6 tag Jig6 score 1 after Clean_Table;
78
+ task "place C4 piece" need Jig11 tag Jig11 score 1 after Clean_Table;
79
+ task "place D1 piece" need Jig16 tag Jig16 score 1 after Clean_Table;
80
+ task "place D2 piece" need Jig15 tag Jig15 score 1 after Clean_Table;
81
+ task "place D3 piece" need Jig13 tag Jig13 score 1 after Clean_Table;
82
+ task "place D4 piece" need Jig10 tag Jig10 score 1 after Clean_Table;
83
+
84
+ task "set clock to 59" tag Clock2 need Clock after Jig2 score 1;
85
+ task "turn clock off and set it" tag Clock3 need Clock after Jig3;
86
+ task "turn clock off and set it" tag Clock4 need Clock after Jig4;
87
+ task "set clock" tag Clock5 need Clock after Jig5
88
+ Jig6; # not really
89
+ task "set clock" tag Clock6 need Clock after Jig6
90
+ Jig8; # not really
91
+ task "set clock" tag Clock7 need Clock after Jig9;
92
+ task "set clock" tag Clock8 need Clock after Jig8
93
+ after Kiss_Black; # not really
94
+ task "set clock" tag Clock9 need Clock after Jig10;
95
+ task "set clock" tag Clock10 need Clock after Jig11;
96
+ task "set clock" tag Clock11 need Clock after Jig12
97
+ after Jig14; # not really
98
+ task "set clock" tag Clock12 need Clock after Jig13
99
+ after Jig16; # not really
100
+ task "set clock" tag Clock13 need Clock after Fly;
101
+ task "set clock" tag Clock14 need Clock after Jig14
102
+ after Decrypt2; # not really
103
+ task "set clock" tag Clock15 need Clock after Jig10
104
+ after Break_Cables; # not really
105
+
106
+
107
+ task "push A1" tag PushA1 after Clock4 goto Wing_Staircase;
108
+ task "push A2" tag PushA2 after Clock7 goto Abbey_Road;
109
+ task "push A3" tag PushA3 after Clock14 goto East_Berlin;
110
+ #task "push A4" tag PushA4 after Clock goto ;
111
+ task "push B1" tag PushB1 after Clock5 goto Rue_Hamelin;
112
+ task "push B2" tag PushB2 after Clock9 goto Devil_Hill;
113
+ task "push B3" tag PushB3 after Clock11 goto Crawlway;
114
+ task "push B4" tag PushB4 after Clock8 goto Tundra;
115
+ task "push C1" tag PushC1 after Clock3 goto Reading_Room;
116
+ task "push C2" tag PushC2 after Clock2 goto Flat;
117
+ task "push C3" tag PushC3 after Clock6 goto Steam_Train;
118
+ #task "push C4" tag PushC4 after Clock goto ;
119
+ task "drop sparkler; push C4" tag PushC4 after Clock10 goto Lunar_Mod;
120
+ #task "push D1" tag PushD1 after Clock goto ;
121
+ #task "push D2" tag PushD2 after Clock goto ;
122
+ task "push D3" tag PushD3 after Clock12 goto Cabbage_Fields;
123
+ task "push D3 again" tag PushD3_again after Clock13 goto Bletchley;
124
+ task "get sparkler; push D4" tag PushD4 after Clock15 goto Eastern_Hotel_Room;
125
+
126
+ room "Disc Room" tag Disc_Room dir se;
127
+ item "black disc";
128
+
129
+ ########################################################################
130
+ map "Chapter One - Ricochet";
131
+ # -----------
132
+ room "Flat over the Street" tag Flat score 1;
133
+ item "dresser drawer";
134
+ task "unlock and open dresser" need Tagged_Key get Jig3;
135
+ item "edge piece" tag Jig3 hidden score 1 lost;
136
+ task "shake Black's hand" score 1;
137
+ task "shoot Archduke" tag Shoot_Duke score 1;
138
+ task "sketch horses" tag Sketch2 need Pencil Sketch_Book after Shoot_Duke;
139
+ task "return to Disc Room" after Shoot_Duke goto Disc_Room;
140
+
141
+
142
+ ########################################################################
143
+ map "Chapter Two - Icy Calm";
144
+ # -----------
145
+ room "Reading Room" tag Reading_Room;
146
+ item "The Times";
147
+ item "folded note";
148
+ task "read Times and note";
149
+
150
+ room "First Class Lounge" tag Lounge dir sw;
151
+ item "clock";
152
+
153
+ room "Port Promenade (fore)" dir n;
154
+ item "broken ice";
155
+
156
+ room "Port Promenade (aft)" dir w link Staircase;
157
+ item "broken ice";
158
+
159
+ room "First Class Entrance" tag Entrance dir e from Lounge;
160
+
161
+ room "Top of Stairs" tag Top_Stairs dir ne n go up;
162
+ item "band";
163
+ item "notice";
164
+ task "unlock Wireless room door" tag Unlock_Wireless need Long_Key;
165
+
166
+ room "Gymnasium" dir w;
167
+ item "jacket" tag Jacket;
168
+
169
+ room "Starboard Promenade (fore)" dir s from Lounge;
170
+ item "broken ice";
171
+
172
+ room "Starboard Promenade (aft)" dir w;
173
+ item "broken ice";
174
+
175
+ room "Adjoining Staircase" tag Staircase dir n;
176
+ item "first-aid box";
177
+ item "Sailor's Syrup" hidden;
178
+ task "wear jacket" tag Wear_Jacket in any need Jacket;
179
+
180
+ room "Smoke Room" dir w;
181
+ item "Benjamin Guggenheim";
182
+ task "wait for letter" give Secret_Letter after Wear_Jacket need Jacket;
183
+ item "secret letter" tag Secret_Letter hidden lost;
184
+
185
+ room "Palm Court" dir w;
186
+ item "Miss Shutes";
187
+ item "ouija board";
188
+ task "give secret letter to Shutes" tag Give_Letter
189
+ need Secret_Letter need Jacket score 1;
190
+ task "examine ouija board" after Give_Letter get Jig4;
191
+ item "corner piece" tag Jig4 hidden lost score 1;
192
+
193
+ room "Boat Deck" dir nw from Staircase go up;
194
+ item "deckchairs";
195
+ task "move deckchairs" score 1 get Sea_Book;
196
+ item "Boy's Book of the Sea" tag Sea_Book hidden;
197
+ task "examine book" need Sea_Book get Elegant_Key;
198
+ item "elegant key" tag Elegant_Key hidden;
199
+
200
+ room "Cabins" dir e from Entrance;
201
+ item "Captain Smith";
202
+ task "unlock Black's cabin door" tag Unlock_Cabin_Door need Elegant_Key;
203
+ task "get towel from stewardess" after Find_Towel get Towel;
204
+ item "towel" tag Towel hidden
205
+ note "reads: 3*6=24 Opens about 2.10 am, in the lounge";
206
+
207
+ room "Inside Black's Cabin" dir e after Unlock_Cabin_Door score 1;
208
+ item "long-barreled key" tag Long_Key lost;
209
+ item "Kaldecki detector" tag KD hidden keep;
210
+ item "second note" hidden;
211
+ task "spin detector" tag Detect1 need KD;
212
+ task "open porthole" after Detect1 get Jig5;
213
+ task "let stewardess find towel" tag Find_Towel;
214
+ item "edge piece" tag Jig5 hidden lost score 1;
215
+
216
+ room "Wireless Room" dir e from Top_Stairs need Jacket
217
+ after Unlock_Wireless Wear_Jacket;
218
+ item "charts";
219
+ item "primitive wireless";
220
+ item "operator";
221
+ task "examine charts" tag X_Chart;
222
+ task "send CQD" after X_Chart score 2;
223
+
224
+ task "use clock to return" need Clock after X_Chart in any goto Disc_Room;
225
+
226
+ ########################################################################
227
+ map "Chapter Three - And 1% Luck";
228
+ # -------------
229
+ room "Clarence Wing Staircase" tag Wing_Staircase;
230
+ item "notice board";
231
+ task "put mouldy dish on suitcase" tag Put_Dish after Push_Suitcase
232
+ need Mouldy_Dish;
233
+ task "wait for Fleming" tag Fleming after Put_Dish score 1;
234
+ task "wait for disturbed air" tag Disturbed_Air1 after Fleming;
235
+ task "press white button" tag Press_Button1 after Disturbed_Air1 need Device;
236
+ task "enter black ball" after Press_Button1 goto LandA1 score 1;
237
+
238
+
239
+ room "Asthma Laboratory" dir sw w go down;
240
+ item "white mice";
241
+ task "sketch mice" tag Sketch3 need Pencil Sketch_Book;
242
+
243
+ room "Office" dir n;
244
+ item "jar of penicillium";
245
+ task "look under jar" tag LU_Jar give Typed_Note;
246
+ item "typed note" tag Typed_Note after LU_Jar hidden;
247
+ task "read typed note" tag Read_Typed_Note need Typed_Note;
248
+
249
+ room "Fleming's Laboratory" dir nw w from Wing_Staircase go up score 1
250
+ after Read_Typed_Note; # not really
251
+ item "Petri dishes";
252
+ item "certificate" tag Fleming_Certificate;
253
+ task "reveal jigsaw piece" tag Get_FC need Fleming_Certificate get Jig6;
254
+ item "centre piece" tag Jig6 score 1 hidden lost;
255
+ item "suitcase" tag Suitcase hidden after Get_FC
256
+ given lost; # not really
257
+ task "search dishes" tag S_Dishes get Mouldy_Dish;
258
+ item "mouldy dish" tag Mouldy_Dish hidden after S_Dishes lost;
259
+ task "push suitcase east" tag Push_Suitcase goto Wing_Staircase
260
+ need Suitcase Mouldy_Dish; # not really
261
+
262
+ ########################################################################
263
+ map "Chapter Four - Temps Perdu";
264
+ # ------------
265
+ room "Rue Hamelin" tag Rue_Hamelin;
266
+ item "door to #44";
267
+
268
+ room "Avenue Kleber" dir n tag Kleber;
269
+ item "\"Le Figaro\"";
270
+
271
+ #link Kleber to Paris dir e nw;
272
+ #link Kleber to Paris dir w ne;
273
+ room "Paris by Night" dir n tag Paris style puzzle
274
+ exit w nw n ne e; # all go back to this room
275
+ task "follow characters" get Absinthe;
276
+ item "flask of absinthe" tag Absinthe hidden lost;
277
+ task "drink absinthe" tag Drunk in any need Absinthe goto Hallucinating;
278
+
279
+ room "Hallucinating" tag Hallucinating dir e after Drunk style special oneway;
280
+ item "Black";
281
+ task "dance" goto Kleber score 1;
282
+ link Hallucinating to Kleber style special oneway;
283
+
284
+ room "The Seine" dir s from Rue_Hamelin;
285
+ item "small coin" tag Small_Coin after Drunk;
286
+
287
+ room "Maison du The" tag Maison dir w;
288
+ item "grandfather clock";
289
+ item "jasmine tea";
290
+ item "paperoles" tag Paperole hidden after Swing_Pendulum lost;
291
+ task "put madeleine in tea" tag Dip_Madeleine need Madeleine;
292
+ task "eat madeleine" tag Eat_Madeleine need Madeleine after Dip_Madeleine
293
+ goto School
294
+ in any; # ?
295
+
296
+ room "Your First School" tag School dir n style special after Eat_Madeleine score 1;
297
+ item "clock";
298
+ task "swing pendulum" tag Swing_Pendulum goto Maison get Paperole;
299
+
300
+ room "44, Rue Hamelin" dir e from Rue_Hamelin;
301
+ item "cage lift";
302
+ item "uniformed boy";
303
+ item "tip boy and go up" need Small_Coin;
304
+
305
+ room "First Floor Landing" dir e go up;
306
+ #room "Second Floor Landing" dir n go up;
307
+ #room "Third Floor Landing" dir n go up;
308
+ #room "Fourth Floor Landing" dir n go up;
309
+ room "Fifth Floor Landing" tag Fifth_Floor dir n go up;
310
+ item "ajar door";
311
+ #room "Sixth Floor Landing" dir n go up;
312
+ #room "Seventh Floor Landing" dir n go up;
313
+ room "Top Floor Landing" dir n go up;
314
+ item "centre piece" tag Jig7 score 1 lost;
315
+
316
+ room "Fifth Floor Flat" dir e from Fifth_Floor score 1;
317
+ item "invitation";
318
+ item "tea tray" tag Tray;
319
+ item "madeleine" tag Madeleine;
320
+ task "reveal jigsaw piece" tag Get_Tray need Tray get Jig8;
321
+ item "edge piece" tag Jig8 after Get_Tray score 1 hidden lost;
322
+ task "drop paperole" tag Drop_Paperole need Paperole score 1;
323
+
324
+ task "use clock to return" after Drop_Paperole in any need Clock Jig7 Jig8
325
+ goto Disc_Room;
326
+
327
+ ########################################################################
328
+ map "Chapter Five - No Compromise";
329
+ # ------------
330
+ room "Corridor of a Steam Train" tag Steam_Train;
331
+ item "Pravda";
332
+ task "unlock door" tag Unlock_Bathroom need Little_Key;
333
+
334
+ room "English Compartment" dir e;
335
+ item "army uniform" tag Army_Uniform;
336
+ item "army trunk";
337
+ task "wear uniform" tag Wear_Uniform in any need Army_Uniform score 1
338
+ after Get_Paskha; # not really, could just remove uniform
339
+ task "open trunk" give Little_Key;
340
+ item "little key" tag Little_Key hidden;
341
+
342
+ room "Bathroom Compartment" dir w from Steam_Train after Unlock_Bathroom
343
+ score 1;
344
+ item "man bound and gagged";
345
+ task "search man" get Travel_Permit;
346
+ item "travel permit" tag Travel_Permit hidden;
347
+
348
+ room "Soldiers' Carriage" dir s from Steam_Train need Travel_Permit;
349
+ item "soldiers";
350
+ item "paskha" tag Paskha score 1 lost;
351
+ task "ask about paskha" tag Get_Paskha get Paskha;
352
+
353
+ room "Lenin's Carriage" tag Lenin dir n from Steam_Train
354
+ after Wear_Uniform need Army_Uniform;
355
+ item "Lenin";
356
+ task "give blank paper to Lenin" need Blank_Paper give Chit;
357
+ item "chit" tag Chit hidden note "this is the signed blank paper";
358
+
359
+ room "Guard's Van" dir ne nw n;
360
+ item "Dmitri";
361
+ item "blank paper" tag Blank_Paper lost;
362
+ task "give boy paskha" need Paskha get Blank_Paper;
363
+
364
+ room "Ice, Wind, Rails" dir n;
365
+ item "metal bomb" tag Bomb hidden after Drop_Piece lost;
366
+ item "edge piece" tag Jig9 hidden lost after Drop_Piece score 1;
367
+ task "throw bomb" tag Throw_Bomb need Bomb score 1;
368
+
369
+ room "In Queue" dir nw from Lenin;
370
+ task "wait in queue" tag Queue need Chit goto Smoky_Compartment;
371
+
372
+ room "Smoky Compartment" tag Smoky_Compartment dir n oneway style special score 1
373
+ need Chit after Queue;
374
+ link Smoky_Compartment to Lenin dir se oneway style special;
375
+ item "ash tray" tag Ash_Tray lost;
376
+ task "look under bed" tag LU_Bed;
377
+ task "open grille" tag Open_Grill after LU_Bed;
378
+ task "put piece in grill" tag Drop_Piece need Ash_Tray after Open_Grill
379
+ goto Lenin;
380
+
381
+ task "use clock to return" need Clock after Throw_Bomb in any goto Disc_Room;
382
+
383
+ ########################################################################
384
+ map "Chapter Six - Wish You Were Here";
385
+ # -----------
386
+ room "Abbey Road" tag Abbey_Road score 1;
387
+ item "window";
388
+ item "Black";
389
+ task "when Black hums, kiss Black" tag Kiss_Black score 1;
390
+ task "use clock to return" need Clock after Kiss_Black in any goto Disc_Room;
391
+
392
+ ########################################################################
393
+ map "Chapter Seven - In The Wilderness";
394
+ # -------------
395
+ room "Tundra" tag Tundra score 1;
396
+ item "snow goose";
397
+ task "sketch goose" tag Sketch4 need Pencil Sketch_Book;
398
+ task "drop seed" tag Distract_Goose need Seed;
399
+
400
+ room "Copse of Fir Trees" dir w;
401
+ item "fir tree";
402
+ item "goose nest";
403
+ task "throw cable at nest and pull it" need Cable after Distract_Goose
404
+ get Jig10 get Cable2;
405
+ item "corner piece" tag Jig10 score 1 lost;
406
+
407
+ room "Woodcutter's Shed" dir sw;
408
+ item "broom" tag Broom;
409
+ item "seed" tag Seed lost;
410
+
411
+ room "Rocky Crags" dir sw from Tundra go up;
412
+ item "coil of cable" tag Cable lost;
413
+ item "coil of cable" tag Cable2 hidden lost; # actually the same cable
414
+
415
+ room "Snowy Forest" dir e from Tundra style puzzle;
416
+ task "wander around until you find a snow leopard" tag Snow_Leopard;
417
+ task "sketch leopard" tag Sketch5 after Snow_Leopard need Pencil Sketch_Book;
418
+
419
+ room "Snowy Basin" tag Basin dir n;
420
+ link Basin to Tundra go up;
421
+ task "brush snow" tag Brush need Broom;
422
+ task "tie cable to ring" tag Tie_Cable after Brush need Cable2;
423
+ task "use clock to return" need Clock Jig10 Jig11 goto Disc_Room
424
+ score 1; # XXX
425
+
426
+ room "Metal Shaft" dir e go down style special after Tie_Cable score 1;
427
+ item "missile" note "serial code WDID-51";
428
+ task "open access hatch" tag O_Missle;
429
+ item "edge piece" tag Jig11 hidden after Press_Buttons score 1 lost;
430
+
431
+ room "In the Serpent's Mouth" dir e go in;
432
+ item "red green and blue buttons";
433
+ task "press green and blue buttons" tag Press_Buttons;
434
+
435
+ ########################################################################
436
+ map "Chapter Eight - 59 Seconds, 852 Feet";
437
+ # -------------
438
+ room "Big King Devil Hill" tag Devil_Hill;
439
+ item "paper dart";
440
+
441
+ room "Atlantic Beach" tag Beach dir e e e e n n;
442
+ item "bottle";
443
+
444
+ room "Hanger" tag Hanger dir w w link Dune_Valley;
445
+ item "anemometer";
446
+ item "corn bread" tag Bread lost;
447
+
448
+ room "By the Railing" dir w w link Devil_Hill;
449
+ item "Orville";
450
+ item "Wilbur";
451
+ item "Flyer";
452
+ item "crowd";
453
+ item "dog" hidden;
454
+ task "sketch dog" tag Sketch6 need Pencil Sketch_Book;
455
+
456
+ room "Dune Valley" tag Dune_Valley dir n n;
457
+ link Beach to Dune_Valley dir nw nw;
458
+ link Hanger to Dune_Valley dir n w;
459
+ task "distract Orville for 3 turns" tag Distract_Orville
460
+ after Practice_Mandolin need Mandolin score 2;
461
+ task "wait for successful flight" after Distract_Orville in any;
462
+
463
+ room "Little Hill" tag Little_Hill dir n;
464
+ link Little_Hill to Beach dir e e e e;
465
+ item "flyer" hidden;
466
+ item "centre piece" tag Jig12 lost score 1;
467
+ task "get aileron" goto Beach give Jig12;
468
+
469
+ room "Machine Shop" tag Machine_Shop dir s from Hanger go in;
470
+ item "mandolin" tag Mandolin score 1;
471
+ item "heater";
472
+ item "heater lid" hidden;
473
+ task "practice the mandolin" tag Practice_Mandolin need Mandolin in any;
474
+ task "shake mosquito powder box" tag Shake_Box need Mosquito_Powder;
475
+ task "plug air holes with bread" tag Plug_Holes need Bread after Shake_Box
476
+ score 1
477
+ need Jig12; # not really
478
+ item "creased edge piece" tag Jig13 hidden score 1 after Plug_Holes;
479
+
480
+ room "Kitchen End of Hut" dir e;
481
+ item "mousetrap";
482
+ task "bait the trap" tag Bait_Trap need Bread;
483
+ task "wait for and sketch mouse" tag Sketch7 need Pencil Sketch_Book
484
+ after Bait_Trap;
485
+
486
+ room "Eaves of Hut" dir w from Machine_Shop go up;
487
+ item "green cap" tag Green_Cap lost;
488
+ item "\"Place Names of Carolina\"";
489
+ item "box of mosquito powder" tag Mosquito_Powder hidden score 1
490
+ need Green_Cap; # not really, just need to move it
491
+
492
+ task "use clock to return" in any need Jig12 Jig13 goto Disc_Room;
493
+
494
+ ########################################################################
495
+ map "Chapter Nine - The High Point";
496
+ # ------------
497
+ room "Lunar Module" tag Lunar_Mod;
498
+ item "computer";
499
+ item "sextant";
500
+ item "\"Atlas of the Moon\"" tag Atlas lost;
501
+ item "Black";
502
+ task "wait for black to mention landing site" tag Mention_Site;
503
+ task "consult atlas on site, give it to Black" tag Correct_Black need Atlas
504
+ after Mention_Site;
505
+ task "wait for landing" after Correct_Black score 1;
506
+ task "program waldo (F2,R2,F2,S1,R4,F2,L2,F2)" tag ProgWaldo1 need Waldo
507
+ score 1;
508
+ task "reprogram waldo (F2)" tag ProgWaldo2 need Waldo after WaitWaldo1;
509
+ task "wait for disturbed air" tag Disturbed_Air2 after C_Reactor need Jig14;
510
+ task "press white button" tag Press_Button2 after Disturbed_Air2 need Device;
511
+ task "enter black ball" after Press_Button2 goto LandC4;
512
+
513
+ room "A Magnificent Desolation" tag Desolation dir e go down;
514
+ link Desolation to Bear_Mountain dir e s oneway;
515
+ link Desolation to Bear_Mountain dir s e oneway;
516
+ item "lunar Module \"Othello\"";
517
+ item "lunar rover";
518
+
519
+ room "Bear Mountain" tag Bear_Mountain dir se se from Desolation;
520
+ link Bear_Mountain to Regolith dir n nw oneway style special;
521
+ link Bear_Mountain to Regolith dir w n n oneway style special;
522
+ item "gnomon" tag Gnomon;
523
+
524
+ room "Regolith" tag Regolith dir n from Desolation;
525
+ link Regolith to Desolation dir e oneway;
526
+
527
+ room "Emory Crator" tag Emory_Crator dir n;
528
+ link Emory_Crator to Regolith dir w oneway;
529
+ item "green clod" tag Green_Clod score 1 lost;
530
+
531
+ room "Apollo 17 Landing Site" tag Apollo17 dir n;
532
+ item "lunar module \"Challenger\"";
533
+ item "plaque";
534
+ item "American flag";
535
+
536
+ room "North Massif" tag N_Massif dir n;
537
+ item "gold foil" tag Gold_Foil lost;
538
+
539
+ room "Station 6 Rock" tag Station6 dir e;
540
+ link Station6 to Apollo17 dir s oneway;
541
+
542
+ room "Behind the Rock" dir ne go in;
543
+ item "cargo pod";
544
+ task "open pod with gnomon" tag O_Pod need Gnomon score 1;
545
+ item "Waldo" tag Waldo hidden after O_Pod lost;
546
+ item "checklist" hidden;
547
+
548
+ room "Silver Cairns" tag Silver_Cairns dir w from Apollo17 score 1
549
+ after O_Pod; # not really
550
+ link Silver_Cairns to N_Massif dir n oneway;
551
+ link Silver_Cairns to Horatio dir sw oneway;
552
+ item "nuclear reactor";
553
+ item "cable";
554
+ item "long rod" tag Long_Rod score 1 after ActWaldo2 lost;
555
+ task "wrap rod with foil" tag Wrap_Rod need Gold_Foil
556
+ after PrepWaldo2; # not really
557
+ task "attach cable to waldo" tag PrepWaldo2 need Waldo after ProgWaldo2;
558
+ task "press pink button" tag ActWaldo2 after PrepWaldo2 Wrap_Rod;
559
+ task "put rod in reactor" tag Load_Reactor after ActWaldo2 need Long_Rod;
560
+ task "turn waldo. press button" tag C_Reactor after Load_Reactor score 1;
561
+
562
+
563
+ room "Between Horatio and Victory" tag Horatio dir w;
564
+ link Horatio to Shorty_Crater dir w;
565
+
566
+ room "Shorty Crater" tag Shorty_Crater dir sw w;
567
+
568
+ room "Tortilla Flat" dir sw style special;
569
+ item "astronauts";
570
+ item "rover";
571
+ task "throw green clod at astronauts" tag Distract_Astronauts need Green_Clod
572
+ after PrepWaldo1; # not really
573
+ task "drop Waldo and turn him south" tag PrepWaldo1 need Waldo after ProgWaldo1;
574
+ task "press pink button" tag ActWaldo1 after PrepWaldo1 Distract_Astronauts;
575
+ task "wait for Waldo" tag WaitWaldo1 after ActWaldo1;
576
+ item "edge piece" tag Jig14 hidden lost score 1 after WaitWaldo1;
577
+
578
+ ########################################################################
579
+ map "Chapter Ten - The Ghost of the B-29";
580
+ # -----------
581
+ room "Crawlway" tag Crawlway exit ne sw;
582
+
583
+ room "Ghost Plane" tag Cockpit dir n ne score 1;
584
+ link Crawlway to Cockpit dir ne;
585
+ item "instrument panel";
586
+ item "navigator's chair";
587
+ task "turn aut/p on" tag AutP;
588
+ task "when fuel low, press cuteng/l" tag CutEngL after AutP score 1;
589
+ task "fly to (1945,1970)" tag Fly_B29 after ResF;
590
+ task "land" tag Land_B29 after Fly_B29 score 1;
591
+ task "press rel/b" tag RelB after Drop_Safe;
592
+
593
+ room "Navigator's Alcove" dir w go in;
594
+ item "radio";
595
+
596
+ room "Nose Turret" dir se from Cockpit go down;
597
+ item "pinup of Deanna Durbin";
598
+ task "clean pinup and read it";
599
+
600
+ room "Fuselage Ring" tag Fuselage dir s sw from Crawlway;
601
+ link Crawlway to Fuselage dir sw;
602
+ item "Geiger counter";
603
+ item "heavy equipment locker";
604
+ item "safe" tag Safe hidden after Land_B29 score 1 lost;
605
+
606
+ room "East Side Bomb Bays" dir e;
607
+
608
+ room "West Side Bomb Bays" dir w from Fuselage;
609
+ task "press res/f" tag ResF after CutEngL AutP score 1;
610
+ task "Drop safe" tag Drop_Safe need Safe;
611
+
612
+ room "Frosty Airfield" tag Airfield dir n n from Cockpit go out after RelB;
613
+ item "safe";
614
+ task "put gadget on safe" tag O_Safe need RzRov;
615
+ item "beige folder" tag Folder hidden after O_Safe;
616
+ item "shelf" tag Shelf hidden after O_Safe lost score 1;
617
+ item "edge piece" tag Jig15 hidden given lost; # score 1;
618
+ task "put all in sack" tag InSack need Jig15 goto Captive;
619
+
620
+ room "Silk and Ash" dir e;
621
+ item "torn parachute";
622
+ item "gadget" tag RzRov hidden score 1 lost;
623
+
624
+ room "Disused Control Tower" dir se from Airfield;
625
+
626
+ room "In Captivity" tag Captive dir w w sw from Airfield style special oneway;
627
+ task "wait for disturbed air" tag Disturbed_Air3;
628
+ task "press white button" tag Press_Button3 after Disturbed_Air3
629
+ need Sack2 Device;
630
+ task "put body of black in ball" tag Rescue_Black after Press_Button3 score 1;
631
+ task "enter black ball" after Rescue_Black goto LandB3;
632
+
633
+ room "Cell Block Corridor" dir n after Disturbed_Air3;
634
+ item "pine table";
635
+ item "rucksack" tag Sack2 keep;
636
+
637
+ ########################################################################
638
+ map "Chapter Eleven - Banburismus";
639
+ # --------------
640
+ room "Cabbage Fields" tag Cabbage_Fields;
641
+ task "fly" after Fly goto Disc_Room;
642
+
643
+ room "Inside the Barn" dir e;
644
+ item "wardrobe";
645
+ item "Black";
646
+ item "typewriter" note "\"Enigma\"";
647
+ item "slip of paper"
648
+ note "Stngs X, Y, ? a-g, w-c, v-t, u-j, y-r";
649
+ item "two cogged wheels" hidden note "I and III";
650
+ task "examine slip of paper" tag X_Paper;
651
+ task "jump" tag Jump after X_Paper;
652
+ task "fly" tag Fly after Jump;
653
+
654
+ room "Hiding from Bletchley Park" tag Bletchley score 1
655
+ dir sw from Cabbage_Fields style special oneway; #not really
656
+ item "spent cartrisge";
657
+
658
+ room "Sheltered" dir e;
659
+ item "cloth cap" tag Cloth_Cap;
660
+ task "wear cloth cap" tag Wear_Cloth_Cap need Cloth_Cap in any;
661
+ task "sketch mallard" tag Sketch8 need Pencil Sketch_Book;
662
+
663
+ room "Exposed" dir n from Bletchley after Wear_Cloth_Cap;
664
+ task "answer poacher" tag AnsPoacher goto Hut31;
665
+
666
+ room "Hut 31" tag Hut31 after AnsPoacher score 1
667
+ dir w style special oneway; # not really
668
+ item "intercept";
669
+ item "heavy crate";
670
+ item "enigma" hidden;
671
+ item "wheel I" hidden;
672
+ item "wheel II" tag Wheel2 hidden lost;
673
+ item "wheel III" hidden;
674
+ item "wheel IV" tag Wheel4 hidden lost;
675
+ item "wheel V" tag Wheel5 hidden lost;
676
+ task "Put wheels II,IV,V in enigma" need Wheel2 Wheel4 Wheel5 tag PrepEnigma;
677
+ task "unstecker" tag UnStecker after PrepEnigma;
678
+ task "stecker a to g" tag Stecker1 after UnStecker;
679
+ task "stecker w to c" tag Stecker2 after Stecker1;
680
+ task "stecker v to t" tag Stecker3 after Stecker2;
681
+ task "stecker u to j" tag Stecker4 after Stecker3;
682
+ task "stecker y to r" tag Stecker5 after Stecker4;
683
+ task "turn machine off" tag EnigmaOff after Stecker5;
684
+ task "set II to X (from paper)" tag Set2 after EnigmaOff;
685
+ task "set IV to Y (from paper)" tag Set4 after Set2;
686
+ # The above all comes from what we've observed
687
+ task "type intercept" tag Decrypt1 after Set4 score 1;
688
+ task "stecker d to f" tag Stecker6 after Decrypt1;
689
+ task "stecker x to p" tag Stecker7 after Stecker6;
690
+ task "set II to 1" tag Set2b after Stecker7;
691
+ task "set IV to 10" tag Set4b after Set2b;
692
+ task "correct setting for V" tag Set5 after Set4b;
693
+ task "type intercept" tag Decrypt2 after Set5 score 1 goto Conclusion;
694
+
695
+ room "Inescapable Conclusion" tag Conclusion
696
+ dir s style special oneway after Decrypt2; # not really
697
+ task "return to disc room" goto Disc_Room after Decrypt2;
698
+
699
+ ########################################################################
700
+ map "Chapter Twelve - Old Cartridge Cases";
701
+ # --------------
702
+ room "East Berlin" tag East_Berlin;
703
+
704
+ room "Near the Brandenburg Gate" tag Brandenburg dir w;
705
+
706
+ room "Alleyway" tag Alleyway dir n;
707
+ task "climb fence" goto NoMansLand;
708
+
709
+ room "No Man's Land" tag NoMansLand dir w style special;
710
+ task "climb fence" goto Alleyway
711
+ after Sketch9; # not really
712
+
713
+ room "The Middle of No Man's Land" tag NoMansLand2 dir sw oneway;
714
+ link NoMansLand2 to NoMansLand dir se oneway;
715
+ item "hare";
716
+ task "sketch hare" tag Sketch9 need Pencil Sketch_Book;
717
+
718
+ room "Beside the Spree River" dir n from Alleyway;
719
+ item "thick rope" tag Thick_Rope score 1 lost;
720
+
721
+ room "Corner" tag Corner dir s s from Brandenburg;
722
+ task "drive north" tag Break_Cables after TieRope2Skoda score 1
723
+ goto Precarious_Balcony;
724
+
725
+ room "Derelict Apartment Block" tag Apartment dir sw e go in;
726
+ item "masonry";
727
+ task "look under masonry" tag LU_Masonry
728
+ after Pay_Cleaner; #not really
729
+
730
+ room "Precarious Balcony" tag Precarious_Balcony dir e go up;
731
+ item "Berliner";
732
+ item "basket weave purse";
733
+ item "cyrillic-lettered key" hidden tag Cyrillic_Key lost;
734
+ item "fifty ost-mark note" hidden tag Ost_Mark;
735
+ task "return to disc room" after Break_Cables goto Disc_Room;
736
+
737
+ room "Checkpoint Charlie" tag CP_Charlie dir e e from Corner exit s;
738
+
739
+ room "Side Street" dir n;
740
+ item "white Skoda";
741
+ task "unlock/enter/start Skoda" tag Unlock_Skoda need Cyrillic_Key;
742
+ task "drive to Checkpoint Charlie" tag Drive_Skoda after Unlock_Skoda score 1
743
+ goto CP_Charlie;
744
+
745
+ room "Unter den Linden" dir n oneway link East_Berlin;
746
+ item "hoarding";
747
+ task "give ost-mark note to street cleaner" tag Pay_Cleaner need Ost_Mark
748
+ after Drive_Skoda;
749
+ #item "delivered note" hidden after Pay_Cleaner;
750
+ task "drive to corner/exit" after Pay_Cleaner goto Corner;
751
+
752
+ room "Cellar Tunnel" dir s from Apartment go down score 1
753
+ need Sparkler after LU_Masonry exit w sw;
754
+
755
+ room "U-Bahn Conduit" tag Bahn dir sw;
756
+ item "manhole";
757
+ item "telephone cables";
758
+ task "tie rope to cables" tag TieRope2Cables need Thick_Rope score 1;
759
+ task "up; tie rope to skoda" tag TieRope2Skoda after TieRope2Cables;
760
+
761
+ ########################################################################
762
+ map "Chapter Thirteen - Out of the East";
763
+ # ----------------
764
+
765
+ room "Easter Hotel Room" tag Eastern_Hotel_Room exit n;
766
+ item "\"Eagle\" comic";
767
+
768
+ ########################################################################
769
+ map "Chapter Fourteen - ";
770
+ # ----------------
771
+
772
+ ########################################################################
773
+ map "Chapter Fifteen - ";
774
+ # ----------------
775
+
776
+ ########################################################################
777
+ map "The Land";
778
+ # --------
779
+ #room_width = 2.0;
780
+ room "Cube (A1)" tag LandA1;
781
+ room "Clouded Crags (A2)" tag LandA2 dir e e;
782
+ room "Scree Fall (A3)" tag LandA3 dir e e;
783
+ room "Dodecahedron (A4)" tag LandA4 dir e e;
784
+ room "Glacier Milk (B1)" tag LandB1 dir s s from LandA1 link LandA2;
785
+ room "Northwest of Pyramid (B2)" tag LandB2 dir e e
786
+ link LandA1 link LandA2 link LandA3;
787
+ room "Northeast of Pyramid (B3)" tag LandB3 dir e e
788
+ link LandB2 link LandA2 link LandA3 link LandA4;
789
+ room "Toll Gate (B4)" tag LandB4 dir e e link LandA3 link LandA4;
790
+ item "doorway";
791
+ room "At the Pagoda (C1)" tag LandC1 dir s s from LandB1 link LandB2;
792
+ item "Chinese pagoda";
793
+ room "Southwest of Pyramid (C2)" tag LandC2 dir e e link LandB1 link LandB2;
794
+ room "Southeast of Pyramid (C3)" tag LandC3 dir e e link LandB3 link LandB4;
795
+ room "Ash River Culvert (C4)" tag LandC4 dir e e link LandB3 link LandB4;
796
+ room "(D1)" tag LandD1 dir s s from LandC1 link LandC2;
797
+ room "(D2)" tag LandD2 dir e e link LandC1 link LandC2 link LandC3;
798
+ room "Carved Faces (D3)" tag LandD3 dir e e
799
+ link LandC2 link LandC3 link LandC4;
800
+ item "faces";
801
+ room "(D4)" tag LandD4 dir e e link LandC3 link LandC4;
802
+
803
+ room "Pyramid" dir se from LandB2 link LandB3 link LandC2 link LandC3;
804
+ task "return" goto Disc_Room; # XXX
805
+ task "return" goto Disc_Room need Jig14; # XXX
806
+ task "return" goto Disc_Room need Jig15; # XXX