Рейтинг темы:
  • 0 Голос(ов) - 0 в среднем
  • 1
  • 2
  • 3
  • 4
  • 5
Магическая защита.
#1
Столкнулся с проблемой в маг.защите.
Формула маг.защиты выглядит так
шанс отразить = (маг.защита - точность магии) / 10.
/**
* Calculates RESIST chance
*
* @param attacker
* @param attacked
* @return int
*/
public static int calculateMagicalResistRate(Creature attacker, Creature attacked, int accMod) {
if (attacked.getObserveController().checkAttackStatus(AttackStatus.RESIST))
return 1000;

int stat_res = attacked.getGameStats().getMResist().getCurrent();
int stat_acc = attacker.getGameStats().getMAccuracy().getCurrent();

int attackerLevel = attacker.getLevel();
int targetLevel = attacked.getLevel();

//add bonus from effecttemplate
stat_acc += accMod;

int resistRate = (stat_res - stat_acc) - accMod / 10;

if ((targetLevel - attackerLevel) > 2)
resistRate += (targetLevel - attackerLevel - 2) * 10;


if(resistRate <= 0)// cant resist
return 0;
else if(resistRate > 90)// hardcap 95%
return 90;
else
return resistRate;
}


Как видно все форумулы написаны правильно...
При м.точности в 853,а при м.дефе 2091 шанс отразить стоствляет 123.8%, но всё-равно попадают как ни в чём не бывало.
Помогите или подскажите где можно подсмотреть,что не правильно..
Сборка AL 2.7.

Добавлено через 5 часов 30 минут
Нашёл ещё в одном файле расчёт

/**
* Every + 100 delta of (MR - MA) = + 10% to resist<br>
* if the difference is 1000 = 100% resist
*/
public static AttackStatus calculateMagicalStatus(Creature attacker, Creature attacked, boolean isSkill) {
if (!isSkill) {
if (Rnd.get(0, 1000) < StatFunctions.calculateMagicalResistRate(attacker, attacked, 0))
return AttackStatus.RESIST;
}

if (StatFunctions.calculateMagicalCriticalRate(attacker, attacked)) {
return AttackStatus.CRITICAL;
}

return AttackStatus.NORMALHIT;
}


И теперь думаю,что нужно делить не на 10,а на 100 из-за вот этой строчки - Rnd.get(0, 1000)

Добавлено через 6 часов 53 минуты
Не помогло...
Ответ


Возможно похожие темы ...
Тема Автор Ответы Просмотры Последний пост
  Защита на сервер 2.5 Darklokas 0 1,936 10-17-2011, 03:49 PM
Последний пост: Darklokas
  Защита для AION vitlav 37 14,815 03-22-2011, 10:55 AM
Последний пост: xobotyi

Перейти к форуму:


Пользователи, просматривающие эту тему: 1 Гость(ей)