Perfect Parries - Souls-Like Parrying

Adds a souls/RPG precision combat mechanic where if you block at the instant where you are supposed to take damage (perfect parry), you don't lose stamina, deflect some damage, and eventually stun the attacker upon exhausting their stamina.

Asset Preview
SCREENSHOTS // IN GAME PREVIEWS

Perfect Parries rewards precise timing and transforms simple blocking from a passive mitigation tool into a potential counter-attack

Asset Preview
SCREENSHOTS // IN GAME PREVIEWS

It introduces official support for custom bosses (tested with FireMobs), and any new modded boss that gets created can easily become compatible with this mod's entity stamina system to allow for seamless stunning.

Current Features:

If you time your block at the moment the enemy's attack is landing, you deal some damage in return, don't lose extra stamina, and gain some signature energy

Compatible with custom entities and weapons; can easily add stamina system for custom bosses

Spamming block to parry will not be rewarded

/parrymod to check current settings

A successful parry will knock the opponent back a bit and have a chance to stagger them for a few seconds

VFX will play upon perfect parries, counterattacks, staggers, and stuns

Custom animation upon stunning and waking entities in fights involving parrying

Custom/special SFX will play upon perfect parries, counterattacks, staggers, and stuns

Custom parrying animations for every non-modded weapon that can block

After a successful parry, if you recieve an attack in the next 50ms it will automatically chain the parry

Counterattack: attacking right after a perfect parry deals extra damage and triggers a special hit VFX

When parrying another player, you deal a set amount of stamina damage and the time it takes for the stamina to start regenerating can also be set via the config file

Officially supports PvP with PvP specific settings and more to come based on users' requests

Entity Stamina System:

All entities will have a configurable stamina system where they get stunned (special stun and wake animation) if stamina reaches 0

A stun allows for a critical attack window (default = 2.5x damage) or rest (heal, eat, reposition, etc.)

Each parry and attack will do a different/configurable amount of stamina per mob

Config:

…modsPerfect_Parriesparry_config.json (main config for general parrying settings)

…modsPerfect_Parriespvp_config.json (config to adjust pvp settings regarding parrying)

…modsPerfect_Parriesentity_stamina.json (stamina config for vanilla entities)

…modsPerfect_Parriescustom_entity_stamina.json (stamina config for custom entities/bosses)

"parryWindowMs": 100 // the window of time you can trigger a perfect parry

"reflectDamagePercent": 0.05 // the amount of damage that is reflected upon parrying

"parryStaminaDrainMultiplier": 0.0 // the amount of stamina preserved from parrying compared to blocking normally (-1 = gain stamina from parry ; 1 = lose stamina from parry)

"knockbackX": 75.0 // the amount of horizontal knockback dealt to the parried entity

"knockbackY": 2.0 // the amount of vertical knockback dealt to the parried entity

"parriesToFullSignatureEnergy": 5 // the number of parries to reach full signature energy

"counterattackWindowMs": 400 // the window of time after a perfect parry that will trigger a counter attack

"counterattackDamageMultiplier": 1.25 // the multipler for counter attack damage

"staggerDurationSeconds": 1.5 // the amount of time an entity gets staggered (entities have a 50% chance of getting staggered upon a successful parry)

"enableEntityStamina": true // true = use Entity Stamina System

"stunDurationSeconds": 5.0 // the amount of time an entity gets staggered once stamina reaches 0 ; automatically disabled if enableEntityStamina = false

"stunnedDamageMultiplier": 2.0 // the multipler for damage towards a stunned enemy