blob: b45363f013381c149cb1a0a86ad174bc77e8560e (
plain)
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
|
## Hacking
Hacking minigames are played by jacking into terminal objects. Terminals are YAML
objects; the filename is the ID (`terminal_basic.yaml` → `terminal_basic`), and
like all objects you should not add an `id:` field (see `objects.md`).
### Terminal Object YAML
```yaml
name: basic terminal
color: "28"
description: "A battered terminal with a cracked screen. {28}[Level 1 Hacking]{/}"
inroom_description: "A {28}basic terminal{/} hums quietly against the wall."
```
- `name` is used for matching in the `jack` command
- `color` controls the display color
- `description` is shown when examining the terminal
- `inroom_description` is shown in room listings
- Terminals have no behavior block; each terminal corresponds to a minigame
registered in the game code
### Placing a Terminal
Add the terminal object to a room's `objects:` list:
```yaml
objects:
- id: terminal_basic
```
Adding a brand-new hacking minigame is an engine change, not a world-data change.
|