diff --git a/client/cryps.css b/client/cryps.css index 275d7883..1fe6e278 100644 --- a/client/cryps.css +++ b/client/cryps.css @@ -457,7 +457,7 @@ header { .cryp-box-top { display: flex; - flex: 1 1 80%; + flex: 1 1 75%; width: 100%; justify-content: center; align-items: stretch; diff --git a/client/src/components/game.component.jsx b/client/src/components/game.component.jsx index 0ebc6a82..d976fca5 100644 --- a/client/src/components/game.component.jsx +++ b/client/src/components/game.component.jsx @@ -137,7 +137,7 @@ function GamePanel(props) { function Cryp(cryp) { const ko = cryp.hp.value === 0 ? 'ko' : ''; - const skills = range(0, 4).map(i => Skill(cryp, i)); + const skills = range(0, 3).map(i => Skill(cryp, i)); const stats = [STATS.hp, STATS.redShield, STATS.blueShield].map((s, j) => (
@@ -226,7 +226,7 @@ function GamePanel(props) { const selectedSkills = playerTeam.cryps.map((c, i) => stackElement(c, i)); const mobileSkills = activeCryp - ? range(0, 4).map(i => Skill(activeCryp, i, true)) + ? range(0, 3).map(i => Skill(activeCryp, i, true)) : (
); return ( diff --git a/client/src/components/info.component.jsx b/client/src/components/info.component.jsx index e76347c9..1219003e 100644 --- a/client/src/components/info.component.jsx +++ b/client/src/components/info.component.jsx @@ -10,6 +10,7 @@ function Info(args) { info, sendUnequip, instance, + setInfo, } = args; function infoVar([type, value]) { @@ -86,11 +87,18 @@ function Info(args) { function infoCrypElement(cryp) { // onClick={() => setInfo('skill', { skill: s, cryp })} - const skills = range(0, 4).map(i => { + const skills = range(0, 3).map(i => { + const skill = cryp.skills[i]; + + function skillClick() { + if (!skill) return false; + return setInfo('skill', { skill: skill.skill, cryp }); + } + const s = cryp.skills[i] ? cryp.skills[i].skill : ( ); - return ; + return ; }); const stats = Object.values(STATS).map((s, j) => ( @@ -100,12 +108,18 @@ function Info(args) {
)); - const specs = cryp.specs.map((s, i) => ( -
- {SPECS[s].svg(`stat-icon ${SPECS[s].colour}`)} -
{SPECS[s].caption}
-
- )); + const specs = cryp.specs.map((s, i) => { + function specClick() { + setInfo('spec', { spec: s, cryp }); + } + + return ( +
+ {SPECS[s].svg(`stat-icon ${SPECS[s].colour}`)} +
{SPECS[s].caption}
+
+ ); + }); return ( diff --git a/client/src/components/info.container.jsx b/client/src/components/info.container.jsx index 1b098e82..b4cd2779 100644 --- a/client/src/components/info.container.jsx +++ b/client/src/components/info.container.jsx @@ -1,7 +1,6 @@ const { connect } = require('preact-redux'); -// const actions = require('../actions'); - +const actions = require('../actions'); const Info = require('./info.component'); const addState = connect( @@ -23,13 +22,24 @@ const addState = connect( sendUnequip, instance, }; - } -/* - function receiveDispatch(dispatch) { + }, - return { }; + function receiveDispatch(dispatch) { + function setInfo(item, value) { + dispatch(actions.setInfo([item, value])); + } + + function setActiveVar(value) { + dispatch(actions.setActiveVar(value)); + } + + + return { + setInfo, + setActiveVar, + }; } -*/ + ); module.exports = addState(Info); diff --git a/client/src/components/instance.component.jsx b/client/src/components/instance.component.jsx index e87d715c..71b8c219 100644 --- a/client/src/components/instance.component.jsx +++ b/client/src/components/instance.component.jsx @@ -18,7 +18,7 @@ function Cryp(props) { setActiveCryp, } = props; - const skills = range(0, 4).map(i => { + const skills = range(0, 3).map(i => { const skill = cryp.skills[i]; const s = skill ? skill.skill @@ -26,7 +26,7 @@ function Cryp(props) { function skillClick() { if (!skill) return false; - setInfo('skill', { skill, cryp }); + setInfo('skill', { skill: skill.skill, cryp }); return setActiveCryp(cryp); } diff --git a/server/src/vbox.rs b/server/src/vbox.rs index 21a9de06..1b40c4f5 100644 --- a/server/src/vbox.rs +++ b/server/src/vbox.rs @@ -582,7 +582,7 @@ pub fn vbox_apply(params: VboxApplyParams, tx: &mut Transaction, account: &Accou let skill = var.into_skill().ok_or(format_err!("var {:?} has no associated skill", var))?; let cryp = player.cryp_get(params.cryp_id)?; // done here because i teach them a tonne of skills for tests - let max_skills = 4; + let max_skills = 3; if cryp.skills.len() >= max_skills { return Err(format_err!("cryp at max skills ({:?})", max_skills)); }