Update README for new duck types and items

This commit is contained in:
3nd3r
2025-12-28 13:50:08 -06:00
parent b256b9a9f6
commit ffe8bdfaf2

View File

@@ -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: dont commit real IRC passwords/tokens in `config.json`.
Security note: `config.json` is ignored by git in this repo; dont 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 34 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 <id>` / `!use <id>`.
- `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 <player|all>`
@@ -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