PDA

Просмотр полной версии : Каст


mira
15.02.2012, 10:54
Пасаны падскажите как вычислить реальное время каста хотябы примерно зная hittime скила и стат меджик спид.

то что придет в пакете не вариант, задача прогнозировать и отсеивать долгие касты. Типа чтоб не кастовать клан рес с снятой пухой или чтоб свм после смерти без нобла денсил а не бафал себе всякие селфы типа на бег/защиту с кастом в 5 сек.

supernewbie
15.02.2012, 11:00
if skill.isSkillTimePermanent then //зависит ли от каста перса или статичное значение
skillTime := skill.hitTime
else
skillTime := uCommonFuncs.CalcMAtkSpd(Self, skill, skill.hitTime); //вот тут считаем


if skill.isMagic then // считаем время запуска скила, после каста которое должно пройти чебы скилл заюзался
skillInterruptTime := uCommonFuncs.CalcMAtkSpd(Self, skill,
skill.skillInterruptTime)
else
skillInterruptTime := 0;
animationEndTime := currentTimeMillis + skillTime;

if skill.isMagic and not skill.isSkillTimePermanent and (ChargedSpiritShot > 0)
then //учитываем соски если маг скилл
begin
skillTime := Round(0.7 * skillTime);
skillInterruptTime := Round(0.7 * skillInterruptTime);
end;

function calcMAtkSpd(const attacker:TL2Character; const skill:TL2Skill; const skilltime:integer) : Integer;
begin
if skill.isMagic then
result:=Round(skillTime * 333 / Math.max(attacker.MAtkSpd, 1))
else
result:=Round(skillTime * 333 / Math.max(attacker.PAtkSpd, 1));
end;

mira
15.02.2012, 18:28
все норм получилось

смутил этот момент на тему когда соска заряжена

skillTime := Round(0.7 * skillTime);

уж не 1.7 ли там? то получитса каст с соской упадет)

Добавлено через 2 минуты
а блин туплю. время каста и должно снижатса =)))