Из того что видел в реализации в разных исходниках и что отлично налазит на глобус и похоже на правду:
1. Просчет угла атаки, на угол защиты щитом могут влиять как и базовые показатели класса так и какието пассивки\активки
2. Если попали в угол - просчет шанса блокировки щитом, на который также могут влияет особенности каждого щита или активные и пасивные скилы
3. Если попали в шанс - то в момент просчета урона берем значение защиты щита и добавляем к показателю физ или маг защиты персонажа в зависимости от типа урона.
4. При соблюдение условий выше - есть 5% шанс полность заблокировать (уменьшить до 1 урона) как физическую так и магическую атаку
5. У физического или магического скила может быть свойство "игнорировать щит" - соотвествено все вышеописанное не считаеться
Тебе удобно читать свой пост?
Ты в этой сфере уже очень долго.
Уж с Щитом разобраться и Оружием с Броней должно быть не проблемой.
Щиты относятся к ArmorType.SHIELD - реализация зависит от сборки.
За основу там идет 3 константы абстрактного класса BaseCalc.java:
public static final byte SHIELD_DEFENSE_FAILED = 0; // no shield defense
public static final byte SHIELD_DEFENSE_SUCCEED = 1; // normal shield defense
public static final byte SHIELD_DEFENSE_PERFECT_BLOCK = 2; // perfect block
Из абстрактного класса BaseCalc.java наследуемся в Block.java - это и есть наш щит и расчеты отражения блокировок
Скачай ц4 птс сборку и установи, проводи тесты разные замеры на разных бафах, так примерные формулы и выведешь. Никто не полезет в иду искать точные формулы чтобы ответить на вопрос. Или возьми реализацию со сборки acis, там +- похоже на правду