add back overlap between anims and combattext
This commit is contained in:
parent
b8cb296bd6
commit
517b912c2e
@ -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,
|
||||
};
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user