Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- \src\server\game\Entities\Player\Player.cpp
- uint32 Player::GetShieldBlockValue(bool ForDamagingSpell) const
- {
- float value = (m_auraBaseMod[SHIELD_BLOCK_VALUE][FLAT_MOD] + GetStat(STAT_STRENGTH) * 0.5f - 10)*m_auraBaseMod[SHIELD_BLOCK_VALUE][PCT_MOD];
- if (ForDamagingSpell == true)
- {
- uint8 level = getLevel();
- uint16 softCap = level * 30;
- float hardCap = level * 34.5f;
- float hardCapBaseBlockValue = level * 39.5f;
- //If value less than softCap then don't have to modify.
- //eddig ugye Shield Block nem növelte a cap-et duplájára
- /*if (value >= hardCapBaseBlockValue)
- value = hardCap;
- else if (value > softCap)
- value = softCap + 0.95f * (value - softCap) - 0.000625f * pow(value - softCap, 2);*/
- //ha Shield Block van, a cap is dupla lesz
- if(HasAura(2565))
- {
- if (value >= hardCapBaseBlockValue)
- value = hardCap * 2;
- else if (value > softCap)
- value = (softCap + 0.95f * (value - softCap) - 0.000625f * pow(value - softCap, 2)) *2 ;
- }
- else
- {
- if (value >= hardCapBaseBlockValue)
- value = hardCap;
- else if (value > softCap)
- value = softCap + 0.95f * (value - softCap) - 0.000625f * pow(value - softCap, 2);
- }
- }
- value = (value < 0) ? 0 : value;
- return uint32(value);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement