diff --git a/WORKLOG.md b/WORKLOG.md index 999f1afa..c1b2d1ee 100644 --- a/WORKLOG.md +++ b/WORKLOG.md @@ -22,9 +22,7 @@ * make our own toasts / msg pane * send account_instances on players update -* convert PlusPlus to ++ or rename * add speed to descriptions -* add components to description e.g. Strike (red circle red circle attack) * clear skill (if currently targetted) * increase power to speed up early rounds diff --git a/client/src/animations.utils.jsx b/client/src/animations.utils.jsx index c563e597..feda087b 100644 --- a/client/src/animations.utils.jsx +++ b/client/src/animations.utils.jsx @@ -1,4 +1,3 @@ -const { removeTier } = require('./utils'); const { TIMES } = require('./constants'); function none() { @@ -60,10 +59,8 @@ function getObjects(resolution, stages, game, account) { ? null : createSourceAnim(); - const skill = removeTier(event.skill); - const animTarget = { - skill, + skill: event.skill, constructId: targetting(), player: playerTeamIds.includes(resolution.target.id), direction, diff --git a/client/src/components/animations.jsx b/client/src/components/animations.jsx index 9e1a4e80..ff1c9eaf 100644 --- a/client/src/components/animations.jsx +++ b/client/src/components/animations.jsx @@ -40,6 +40,8 @@ const Triage = require('./anims/triage'); const TriageTick = require('./anims/triage.tick'); const actions = require('../actions'); +const { removeTier } = require('../utils'); + const addState = connect( function receiveState(state) { @@ -63,12 +65,12 @@ class ConstructAnimation extends Component { direction, constructId, } = animTarget; - + const animSkill = removeTier(skill); if (!constructId.includes(construct.id)) return false; // find target animation - const chooseAnim = (skill) => { - switch (skill) { + const chooseAnim = (animSkill) => { + switch (animSkill) { // Attack base case 'Attack': return ; case 'Blast': return ; @@ -123,7 +125,7 @@ class ConstructAnimation extends Component { }; }; - const anim = chooseAnim(skill); + const anim = chooseAnim(animSkill); if (!anim) return false; return ( diff --git a/client/src/events.jsx b/client/src/events.jsx index 876d184b..f378ba24 100644 --- a/client/src/events.jsx +++ b/client/src/events.jsx @@ -3,7 +3,7 @@ const eachSeries = require('async/eachSeries'); const actions = require('./actions'); const { TIMES } = require('./constants'); const animations = require('./animations.utils'); -const { infoToast, errorToast } = require('./utils'); +const { infoToast, errorToast, removeTier } = require('./utils'); function registerEvents(store) { function notify(msg) { @@ -69,13 +69,12 @@ function registerEvents(store) { const timeout = animations.getTime(sequence); const anims = animations.getObjects(r, sequence, game, account); const text = animations.getText(r, sequence); - store.dispatch(actions.setAnimFocus(animations.getFocusTargets(r, game))); if (sequence.includes('START_SKILL')) store.dispatch(actions.setAnimSource(anims.animSource)); if (sequence.includes('END_SKILL')) { store.dispatch(actions.setAnimTarget(anims.animTarget)); - if (!['Banish', 'Invert'].includes(anims.animTarget.skill)) store.dispatch(actions.setAnimCb(cb)); + if (!['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) store.dispatch(actions.setAnimCb(cb)); } if (sequence.includes('POST_SKILL')) { // timeout to prevent text classes from being added too soon @@ -90,7 +89,7 @@ function registerEvents(store) { store.dispatch(actions.setAnimText(null)); store.dispatch(actions.setAnimFocus([])); if (!sequence.includes('END_SKILL') - || ['Banish', 'Invert'].includes(anims.animTarget.skill)) return cb(); + || ['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) return cb(); return true; }, timeout); }, err => { diff --git a/server/src/skill.rs b/server/src/skill.rs index e00d86e9..c25645df 100644 --- a/server/src/skill.rs +++ b/server/src/skill.rs @@ -497,33 +497,201 @@ pub enum Skill { // Evade, // actively evade // Nightmare, // Sleep, + Amplify, + #[serde(rename = "Amplify+")] AmplifyPlus, + #[serde(rename = "Amplify++")] AmplifyPlusPlus, - + + Absorb, + #[serde(rename = "Absorb+")] + AbsorbPlus, + #[serde(rename = "Absorb++")] + AbsorbPlusPlus, + Banish, + #[serde(rename = "Banish+")] BanishPlus, + #[serde(rename = "Banish++")] BanishPlusPlus, - + Bash, + #[serde(rename = "Bash+")] BashPlus, + #[serde(rename = "Bash++")] BashPlusPlus, - + Blast, + #[serde(rename = "Blast+")] BlastPlus, + #[serde(rename = "Blast++")] BlastPlusPlus, - + Chaos, + #[serde(rename = "Chaos+")] ChaosPlus, + #[serde(rename = "Chaos++")] ChaosPlusPlus, - + Sustain, + #[serde(rename = "Sustain+")] SustainPlus, + #[serde(rename = "Sustain++")] SustainPlusPlus, - + Electrify, + #[serde(rename = "Electrify+")] ElectrifyPlus, + #[serde(rename = "Electrify++")] ElectrifyPlusPlus, + + Curse, + #[serde(rename = "Curse+")] + CursePlus, + #[serde(rename = "Curse++")] + CursePlusPlus, + + Decay, + #[serde(rename = "Decay+")] + DecayPlus, + #[serde(rename = "Decay++")] + DecayPlusPlus, + + Hex, + #[serde(rename = "Hex+")] + HexPlus, + #[serde(rename = "Hex++")] + HexPlusPlus, + + Haste, + #[serde(rename = "Haste+")] + HastePlus, + #[serde(rename = "Haste++")] + HastePlusPlus, + + Heal, + #[serde(rename = "Heal+")] + HealPlus, + #[serde(rename = "Heal++")] + HealPlusPlus, + + Hybrid, + #[serde(rename = "Hybrid+")] + HybridPlus, + #[serde(rename = "Hybrid++")] + HybridPlusPlus, + + Invert, + #[serde(rename = "Invert+")] + InvertPlus, + #[serde(rename = "Invert++")] + InvertPlusPlus, + + Counter, + #[serde(rename = "Counter+")] + CounterPlus, + #[serde(rename = "Counter++")] + CounterPlusPlus, + + Purge, + #[serde(rename = "Purge+")] + PurgePlus, + #[serde(rename = "Purge++")] + PurgePlusPlus, + + Purify, + #[serde(rename = "Purify+")] + PurifyPlus, + #[serde(rename = "Purify++")] + PurifyPlusPlus, + + Reflect, + #[serde(rename = "Reflect+")] + ReflectPlus, + #[serde(rename = "Reflect++")] + ReflectPlusPlus, + + Recharge, + #[serde(rename = "Recharge+")] + RechargePlus, + #[serde(rename = "Recharge++")] + RechargePlusPlus, + + Ruin, + #[serde(rename = "Ruin+")] + RuinPlus, + #[serde(rename = "Ruin++")] + RuinPlusPlus, + + Link, + #[serde(rename = "Link+")] + LinkPlus, + #[serde(rename = "Link++")] + LinkPlusPlus, + + Silence, + #[serde(rename = "Silence+")] + SilencePlus, + #[serde(rename = "Silence++")] + SilencePlusPlus, + + Slay, + #[serde(rename = "Slay+")] + SlayPlus, + #[serde(rename = "Slay++")] + SlayPlusPlus, + + Sleep, + #[serde(rename = "Sleep+")] + SleepPlus, + #[serde(rename = "Sleep++")] + SleepPlusPlus, + + Restrict, + #[serde(rename = "Restrict+")] + RestrictPlus, + #[serde(rename = "Restrict++")] + RestrictPlusPlus, + + Strike, + #[serde(rename = "Strike+")] + StrikePlus, + #[serde(rename = "Strike++")] + StrikePlusPlus, + + Siphon, + #[serde(rename = "Siphon+")] + SiphonPlus, + #[serde(rename = "Siphon++")] + SiphonPlusPlus, + + Intercept, + #[serde(rename = "Intercept+")] + InterceptPlus, + #[serde(rename = "Intercept++")] + InterceptPlusPlus, + + Break, + #[serde(rename = "Break+")] + BreakPlus, + #[serde(rename = "Break++")] + BreakPlusPlus, + + Triage, + #[serde(rename = "Triage+")] + TriagePlus, + #[serde(rename = "Triage++")] + TriagePlusPlus, + + Absorption, + AbsorptionPlus, + AbsorptionPlusPlus, + + CounterAttack, + CounterAttackPlus, + CounterAttackPlusPlus, + Electrocute, ElectrocutePlus, ElectrocutePlusPlus, @@ -531,116 +699,17 @@ pub enum Skill { ElectrocuteTickPlus, ElectrocuteTickPlusPlus, - Curse, - CursePlus, - CursePlusPlus, - - Decay, // dot - DecayPlus, - DecayPlusPlus, DecayTick, // dot DecayTickPlus, DecayTickPlusPlus, - Haste, - HastePlus, - HastePlusPlus, HasteStrike, - - Heal, - HealPlus, - HealPlusPlus, - - Hex, - HexPlus, - HexPlusPlus, - - Absorption, - AbsorptionPlus, - AbsorptionPlusPlus, - Absorb, - AbsorbPlus, - AbsorbPlusPlus, HybridBlast, - Hybrid, - HybridPlus, - HybridPlusPlus, - - Invert, - InvertPlus, - InvertPlusPlus, - - Counter, // avoid all damage - CounterPlus, - CounterPlusPlus, - Purge, - PurgePlus, - PurgePlusPlus, - - Purify, - PurifyPlus, - PurifyPlusPlus, - - Recharge, - RechargePlus, - RechargePlusPlus, - - Reflect, - ReflectPlus, - ReflectPlusPlus, - - CounterAttack, - CounterAttackPlus, - CounterAttackPlusPlus, - - Ruin, - RuinPlus, - RuinPlusPlus, - - Link, - LinkPlus, - LinkPlusPlus, - - Silence, - SilencePlus, - SilencePlusPlus, - - Siphon, - SiphonPlus, - SiphonPlusPlus, SiphonTick, SiphonTickPlus, SiphonTickPlusPlus, - Slay, - SlayPlus, - SlayPlusPlus, - - Sleep, - SleepPlus, - SleepPlusPlus, - - Restrict, - RestrictPlus, - RestrictPlusPlus, - - Strike, - StrikePlus, - StrikePlusPlus, - - Intercept, - InterceptPlus, - InterceptPlusPlus, - - Break, // no damage stun, adds vulnerable - BreakPlus, - BreakPlusPlus, - - Triage, // hot - TriagePlus, - TriagePlusPlus, - TriageTick, TriageTickPlus, TriageTickPlusPlus,