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) {
|
function getObjects(resolution, game, account) {
|
||||||
const [type, event] = resolution.variant;
|
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 = {
|
module.exports = {
|
||||||
getObjects,
|
getObjects,
|
||||||
isCbAnim,
|
|
||||||
};
|
};
|
||||||
|
|||||||
@ -8,6 +8,7 @@ const actions = require('./actions');
|
|||||||
const animations = require('./animations.utils');
|
const animations = require('./animations.utils');
|
||||||
const { infoToast, errorToast } = require('./utils');
|
const { infoToast, errorToast } = require('./utils');
|
||||||
const { tutorialVbox } = require('./tutorial.utils');
|
const { tutorialVbox } = require('./tutorial.utils');
|
||||||
|
const { TIMES } = require('./constants');
|
||||||
|
|
||||||
function registerEvents(store) {
|
function registerEvents(store) {
|
||||||
function notify(msg) {
|
function notify(msg) {
|
||||||
@ -91,27 +92,25 @@ function registerEvents(store) {
|
|||||||
const timeout = r.delay;
|
const timeout = r.delay;
|
||||||
|
|
||||||
if (r.variant[0].includes('Hit')) {
|
if (r.variant[0].includes('Hit')) {
|
||||||
|
let animTimeOut = TIMES.TARGET_DURATION_MS;
|
||||||
const anims = animations.getObjects(r, game, account);
|
const anims = animations.getObjects(r, game, account);
|
||||||
|
|
||||||
if (r.variant[0] === 'HitCast') {
|
if (r.variant[0] === 'HitCast') {
|
||||||
|
animTimeOut += TIMES.TARGET_DELAY_MS;
|
||||||
store.dispatch(actions.setAnimSource(anims.animSource));
|
store.dispatch(actions.setAnimSource(anims.animSource));
|
||||||
}
|
}
|
||||||
|
|
||||||
store.dispatch(actions.setAnimFocus(anims.focusTargets));
|
store.dispatch(actions.setAnimFocus(anims.focusTargets));
|
||||||
store.dispatch(actions.setAnimSkill(anims.skill));
|
store.dispatch(actions.setAnimSkill(anims.skill));
|
||||||
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
||||||
store.dispatch(actions.setAnimText(null));
|
store.dispatch(actions.setAnimText(null));
|
||||||
|
setTimeout(() => {
|
||||||
if (animations.isCbAnim(anims.skill)) store.dispatch(actions.setAnimCb(cb));
|
|
||||||
|
|
||||||
return setTimeout(() => {
|
|
||||||
store.dispatch(actions.setAnimSource(null));
|
store.dispatch(actions.setAnimSource(null));
|
||||||
store.dispatch(actions.setAnimTarget(null));
|
store.dispatch(actions.setAnimTarget(null));
|
||||||
if (r.variant[0].includes('Hit') && animations.isCbAnim(anims.skill)) return true;
|
}, animTimeOut);
|
||||||
return cb();
|
} else {
|
||||||
}, timeout);
|
store.dispatch(actions.setAnimText(r));
|
||||||
}
|
}
|
||||||
|
|
||||||
store.dispatch(actions.setAnimText(r));
|
|
||||||
return setTimeout(cb, timeout);
|
return setTimeout(cb, timeout);
|
||||||
}, err => {
|
}, err => {
|
||||||
if (err) return console.error(err);
|
if (err) return console.error(err);
|
||||||
|
|||||||
@ -258,15 +258,15 @@ pub enum EventVariant {
|
|||||||
impl EventVariant {
|
impl EventVariant {
|
||||||
fn delay(&self) -> i64 {
|
fn delay(&self) -> i64 {
|
||||||
// let source_duration = 1000; // Time for SOURCE ONLY
|
// let source_duration = 1000; // Time for SOURCE ONLY
|
||||||
let target_delay = 500; // Used for Source + Target
|
let target_duration = 1500; // Time for target animation
|
||||||
let target_duration = 1500; // Time for TARGET ONLY
|
let target_delay = 500; // Add delay if theres source animation
|
||||||
let post_skill = 1000; // Time for all POST
|
let combat_text_delay = 1300; // Time for all post skill
|
||||||
let source_and_target_total = target_delay + target_duration; // SOURCE + TARGET time
|
let combat_text_overlap = 600; // overlap between animation and combat text
|
||||||
|
|
||||||
match self {
|
match self {
|
||||||
EventVariant::Hit { skill: _ } => target_duration,
|
EventVariant::Hit { skill: _ } => target_duration - combat_text_overlap,
|
||||||
EventVariant::HitCast { skill: _, source: _ } => source_and_target_total,
|
EventVariant::HitCast { skill: _, source: _ } => target_delay + target_duration - combat_text_overlap,
|
||||||
_ => post_skill,
|
_ => combat_text_delay,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user