Melee Weapon Defense Types
Contents
OverviewBase Parry TimingDefense TypesPerfect Block Adrenaline SystemWindow ModifiersBulwark Combat Shield OverrideGame FilesOverview
Every melee weapon variant has one of three defense types: Balanced, Fencing, or Block. These defense types change how the parry system works, specifically the timing windows for successful parries, whether riposte is available, and whether perfect block (with the adrenaline stacking mechanic) is enabled.
The three types are:
Balanced - Standard parry with offset timing (must parry early). No perfect block. Highest base damage. A successful perfect parry has the potential to stagger the enemy and enable gun strikes.
Fencing - Wide, forgiving parry window with extended riposte. No perfect block. Lower damage. A successful perfect parry has the potential to stagger the enemy and enable gun strikes.
Block - Replaces riposte with perfect block. A successful perfect blocks grant Adrenaline stacks that massively boost melee damage on the next hit
In all cases, if the player is in the parry state when an attack lands but is NOT in the perfect window, the attack is still blocked (no damage taken), but the player gets staggered instead of the enemy. You defended but got no reward and lost initiative.
Additionally, when you land a perfect parry or perfect block you are granted temporary immunity to incoming damage from nearly all damage types for the remaining duration of the animation. If two enemies attack you with slightly offset timing and you perfect parry/block the first attack, the second attack is completely ignored.
Base Parry Timing
Every player melee weapon shares these base values before defense type modifiers are applied:
Parameter | Value | Description |
|---|---|---|
| 0s | Parry state begins immediately on input |
| 0.66s | Total parry state duration |
| 0.165s | Delay before perfect parry window opens |
| 0.495s | Duration of perfect parry window |
| 0s | Perfect block begins immediately on input |
| 0.33s | Duration of perfect block window |
| -90 to 90 degrees | Frontal 180 degree arc |
Defense Types
Each defense type applies ABSOLUTE modifiers that shift the timing windows:
Fencing - Widest Window, Lowest Damage
Fencing modifiers eliminate the startup delay and extend the perfect parry window to fill the entire parry duration:
Perfect parry start: 0.165 + (-0.165) = 0s (no delay, immediate)
Perfect parry duration: 0.495 + 0.165 = 0.66s (fills entire parry window)
Perfect block: disabled
Result: the entire 0.66s parry window is perfect parry. No dead zones. Most forgiving timing
Stat tradeoffs: lowest base damage modifiers, fastest combos (-0.132 slowdown), fewer max targets (-2)
Balanced - Offset Window, Highest Base Damage
Balanced uses the base timing values with no modifications:
Perfect parry start: 0.165 + 0 = 0.165s (delay before perfect window opens)
Perfect parry duration: 0.495 + 0 = 0.495s
Perfect block: disabled
Result: 0.165s "too late" zone at the end (closest to the attack), then 0.495s perfect parry zone. If you press parry less than 0.165s before the attack lands, the attack hits before your perfect window opens - you block but get staggered
Stat tradeoffs: highest base damage modifiers at each tier, standard combo speed
Balanced Frame Trap
The 0.165s startup delay creates a dangerous frame trap. If you miss a perfect parry (attack lands in the "too late" zone), you get staggered. If you then try to parry the next attack in an enemy's combo too quickly, the game may treat rapid inputs as spam and you'll be stuck in another startup delay, missing the next perfect parry too. This creates a stagger cascade where you keep blocking but keep getting staggered because you can never get past the 0.165s delay.
This is especially punishing against:
Enemies with fast multi-hit combos (like Raveners and Tyranid Whip Warriors)
Multiple enemies attacking with offset timing
Any situation where you need to parry in rapid succession
Fencing and Block don't have this problem because their perfect windows start at 0s (no startup delay).
Block - Adrenaline Stacking, No Riposte
Block disables the riposte system entirely and enables perfect block:
Perfect parry/riposte: disabled (-1)
Perfect block start: 0s (immediate, no delay)
Perfect block duration: 0.33 + 0 = 0.33s
Result: 0.33s perfect block window starting immediately on input. No startup delay, but shorter overall window
Key differences from perfect parry weapons:
Block weapons do NOT stagger enemies on parry (no riposte knockback)
Instead, perfect blocks grant Adrenaline stacks (see below)
The perfect block window is shorter (0.33s vs 0.495-0.66s) but has no startup delay
Stat tradeoffs: high base damage modifiers (comparable to balanced), slowest combos (+0.066 slowdown)
Balanced | Fencing | Block | |
|---|---|---|---|
Parry difficulty | Hardest (must parry early, offset window) | Easiest (wide window from start) | Medium (0.33s perfect block window, no offset) |
Riposte (parry stagger) | Yes (starts at 0.165s) | Yes (starts at 0s, extended) | No (disabled) |
Perfect Block | No | No | Yes (0.33s window) |
Knockback on parry | Yes (via riposte) | Yes (via riposte) | No (no riposte) |
Grants Gunstrike Mark | Yes (via riposte) | Yes (via riposte) | No (no riposte) |
Adrenaline stacks | No | No | Yes (30%/90% melee damage) |
Ranged DR on block | No | No | Yes (-60% for 2s) |
Base damage | Highest | Lowest | High |
Combo speed | Standard | Fastest | Slowest |
Debuff on parried enemy | +50% sensitivity 2.2s | +50% sensitivity 2.2s | +50% sensitivity 2.2s (via perfect block) |
Summary | Highest base damage, standard speed, high cleave | Lowest damage, fastest speed, lowest cleave, widest parry | Highest potential damage with adrenaline stacking, slowest speed, low cleave |
Perfect Block Adrenaline System
The Block defense type's core mechanic. When you successfully perfect block an attack, you gain a stack of PerfectBlockBuff. These stacks are then discharged on your next melee strike for massive bonus damage.
Stack Accumulation
Property | Value |
|---|---|
Status Effect |
|
Duration | 35 seconds per stack |
Type | STACKABLE |
Max Stacks | 2 |
Melee Damage Bonus | Spline: 0 stacks = 0%, 1 stack = +30%, 2 stacks = +90% |
Bonus Type | PERCENT_MULT (multiplicative with other bonuses) |
Stack Discharge (On Next Melee Strike)
When you perform a melee strike with active PerfectBlockBuff stacks, the stacks are consumed and a discharge effect is applied:
Stacks | Discharge Effect | Duration | Bonus |
|---|---|---|---|
0 stacks | N/A | N/A | No bonus |
1 stack |
| 2.4s | +30% melee damage |
2 stacks |
| 2.4s | +90% melee damage, heavy hit amount, forces heavy hit on target, restores 1 armor segment |
After discharge, all PerfectBlockBuff stacks are cleared (clearStack = True).
The discharge is triggered by PerkTriggerMeleeStrike with shouldTriggerOnStarted = True and a 1-second delayed reset, meaning you have 1 second after your first discharge strike before the system resets.
Ranged Damage Resistance
On every successful perfect block, a separate perk grants:
-60% firearm damage sensitivity for 2 seconds
Triggered via
PerkTriggerParrywithshouldTriggerByPerfectBlock = TrueRefreshes on each perfect block (
shouldIgnoreActivationTriggerIfActive = False)
Window Modifiers
Several sources can modify the parry and perfect block windows on top of the base defense type values. These all use PERCENT_SUM, meaning they stack additively with each other.
Duelist Class Perks
Three classes have a Duellist perk that increases the perfect parry/block windows:
Class | Perk ID | Riposte Window | Perfect Block Window |
|---|---|---|---|
Vanguard |
| +50% | +50% |
Assault |
| +25% | +25% |
Heavy |
| +25% | +25% |
All three are passive perks (always active when equipped). They modify both MELEE_RIPOSTE_WINDOW and MELEE_PERFECT_BLOCK_WINDOW via PERCENT_SUM.
Because the perfect parry/block window is capped at 660ms, the Duellist perks only have an in-game effect on Block weapons. Duellist's +25% or +50% riposte extension is entirely clipped by the parry state gate. Only Block weapons have headroom for Duellist to extend the perfect block window before hitting the gate. This is the base parryEnabledDuration (the length of the parry animation). No perk or modifier can extend the perfect window width beyond this ceiling.
Heavy's Duelist perk provides zero gameplay benefit because Heavy has no access to Block-variant melee weapons. Heavy's melee defaults to Balanced, with one Heroic variant primary weapon which grants him a Fencing parry window, and Duelist provides no benefit on either defense type. Heavy players slotting this perk for its perfect-parry-window-increase advertising are wasting the perk slot.
Surgical Strike (Stratagem Modifier)
Internal ID: PveMutatorPerfectParryDealsDamageDecreasePerfectParryWindow
Applies two modifiers:
MELEE_PERFECT_BLOCK_WINDOW: -50% (PERCENT_SUM)MELEE_PARRY_WINDOW: -50% (PERCENT_SUM)
Also attaches two perks:
PerfectParryDealsDamage- perfect parry deals damage to the attackerPerfectBlockDealsDamage- perfect block deals damage to the attacker
Computed windows with Surgical Strike:
Defense Type | Base Total Window | SS Total Window | Base Perfect | SS Perfect |
|---|---|---|---|---|
Fencing | 0.66s | 0.33s | 0.66s | 0.33s |
Balanced | 0.66s | 0.33s | 0.495s | 0.495s (unchanged, but window is shorter) |
Block | 0.33s | 0.165s | 0.33s | 0.165s |
Note: Surgical Strike halves the total parry window (MELEE_PARRY_WINDOW) and the perfect block window (MELEE_PERFECT_BLOCK_WINDOW), but does NOT modify MELEE_RIPOSTE_WINDOW or MELEE_RIPOSTE_START_TIME. The perfect parry duration for fencing/balanced is not directly halved by SS - instead, the shorter total window may clip the perfect sub-window.
Duellist + Surgical Strike Combined
Duellist's extensions to MELEE_RIPOSTE_WINDOW and MELEE_PERFECT_BLOCK_WINDOW are clipped by parry state end on Fencing/Balanced even with SS stacked. On Block, Duellist's PB extension interacts directly with SS's PB reduction:
Combination | Fencing Perfect | Balanced Perfect | Block Perfect |
|---|---|---|---|
Base (no perks/strats) | 0.660s | 0.495s | 0.330s |
SS alone | 0.330s | 0.165s | 0.165s |
Vanguard Duellist + SS | 0.330s (no change from SS alone) | 0.165s (no change from SS alone) | 0.330s (SS -50% + Duellist +50% cancels → back to baseline) |
Assault Duellist + SS | 0.330s (no change from SS alone) | 0.165s (no change from SS alone) | 0.248s (SS -50% + Duellist +25% = net -25%, below baseline) |
Key observations:
On Fencing and Balanced, Duellist provides zero benefit regardless of SS, because the parry state end still gates the window. Only Block weapons get their window impacted.
Vanguard Duelist + SS on Block exactly cancels out - perfect block window returns to baseline 0.330s (though parry state is still halved to 0.330s)
Assault Duelist + SS on Block produces a below-baseline perfect block window (0.248s vs 0.330s baseline) - Assault's +25% cannot fully cancel SS's -50%
Heavy's Duelist perk is still completely pointless.
Argent Edge (Heroic Combat Knife - Fencing Variant)
Version: combat_knife_05_a (Defense: FENCING)
Heroic Perk: PvEMeleeCombatKnifeDamageAfterRiposte - each riposte deals dmg_type_melee_riposte damage (scale 9, pervasive) to the attacker
The Argent Edge is a fencing weapon, but its riposte window is similar to a Block weapon's perfect block window
Compared to normal fencing's 0.66s riposte window, this is exactly half
The tradeoff: smaller window, but every successful riposte deals bonus damage to the attacker
Bulwark Combat Shield Override
Bulwark is the only class equipped with a combat shield, and the shield fundamentally changes how the parry input works. The shield does not modify the defense type system, it changes WHEN the parry window opens. For other classes, pressing the parry button immediately enters MELEE_PARRY body state. For Bulwark with shield equipped, pressing enters BLOCK body state, and the parry state only begins on button release (or via a passive auto-parry rule on incoming hits).
Input Dispatch Override
When the combat shield is equipped, the standard parry binding is removed via shouldRemoveActionOnItemAdded = True. The BlockCommandBinding takes over and handles the input as follows:
On press: Enter BLOCK body state immediately. Shield raises.
Release within
holdTime= 250 ms (no hit yet): Exit BLOCK, enter MELEE_PARRY body state at the moment of release.CommandMeleeParryfires. Defense type modifiers apply normally from this point.Hit lands within
parryWindow= 165 ms of press (while still holding): Passive auto-parry rule converts BLOCK to MELEE_PARRY at the moment of hit. Defense type modifiers still apply (important caveat for Balanced, see below).Held past 250 ms with no hit: Pure block state. Releasing past this point drops the shield with no parry. To get another parry attempt, release and press again.
The combination of these rules means the parry window is anchored to release time for Bulwark with shield, not press time.
Tap Duration Range
The amount of time the parry window is shifted by depends on how long it takes the player to release the parry button after pressing it and for the game to recognize those events. Based on in-game testing, this typically constitutes an added delay of ~80 to 165ms, with an average of ~128ms. This delay is the practical parry window shift. For Block and Fencing it is functionally neutral the perfect window simply opens slightly later than it would on a non-shield class. For Balanced, this delay stacks on top of Balanced's existing 165 ms startup delay.
The Startup Delay Overrides the Auto-Parry Rule
When the shield's 165 ms passive auto-parry rule converts BLOCK to MELEE_PARRY on a held input, the weapon's defense type modifiers still apply to the new parry state. For Block and Fencing this is fine because neither has a startup delay and the perfect window is open at 0 ms into the parry state, so the converting hit lands in the perfect window and produces a perfect parry/block immediately. For Balanced, the 165 ms startup delay means the perfect parry window doesn't open until 165 ms into the parry state. Since the auto-parry conversion happens AT the moment of the triggering hit, the hit lands at 0 ms into the parry state which is inside Balanced's "too late" zone. The result is a deflect (player stagger, no perfect parry, no enemy stagger, no gun strike).
Per-Defense-Type Behavior on Bulwark with Shield
The perfect parry window for Bulwark with Shield is anchored to release time. All defense type modifiers apply normally to the post-release parry state.
Defense Type | Press and Hold Parry | Tapping Parry | Tapping Parry |
|---|---|---|---|
Fencing | Hits that land within 0.165s of pressing parry will count as a perfect parry | Player will perfect parry any attack that lands between pressing and releasing the parry button, plus perfect parry any attack that lands within 660ms of releasing the parry button. | Player will perfect parry any attack that lands within 165ms of pressing the parry button, plus perfect parry any attack that lands within 660ms of releasing the parry button. Attacks that land after 165ms of pressing parry button but before releasing will be deflected. |
Block | Hits that land within 0.165s of pressing parry will count as a perfect block | Player will perfect block any attack that lands between pressing and releasingthe parry button, plus perfect block any attack that lands within 300ms of releasing the parry button. | Player will perfect block any attack that lands within 165ms of pressing the parry button, plus perfect block any attack that lands within 330ms of releasing the parry button. Attacks that land after 165ms of pressing parry button but before releasing will be deflected. |
Balanced | The 0.165s startup delay on balanced prevents the player from being able to perfect parry by holding the parry button. | Any delay between pressing and releasing the parry button is added to the startup delay, thus increasing how early the player needs to anticipate any enemy attack connecting with their hit-box. Only attacks that land within 165ms and 660ms AFTER the parry button is RELEASED will count as perfect parries. | Any delay between pressing and releasing the parry button is added to the startup delay, thus increasing how early the player needs to anticipate any enemy attack connecting with their hit-box. Only attacks that land within 165ms and 660ms AFTER the parry button is RELEASED will count as perfect parries. |
Game Files
ssl\weapons\melee\weapon_descriptions\melee_weapon_descs\melee_chainsword_desc.ssossl\melee\settings\melee_combo_parry_settings.ssossl\melee\customization\melee_modifiers_library.ssossl\abilities\ui\ui_abilities_library.ssossl\status_effects\status_effect_descriptions\status_effects.ssossl\player\perks\perk_server_factory.ssossl\player\perks\perk_server_factory.ssossl\actions\action_controller_project.ssossl\actions\commands\bindings\block_command_binding.ssossl\abilities\ability_controllers\barrier\combat_shield_client.clsssl\ui\screens\customization\weapon\weapon_version_parameters\ui_weapon_version_parameter_defense.ssossl\characters\player\marine\pc_marine_pve_server.cls