This commit is contained in:
ntr 2019-07-05 17:18:21 +10:00
parent 83e8117c6a
commit 3abdfe81d7
3 changed files with 25 additions and 11 deletions

View File

@ -69,21 +69,21 @@ document.fonts.load('16pt "Jura"').then(() => {
}); });
const SKILLS = [ const SKILLS = [
'Attack',
'Debuff',
'Buff',
'Block',
'Stun',
'AbsorbI', 'AbsorbI',
'AbsorptionI', 'AbsorptionI',
'AmplifyI', 'AmplifyI',
'Attack',
'BanishI', 'BanishI',
'BashI', 'BashI',
'BlastI', 'BlastI',
'Block',
'BreakI',
'Buff',
'ChaosI', 'ChaosI',
'CounterAttackI', 'CounterAttackI',
'CounterI', 'CounterI',
'CurseI', 'CurseI',
'Debuff',
'DecayI', 'DecayI',
'DecayTickI', 'DecayTickI',
'ElectrifyI', 'ElectrifyI',
@ -97,21 +97,21 @@ const SKILLS = [
'HybridI', 'HybridI',
'InterceptI', 'InterceptI',
'InvertI', 'InvertI',
'LinkI',
'PurgeI', 'PurgeI',
'PurifyI', 'PurifyI',
'RechargeI', 'RechargeI',
'ReflectI', 'ReflectI',
'RestrictI', 'RestrictI',
'RuinI', 'RuinI',
'LinkI',
'SilenceI', 'SilenceI',
'SiphonI', 'SiphonI',
'SiphonTickI', 'SiphonTickI',
'SlayI', 'SlayI',
'SleepI', 'SleepI',
'StrikeI', 'StrikeI',
'Stun',
'SustainI', 'SustainI',
'BreakI',
'TriageI', 'TriageI',
'TriageTickI', 'TriageTickI',
]; ];

View File

@ -2,7 +2,7 @@ const preact = require('preact');
const { Component } = require('preact'); const { Component } = require('preact');
const anime = require('animejs').default; const anime = require('animejs').default;
const { TIMES } = require('../../constants'); const { TIMES, COLOURS } = require('../../constants');
// logarithmic spiral lifted from // logarithmic spiral lifted from
// https://upload.wikimedia.org/wikipedia/commons/5/5b/Logarithmic_spiral_(1).svg // https://upload.wikimedia.org/wikipedia/commons/5/5b/Logarithmic_spiral_(1).svg
@ -18,7 +18,7 @@ class Break extends Component {
return ( return (
<svg <svg
class='skill-animation red' class='skill-animation green'
version="1.1" version="1.1"
id="break" id="break"
xmlns="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg"
@ -43,6 +43,11 @@ class Break extends Component {
style="opacity: 0.5" style="opacity: 0.5"
/> />
</g> </g>
<g filter="url(#breakFilter)" stroke={COLOURS.RED}>
<circle cx="0" cy="0" r="30" />
<circle cx="0" cy="0" r="60" />
<circle cx="0" cy="0" r="90" />
</g>
</svg> </svg>
); );
} }
@ -66,6 +71,15 @@ class Break extends Component {
duration: TIMES.TARGET_DURATION_MS, duration: TIMES.TARGET_DURATION_MS,
})); }));
this.animations.push(anime({
targets: ['#break circle'],
easing: 'easeInSine',
strokeWidth: [10, 2],
r: 300,
delay: TIMES.TARGET_DELAY_MS,
duration: TIMES.TARGET_DURATION_MS,
}));
this.animations.push(anime({ this.animations.push(anime({
targets: ['#breakFilter feTurbulence', '#breakFilter feDisplacementMap'], targets: ['#breakFilter feTurbulence', '#breakFilter feDisplacementMap'],
baseFrequency: 2, baseFrequency: 2,

View File

@ -249,7 +249,7 @@ pub fn resolve(skill: Skill, source: &mut Construct, target: &mut Construct, mut
Skill::BreakI | Skill::BreakI |
Skill::BreakII | Skill::BreakII |
Skill::BreakIII => break(source, target, resolutions, skill), // no damage stun, adds vulnerable Skill::BreakIII => break_(source, target, resolutions, skill), // no damage stun, adds vulnerable
Skill::TriageI | Skill::TriageI |
Skill::TriageII | Skill::TriageII |
@ -1296,7 +1296,7 @@ fn intercept(source: &mut Construct, target: &mut Construct, mut results: Resolu
return results; return results;
} }
fn break(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions { fn break_(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
let stun = skill.effect()[0]; let stun = skill.effect()[0];
results.push(Resolution::new(source, target).event(target.add_effect(skill, stun))); results.push(Resolution::new(source, target).event(target.add_effect(skill, stun)));
let vuln = skill.effect()[1]; let vuln = skill.effect()[1];