Please disclose if any significant portion of your mod was created using AI tools by adding the 'AI Generated' category. Failing to do so may result in the mod being removed from Thunderstore.
PPR
Perfect Parry & Reflect — Timed parry with counter attack, colored VFX, projectile reflection (perfect 3x / normal 2x), and damage reduction. Fully configurable.
By LJS
| Date uploaded | 3 weeks ago |
| Version | 1.2.0 |
| Download link | LJS-PPR-1.2.0.zip |
| Downloads | 186 |
| Dependency string | LJS-PPR-1.2.0 |
This mod requires the following mods to function
denikson-BepInExPack_Valheim
BepInEx pack for Valheim. Preconfigured and includes unstripped Unity DLLs.
Preferred version: 5.4.2202README
PPR — Perfect Parry & Reflect
A skill-based parry mod for Valheim. Block with precise timing to trigger a Perfect Parry — then counter, reflect projectiles, and take reduced damage. Every setting is configurable.
Features
⚔️ Perfect Parry
Block at the exact moment an attack lands (within 0.1s by default) to trigger a Perfect Parry.
- Counter Window (1s) — After a perfect parry, press your secondary attack to fire a fast counter at 2× animation speed
- Damage Reduction (50%) — Take half damage for the duration of the counter window
- Custom VFX — A colored effect appears to confirm the parry (default: blue
#4DB8FF)
🎨 Perfect Parry VFX Color
The vanilla white vfx_blocked is replaced on perfect parry with a custom-colored version of the same effect.
- Color is set via hex code in the config (e.g.
#FF4444red,#FFD700gold,#44FF88green) - On normal parry, the original white
vfx_blockedplays as usual - On perfect parry, the white effect is suppressed and only the colored PPR effect is shown
🏹 Projectile Reflection
Block an incoming projectile to reflect it back in the direction you're looking. Reflected damage is based on the attacker's original damage (before block reduction).
| Parry Type | Damage | Config |
|---|---|---|
| Perfect Parry | 3× | (Reflect) Perfect Parry Damage Multiplier |
| Normal Parry | 2× | (Reflect) Normal Parry Damage Multiplier |
- Normal Parry Reflect works independently of the Perfect Parry enable toggle
- Any successful block (shield raised) will reflect projectiles at 2× if enabled
🛡️ Ranged No Stagger
Ranged attackers are not staggered when their projectile is blocked or reflected.
Configuration
Edit com.KorCaptain.PPR.cfg or use an in-game config manager mod.
[Perfect Parry]
| Setting | Default | Range | Description |
|---|---|---|---|
| (Enable) Perfect Parry | true |
— | Master toggle for the perfect parry system |
| (Parry) Detection Window (sec) | 0.1 |
0.01–0.24 | Timing window for perfect parry |
| (Counter) Input Window (sec) | 1.0 |
0.1–2.0 | Time to trigger counter after parry |
| (Counter) Animation Speed Multiplier | 2.0 |
1.0–5.0 | Speed of counter attack animation |
[Perfect Parry - Damage Reduction]
| Setting | Default | Description |
|---|---|---|
| (Enable) Damage Reduction | true |
Reduce damage during counter window |
| (Damage Reduction) Reduction Rate (%) | 50 |
How much damage is reduced |
[Perfect Parry - Effect]
| Setting | Default | Description |
|---|---|---|
| (Enable) Head Effect | true |
Spawn a VFX on perfect parry |
| (Effect) VFX Name | vfx_blocked |
Prefab name (must exist in ZNetScene) |
| (Effect) Offset X/Y/Z | 0 / 1.25 / 0 |
Position offset relative to player |
| (Effect) Custom Color Enabled | true |
Apply custom color to perfect parry VFX |
| (Effect) Custom Color (Hex) | #4DB8FF |
Hex color — blue by default |
[Perfect Parry - Ranged]
| Setting | Default | Description |
|---|---|---|
| (Enable) Ranged No Stagger | true |
Prevent attacker stagger on block |
| (Enable) Projectile Reflect | true |
Reflect on perfect parry (3×) |
| (Reflect) Perfect Parry Damage Multiplier | 3.0 |
Multiplier for perfect parry reflect |
| (Enable) Normal Parry Reflect | true |
Reflect on any block (2×) |
| (Reflect) Normal Parry Damage Multiplier | 2.0 |
Multiplier for normal parry reflect |
How It Works
Hold block → attack lands within 0.1s → Perfect Parry triggers
→ VFX appears (colored)
→ Press secondary attack within 1s → Counter fires at 2× speed
→ Incoming damage reduced by 50% during counter window
Hold block (any time) → projectile hits → Reflected at 2× damage
Perfect parry a projectile → Reflected at 3× damage
Reflection direction always follows where you are looking.
Requirements
- Valheim (latest)
- BepInEx 5.4.22+
Compatibility
- Compatible with most combat mods
- Tested alongside Warfare — no conflicts
- If using SecondaryAttacks, a cooldown indicator may briefly flash on counter — visual only, does not limit re-use
Changelog
v1.2.0
- NEW Perfect Parry VFX color customization — hex code in config, applied cleanly before particle play
- NEW Vanilla
vfx_blockedis suppressed on perfect parry and replaced with the colored version - NEW Projectile reflection on Perfect Parry (3× original damage, configurable)
- NEW Projectile reflection on Normal Parry — any successful block (2×, configurable)
- NEW Reflected damage uses attacker's pre-block damage as the base
- NEW Reflection direction follows player look direction
- NEW Ranged No Stagger — ranged attackers are not staggered on block/reflect
- FIX Normal Parry Reflect works independently of the Perfect Parry enable toggle
- TWEAK Default counter window: 1.0s (was 0.6s)
- TWEAK Default counter speed: 2.0× (was 2.5×)
- TWEAK Default VFX Y offset: 1.25 (was 2.5)
v1.0.0
- Initial release
- Perfect Parry detection with configurable timing window
- Counter attack with animation speed boost
- Damage reduction during counter window
- VFX effect on successful parry
Made by KorCaptain
CHANGELOG
Changelog
v1.2.1
- FIX Projectile reflection now works against all ranged attack types (arrows, rocks, trolls, magic) — previously failed due to mod compatibility issue with Impetus
- FIX Reflection no longer errors when other mods patch
Projectile.Setupwith null item checks - NEW Greydwarf rock (Aoe-type projectile) reflection support added
- FIX Look direction fallback to
transform.forwardwhenGetLookDir()returns zero vector
v1.2.0
- NEW Perfect Parry VFX color customization via hex code in config (default:
#4DB8FFblue) - NEW Vanilla
vfx_blockedsuppressed on perfect parry — replaced with custom-colored version of the same effect; normal parry still shows original white vfx_blocked - NEW Projectile reflection on Perfect Parry — 3× attacker's original damage (configurable)
- NEW Projectile reflection on Normal Parry — any successful block reflects at 2× (configurable)
- NEW Reflected damage uses attacker's pre-block damage as the base value
- NEW Reflection direction follows player look direction
- NEW Ranged No Stagger — ranged attackers are not staggered when projectile is blocked or reflected
- FIX Normal Parry Reflect now works independently of the Perfect Parry enable toggle
- TWEAK Default counter input window: 1.0s (was 0.6s)
- TWEAK Default counter animation speed: 2.0× (was 2.5×)
- TWEAK Default VFX Y offset: 1.25 (was 2.5)
v1.0.0
- Initial release
- Perfect Parry detection with configurable timing window (default 0.1s)
- Counter attack triggered by secondary attack within counter window
- Counter animation speed multiplier
- Damage reduction during counter window (default 50%)
- VFX effect above player head on successful parry