From e44dc84a4c4ce74823a1b2d4d5bae4df9bea5289 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Sep 2019 13:00:35 +1000 Subject: [PATCH 1/5] info and constants --- README.md | 37 +++++------------------- client/src/components/info.component.jsx | 1 + client/src/constants.jsx | 4 +-- 3 files changed, 11 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index d32ffb94..5d22ff27 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,12 @@ -# Constructs ("creeps") +# mnml +mnml is a turn-based 1v1 strategy game in an abstract setting. +players craft a team of 3 constructs combining a deep pool of skills, effects and specialisations to mindgame & outplay their opponents in a rapid series of duels. +featuring complex interactions arising from simple rules, simultaneous turns to increase the pace, and a unique speed mechanic mnml is a tactical game in a genre of its own. +it is completely free to play and requires no installation. -## Combat - -skill phase: -1.1 -> block (sp 10) -> on self -1.2 -> attack (sp 5) -> on player 2 - -2.1 -> hex (sp 3) -> on player 1 -2.2 -> attack (sp 5) -> on player 1 - -target phase: -player 2 targets 1.2 on 2.2 - -player 1 targets 2.1 on 1.1 -player 1 targets 2.2 on 1.1 - -resolve phase: -1.1 <- block -1.1 <- attack (no effect because of block) -2.2 <- attack (normal resolve) -1.1 <- hexed (no skills for the rest of this turn and next) - -## Damage Chart - -| Red | Magic | Modifiers | -| ------ | ------ | ------ | -| damage | damage | speed | -| evasion | resistance | cooldowns | -| reduction | absorption? | durations | +minimal studios is ntr & mashy: 2 mates with a friendship forged in the fires of warcraft 3 dota. +we have both bailed out of the big city life and have dedicated ourselves to growing farm fresh, organic, ethical gaming produce in the rolling hills of brisbane and leaves of melbourne. +completely self funded, we're just here to make games that feel good & play it clean. ## Construct Alignments diff --git a/client/src/components/info.component.jsx b/client/src/components/info.component.jsx index 29edb8cb..2d197b18 100644 --- a/client/src/components/info.component.jsx +++ b/client/src/components/info.component.jsx @@ -21,6 +21,7 @@ function InfoComponent(args) { return (

VBOX phase

+

in this phase you strengthen and specialise your constructs by equipping items to them.

double clicking items in the VBOX will purchase and move them to your INVENTORY.

hover over an item to see its effects and combinations.
diff --git a/client/src/constants.jsx b/client/src/constants.jsx index 3f21ecea..0719f25f 100644 --- a/client/src/constants.jsx +++ b/client/src/constants.jsx @@ -36,7 +36,7 @@ module.exports = { }, bits: { item: 'BITS', - description: 'The VBOX currency.\nColours: 1b\nSkills: 2b\nSpecs: 3b\nWin: +12b\nLose: +9b', + description: 'The VBOX currency.\nColours: 1b\nSkills: 2b\nSpecs: 3b\nAt the beginning of a round you receive 12 + 6 * round_number bits.', }, ready: { item: 'READY', @@ -56,7 +56,7 @@ module.exports = { }, refill: { item: 'REFILL', - description: 'Refill the VBOX with new ITEMS.\nCosts 5b.', + description: 'Refill the VBOX with new ITEMS.', }, equipSkills: { item: 'QUICK ACCESS - SKILLS', From e69764d29483dbfedf904195a7753d98464237a9 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Sep 2019 13:00:47 +1000 Subject: [PATCH 2/5] version 1.3.1 --- VERSION | 2 +- acp/package.json | 2 +- client/package.json | 2 +- ops/package.json | 2 +- server/Cargo.toml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/VERSION b/VERSION index 589268e6..6261a05b 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.0 \ No newline at end of file +1.3.1 \ No newline at end of file diff --git a/acp/package.json b/acp/package.json index a0aeb290..a80895bb 100644 --- a/acp/package.json +++ b/acp/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.3.0", + "version": "1.3.1", "description": "", "main": "index.js", "scripts": { diff --git a/client/package.json b/client/package.json index 21e2be2a..4e85b7f7 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.3.0", + "version": "1.3.1", "description": "", "main": "index.js", "scripts": { diff --git a/ops/package.json b/ops/package.json index 69c69d72..2afa6902 100755 --- a/ops/package.json +++ b/ops/package.json @@ -1,6 +1,6 @@ { "name": "mnml-ops", - "version": "1.3.0", + "version": "1.3.1", "description": "", "main": "index.js", "scripts": { diff --git a/server/Cargo.toml b/server/Cargo.toml index 26856718..0a1a2083 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mnml" -version = "1.3.0" +version = "1.3.1" authors = ["ntr "] [dependencies] From c4fd68a47f71cc48ac6bd870ef05a1e18d21a333 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Sep 2019 14:01:03 +1000 Subject: [PATCH 3/5] better register messages and stripe payments fix --- server/src/http.rs | 26 ++++++++++++++++++++------ server/src/payments.rs | 12 +++++++++--- 2 files changed, 29 insertions(+), 9 deletions(-) diff --git a/server/src/http.rs b/server/src/http.rs index 592a06d0..c7475ee7 100644 --- a/server/src/http.rs +++ b/server/src/http.rs @@ -40,12 +40,12 @@ pub enum MnmlHttpError { BadRequest, #[fail(display="not found")] NotFound, - #[fail(display="account name taken or invalid")] - AccountNameNotProvided, #[fail(display="account name not provided")] - AccountNotFound, + AccountNameNotProvided, + #[fail(display="account name unavailable")] + AccountNameUnavailable, #[fail(display="account not found")] - AccountNameTaken, + AccountNotFound, #[fail(display="password does not match")] PasswordNotMatch, #[fail(display="password unacceptable. must be > 11 characters")] @@ -66,7 +66,21 @@ impl From for MnmlHttpError { impl From for MnmlHttpError { fn from(err: postgres::Error) -> Self { warn!("{:?}", err); - MnmlHttpError::DbError + + match err.as_db() { + Some(db) => { + let constraint = match db.constraint { + Some(ref c) => c, + None => return MnmlHttpError::DbError, + }; + + match constraint.as_ref() { + "accounts_name_unique" => MnmlHttpError::AccountNameUnavailable, + _ => MnmlHttpError::DbError, + } + }, + _ => MnmlHttpError::DbError, + } } } @@ -109,7 +123,7 @@ impl From for IronError { MnmlHttpError::DbError => (m_err.compat(), status::InternalServerError), MnmlHttpError::AccountNameNotProvided | - MnmlHttpError::AccountNameTaken | + MnmlHttpError::AccountNameUnavailable | MnmlHttpError::AccountNotFound | MnmlHttpError::BadRequest | MnmlHttpError::PasswordUnacceptable => (m_err.compat(), status::BadRequest), diff --git a/server/src/payments.rs b/server/src/payments.rs index f5dbd6f8..702aec57 100644 --- a/server/src/payments.rs +++ b/server/src/payments.rs @@ -164,9 +164,15 @@ impl StripeData { Ok(self) }, StripeData::Purchase { account, customer: _, amount, checkout: _ } => { - let credits = amount - .checked_div(CREDITS_COST_CENTS) - .expect("credits cost 0"); + let credits = match amount { + 500 => 50, + 1000 => 110, + 2000 => 250, + 5000 => 660, + _ => amount + .checked_div(CREDITS_COST_CENTS) + .expect("credits cost 0"), + }; account::credit(tx, *account, credits)?; From 44ef34c6eb13e59e7199dd276993b4f5b04cd8a9 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Sep 2019 14:33:58 +1000 Subject: [PATCH 4/5] menu styles --- client/assets/styles/account.less | 25 ++++------- client/assets/styles/menu.less | 60 ++++++++++++++------------- client/src/components/account.top.jsx | 14 +++---- client/src/components/play.jsx | 4 +- client/src/components/shop.jsx | 4 +- 5 files changed, 48 insertions(+), 59 deletions(-) diff --git a/client/assets/styles/account.less b/client/assets/styles/account.less index 74ef9e3c..44b1c2dd 100644 --- a/client/assets/styles/account.less +++ b/client/assets/styles/account.less @@ -1,18 +1,19 @@ @import 'colours.less'; .account { - display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; - grid-gap: 0 1em; + + div { + padding-right: 2em; + } button { + width: 100%; display: block; - // height: 3em; - width: 75%; } input { - width: 75%; + width: 100%; height: 3em; display: block; } @@ -31,19 +32,7 @@ } .list { - letter-spacing: 0.25em; - text-transform: uppercase; - - figure { - width: 75%; - display: flex; - flex-flow: column; - margin-bottom: 1em; - - button { - width: 100%; - } - } + grid-template-columns: 1fr; } } diff --git a/client/assets/styles/menu.less b/client/assets/styles/menu.less index 041f0263..49a312fa 100644 --- a/client/assets/styles/menu.less +++ b/client/assets/styles/menu.less @@ -61,35 +61,6 @@ } } - .inventory { - display: grid; - grid-template-columns: 1fr 1fr; - - h1 { - margin-bottom: 0.5em; - } - - .news { - padding-right: 1em; - } - - .list { - letter-spacing: 0.25em; - text-transform: uppercase; - display: grid; - grid-template-columns: repeat(4, 1fr); - grid-gap: 1em; - flex-flow: row wrap; - align-items: flex-end; - } - - figure { - font-size: 125%; - display: flex; - flex-flow: column; - } - } - .options { grid-area: hdr; @@ -107,3 +78,34 @@ } } } + +section { + display: grid; + grid-template-columns: 1fr 1fr; + + h1 { + margin-bottom: 0.5em; + } + + .news { + padding-right: 1em; + } + + .list { + letter-spacing: 0.25em; + text-transform: uppercase; + display: grid; + grid-template-columns: repeat(4, 1fr); + grid-gap: 1em; + flex-flow: row wrap; + align-items: flex-end; + } + + figure { + letter-spacing: 0.25em; + text-transform: uppercase; + font-size: 125%; + display: flex; + flex-flow: column; + } +} \ No newline at end of file diff --git a/client/src/components/account.top.jsx b/client/src/components/account.top.jsx index 813e6054..2589f662 100644 --- a/client/src/components/account.top.jsx +++ b/client/src/components/account.top.jsx @@ -206,14 +206,12 @@ class AccountStatus extends Component {

-
-
-
spawn new construct
- -
-
+
+
spawn new construct
+ +
diff --git a/client/src/components/play.jsx b/client/src/components/play.jsx index 9ebd4d9e..1f0325f7 100644 --- a/client/src/components/play.jsx +++ b/client/src/components/play.jsx @@ -89,7 +89,7 @@ function Play(args) { return ( -
+

mnml v{VERSION}

use the buttons on the right to join an instance.

@@ -122,7 +122,7 @@ function Play(args) { {shop.available.map(availableMtx)}
- + ); } diff --git a/client/src/components/shop.jsx b/client/src/components/shop.jsx index da0de7af..cb00e91c 100644 --- a/client/src/components/shop.jsx +++ b/client/src/components/shop.jsx @@ -25,7 +25,7 @@ function Shop(args) { } = args; return ( -
+

support the game

@@ -51,7 +51,7 @@ function Shop(args) {

-
+ ); } From 3c7816fb166a2db7b92c9fc1ce4d767bef588107 Mon Sep 17 00:00:00 2001 From: ntr Date: Sun, 8 Sep 2019 14:42:14 +1000 Subject: [PATCH 5/5] version bump --- VERSION | 2 +- WORKLOG.md | 8 +++----- acp/package.json | 2 +- client/package.json | 2 +- ops/package.json | 2 +- server/Cargo.toml | 2 +- 6 files changed, 8 insertions(+), 10 deletions(-) diff --git a/VERSION b/VERSION index 6261a05b..d5e98f72 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.3.1 \ No newline at end of file +1.3.2 \ No newline at end of file diff --git a/WORKLOG.md b/WORKLOG.md index 5a757c5f..066e89c0 100644 --- a/WORKLOG.md +++ b/WORKLOG.md @@ -17,16 +17,14 @@ * bot game grind * stress test +* msg pane +* game invites * change score to enum -* pct based translates for combat animation -* make our own toasts / msg pane -* send account_instances on players update +* pct based translates for combat animation * add speed to descriptions * clear skill (if currently targetted) -* only login / logout / register http - ## SOON *SERVER* * modules diff --git a/acp/package.json b/acp/package.json index a80895bb..fb96a8c8 100644 --- a/acp/package.json +++ b/acp/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.3.1", + "version": "1.3.2", "description": "", "main": "index.js", "scripts": { diff --git a/client/package.json b/client/package.json index 4e85b7f7..00f15a25 100644 --- a/client/package.json +++ b/client/package.json @@ -1,6 +1,6 @@ { "name": "mnml-client", - "version": "1.3.1", + "version": "1.3.2", "description": "", "main": "index.js", "scripts": { diff --git a/ops/package.json b/ops/package.json index 2afa6902..7dc1156a 100755 --- a/ops/package.json +++ b/ops/package.json @@ -1,6 +1,6 @@ { "name": "mnml-ops", - "version": "1.3.1", + "version": "1.3.2", "description": "", "main": "index.js", "scripts": { diff --git a/server/Cargo.toml b/server/Cargo.toml index 0a1a2083..c3c48ed2 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mnml" -version = "1.3.1" +version = "1.3.2" authors = ["ntr "] [dependencies]