Задержка P

F1x

Путник
Пользователь
Сообщения
13
Розыгрыши
0
Репутация
0
Реакции
0
Баллы
0
Хроники
  1. Salvation
Исходники
Присутствуют
Сборка
L2jmobius
Доброго времени суток.
Уважаемые форумчане, большая просьба ткнуть носом, суть проблемы (на основе физов):
Хаст - кап 1500
Код:
    public static int calcAtkSpd(L2Character attacker, Skill skill, double skillTime)
    {
        if (skill.isMagic())
        {
            return (int) ((skillTime / attacker.getMAtkSpd()) * 333);
        }
        return (int) ((skillTime / attacker.getPAtkSpd()) * 333);
    }
    
    public static double calcAtkSpdMultiplier(L2Character creature)
    {
        double armorBonus = 1; 
        double dexBonus = BaseStats.DEX.calcBonus(creature);
        double weaponAttackSpeed = Stats.weaponBaseValue(creature, Stats.PHYSICAL_ATTACK_SPEED) / armorBonus; 
        double attackSpeedPerBonus = creature.getStat().getMul(Stats.PHYSICAL_ATTACK_SPEED);
        double attackSpeedDiffBonus = creature.getStat().getAdd(Stats.PHYSICAL_ATTACK_SPEED);
        return (dexBonus * (weaponAttackSpeed / 333) * attackSpeedPerBonus) + (attackSpeedDiffBonus / 333);
    }
    
    public static double calcMAtkSpdMultiplier(L2Character creature)
    {
        final double armorBonus = 1; // TODO: Implement me!
        final double witBonus = BaseStats.WIT.calcBonus(creature);
        final double castingSpeedPerBonus = creature.getStat().getMul(Stats.MAGIC_ATTACK_SPEED);
        final double castingSpeedDiffBonus = creature.getStat().getAdd(Stats.MAGIC_ATTACK_SPEED);
        return ((1 / armorBonus) * witBonus * castingSpeedPerBonus) + (castingSpeedDiffBonus / 333);
    }
При автоатаки удары наносятся довольно быстро ( при капе по идее так и должно быть) они завершают серию (анимацию атаки исходя из расы\класса персонажа)
Но после её завершения (именно анимации серии) следует задержка около 0.5-1 сек., после чего серия возобновляется вновь.
В выше изложенной формуле, как и должно быть, где бы я не читал ( при 1500 хаст спида, стоит задержка в 333м.с) и это считается нормой.
Собственно вопрос, каким образом реализовать непрерывную анимацию атаки при капе скорости атаки.
При изменении формулы задержки с 333 допустим до 250, атаки становятся быстрее но анимация зависает на её реализации ( проще говоря персонаж замахивается производит одну атаку (допустим сбоку) ударяет, и опять с нее же начинает следующий удар, анимация атаки происходит не полная, но судя по логу чата, атаки скачат с бешенной скоростью.)
 
Java:
public static int calcAtkSpd(L2Character attacker, Skill skill, double skillTime)
    {
        if (skill.isMagic())
        {
            return (int) ((skillTime / attacker.getMAtkSpd()) * 333);
        }
        return (int) ((skillTime / attacker.getPAtkSpd()) * 333);
    }
  
    public static double calcAtkSpdMultiplier(L2Character creature)
    {
        double armorBonus = 1;
        double dexBonus = BaseStats.DEX.calcBonus(creature);
        double weaponAttackSpeed = Stats.weaponBaseValue(creature, Stats.PHYSICAL_ATTACK_SPEED) / armorBonus;
        double attackSpeedPerBonus = creature.getStat().getMul(Stats.PHYSICAL_ATTACK_SPEED);
        double attackSpeedDiffBonus = creature.getStat().getAdd(Stats.PHYSICAL_ATTACK_SPEED);
        return (dexBonus * (weaponAttackSpeed / 333) * attackSpeedPerBonus) + (attackSpeedDiffBonus / 333);
    }
  
    public static double calcMAtkSpdMultiplier(L2Character creature)
    {
        final double armorBonus = 1; // TODO: Implement me!
        final double witBonus = BaseStats.WIT.calcBonus(creature);
        final double castingSpeedPerBonus = creature.getStat().getMul(Stats.MAGIC_ATTACK_SPEED);
        final double castingSpeedDiffBonus = creature.getStat().getAdd(Stats.MAGIC_ATTACK_SPEED);
        return ((1 / armorBonus) * witBonus * castingSpeedPerBonus) + (castingSpeedDiffBonus / 333);
    }

Это не тут правится, есть еще другой метод и он в корне не верный в мобиусе.
 
Doattack
L2Character / Creature
 
Назад
Сверху Снизу