Merge tag '1.5.5' into develop

1.5.5
This commit is contained in:
ntr 2019-10-15 12:52:59 +11:00
commit 1c611c31e9
13 changed files with 73 additions and 45 deletions

View File

@ -2,18 +2,24 @@
All notable changes to this project will be documented in this file. All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/). This project adheres to [Semantic Versioning](http://semver.org/).
## [1.5.6] - YYYY-MM-DD ## [1.5.5] - 2019-10-15
### Changed ### Changed
`Purge` Fixed bug where client animations would freeze when clearing a buff * Purge
`Purge` Cooldown increased to 1T * Fixed bug where client animations would freeze when clearing a buff
* Cooldown increased to 1T
* VBOX
* You can no longer select invalid combinations.
## [0.1.5] - 2019-10-10 * Controls
* Abandon button now asks for confirmation.
## [1.1.5] - 2019-10-10
### Changed ### Changed
`Recharge` Skill multiplier reduced 85/130/200 -> 70/110/170 `Recharge` Skill multiplier reduced 85/130/200 -> 70/110/170
`Absorption` Skill duration reduced 5/7/9 -> 3/5/7 `Absorption` Skill duration reduced 5/7/9 -> 3/5/7
## [0.1.4 2019-09-18] ## [1.1.4 2019-09-18]
### Changed ### Changed
Removed self targetting, all skills can be used on any target Removed self targetting, all skills can be used on any target

View File

@ -1 +1 @@
1.5.4 1.5.5

View File

@ -7,7 +7,6 @@
* rename vbox to shop * rename vbox to shop
* combat phase info system * combat phase info system
* drag and drop buy / equip / unequip items * drag and drop buy / equip / unequip items
* no combiner overflow (reset above 3)
* mobile styles * mobile styles
* mobile info page * mobile info page

View File

@ -1,6 +1,6 @@
{ {
"name": "mnml-client", "name": "mnml-client",
"version": "1.5.4", "version": "1.5.5",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@ -205,7 +205,6 @@
.resolving-skill { .resolving-skill {
grid-area: target; grid-area: target;
align-self: center; align-self: center;
text-align: center;
height: auto; height: auto;
svg { svg {
display: inline; display: inline;

View File

@ -1,6 +1,6 @@
{ {
"name": "mnml-client", "name": "mnml-client",
"version": "1.5.4", "version": "1.5.5",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@ -30,7 +30,6 @@ const store = createStore(
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(), window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
); );
document.fonts.load('16pt "Jura"').then(() => {
const events = registerEvents(store); const events = registerEvents(store);
// store.subscribe(() => console.log(store.getState())); // store.subscribe(() => console.log(store.getState()));
setupKeys(store); setupKeys(store);
@ -49,4 +48,3 @@ document.fonts.load('16pt "Jura"').then(() => {
// eslint-disable-next-line // eslint-disable-next-line
preact.render(<App />, document.body); preact.render(<App />, document.body);
});

View File

@ -49,9 +49,10 @@ function GameCtrlTopBtns(args) {
}; };
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`; const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
const abandonText = abandonState ? 'Confirm' : 'Abandon';
const abandonAction = abandonState ? sendAbandon : abandonStateTrue; const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>Abandon</button>; const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>{abandonText}</button>;
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>; const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
return ( return (

View File

@ -49,9 +49,10 @@ function InstanceTopBtns(args) {
}; };
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`; const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
const abandonText = abandonState ? 'Confirm' : 'Abandon';
const abandonAction = abandonState ? sendAbandon : abandonStateTrue; const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>Abandon</button>; const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>{abandonText}</button>;
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>; const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
return ( return (

View File

@ -1,5 +1,6 @@
const preact = require('preact'); const preact = require('preact');
const range = require('lodash/range'); const range = require('lodash/range');
const countBy = require('lodash/countBy');
const without = require('lodash/without'); const without = require('lodash/without');
const { connect } = require('preact-redux'); const { connect } = require('preact-redux');
@ -249,12 +250,35 @@ function Vbox(args) {
if (vboxSelecting) clearVboxSelected(); if (vboxSelecting) clearVboxSelected();
if (reclaiming) return sendVboxReclaim(i); if (reclaiming) return sendVboxReclaim(i);
// 4 things selected
if (combiner.length > 2) return combinerChange([i]);
// removing
const combinerIndex = combiner.indexOf(i); const combinerIndex = combiner.indexOf(i);
if (combinerIndex > -1) { if (combinerIndex > -1) {
return combinerChange(without(combiner, i)); return combinerChange(without(combiner, i));
} }
combiner.push(i); combiner.push(i);
// invalid combo
const combinerItems = combiner.map(j => vbox.bound[j]);
const combinerCounts = countBy(combinerItems, c => c);
// unless some combo
// contains every combinerItems
// and combinerItems.count of item >= components.count(item)
if (!itemInfo.combos
.some(combo => {
const comboCount = countBy(combo.components, c => c);
return combinerItems.every(c =>
combo.components.includes(c) && comboCount[c] >= combinerCounts[c]
);
})) {
return combinerChange([i]);
}
return combinerChange(combiner); return combinerChange(combiner);
} }

View File

@ -1,6 +1,6 @@
{ {
"name": "mnml-ops", "name": "mnml-ops",
"version": "1.5.4", "version": "1.5.5",
"description": "", "description": "",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {

View File

@ -1,6 +1,6 @@
[package] [package]
name = "mnml" name = "mnml"
version = "1.5.4" version = "1.5.5"
authors = ["ntr <ntr@smokestack.io>"] authors = ["ntr <ntr@smokestack.io>"]
[dependencies] [dependencies]