diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 22 | ||||
-rw-r--r-- | src/server/game/Entities/Player/Player.h | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.cpp | 2 | ||||
-rw-r--r-- | src/server/game/Entities/Unit/Unit.h | 2 |
4 files changed, 4 insertions, 24 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 84d737a4909..0e2d13e972a 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -2273,7 +2273,7 @@ void Player::InitStatsForLevel(bool reapplyMods) SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::ParryPercentage), 0.0f); SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::BlockPercentage), 0.0f); - SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::ShieldBlock), 0); + SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::ShieldBlock), 30); // Dodge percentage SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::DodgePercentage), 0.0f); @@ -7418,15 +7418,6 @@ void Player::_ApplyItemBonuses(Item* item, uint8 slot, bool apply) if (int16 resistance = proto->GetResistance(SpellSchools(i))) HandleStatFlatModifier(UnitMods(UNIT_MOD_ARMOR + i), BASE_VALUE, float(resistance), apply); - /* - if (uint32 armor = proto->GetArmor(itemLevel)) - { - HandleStatFlatModifier(UNIT_MOD_ARMOR, TOTAL_VALUE, float(armor), apply); - if (proto->GetClass() == ITEM_CLASS_ARMOR && proto->GetSubClass() == ITEM_SUBCLASS_ARMOR_SHIELD) - SetUpdateFieldValue(m_values.ModifyValue(&Player::m_activePlayerData).ModifyValue(&UF::ActivePlayerData::ShieldBlock), apply ? int32(armor * 2.5f) : 0); - } - */ - WeaponAttackType attType = Player::GetAttackBySlot(slot, proto->GetInventoryType()); if (attType != MAX_ATTACK) _ApplyWeaponDamage(slot, item, apply); @@ -24991,17 +24982,6 @@ void Player::AtExitCombat() UpdatePotionCooldown(); } -float Player::GetBlockPercent(uint8 attackerLevel) const -{ - float blockArmor = float(*m_activePlayerData->ShieldBlock); - float armorConstant = sDB2Manager.EvaluateExpectedStat(ExpectedStatType::ArmorConstant, attackerLevel, -2, 0, CLASS_NONE, 0); - - if (!(blockArmor + armorConstant)) - return 0; - - return std::min(blockArmor / (blockArmor + armorConstant), 0.85f); -} - void Player::SetCanParry(bool value) { if (m_canParry == value) diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h index 16382e98a1d..68bf5c459e8 100644 --- a/src/server/game/Entities/Player/Player.h +++ b/src/server/game/Entities/Player/Player.h @@ -2250,7 +2250,7 @@ class TC_GAME_API Player final : public Unit, public GridObject<Player> int32 CalculateCorpseReclaimDelay(bool load = false) const; void SendCorpseReclaimDelay(uint32 delay) const; - float GetBlockPercent(uint8 attackerLevel) const override; + float GetBlockPercent() const override { return m_activePlayerData->ShieldBlock; }; bool CanParry() const { return m_canParry; } void SetCanParry(bool value); bool CanBlock() const { return m_canBlock; } diff --git a/src/server/game/Entities/Unit/Unit.cpp b/src/server/game/Entities/Unit/Unit.cpp index 5b0fc3b1922..b9d03eb91a2 100644 --- a/src/server/game/Entities/Unit/Unit.cpp +++ b/src/server/game/Entities/Unit/Unit.cpp @@ -1224,7 +1224,7 @@ void Unit::CalculateSpellDamageTaken(SpellNonMeleeDamage* damageInfo, int32 dama if (blocked) { // double blocked amount if block is critical - uint32 value = victim->GetBlockPercent(GetLevel()); + uint32 value = victim->GetBlockPercent(); if (victim->IsBlockCritical()) value *= 2; // double blocked percent damageInfo->blocked = CalculatePct(damage, value); diff --git a/src/server/game/Entities/Unit/Unit.h b/src/server/game/Entities/Unit/Unit.h index febc4b4a646..2a1f308d9af 100644 --- a/src/server/game/Entities/Unit/Unit.h +++ b/src/server/game/Entities/Unit/Unit.h @@ -976,7 +976,7 @@ class TC_GAME_API Unit : public WorldObject int32 GetMechanicResistChance(SpellInfo const* spellInfo) const; bool CanUseAttackType(uint8 attacktype) const; - virtual float GetBlockPercent(uint8 /*attackerLevel*/) const { return 30.0f; } + virtual float GetBlockPercent() const { return 30.0f; } float GetWeaponProcChance() const; float GetPPMProcChance(uint32 WeaponSpeed, float PPM, SpellInfo const* spellProto) const; |