diff --git a/VERSION b/VERSION index 6463e95e..49ebdd60 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.6.4 \ No newline at end of file +1.6.5 \ No newline at end of file diff --git a/acp/package.json b/acp/package.json index 58c51770..2591fabe 100644 --- a/acp/package.json +++ b/acp/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.6.4", + "version": "1.6.5", "description": "", "main": "index.js", "scripts": { diff --git a/client/assets/mnni.svg b/client/assets/mnni.svg index 3b4b744b..2977381b 100644 --- a/client/assets/mnni.svg +++ b/client/assets/mnni.svg @@ -11,8 +11,8 @@ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" width="2100mm" - height="1100mm" - viewBox="0 0 2100 1100" + height="2100mm" + viewBox="0 0 2100 2100" version="1.1" id="svg16" inkscape:version="0.92.1 r15371" @@ -2008,15 +2008,15 @@ id="g4989"> @@ -2459,9 +2459,9 @@ inkscape:pageshadow="2" inkscape:zoom="0.079573438" inkscape:cx="3528.1874" - inkscape:cy="583.63933" + inkscape:cy="3097.0409" inkscape:document-units="mm" - inkscape:current-layer="layer2" + inkscape:current-layer="layer1" showgrid="true" inkscape:snap-grids="true" inkscape:window-width="1920" @@ -2515,7 +2515,7 @@ id="layer2" inkscape:label="boxes" style="display:none" - transform="translate(0,100)"> + transform="translate(0,1100)"> diff --git a/client/assets/styles/colours.less b/client/assets/styles/colours.less index 79088b7c..13da2d0e 100644 --- a/client/assets/styles/colours.less +++ b/client/assets/styles/colours.less @@ -150,4 +150,22 @@ button { &.green { border-color: @green; } -} \ No newline at end of file +} + +@keyframes rgb { + 0% { + color: @red; + } + 25% { + color: @white; + } + 50% { + color: @blue; + } + 75% { + color: @white; + } + 100% { + color: @green; + } +} diff --git a/client/assets/styles/controls.less b/client/assets/styles/controls.less index b465938d..2ff3ee04 100644 --- a/client/assets/styles/controls.less +++ b/client/assets/styles/controls.less @@ -85,6 +85,17 @@ aside { transition-property: color, background; transition-duration: 0.25s; transition-timing-function: ease; + + &:enabled { + color: forestgreen; + border-color: forestgreen; + + &:hover { + background: forestgreen; + color: black; + border-color: forestgreen; + } + } } .team-page-ctrl { @@ -117,6 +128,10 @@ aside { font-size: 200%; animation: co 0.75s cubic-bezier(0, 0, 1, 1) 0s infinite alternate; } + + .flex { + flex: 1; + } } .abandon:not([disabled]) { diff --git a/client/assets/styles/game.less b/client/assets/styles/game.less index f85ca3cf..65ad6b25 100644 --- a/client/assets/styles/game.less +++ b/client/assets/styles/game.less @@ -437,11 +437,12 @@ #targeting, .resolving-skill { width: calc(100% - 1em); } + + .player { + width: calc(100% - 1em); + bottom: 3em; + height: calc(50% - 3em); + } } - .player { - width: calc(100% - 1em); - bottom: 3em; - height: calc(50% - 3em); - } } diff --git a/client/assets/styles/menu.less b/client/assets/styles/menu.less index 0fbb7f90..672e928e 100644 --- a/client/assets/styles/menu.less +++ b/client/assets/styles/menu.less @@ -90,6 +90,11 @@ .login { display: flex; flex-flow: column; + + .terms { + display: inline; + margin: 0 1em; + } } } diff --git a/client/assets/styles/player.less b/client/assets/styles/player.less index 616ba46f..cadd02fe 100644 --- a/client/assets/styles/player.less +++ b/client/assets/styles/player.less @@ -51,6 +51,11 @@ color: @yellow; font-weight: bold; } + + .name.subscriber { + // animation: rgb 4s cubic-bezier(0.5, 0, 0.5, 1) 0s infinite alternate; + // font-weight: bold; + } } .chat { diff --git a/client/assets/styles/styles.less b/client/assets/styles/styles.less index e8188302..86ea5d38 100644 --- a/client/assets/styles/styles.less +++ b/client/assets/styles/styles.less @@ -143,7 +143,7 @@ button, input { a { color: whitesmoke; - text-decoration: none; + // text-decoration: none; &:hover { color: whitesmoke; diff --git a/client/index.html b/client/index.html index 57f8602d..760d2f1e 100644 --- a/client/index.html +++ b/client/index.html @@ -9,7 +9,7 @@ - mnml - abstract strategy + MNML - abstract strategy @@ -19,7 +19,7 @@ diff --git a/client/package.json b/client/package.json index 79c60238..6c6d56fe 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.6.4", + "version": "1.6.5", "description": "", "main": "index.js", "scripts": { diff --git a/client/src/app.jsx b/client/src/app.jsx index cfc877b7..0d668980 100644 --- a/client/src/app.jsx +++ b/client/src/app.jsx @@ -15,10 +15,6 @@ const registerEvents = require('./events'); const Mnml = require('./components/mnml'); -if (process.env.NODE_ENV !== 'development') { - LogRocket.init('yh0dy3/mnml'); -} - function stripeKey() { if (window.location.host === 'mnml.gg') return 'pk_live_fQGrL1uWww2ot8W1G7vTySAv004ygmnMXq'; return 'pk_test_Cb49tTqTXpzk7nEmlGzRrNJg00AU0aNZDj'; @@ -40,9 +36,12 @@ events.setWs(ws); const App = () => ( - - - + {window.Stripe + ? + + + : + } ); diff --git a/client/src/components/account.box.jsx b/client/src/components/account.box.jsx index c6383c55..0ff61b8f 100644 --- a/client/src/components/account.box.jsx +++ b/client/src/components/account.box.jsx @@ -101,11 +101,13 @@ function AccountBox(args) { // ); // } + const nameClass = `name ${account.subscribed ? 'subscriber' : ''}`; + return (
 
-
{account.name}
+
{account.name}
 
); diff --git a/client/src/components/anims/wiggle.jsx b/client/src/components/anims/wiggle.jsx index a9615181..e071450b 100644 --- a/client/src/components/anims/wiggle.jsx +++ b/client/src/components/anims/wiggle.jsx @@ -6,17 +6,18 @@ function wiggle(id, idle) { const x = window.innerWidth * 0.01 * (Math.round(Math.random()) ? Math.random() : -Math.random()); const y = window.innerHeight * 0.01 * (Math.round(Math.random()) ? Math.random() : -Math.random()); + const originalX = parseFloat(idle.animations[0].currentValue); + const originalY = parseFloat(idle.animations[1].currentValue); // console.log(x, y); return anime({ targets: target, - rotate: 0, - translateX: [x, -x, 0], - translateY: [y, -y, 0], + translateX: [originalX + x, originalX - x, originalX], + translateY: [originalY + y, originalY - y, originalY], duration, easing: 'easeInOutSine', // direction: 'alternate', begin: idle.pause, - complete: idle.restart, + complete: idle.play, }); } diff --git a/client/src/components/play.ctrl.jsx b/client/src/components/play.ctrl.jsx index 39f11fc0..d267b670 100644 --- a/client/src/components/play.ctrl.jsx +++ b/client/src/components/play.ctrl.jsx @@ -16,7 +16,7 @@ function JoinButtons(args) {
- +
diff --git a/client/src/components/play.footer.jsx b/client/src/components/play.footer.jsx index f8a8479a..1f059064 100644 --- a/client/src/components/play.footer.jsx +++ b/client/src/components/play.footer.jsx @@ -3,8 +3,6 @@ const { connect } = require('preact-redux'); const { errorToast, infoToast } = require('../utils'); -const AccountBox = require('./account.box'); - const addState = connect( function receiveState(state) { const { diff --git a/client/src/components/play.jsx b/client/src/components/play.jsx index dc7a1720..40f5b657 100644 --- a/client/src/components/play.jsx +++ b/client/src/components/play.jsx @@ -120,7 +120,7 @@ function Play(args) { type="submit"> Copy 🔗 -
Invite Generated
+
Click to Copy
); }; @@ -203,6 +203,7 @@ function Play(args) {
Join our Discord server to find opponents and talk to the devs.
Message @ntr or @mashy for some credits to get started.
+ Tutorial Playthrough on YouTube

diff --git a/client/src/components/player.box.jsx b/client/src/components/player.box.jsx index 29ee6532..2790d69f 100644 --- a/client/src/components/player.box.jsx +++ b/client/src/components/player.box.jsx @@ -70,22 +70,26 @@ function Scoreboard(args) { const winner = player.score === 'Win'; if (!isPlayer) { + const nameClass = `name ${player.img ? 'subscriber' : ''}`; return (
{scoreText()}
-
{player.name}
+
{player.name}
{chat || '\u00A0'}
); } + const boxClass = `player-box bottom ${winner ? 'winner': player.ready ? 'ready' : ''}`; + const nameClass = `name ${player.img ? 'subscriber' : ''}`; + return ( -
+
{chat || '\u00A0'}
{scoreText()}
-
{player.name}
+
{player.name}
); diff --git a/client/src/components/shop.jsx b/client/src/components/shop.jsx index 08a79fad..7e23bc60 100644 --- a/client/src/components/shop.jsx +++ b/client/src/components/shop.jsx @@ -48,9 +48,12 @@ function Shop(args) {

ยค {account.balance}

- - - + {window.Stripe + ? + + + :
Please unblock Stripe to use the store
+ }
); diff --git a/client/src/components/welcome.jsx b/client/src/components/welcome.jsx index 6146b7a0..558e5719 100644 --- a/client/src/components/welcome.jsx +++ b/client/src/components/welcome.jsx @@ -8,7 +8,7 @@ const Help = require('./welcome.help'); const Demo = require('./demo'); function Welcome() { - const page = this.state.page || 'login'; + const page = this.state.page || 'register'; const navRegister = () => this.setState({ page: 'register' }); const pageEl = () => { @@ -53,7 +53,7 @@ function Welcome() {

Welcome to mnml.

-

Turn-based 1v1 strategy game in an abstract setting.

+

MNML is a turn-based 1v1 strategy game in an abstract setting.

Build a unique team of 3 constructs from a range of skills and specialisations.
Outplay your opponent in multiple rounds by adapting to an always shifting meta.
@@ -62,6 +62,7 @@ function Welcome() {

Free to play, no pay to win. Register to start playing.

+ Tutorial Playthrough on YouTube
{pageEl()} diff --git a/client/src/components/welcome.register.jsx b/client/src/components/welcome.register.jsx index 99f8baed..68b6fedb 100644 --- a/client/src/components/welcome.register.jsx +++ b/client/src/components/welcome.register.jsx @@ -58,7 +58,7 @@ function Register(args) { value={this.state.name} onInput={linkState(this, 'name')} /> - + -   Confirm agreement to terms of service   +