Method AHeldBlockChargesTheShieldAndSparesTheArmour
- Namespace
- GrindFest
- Assembly
- GrindFest.dll
AHeldBlockChargesTheShieldAndSparesTheArmour()
A held block, actually verified: the blow is stopped, the shield pays for what it stopped, the attacker's weapon still pays the whole blow, and the armour is spared because nothing got through it.
public IEnumerator AHeldBlockChargesTheShieldAndSparesTheArmour()
Returns
Remarks
Nothing asserted this until 2026-09-23. MeasureHeldBlock only requires MonsterBlocks > 0, and the
passive roll satisfies that on its own (CombatBehaviour sets IsBlocked there too), so the active
BlockSkill path could stop working entirely and the suite would stay green. The AI side asserted nothing
either: HeroVsSkeleton.Warrior prints its MBlocks (44 of 90 blows, DmgIn:0) but only reports WON/DIED.
The stance is started directly instead of waited for, because AIBehaviour.ShouldBlock is REACTIVE: it
blocks only while the enemy is currently using a skill (IsEnemyAttackThreatening returns false the
moment IsUsingSkill does) and drops the stance the moment that ends. Against a fast Lv1 weapon the window
rarely lines up, which is why StickVsHeldBlock measures ~0 held blocks and mostly the passive roll - the
question "does the AI start one" is a different one, and reported there.