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;
 }