more ++ fixes, shows + during anims

This commit is contained in:
Mashy 2019-09-05 22:41:36 +10:00
parent 968d0a01aa
commit 21f3a80752
5 changed files with 184 additions and 119 deletions

View File

@ -22,9 +22,7 @@
* make our own toasts / msg pane * make our own toasts / msg pane
* send account_instances on players update * send account_instances on players update
* convert PlusPlus to ++ or rename
* add speed to descriptions * add speed to descriptions
* add components to description e.g. Strike (red circle red circle attack)
* clear skill (if currently targetted) * clear skill (if currently targetted)
* increase power to speed up early rounds * increase power to speed up early rounds

View File

@ -1,4 +1,3 @@
const { removeTier } = require('./utils');
const { TIMES } = require('./constants'); const { TIMES } = require('./constants');
function none() { function none() {
@ -60,10 +59,8 @@ function getObjects(resolution, stages, game, account) {
? null ? null
: createSourceAnim(); : createSourceAnim();
const skill = removeTier(event.skill);
const animTarget = { const animTarget = {
skill, skill: event.skill,
constructId: targetting(), constructId: targetting(),
player: playerTeamIds.includes(resolution.target.id), player: playerTeamIds.includes(resolution.target.id),
direction, direction,

View File

@ -40,6 +40,8 @@ const Triage = require('./anims/triage');
const TriageTick = require('./anims/triage.tick'); const TriageTick = require('./anims/triage.tick');
const actions = require('../actions'); const actions = require('../actions');
const { removeTier } = require('../utils');
const addState = connect( const addState = connect(
function receiveState(state) { function receiveState(state) {
@ -63,12 +65,12 @@ class ConstructAnimation extends Component {
direction, direction,
constructId, constructId,
} = animTarget; } = animTarget;
const animSkill = removeTier(skill);
if (!constructId.includes(construct.id)) return false; if (!constructId.includes(construct.id)) return false;
// find target animation // find target animation
const chooseAnim = (skill) => { const chooseAnim = (animSkill) => {
switch (skill) { switch (animSkill) {
// Attack base // Attack base
case 'Attack': return <Attack direction={direction}/>; case 'Attack': return <Attack direction={direction}/>;
case 'Blast': return <Blast direction={direction}/>; case 'Blast': return <Blast direction={direction}/>;
@ -123,7 +125,7 @@ class ConstructAnimation extends Component {
}; };
}; };
const anim = chooseAnim(skill); const anim = chooseAnim(animSkill);
if (!anim) return false; if (!anim) return false;
return ( return (

View File

@ -3,7 +3,7 @@ const eachSeries = require('async/eachSeries');
const actions = require('./actions'); const actions = require('./actions');
const { TIMES } = require('./constants'); const { TIMES } = require('./constants');
const animations = require('./animations.utils'); const animations = require('./animations.utils');
const { infoToast, errorToast } = require('./utils'); const { infoToast, errorToast, removeTier } = require('./utils');
function registerEvents(store) { function registerEvents(store) {
function notify(msg) { function notify(msg) {
@ -69,13 +69,12 @@ function registerEvents(store) {
const timeout = animations.getTime(sequence); const timeout = animations.getTime(sequence);
const anims = animations.getObjects(r, sequence, game, account); const anims = animations.getObjects(r, sequence, game, account);
const text = animations.getText(r, sequence); const text = animations.getText(r, sequence);
store.dispatch(actions.setAnimFocus(animations.getFocusTargets(r, game))); store.dispatch(actions.setAnimFocus(animations.getFocusTargets(r, game)));
if (sequence.includes('START_SKILL')) store.dispatch(actions.setAnimSource(anims.animSource)); if (sequence.includes('START_SKILL')) store.dispatch(actions.setAnimSource(anims.animSource));
if (sequence.includes('END_SKILL')) { if (sequence.includes('END_SKILL')) {
store.dispatch(actions.setAnimTarget(anims.animTarget)); 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')) { if (sequence.includes('POST_SKILL')) {
// timeout to prevent text classes from being added too soon // 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.setAnimText(null));
store.dispatch(actions.setAnimFocus([])); store.dispatch(actions.setAnimFocus([]));
if (!sequence.includes('END_SKILL') if (!sequence.includes('END_SKILL')
|| ['Banish', 'Invert'].includes(anims.animTarget.skill)) return cb(); || ['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) return cb();
return true; return true;
}, timeout); }, timeout);
}, err => { }, err => {

View File

@ -497,33 +497,201 @@ pub enum Skill {
// Evade, // actively evade // Evade, // actively evade
// Nightmare, // Nightmare,
// Sleep, // Sleep,
Amplify, Amplify,
#[serde(rename = "Amplify+")]
AmplifyPlus, AmplifyPlus,
#[serde(rename = "Amplify++")]
AmplifyPlusPlus, AmplifyPlusPlus,
Absorb,
#[serde(rename = "Absorb+")]
AbsorbPlus,
#[serde(rename = "Absorb++")]
AbsorbPlusPlus,
Banish, Banish,
#[serde(rename = "Banish+")]
BanishPlus, BanishPlus,
#[serde(rename = "Banish++")]
BanishPlusPlus, BanishPlusPlus,
Bash, Bash,
#[serde(rename = "Bash+")]
BashPlus, BashPlus,
#[serde(rename = "Bash++")]
BashPlusPlus, BashPlusPlus,
Blast, Blast,
#[serde(rename = "Blast+")]
BlastPlus, BlastPlus,
#[serde(rename = "Blast++")]
BlastPlusPlus, BlastPlusPlus,
Chaos, Chaos,
#[serde(rename = "Chaos+")]
ChaosPlus, ChaosPlus,
#[serde(rename = "Chaos++")]
ChaosPlusPlus, ChaosPlusPlus,
Sustain, Sustain,
#[serde(rename = "Sustain+")]
SustainPlus, SustainPlus,
#[serde(rename = "Sustain++")]
SustainPlusPlus, SustainPlusPlus,
Electrify, Electrify,
#[serde(rename = "Electrify+")]
ElectrifyPlus, ElectrifyPlus,
#[serde(rename = "Electrify++")]
ElectrifyPlusPlus, 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, Electrocute,
ElectrocutePlus, ElectrocutePlus,
ElectrocutePlusPlus, ElectrocutePlusPlus,
@ -531,116 +699,17 @@ pub enum Skill {
ElectrocuteTickPlus, ElectrocuteTickPlus,
ElectrocuteTickPlusPlus, ElectrocuteTickPlusPlus,
Curse,
CursePlus,
CursePlusPlus,
Decay, // dot
DecayPlus,
DecayPlusPlus,
DecayTick, // dot DecayTick, // dot
DecayTickPlus, DecayTickPlus,
DecayTickPlusPlus, DecayTickPlusPlus,
Haste,
HastePlus,
HastePlusPlus,
HasteStrike, HasteStrike,
Heal,
HealPlus,
HealPlusPlus,
Hex,
HexPlus,
HexPlusPlus,
Absorption,
AbsorptionPlus,
AbsorptionPlusPlus,
Absorb,
AbsorbPlus,
AbsorbPlusPlus,
HybridBlast, 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, SiphonTick,
SiphonTickPlus, SiphonTickPlus,
SiphonTickPlusPlus, 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, TriageTick,
TriageTickPlus, TriageTickPlus,
TriageTickPlusPlus, TriageTickPlusPlus,