User:Migck

From the Oblivion ConstructionSet Wiki
Revision as of 10:08, 19 October 2014 by imported>Migck
Jump to navigation Jump to search

I hate red links.

Damage testing

Did some testing of damage output with an OnHealthDamage handler.

Hand to Hand blocking only reduces the damage of unarmed attacks, from creature or NPCs. It does not affect weapon damage taken, at all. The only benefit it gives when trying to block weapons is the occasional recoil when being a Block journeyman (iPerkHandToHandBlockRecoilChance, but it still causes an "impact event" with blood and knockback and no blockhit anim), or the assured recoil (and blockhit anim with no knockback nor blood) when being a H2H journeyman.
This makes one wonder what's the point of the fBlockAmountHandToHandMult setting applying a lower multiplier than shield or weapon blocking, since it is only going to affect blocking unarmed attacks anyway, shouldn't it be the same as regular shield blocking to compensate?

Bow damage is the sum of the damage from the bow and from the arrow used. It will ignore any normal weapon resistance values if either the bow or the arrow have the flag for it.

Creatures' unarmed damage is independent of strength or H2H skill. Base is the creature's unarmed damage as set in the editor, plus its level x fCreatureCalcDamage if it has the PC level offset flag. It ignores all normal weapon resistance values unless the target has 100% of it to avoid even the hit connecting AND the creature's base H2H is under journeyman level. It is affected by the creature's fatigue rating, rounded up and floored to a minimum of 1 before applying reductions from armor rating, block, etc.

All normal weapon resistance values are ignored when either the weapon/bow or arrow are poisoned or enchanted, even if the weapon has no enchantment charge left. Normal weapon resistance/weakness is thus useless in a great too many cases where it could help. And normal weapon weakness values (< 0) don't even do anything unless using the AVUncapper plugin by JRoush, which as it seems has only fixed one of the many problems with it.

Damage Order

  1. When attacking with bow and arrow, OnHitWith goes first, with the arrow as the weapon.
  2. OnMagicEffectHit goes first in any other case, if applicable.
  3. OnMagicApply goes next, once for each effect in the magic item, if applicable.
  4. OnHit goes next. Applies to any weapon/unarmed/spell hit.
  5. OnHitWith goes next, if attacking with an actual weapon.
    • In the case of bow and arrow, OnHitWith only returns the arrow. After OnHit, the effects on the bow are returned by OnMagicEffectHit and OnMagicApply.
  1. OnHealthDamage goes at the end. First goes the damage done by the weapon, then by enchantment if applicable. Arrow's enchantment goes before bow's.


Block testing

Block looks like an engine code crapshot when the perks come into play.

When blocking with H2H, the block hit animation, and the attacker block recoil if suitable, can be triggered when not even facing the attacker. Damage is correctly calculated though.

The block master perk (attacker disarm) in theory should be triggered by a shield bash from the block expert perk (shield bash). In practice, they are "semi-independent". If a block bash is triggered (iPerkBlockStaggerChance), the chance to disarm (iPerkBlockDisarmChance) can only be rolled from there, if it connects with an actor (gotta wonder what's the max distance/angle for the block bash to connect). BUT, the attacker may be disarmed if his hit is blocked without a shield bash being triggered just as well, if the chance happens to roll. What's more egregious is that this can happen when blocking arrows, with the actor who fired the bow dropping it to the ground no matter the distance to the target who blocked.

Not to mention, when the block bash triggers, the blocker is no longer blocking: you lose your cover in a non-controlled manner with this perk.

The exact same problems happen when blocking with H2H, except in that case the H2H skill level is used instead of Block to determine perks available.