Merge tag '1.8.1' into develop
1.8.1
This commit is contained in:
commit
dffb4e7221
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-client",
|
"name": "mnml-client",
|
||||||
"version": "1.8.0",
|
"version": "1.8.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -1,14 +1,3 @@
|
|||||||
require('./assets/styles/styles.less');
|
require('./assets/styles/styles.less');
|
||||||
require('./assets/styles/menu.less');
|
|
||||||
require('./assets/styles/nav.less');
|
|
||||||
require('./assets/styles/footer.less');
|
|
||||||
require('./assets/styles/account.less');
|
|
||||||
require('./assets/styles/controls.less');
|
|
||||||
require('./assets/styles/instance.less');
|
|
||||||
require('./assets/styles/vbox.less');
|
|
||||||
require('./assets/styles/game.less');
|
|
||||||
require('./assets/styles/player.less');
|
|
||||||
require('./assets/styles/styles.mobile.less');
|
|
||||||
require('./assets/styles/instance.mobile.less');
|
|
||||||
|
|
||||||
require('./src/animations.test.jsx');
|
require('./src/animations.test.jsx');
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
.account {
|
.account {
|
||||||
grid-template-columns: 1fr 1fr 1fr 1fr;
|
grid-template-columns: 1fr 1fr 1fr 1fr;
|
||||||
|
|
||||||
|
|||||||
@ -140,7 +140,7 @@ svg {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
button {
|
button, button:hover, button:active {
|
||||||
&.blue {
|
&.blue {
|
||||||
border-color: @blue;
|
border-color: @blue;
|
||||||
}
|
}
|
||||||
@ -150,6 +150,16 @@ button {
|
|||||||
&.green {
|
&.green {
|
||||||
border-color: @green;
|
border-color: @green;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&.red-border {
|
||||||
|
border-color: @red;
|
||||||
|
}
|
||||||
|
&.blue-border {
|
||||||
|
border-color: @blue;
|
||||||
|
}
|
||||||
|
&.green-border {
|
||||||
|
border-color: @green;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes rgb {
|
@keyframes rgb {
|
||||||
@ -184,9 +194,9 @@ button {
|
|||||||
|
|
||||||
@keyframes target-ko {
|
@keyframes target-ko {
|
||||||
0% {
|
0% {
|
||||||
opacity: 100%;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
100% {
|
100% {
|
||||||
opacity: 20%;
|
opacity: 0.2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
aside {
|
aside {
|
||||||
grid-area: ctrl;
|
grid-area: ctrl;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|||||||
@ -1,6 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
/* GAME */
|
|
||||||
|
|
||||||
.game {
|
.game {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
// display: grid;
|
// display: grid;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
.instance {
|
.instance {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
// tablet / ipad
|
// tablet / ipad
|
||||||
@media (max-width: 1100px) {
|
@media (max-width: 1100px) {
|
||||||
.instance {
|
.instance {
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
.menu {
|
.menu {
|
||||||
height: 100%;
|
height: 100%;
|
||||||
display: grid;
|
display: grid;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
.player-box {
|
.player-box {
|
||||||
display: grid;
|
display: grid;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|||||||
@ -1,4 +1,15 @@
|
|||||||
@import 'colours.less';
|
@import 'colours.less';
|
||||||
|
@import 'account.less';
|
||||||
|
@import 'menu.less';
|
||||||
|
@import 'nav.less';
|
||||||
|
@import 'footer.less';
|
||||||
|
@import 'controls.less';
|
||||||
|
@import 'instance.less';
|
||||||
|
@import 'vbox.less';
|
||||||
|
@import 'game.less';
|
||||||
|
@import 'player.less';
|
||||||
|
@import 'styles.mobile.less';
|
||||||
|
@import 'instance.mobile.less';
|
||||||
|
|
||||||
html body {
|
html body {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
@import 'colours.less';
|
|
||||||
|
|
||||||
.vbox {
|
.vbox {
|
||||||
margin-bottom: 2em;
|
margin-bottom: 2em;
|
||||||
|
|
||||||
|
|||||||
@ -1,15 +1,4 @@
|
|||||||
require('./assets/styles/styles.less');
|
require('./assets/styles/styles.less');
|
||||||
require('./assets/styles/account.less');
|
|
||||||
require('./assets/styles/menu.less');
|
|
||||||
require('./assets/styles/nav.less');
|
|
||||||
require('./assets/styles/footer.less');
|
|
||||||
require('./assets/styles/controls.less');
|
|
||||||
require('./assets/styles/instance.less');
|
|
||||||
require('./assets/styles/vbox.less');
|
|
||||||
require('./assets/styles/game.less');
|
|
||||||
require('./assets/styles/player.less');
|
|
||||||
require('./assets/styles/styles.mobile.less');
|
|
||||||
require('./assets/styles/instance.mobile.less');
|
|
||||||
|
|
||||||
// kick it off
|
// kick it off
|
||||||
require('./src/app');
|
require('./src/app');
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-client",
|
"name": "mnml-client",
|
||||||
"version": "1.8.0",
|
"version": "1.8.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -30,46 +30,54 @@ function createSocket(store) {
|
|||||||
if (animating) return false;
|
if (animating) return false;
|
||||||
store.dispatch(actions.setAnimating(true));
|
store.dispatch(actions.setAnimating(true));
|
||||||
// stop fetching the game state til animations are done
|
// stop fetching the game state til animations are done
|
||||||
|
|
||||||
return eachSeries(newRes, (r, cb) => {
|
return eachSeries(newRes, (r, cb) => {
|
||||||
if (['Disable', 'TargetKo'].includes(r.event[0])) return cb();
|
if (!r.event) return cb();
|
||||||
|
const timeout = animations.getTime(r.stages);
|
||||||
// convert server enum into anims keywords
|
const anims = animations.getObjects(r, game, account);
|
||||||
// todo make serersideonly
|
const text = animations.getText(r);
|
||||||
const sequence = animations.getSequence(r);
|
|
||||||
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)));
|
store.dispatch(actions.setAnimFocus(animations.getFocusTargets(r, game)));
|
||||||
|
if (anims.animSkill) store.dispatch(actions.setAnimSkill(anims.animSkill));
|
||||||
|
|
||||||
if (sequence.includes('START_SKILL') && anims.animSource) store.dispatch(actions.setAnimSource(anims.animSource));
|
if (r.stages.includes('START_SKILL') && anims.animSource) {
|
||||||
if (sequence.includes('END_SKILL') && anims.animTarget) {
|
store.dispatch(actions.setAnimSource(anims.animSource));
|
||||||
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
|
||||||
if (!['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) store.dispatch(actions.setAnimCb(cb));
|
|
||||||
}
|
}
|
||||||
if (sequence.includes('POST_SKILL' && text)) {
|
|
||||||
|
if (r.stages.includes('END_SKILL') && anims.animTarget) {
|
||||||
|
store.dispatch(actions.setAnimTarget(anims.animTarget));
|
||||||
|
if (animations.isCbAnim(anims.animSkill)) store.dispatch(actions.setAnimCb(cb));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (r.stages.includes('POST_SKILL') && text) {
|
||||||
// timeout to prevent text classes from being added too soon
|
// timeout to prevent text classes from being added too soon
|
||||||
|
if (timeout === TIMES.POST_SKILL_DURATION_MS) {
|
||||||
|
store.dispatch(actions.setAnimText(text));
|
||||||
|
} else {
|
||||||
setTimeout(
|
setTimeout(
|
||||||
() => store.dispatch(actions.setAnimText(text)),
|
() => store.dispatch(actions.setAnimText(text)),
|
||||||
timeout - TIMES.POST_SKILL_DURATION_MS
|
timeout - TIMES.POST_SKILL_DURATION_MS
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return setTimeout(() => {
|
return setTimeout(() => {
|
||||||
|
store.dispatch(actions.setAnimSkill(null));
|
||||||
store.dispatch(actions.setAnimSource(null));
|
store.dispatch(actions.setAnimSource(null));
|
||||||
store.dispatch(actions.setAnimTarget(null));
|
store.dispatch(actions.setAnimTarget(null));
|
||||||
store.dispatch(actions.setAnimText(null));
|
store.dispatch(actions.setAnimText(null));
|
||||||
store.dispatch(actions.setAnimFocus([]));
|
store.dispatch(actions.setAnimFocus([]));
|
||||||
if (!sequence.includes('END_SKILL')
|
if (r.stages.includes('END_SKILL') && animations.isCbAnim(anims.animSkill)) return true;
|
||||||
|| ['Banish', 'Invert'].includes(removeTier(anims.animTarget.skill))) return cb();
|
return cb();
|
||||||
return true;
|
|
||||||
}, timeout);
|
}, timeout);
|
||||||
}, err => {
|
}, err => {
|
||||||
if (err) return console.error(err);
|
if (err) return console.error(err);
|
||||||
// clear animation state
|
// clear animation state
|
||||||
|
store.dispatch(actions.setAnimSkill(null));
|
||||||
store.dispatch(actions.setAnimSource(null));
|
store.dispatch(actions.setAnimSource(null));
|
||||||
store.dispatch(actions.setAnimTarget(null));
|
store.dispatch(actions.setAnimTarget(null));
|
||||||
store.dispatch(actions.setAnimText(null));
|
store.dispatch(actions.setAnimText(null));
|
||||||
store.dispatch(actions.setAnimating(false));
|
store.dispatch(actions.setAnimating(false));
|
||||||
|
store.dispatch(actions.setGameEffectInfo(null));
|
||||||
store.dispatch(actions.setSkip(false));
|
store.dispatch(actions.setSkip(false));
|
||||||
|
|
||||||
// set the game state so resolutions don't fire twice
|
// set the game state so resolutions don't fire twice
|
||||||
|
|||||||
@ -20,6 +20,7 @@ function projectile(x, y, radius, colour) {
|
|||||||
cy={y}
|
cy={y}
|
||||||
r={radius}
|
r={radius}
|
||||||
fill={colour}
|
fill={colour}
|
||||||
|
stroke="none"
|
||||||
filter={colour === '#a52a2a' ? 'url(#chaosRedFilter)' : 'url(#chaosBlueFilter)'}
|
filter={colour === '#a52a2a' ? 'url(#chaosRedFilter)' : 'url(#chaosBlueFilter)'}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
|
|||||||
@ -20,6 +20,7 @@ function projectile(x, y, radius, colour) {
|
|||||||
<circle
|
<circle
|
||||||
cx={x}
|
cx={x}
|
||||||
cy={y}
|
cy={y}
|
||||||
|
stroke="none"
|
||||||
r={radius}
|
r={radius}
|
||||||
fill={colour}
|
fill={colour}
|
||||||
/>
|
/>
|
||||||
@ -28,7 +29,7 @@ function projectile(x, y, radius, colour) {
|
|||||||
|
|
||||||
function sword(colour) {
|
function sword(colour) {
|
||||||
return (
|
return (
|
||||||
<polygon points='150,150 100,75, 150,300, 200,75' fill={colour} id="sword" filter="url(#slayFilter)"></polygon>
|
<polygon points='150,150 100,75, 150,300, 200,75' stroke="none" fill={colour} id="sword" filter="url(#slayFilter)"></polygon>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -4,7 +4,6 @@ const { connect } = require('preact-redux');
|
|||||||
const Main = require('./main');
|
const Main = require('./main');
|
||||||
// const Nav = require('./nav');
|
// const Nav = require('./nav');
|
||||||
const Controls = require('./controls');
|
const Controls = require('./controls');
|
||||||
const Footer = require('./footer');
|
|
||||||
|
|
||||||
const addState = connect(
|
const addState = connect(
|
||||||
({ game, instance }) => ({ game, instance })
|
({ game, instance }) => ({ game, instance })
|
||||||
@ -24,7 +23,6 @@ function Mnml(args) {
|
|||||||
<div id="mnml">
|
<div id="mnml">
|
||||||
<Main />
|
<Main />
|
||||||
<Controls />
|
<Controls />
|
||||||
<Footer />
|
|
||||||
<div id="rotate" class={rotateClass} >
|
<div id="rotate" class={rotateClass} >
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
2
ops/package.json
Executable file → Normal file
2
ops/package.json
Executable file → Normal file
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "mnml-ops",
|
"name": "mnml-ops",
|
||||||
"version": "1.8.0",
|
"version": "1.8.1",
|
||||||
"description": "",
|
"description": "",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "mnml"
|
name = "mnml"
|
||||||
version = "1.8.0"
|
version = "1.8.1"
|
||||||
authors = ["ntr <ntr@smokestack.io>"]
|
authors = ["ntr <ntr@smokestack.io>"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user