aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp22
-rw-r--r--src/server/game/Entities/Player/Player.h2
-rw-r--r--src/server/game/Entities/Unit/Unit.cpp2
-rw-r--r--src/server/game/Entities/Unit/Unit.h2
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;