Mexl2 146 Опубликовано 16 марта, 2015 <set name="criticalRate" val="10" /> как работает эта функция у скила? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 16 марта, 2015 <set name="criticalRate" val="10" /> как работает эта функция у скила? Это цифра, отображаемая в статусе персонажа. На самом деле, шанс где-то 0.1 от этого числа в %. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
DeveloperDP 51 Опубликовано 16 марта, 2015 (изменено) Шанс крит. атаки (шанс срабатывания при ататке) в процентах Изменено 16 марта, 2015 пользователем DeveloperDP Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
amatory91 87 Опубликовано 16 марта, 2015 Шанс крит. атаки. а я смотрю ты так читать и не научился, спросили как, а не что это. ТС бери расчет шанса 100%=1000000 и расчитай. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mizuwokiru 181 Опубликовано 16 марта, 2015 /** Возвращает шанс крита в процентах */ @SuppressWarnings("incomplete-switch") public static double calcCrit(Creature attacker, Creature target, Skill skill, boolean blow) { if(attacker.isPlayer() && attacker.getActiveWeaponItem() == null) return 0; if(skill != null) return skill.getCriticalRate() * (blow ? BaseStats.DEX.calcBonus(attacker) : BaseStats.STR.calcBonus(attacker)) * 0.01 * attacker.calcStat(Stats.SKILL_CRIT_CHANCE_MOD, target, skill); double rate = attacker.getCriticalHit(target, null) * 0.01 * target.calcStat(Stats.CRIT_CHANCE_RECEPTIVE, attacker, skill); switch(PositionUtils.getDirectionTo(target, attacker)) { case BEHIND: rate *= 1.4; break; case SIDE: rate *= 1.2; break; } return rate / 10; } По сути, здесь важна лишь последняя строка для данной темы. Остальное - это уже расчет шанса получения крита противником, учитывай различные факторы. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты