From 1082f3336085c15992ca83d5553c0ba52208d70a Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 1 Oct 2026 14:38:08 -0400 Subject: feat: pai gow poker added to the casino --- building_guide/hacking.md | 50 ----------------------------------------------- 1 file changed, 50 deletions(-) delete mode 100644 building_guide/hacking.md (limited to 'building_guide/hacking.md') diff --git a/building_guide/hacking.md b/building_guide/hacking.md deleted file mode 100644 index dc4372b..0000000 --- a/building_guide/hacking.md +++ /dev/null @@ -1,50 +0,0 @@ -## Hacking - -Hacking minigames are played by jacking into terminal objects. Terminals are YAML objects that are registered in Go's `terminalDefs` map. - -**The filename is the ID** (`terminal_basic.yaml` → `terminal_basic`); like all objects, the loader derives the ID from the filename — don't 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." -``` - -- `id` must match a key in `terminalDefs` (Go code in `internal/game/hacking.go`) -- `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 -- No `behavior` field — terminals are registered in Go, not YAML behaviors - -### Adding a New Terminal - -1. Create an object YAML file in `data/objects/terminal_.yaml` -2. Add an entry to `terminalDefs` in `internal/game/hacking.go` -3. Optionally create a new minigame implementation in `internal/game/hacking_.go` -4. Place the terminal object in a room's `objects:` list - -### Adding a New Minigame - -New minigames implement the `HackingMinigame` interface: - -```go -type HackingMinigame interface { - Init(level int) string - HandleInput(input string) (output string, done bool, won bool) - Name() string -} -``` - -Optionally implement `XPBonuser` for bonus XP: - -```go -type XPBonuser interface { - BonusXP() int -} -``` - - -- cgit v1.2.3