File: rpg.rive

package info (click to toggle)
librivescript-perl 2.0.4-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,008 kB
  • sloc: perl: 3,118; makefile: 8
file content (297 lines) | stat: -rw-r--r-- 7,728 bytes parent folder | download | duplicates (2)
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
! version = 2.00

// This file tests topic inclusions and inheritance:
//
// includes: this means that the topic "includes" the triggers present
//           in another topic. Matching triggers in the source and included
//           topic are possible, and the *reply* in the source topic overrides
//           the reply in the included topic.
// inherits: all triggers in the source topic have higher matching priority than
//           all triggers in the inherited topic. So if the source topic has a
//           trigger of simply *, it means NO triggers can possibly match on the
//           inherited topic, because '*' goes higher in the match list.

// Aliases
! sub n = north
! sub w = west
! sub s = south
! sub e = east

// This gets us into the game.
+ rpg demo
- You're now playing the game. Type "help" for help.\n\n{topic=nasa_lobby}{@look}

// Global triggers available everywhere
> topic global
	+ help
	- Commands that might be helpful:\n\n
	^ look: Give a description of the current room.\n
	^ exits: List the exits of the current room.\n
	^ north, south, east, west, up, down: Go through an exit.\n
	^ inventory: Display your inventory.\n
	^ exit: Quit the game.

	+ inventory
	- Your inventory: <get inventory>

	+ exit
	- Logging out of the game...<set inventory=undefined><set spacesuit=0>{topic=random}

	+ _ *
	- You don't need to use the word "<star1>" in this game.

	+ *
	- I'm not sure what you're trying to do.

	// The following triggers get overridden on a room-by-room basis.
	+ look
	- There is nothing special in this room.

	+ exits
	- There are no exits to this room.

	+ north
	- You can't go in that direction.

	+ west
	- You can't go in that direction.

	+ south
	- You can't go in that direction.

	+ east
	- You can't go in that direction.

	+ up
	- You can't go in that direction.

	+ down
	- You can't go in that direction.
< topic

/////////////
// World Topics: all the "rooms" in our game inherit their triggers from these
// "world" topics. The world topics include the triggers from the global topic
/////////////

// Global triggers available on Earth
> topic earth includes global
	+ breathe
	- There is plenty of oxygen here so breathing is easy!

	+ what world (is this|am i on)
	- You are on planet Earth right now.
< topic

// Global triggers available on Mars
> topic mars includes global
	+ breathe
	- Thanks to your space suit you can breathe. There's no oxygen on this planet.

	+ what world (is this|am i on)
	- You are on planet Mars right now.
< topic

/////////////
// Earth rooms: all these rooms are on Earth and their inherit the earth topic
// above. This means you can type "breathe" and "what world is this?" from every
// room on Earth.
/////////////

// The NASA building on Earth
> topic nasa_lobby inherits earth
	// All of these triggers have higher matching priority than all other
	// triggers from the other topics, because this topic inherits a topic. So
	// the matching list looks like this:
	//   exits
	//   north
	//   look
	//   (combined triggers from earth & global)
	// Because our "north" is near the top of the match list, ours always gets
	// called. But if we try saying "south", we end up matching the "south" from
	// the global topic.
	+ look
	- You are in the lobby of a NASA launch base on Earth. {@exits}

	+ exits
	- There is an elevator to the north.

	+ north
	- {topic=elevator}{@look}
< topic

// Elevator in NASA building on earth
> topic elevator inherits earth
	+ look
	- You are in the elevator that leads to the rocket ship. {@exits}

	+ exits
	- Up: the path to the rocket\n
	^ Down: the NASA lobby

	+ up
	- {topic=walkway}{@look}

	+ down
	- {topic=nasa_lobby}{@look}
< topic

// Path to the rocket
> topic walkway inherits earth
	+ look
	- You are on the walkway that leads to the rocket. {@exits}

	+ exits
	- The rocket is to the north. The elevator is to the south.

	+ north
	- {topic=rocket}{@look}

	+ south
	- {topic=elevator}{@look}
< topic

// Rocket ship
> topic rocket inherits earth
	+ look
	- You are on the rocket. There is a button here that activates the rocket. {@exits}

	+ exits
	- The walkway back to the NASA base is to the south.

	+ south
	- {topic=walkway}{@look}

	+ (push|press) button
	- You push the button and the rocket activates and flies into outer space. The
	^ life support system comes on, which includes an anesthesia to put you to sleep\s
	^ for the duration of the long flight to Mars.\n\n
	^ When you awaken, you are on Mars. The space shuttle seems to have crash-landed.\s
	^ There is a space suit here.{topic=crashed}
< topic

// Crashed on Mars
> topic crashed inherits mars
	+ look
	- You are in the ruins of your space shuttle. There is a space suit here. The\s
	^ door to the shuttle is able to be opened to get outside.

	+ open door
	* <get spacesuit> == 1 => You open the door and step outside onto the red Martian surface.{topic=crashsite}{@look}
	- You can't go outside or you'll die. There's no oxygen here.

	+ (take|put on) (space suit|suit|spacesuit)
	* <get spacesuit> == 1 => You are already wearing the space suit.
	- You put on the space suit. Now you can breathe outside with this.<set spacesuit=1><set inventory=spacesuit>

	+ exits
	- The only exit is through the door that leads outside.
< topic

// Martian surface
> topic crashsite inherits mars
	+ look
	- You are standing on the red dirt ground on Mars. There is nothing but desert in all directions.

	+ exits
	- You can go in any direction from here; there is nothing but desert all around.

	+ north
	- {topic=puzzle1}{@look}

	+ east
	@ look

	+ west
	@ look

	+ south
	@ look
< topic

// Puzzle on Mars. The sequence to solve the puzzle is:
// north, west, west, north.
// Topic "puzzle" is a placeholder that sets all the directions to return
// us to the crash site. puzzle inherits mars so that puzzle's directions
// will override the directions of mars. All the steps of the puzzle then
// "include" puzzle, and override only one direction. e.g. since "west"
// exists in puzzle1, the response from puzzle1 is given, but if you're
// in puzzle1 and type "north"... north was included from "puzzle", but
// puzzle1 doesn't have a reply, so the reply from "puzzle" is given.

> topic puzzle inherits mars
	// Provides common directional functions for wandering around on Mars.
	+ north
	- {topic=crashsite}{@look}

	+ east
	- {topic=crashsite}{@look}

	+ west
	- {topic=crashsite}{@look}

	+ south
	- {topic=crashsite}{@look}
< topic

> topic puzzle1 includes puzzle
	+ look
	- You wander to a part of the desert that looks different than other parts of the desert.

	// We get 'exits' from crashsite

	+ west
	- {topic=puzzle2}{@look}
< topic

> topic puzzle2 includes puzzle
	+ look
	- This part looks even more different than the rest of the desert.

	+ west
	- {topic=puzzle3}{@look}
< topic

> topic puzzle3 inherits mars puzzle
	+ look
	- Now this part is even MORE different. Also there is a space colony nearby.

	+ north
	- {topic=entrance}{@look}
< topic

> topic entrance inherits mars
	+ look
	- You're standing at the entrance to a space colony. {@exits}

	+ exits
	- The entrance to the space colony is to the north.

	+ north
	- {topic=vaccuum}{@look}
< topic

> topic vaccuum inherits mars
	+ look
	- You're in the air lock entrance to the space colony. {@exits}

	+ exits
	- The inner part of the space colony is to the north. The martian surface is to the south.

	+ north
	- {topic=colony}{@look}

	+ south
	- {topic=vaccuum}{@look}
< topic

> topic colony inherits mars
	+ look
	- You've made it safely to the space colony on Mars. This concludes the game.

	+ exits
	- There are no exits here.

	+ *
	- This is the end of the game. There's nothing more to do.
< topic