private static function CalculateResilience($recalculate = false) { if (!self::IsCorrect()) { WoW_Log::WriteError('%s : character was not found.', __METHOD__); return false; } if (isset(self::$stats_holder['defense']['resilience']) && !$recalculate) { return true; } $melee = self::GetDataField(PLAYER_FIELD_CRIT_TAKEN_MELEE_RATING); $ranged = self::GetDataField(PLAYER_FIELD_CRIT_TAKEN_RANGED_RATING); $spell = self::GetDataField(PLAYER_FIELD_CRIT_TAKEN_SPELL_RATING); $value = min($melee, $ranged, $spell); $damagePercent = $melee / WoW_Utils::GetRatingCoefficient(self::$rating, 15); $hitPercent = $spell / WoW_Utils::GetRatingCoefficient(self::$rating, 17); self::$stats_holder['defense']['resilience'] = array('value' => $value, 'hitPercent' => $hitPercent, 'damagePercent' => $damagePercent); return true; }