diff --git a/client/src/components/vbox.component.jsx b/client/src/components/vbox.component.jsx index 9377795c..7e56bafb 100644 --- a/client/src/components/vbox.component.jsx +++ b/client/src/components/vbox.component.jsx @@ -344,7 +344,13 @@ function Vbox(args) { } else { // Since theres 3 items in combiner and you can't have invalid combos we can preview it const combinerItems = combiner.map(j => vbox.bound[j]); - const comboItemObj = itemInfo.combos.find(combo => combinerItems.every(c => combo.components.includes(c))); + const combinerCount = countBy(combinerItems, co => co); + const comboItemObj = itemInfo.combos.find(combo => combinerItems.every(c => { + if (!combo.components.includes(c)) return false; + const comboCount = countBy(combo.components, co => co); + if (combinerCount[c] > comboCount[c]) return false; + return true; + })); comboItem = comboItemObj ? comboItemObj.item : 'refine'; text = `Combine - ${comboItem}`; } diff --git a/client/src/events.jsx b/client/src/events.jsx index 63d9c5fb..faf2b0ee 100644 --- a/client/src/events.jsx +++ b/client/src/events.jsx @@ -61,6 +61,7 @@ function registerEvents(store) { if (game && currentGame) { if (game.resolved.length !== currentGame.resolved.length) { store.dispatch(actions.setAnimating(true)); + store.dispatch(actions.setGameSkillInfo(null)); // stop fetching the game state til animations are done const newRes = game.resolved.slice(currentGame.resolved.length);