diff --git a/README.md b/README.md index f1b1a4d..dc313ce 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ DuckHunt is an asyncio-based IRC bot that runs a classic “duck hunting” mini ## Features - Per-channel stats (same nick has separate stats per channel) -- Multiple duck types (normal / golden / fast) +- Multiple duck types (normal / golden / fast + special variants) - Shop + inventory items - Admin commands (rearm/disarm/ignore, spawn ducks, join/leave channels) - `!globalducks` totals across channels @@ -32,13 +32,35 @@ python3 duckhunt.py ## Configuration -Edit `config.json`: +Copy the example config and edit it: + +```bash +cp config.json.example config.json +``` + +Then edit `config.json`: - `connection.server`, `connection.port`, `connection.nick` - `connection.channels` (list of channels to join on connect) - `connection.ssl` and optional password/SASL settings -Security note: don’t commit real IRC passwords/tokens in `config.json`. +Security note: `config.json` is ignored by git in this repo; don’t commit real IRC passwords/tokens. + +### Duck types + +Duck types are configured under `duck_types` in `config.json`. + +Built-in variants supported by the game logic: + +- `normal`, `fast`, `golden` +- `concrete` (multi-HP) +- `holy_grail` (multi-HP) +- `diamond` (multi-HP) +- `explosive` (on kill: eliminates the shooter for 2 hours) +- `poisonous` (on befriend: poisons the befriender for 2 hours) +- `radioactive` (on befriend: poisons the befriender for 8 hours) +- `couple` (spawns 2 ducks at once) +- `family` (spawns 3–4 ducks at once) ## Persistence @@ -62,6 +84,18 @@ Player stats are saved to `duckhunt.json`. - `!globalducks [player]` (totals across all configured channels) - `!duckhelp` (sends a PM with examples) +### Shop items (IDs) + +Use `!shop` / `!buy ` / `!use `. + +- `10` Sniper Rifle: perfect aim for 30 minutes +- `11` Sniper Scope: perfect aim for 60 minutes +- `12` Duck Whistle: instantly summons a duck (if none are present) +- `13` Duck Caller: instantly summons a duck (if none are present) +- `14` Duck Horn: instantly summons a duck (if none are present) +- `15` Duck Decoy: summons a duck in ~1 hour (if none are present) +- `16` Duck Radar: DM alert when a duck spawns in that channel (6 hours) + ### Admin commands - `!rearm ` @@ -76,7 +110,8 @@ Player stats are saved to `duckhunt.json`. ``` duckhunt/ ├── duckhunt.py # Entry point -├── config.json # Bot configuration +├── config.json # Bot configuration (ignored by git) +├── config.json.example # Safe template to copy ├── duckhunt.json # Player database (generated/updated at runtime) └── src/ ├── duckhuntbot.py # IRC bot + command routing