cutuzoff 199 Report post Posted July 7, 2012 (edited) Представим "коня в вакууме", а именно:Есть вар с билдом 31-20-0, однороучными аксами в руках, 38% крита и 0% хита (нуб вар короче). Под всеми бафами (заточки, фелвуд и т.д.) пускай вар имеет 54% крита.Есть босс 63 уровня.Сколько процентов критов автоатаками за бой с боссом будет у вара на оффе и на нашем сервере?)40% - глансинги. Не могут быть критами.6% - додж. Не могут быть критами.27% - миссы. Не могут быть критами.в итоге 73% - уже не криты.Остается 27% на криты. 52-27=27% критов ушло вникуда.Примерно такое количество критов будет у вара, точнее было б на оффе.А сколько будет у нас?)Пока не тестил, но есть предположение, что криты будут вытеснять миссы, то-есть ушедшые вникуда 27% крита вытеснят миссы, и в итого у вара после боя будет 54% крита, 6% доджей и 40% глансингов))ЗЫ. Вот несобрали БВЛ - и такой бред в голову лезть начал)) Edited July 7, 2012 by cutuzoff 0 Share this post Link to post Share on other sites
Sulfuras 69 Report post Posted July 7, 2012 (edited) Если аттак тейбл пахают, то будет как на оффе. А они щас вроде везде пахают.P.S. Криты вытесняли миссы-доджи в ~конце 2007-го на пиратках, ну и до 2007-го по-идее :-) Edited July 7, 2012 by Sulfuras 0 Share this post Link to post Share on other sites
Axon 65195 Report post Posted July 9, 2012 Никогда, подчеркиваю - никогда, миссы ничем не вытеснятся. Путаешь с дефом, где после определенного значения из таблицы уходили крашинги и криты. А миссы не зависят ни от чего внешнего, только от разницы левелов и еще каких-то строго фиксированных параметров. 0 Share this post Link to post Share on other sites
Zuss 117 Report post Posted July 12, 2012 (edited) Следовательно, имеет смысл набирать не более 27% крита против боссов 63 уровня? А на треше применять костыли, повышающие крит? Либо вообще задротствовать - собирать немного разные сеты (с разными чарками и т. п.), на треш и на боссов? Представляю себе, четыре сета, против 60, 61, 62 и 63-го уровня соответственно... Ну или лайт-вариант - разные пушки. Edited July 12, 2012 by Zuss 0 Share this post Link to post Share on other sites
Claud 412 Report post Posted July 12, 2012 Есть смысл собрать кап хита(для мили), а потом уже идти в ап и крит. 1 Share this post Link to post Share on other sites
Axon 65195 Report post Posted July 12, 2012 Я хз, что вы там насчитали, механика боевой системы оффлайк с косметическими недочетами, это да. Пример Бью шаманом 60 lvl с прокачанным скиллом mace 300/300 по High Priest Venoxis (boss) my skill = 300 boss skill = 5 * level = 5 * 63 = 315 Считаем мисс шанс База - 5%, еще докидывается именно разницей в скилах по такой формуле // PvP - PvE melee chancesif ( pVictim->GetTypeId() == TYPEID_PLAYER )missChance -= skillDiff * 0.04f;else if ( skillDiff < -10 )missChance -= (skillDiff + 10) * 0.4f - 2.0f; // 7% base chance to miss for big skill diff (%6 in 3.x)elsemissChance -= skillDiff * 0.1f; skillDiff = -15 (300 - 315), значит missChance = 5 - ((-15 + 10) * 0.4 - 2) = 5 + 4 = 9% Там дальше ауры усиления хита, и уменьшения хита, их мы учитывать не будем, итого - 9% шанс промахнутся. Для дуалов все по-другому, я просто покажу суть Далее считается шанс крита для меня и для босса шанс блокировать(block), увернутся(dodge), парировать(parry). У меня получились такие значения, крит - 2.25%, блок - 0%, додж - 0%, парри - 0%. Далее все умножается на 100 и подается для броска кубика. int32 attackerMaxSkillValueForLevel = GetMaxSkillValueForLevel(pVictim); (300 для нашего случая)int32 victimMaxSkillValueForLevel = pVictim->GetMaxSkillValueForLevel(this); (315 для нашего случая)int32 attackerWeaponSkill = GetWeaponSkillValue(attType,pVictim); (300 для нашего случая)int32 victimDefenseSkill = pVictim->GetDefenseSkillValue(this); (315 для нашего случая)int32 skillBonus = 4 * ( attackerWeaponSkill - victimMaxSkillValueForLevel ); Считаем скилл бонус int32 skillBonus = 4 * ( attackerWeaponSkill - victimMaxSkillValueForLevel ), attackerWeaponSkill - ваш ТЕКУЩИЙ уровень владения оружием, victimMaxSkillValueForLevel - 315, считается для мобов так же, level * 5 Итого получили -60, (300-315) * 4. Остальные два параметра - это деф скил противника, и МАКСИМАЛЬНЫЙ уровень владения оружием для этого уровня, нужны позже Кидаем кубик (0 - 10000) Мне выпало - 6075 Берется темповая переменная и присваивается мисс шанс, 9 * 100 = 900, итак первым определяется мисс. 6075 > 900, мисса уже нету. Следующим считается додж. Считается в целом так, прелестнивается ролл с суммой предыдущих темповых переменных, если б был додж шанс, то мы бы его внесли в тп (тп - темповая переменная для краткости), потом сняли 60 очков, и сравнили бы с роллом. Например был бы додж шанс - 20%, т.е 2000, 2000 + 900 (мисс) - 60 (скилл бонус), было бы 2840. Но мы пропускаем. Далее идет расчет парирования, тоже пропускаем. Следующим идет расчет глансинга. Остановимся. Проверки, работает только для мобов выше уровнем, кроме петов и т.д int32 skill = attackerWeaponSkill; //(300)int32 maxskill = attackerMaxSkillValueForLevel; //(300)skill = (skill > maxskill) ? maxskill : skill; //(300) если skill > maxskill тогда берем maxskill, если нет - берем skilltmp = (10 + 2*(victimDefenseSkill - skill)) * 100; // victimDefenceSkill = 315tmp = tmp > 4000 ? 4000 : tmp; tmp вышло 4000, т.е максимальный шанс глансинга - 40%. Я дал пояснения, сами пересчитайте, конструкция вида (a > b ) ? a : b означает, что если a > b то берется a, а если a < b, то b Суммируем с предыдущими тп - у нас только мисс - 900, 4000 + 900 = 4900 6075 > 4900, нету глансинга. Далее блок, тоже пропускаем. Идет расчет криты. Остановимся. Все то же самое 4900 + 225 = 5125. 6075 > 5125, нету криты Дальше считается крашинг, но это только для мобов, такая формула // mobs can score crushing blows if they're 3 or more levels above victim// or when their weapon skill is 15 or more above victim's defense skilltmp = victimDefenseSkill;int32 tmpmax = victimMaxSkillValueForLevel;// having defense above your maximum (from items, talents etc.) has no effecttmp = tmp > tmpmax ? tmpmax : tmp;// tmp = mob's level * 5 - player's current defense skilltmp = attackerMaxSkillValueForLevel - tmp;if(tmp >= 15){// add 2% chance per lacking skill point, min. is 15%tmp = tmp * 200 - 1500;if (roll < (sum += tmp)){DEBUG_FILTER_LOG(LOG_FILTER_COMBAT, "RollMeleeOutcomeAgainst: CRUSHING <%d, %d)", sum-tmp, sum);return MELEE_HIT_CRUSHING;}} Считайте кому интересно, данные все есть выше и как некоторые конструкции разбирать. В итоге я получил обычный мили удар. Все вышенаписанное исключительно для обычных мили атак, не спеллов, не магии. 7 Share this post Link to post Share on other sites
HunterZ 158 Report post Posted July 13, 2012 только могучий С++ может объяснить все теорикрафтерам. 0 Share this post Link to post Share on other sites
cutuzoff 199 Report post Posted July 13, 2012 (edited) Следовательно, имеет смысл набирать не более 27% крита против боссов 63 уровня?С дуалами кап крита на автоатаки, если бить в спину боссу, равен 27%+шанс_хита. У меня у вара, например, 15% хита. Соответственно, кап крита будет 27+15=42% Edited July 13, 2012 by cutuzoff 0 Share this post Link to post Share on other sites
HunterZ 158 Report post Posted July 14, 2012 Меня волнует один параметр, как кап спелов у рог и варов. Очень скользкая характеристика, которая официально появилась только в БК по-моему. Хочется выявить её существование на Классике. 0 Share this post Link to post Share on other sites