mirror of
https://github.com/OpenMW/openmw.git
synced 2025-01-21 09:23:53 +00:00
Merge pull request #2431 from Capostrophic/shield
Make unarmed creature attacks affect shield condition again (bug #5069)
This commit is contained in:
commit
9e3d1a0e4e
2 changed files with 7 additions and 9 deletions
|
@ -103,6 +103,7 @@
|
||||||
Bug #5050: Invalid spell effects are not handled gracefully
|
Bug #5050: Invalid spell effects are not handled gracefully
|
||||||
Bug #5056: Calling Cast function on player doesn't equip the spell but casts it
|
Bug #5056: Calling Cast function on player doesn't equip the spell but casts it
|
||||||
Bug #5060: Magic effect visuals stop when death animation begins instead of when it ends
|
Bug #5060: Magic effect visuals stop when death animation begins instead of when it ends
|
||||||
|
Bug #5069: Blocking creatures' attacks doesn't degrade shields
|
||||||
Feature #1774: Handle AvoidNode
|
Feature #1774: Handle AvoidNode
|
||||||
Feature #2229: Improve pathfinding AI
|
Feature #2229: Improve pathfinding AI
|
||||||
Feature #3025: Analogue gamepad movement controls
|
Feature #3025: Analogue gamepad movement controls
|
||||||
|
|
|
@ -115,16 +115,13 @@ namespace MWMechanics
|
||||||
|
|
||||||
if (Misc::Rng::roll0to99() < x)
|
if (Misc::Rng::roll0to99() < x)
|
||||||
{
|
{
|
||||||
if (!(weapon.isEmpty() && !attacker.getClass().isNpc())) // Unarmed creature attacks don't affect armor condition
|
// Reduce shield durability by incoming damage
|
||||||
{
|
int shieldhealth = shield->getClass().getItemHealth(*shield);
|
||||||
// Reduce shield durability by incoming damage
|
|
||||||
int shieldhealth = shield->getClass().getItemHealth(*shield);
|
|
||||||
|
|
||||||
shieldhealth -= std::min(shieldhealth, int(damage));
|
shieldhealth -= std::min(shieldhealth, int(damage));
|
||||||
shield->getCellRef().setCharge(shieldhealth);
|
shield->getCellRef().setCharge(shieldhealth);
|
||||||
if (shieldhealth == 0)
|
if (shieldhealth == 0)
|
||||||
inv.unequipItem(*shield, blocker);
|
inv.unequipItem(*shield, blocker);
|
||||||
}
|
|
||||||
// Reduce blocker fatigue
|
// Reduce blocker fatigue
|
||||||
const float fFatigueBlockBase = gmst.find("fFatigueBlockBase")->mValue.getFloat();
|
const float fFatigueBlockBase = gmst.find("fFatigueBlockBase")->mValue.getFloat();
|
||||||
const float fFatigueBlockMult = gmst.find("fFatigueBlockMult")->mValue.getFloat();
|
const float fFatigueBlockMult = gmst.find("fFatigueBlockMult")->mValue.getFloat();
|
||||||
|
|
Loading…
Reference in a new issue