aboutsummaryrefslogtreecommitdiff
path: root/worldbuilding_guide/hacking.md
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-24 20:58:25 -0400
committerhistoria <[not public]>2026-06-24 20:58:25 -0400
commit9d4b799db4868bcab291b83599ff088763cd4ed6 (patch)
tree252f0fcc779acf35243983d643d6399ee2e0cd0b /worldbuilding_guide/hacking.md
parentd25638d98fe63efdeab570ef77e6a6a97f2d7a60 (diff)
downloadthehouseoficarus-9d4b799db4868bcab291b83599ff088763cd4ed6.tar.gz
feat: new type of non-violent 'combat': work
Diffstat (limited to 'worldbuilding_guide/hacking.md')
-rw-r--r--worldbuilding_guide/hacking.md49
1 files changed, 0 insertions, 49 deletions
diff --git a/worldbuilding_guide/hacking.md b/worldbuilding_guide/hacking.md
deleted file mode 100644
index 8927b3e..0000000
--- a/worldbuilding_guide/hacking.md
+++ /dev/null
@@ -1,49 +0,0 @@
-## Hacking
-
-Hacking minigames are played by jacking into terminal objects. Terminals are YAML objects that are registered in Go's `terminalDefs` map.
-
-### Terminal Object YAML
-
-```yaml
-id: terminal_basic
-name: basic terminal
-color: "40"
-description: "A battered terminal with a cracked screen. {40}[Level 1 Hacking]{/}"
-inroom_description: "A {40}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_<name>.yaml`
-2. Add an entry to `terminalDefs` in `internal/game/hacking.go`
-3. Optionally create a new minigame implementation in `internal/game/hacking_<name>.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
-}
-```
-
-