← Core Game Mechanics Melee Weapon Defense Types Open Calculator →

Melee Weapon Defense Types

Authors:IncognitoIncognitoStrajevskiStrajevski

Overview

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

parryEnabledStartTime

0s

Parry state begins immediately on input

parryEnabledDuration

0.66s

Total parry state duration

riposteEnabledStartTime

0.165s

Delay before perfect parry window opens

riposteEnabledDuration

0.495s

Duration of perfect parry window

perfectBlockEnabledStartTime

0s

Perfect block begins immediately on input

perfectBlockEnabledDuration

0.33s

Duration of perfect block window

parryDirectionAngle

-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

PerfectBlockBuff

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

PerfectBlockBuffDischarge_Weak

2.4s

+30% melee damage

2 stacks

PerfectBlockBuffDischarge_Strong

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 PerkTriggerParry with shouldTriggerByPerfectBlock = True

  • Refreshes 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

PveBerserkIncreaseRiposteWindow

+50%

+50%

Assault

PveRaiderIncreaseRiposteWindow

+25%

+25%

Heavy

PveSupportIncreaseRiposteWindow

+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 attacker

  • PerfectBlockDealsDamage - 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. CommandMeleeParry fires. 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
Release <=165ms

Tapping Parry
Release >165ms, <250ms

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.sso

  • ssl\melee\settings\melee_combo_parry_settings.sso

  • ssl\melee\customization\melee_modifiers_library.sso

  • ssl\abilities\ui\ui_abilities_library.sso

  • ssl\status_effects\status_effect_descriptions\status_effects.sso

  • ssl\player\perks\perk_server_factory.sso

  • ssl\player\perks\perk_server_factory.sso

  • ssl\actions\action_controller_project.sso

  • ssl\actions\commands\bindings\block_command_binding.sso

  • ssl\abilities\ability_controllers\barrier\combat_shield_client.cls

  • ssl\ui\screens\customization\weapon\weapon_version_parameters\ui_weapon_version_parameter_defense.sso

  • ssl\characters\player\marine\pc_marine_pve_server.cls

SM2 Melee Calculator Calculate exact damage for any weapon, variant, and perk combination against any enemy on any difficulty.
Open Calculator →