From 517b912c2e87348ad1fb6bbdecd0bc13b0a5484e Mon Sep 17 00:00:00 2001 From: Mashy Date: Fri, 6 Dec 2019 01:47:08 +1000 Subject: [PATCH] add back overlap between anims and combattext --- client/src/animations.utils.jsx | 13 ------------- client/src/events.jsx | 17 ++++++++--------- core/src/skill.rs | 14 +++++++------- 3 files changed, 15 insertions(+), 29 deletions(-) diff --git a/client/src/animations.utils.jsx b/client/src/animations.utils.jsx index 7547956b..abd1cb0d 100644 --- a/client/src/animations.utils.jsx +++ b/client/src/animations.utils.jsx @@ -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, }; diff --git a/client/src/events.jsx b/client/src/events.jsx index e01789dc..ca91776d 100644 --- a/client/src/events.jsx +++ b/client/src/events.jsx @@ -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); diff --git a/core/src/skill.rs b/core/src/skill.rs index a2e008d3..a0282286 100644 --- a/core/src/skill.rs +++ b/core/src/skill.rs @@ -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, } } }