34528c1cd9
Lists which species have a pillar, grouped by genus, with their ascension rank and the resulting production/storage bonus. --pillars-all also shows the species still missing a pillar. Race table mirrored from the game's src/races.js (63 species). Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
43 lines
2.0 KiB
Markdown
43 lines
2.0 KiB
Markdown
# CLAUDE.md
|
||
|
||
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
||
|
||
## Project Overview
|
||
|
||
CLI tool for editing [Evolve](https://pmotschmann.github.io/Evolve/) browser game save files. Saves are LZString-compressed JSON, exported via the game's Settings > Export.
|
||
|
||
## Commands
|
||
|
||
```bash
|
||
npm install # install dependencies (lz-string)
|
||
|
||
# Max all capped resources, copy result to clipboard
|
||
node index.js --max-resources < save.txt
|
||
node index.js --max-resources "SAVE_STRING"
|
||
|
||
# Print to stdout instead of clipboard
|
||
node index.js --max-resources --no-copy < save.txt
|
||
```
|
||
|
||
## Save Format
|
||
|
||
Saves are LZString `compressToBase64` of a JSON object (not plain base64). Uses the `lz-string` npm package to match the game's own JS implementation.
|
||
|
||
Key top-level sections: `resource`, `race`, `tech`, `city`, `space`, `civic`, `genes`, `prestige`, `settings`, `arpa`, `pillars`.
|
||
|
||
### Pillars (`pillars`)
|
||
Flat map of `<species key>: <rank>` — only species with a pillar appear. Rank is the ascension `alevel()` (1–5, +1 per challenge gene active on that run), *not* the universe. 63 species total (all races except `protoplasm`); the race table lives in `RACES` in `index.js`, mirrored from the game's `src/races.js`. Pillar bonus: +1% production / +2% storage per pillar, with the currently-played species counting 4×.
|
||
|
||
### Prestige structure (`prestige.<name>`)
|
||
- `count`: current value
|
||
- Prestige currencies: `Plasmid`, `AntiPlasmid`, `Phage`, `Dark`, `Harmony`, `AICore`, `Artifact`, `Blood_Stone`, `Supercoiled`
|
||
|
||
### Resource structure (`resource.<name>`)
|
||
- `amount`: current value
|
||
- `max`: storage cap. `> 0` = capped, `-1` = unlimited (crafted), `-2` = special/uncapped, `0` = not unlocked
|
||
- Other fields: `name`, `display`, `diff`, `delta`, `rate`, `bar`, `stackable`, `crates`, `containers`, `value`, `trade`
|
||
|
||
## Architecture
|
||
|
||
Single-file Node.js CLI (`index.js`), one dependency (`lz-string`). Uses `pbcopy` (macOS) or `xclip` (Linux) for clipboard.
|