


# Parrying
### Precise timing-based parry system with streak tracking and multiplayer support.
## What Is This?
Adds a new mechanic to Necropolis, which makes timed blocks act as parries that knock enemies down. Block an attack within 0.15 seconds, and your opponent goes down. Includes some toast messages and Brazen Head commentary on consecutive parry streaks.
## Translations
The mod supports 8 languages that Necropolis shipped with (check [JSONLocalizeAPI](https://thunderstore.io/c/necropolis/p/KoMiKoZa/JSONLocalizeAPI/) page for info). It detects the game's language on startup and uses localized text strings. Currently included translations: **Russian** and **German**. If you would like to help with translations, please, see the **Support** section at the end.
## Core Features
### Parry Window
- **0.15s timing window** after blocking (strict precision timing)
- **Knocks attackers down** on successful parry
- **2 seconds grace period** for riposte attacks without breaking streak
### Feedback System (On Successful Parries)
- Toast notifications
- Sound effect
- **Brazen Head dialogue** at milestone streaks:
- 5 consecutive parries (repeatable with cooldown)
- 10 consecutive parries (plays once, no cooldown)
### Streak Mechanics
**Builds on:** Successful consecutive parries
**Resets on:**
- Taking damage
- Blocking (standard)
- Attacking outside 2 seconds grace period
### Multiplayer
- **Network synchronized** parry effects
- **Per-client streak tracking** (local only)
- Works in co-op sessions
### Configuration
All features toggleable via BepInEx config:
- Mod enable/disable
- Parry SFX
- Toast notifications
- Brazen Head dialogue
- Debug logging
## Installation
### Manual
Only do this if you're not using a mod manager ([Gale](https://github.com/Kesomannen/gale/releases) is recommended).
1. Install [BepInExPack Necropolis](https://thunderstore.io/c/necropolis/p/BepInEx/BepInExPack_Necropolis/)
2. Install [JSONLocalizeAPI](https://thunderstore.io/c/necropolis/p/KoMiKoZa/JSONLocalizeAPI/)
3. Extract mod into BepInEx/plugins/
4. Launch game
### Configuration File
BepInEx/config/komikoza.necropolis.parrying.cfg
**[General]**
- ModEnabled - Enable/disable mod (default: true)
**[Audio & Visual]**
- PlayParryAudio - Play parry sound (default: true)
- ShowParryToast - Show parry notification (default: true)
- ShowBrazenHeadDialogue - Brazen Head commentary (default: true)
**[Debug]**
- DebugMode - Enable debug logging (default: false)
## FAQ
**Q: What's the exact timing window?**
- A: 0.15 seconds after blocking. You need to time the block right when enemy hit is about to connect.
**Q: Does this work in multiplayer?**
- A: Yes. Parrying is synchronized across all clients, but each player tracks their own streak locally.
**Q: Why did my streak reset?**
- A: Streaks reset when you do a normal block, take damage, or attack outside the 2-second grace period after a parry.
**Q: Can I disable Toasts and Brazen Head dialogue but keep parries?**
- A: Yes. Set both to false in the config file.
**Q: Does this affect game balance?**
- A: It adds a high-skill defensive option. The 0.15s window is tight enough that it won't trivialize combat.
## Changelog
### 1.0.0
- Initial release (on Discord)
### 1.0.1
- Initial Thunderstore release
- Lots of performance and safety updates
- Fixed toast messages appearing on normal blocks
- Localization support via JSONLocalizeAPI dependency
## Credits
- **Author**: KoMiKoZa
**Discord**: komikoza
- **RU Translations**: KoMiKoZa
- **DE Translations**: Razuberi
## Support
- **Issues & Feedback**: Report bugs and leave suggestions on [Discord](https://discord.gg/2233yFQ) or [GitHub](https://github.com/yourusername/necropolis-parrying)