add back overlap between anims and combattext

This commit is contained in:
Mashy 2019-12-06 01:47:08 +10:00
parent b8cb296bd6
commit 517b912c2e
3 changed files with 15 additions and 29 deletions

View File

@ -1,5 +1,3 @@
const { removeTier } = require('./utils');
function getObjects(resolution, game, account) {
const [type, event] = resolution.variant;
@ -68,17 +66,6 @@ function getObjects(resolution, game, account) {
};
}
function isCbAnim(skill) {
return ['Attack', 'Blast', 'Siphon', 'SiphonTick', 'Strike', 'Chaos', 'Slay', 'Heal',
'Buff', 'Amplify', 'Haste', 'Triage', 'TriageTick', 'Link', 'Hybrid', 'Intercept',
'Debuff', 'Curse', 'Decay', 'DecayTick', 'Purge', 'Silence', 'Restrict',
'Stun', 'Bash', 'Absorb', 'Sleep', 'Break', 'Ruin',
'Block', 'Sustain', 'Electrify', 'Electrocute', 'ElectrocuteTick',
'Counter', 'CounterAttack', 'Purify', 'Recharge', 'Reflect'].includes(removeTier(skill));
}
module.exports = {
getObjects,
isCbAnim,
};

View File

@ -8,6 +8,7 @@ const actions = require('./actions');
const animations = require('./animations.utils');
const { infoToast, errorToast } = require('./utils');
const { tutorialVbox } = require('./tutorial.utils');
const { TIMES } = require('./constants');
function registerEvents(store) {
function notify(msg) {
@ -91,27 +92,25 @@ function registerEvents(store) {
const timeout = r.delay;
if (r.variant[0].includes('Hit')) {
let animTimeOut = TIMES.TARGET_DURATION_MS;
const anims = animations.getObjects(r, game, account);
if (r.variant[0] === 'HitCast') {
animTimeOut += TIMES.TARGET_DELAY_MS;
store.dispatch(actions.setAnimSource(anims.animSource));
}
store.dispatch(actions.setAnimFocus(anims.focusTargets));
store.dispatch(actions.setAnimSkill(anims.skill));
store.dispatch(actions.setAnimTarget(anims.animTarget));
store.dispatch(actions.setAnimText(null));
if (animations.isCbAnim(anims.skill)) store.dispatch(actions.setAnimCb(cb));
return setTimeout(() => {
setTimeout(() => {
store.dispatch(actions.setAnimSource(null));
store.dispatch(actions.setAnimTarget(null));
if (r.variant[0].includes('Hit') && animations.isCbAnim(anims.skill)) return true;
return cb();
}, timeout);
}, animTimeOut);
} else {
store.dispatch(actions.setAnimText(r));
}
store.dispatch(actions.setAnimText(r));
return setTimeout(cb, timeout);
}, err => {
if (err) return console.error(err);

View File

@ -258,15 +258,15 @@ pub enum EventVariant {
impl EventVariant {
fn delay(&self) -> i64 {
// let source_duration = 1000; // Time for SOURCE ONLY
let target_delay = 500; // Used for Source + Target
let target_duration = 1500; // Time for TARGET ONLY
let post_skill = 1000; // Time for all POST
let source_and_target_total = target_delay + target_duration; // SOURCE + TARGET time
let target_duration = 1500; // Time for target animation
let target_delay = 500; // Add delay if theres source animation
let combat_text_delay = 1300; // Time for all post skill
let combat_text_overlap = 600; // overlap between animation and combat text
match self {
EventVariant::Hit { skill: _ } => target_duration,
EventVariant::HitCast { skill: _, source: _ } => source_and_target_total,
_ => post_skill,
EventVariant::Hit { skill: _ } => target_duration - combat_text_overlap,
EventVariant::HitCast { skill: _, source: _ } => target_delay + target_duration - combat_text_overlap,
_ => combat_text_delay,
}
}
}