This commit is contained in:
ntr 2019-11-22 12:47:46 +11:00
parent 672644514d
commit d4f2f9623f
8 changed files with 107 additions and 101 deletions

View File

@ -12,6 +12,22 @@ _ntr_
* animation effects
* vbox combine / buy / equip etc
* background music
* effects rework
Siphon =
[
DamageBlue(50%),
Apply(
Siphon(2T)
- Siphoning(2T)
),
]
Hexagon Set
- Pick Colour
- Random Walk
- Draw hex
- Increase intensity for each visit
_mashy_
* buy from preview if you have the required bases in vbox / inventory
@ -53,9 +69,9 @@ _tba_
- Strike + SpeedRR -> StrikeSpeed (strike has Y% more speed)
- Strike + LifeRR -> StrikeLife (Strike recharges X% of damage as red life)
- Can also work as module style passive keystones
- Can also work as module style passive keystones
* troll life -> dmg -> Invert life spec?
* prince of peace
* prince of peace
* bonus healing / no damage -> Heal power spec?
* fuck magic -> Some sort of reflect spec?
* empower on ko -> Amplify + Power spec

View File

@ -5,7 +5,7 @@
.instance {
overflow: hidden;
display: grid;
grid-template-columns: min-content minmax(min-content, 1fr);
grid-template-columns: 3fr minmax(min-content, 6fr);
grid-template-rows: min-content 1fr;
grid-template-areas:

View File

@ -125,7 +125,7 @@ button, input {
font-family: 'Jura';
color: whitesmoke;
height: auto;
border-width: 0.1em;
border-width: 0.2em;
border-color: @gray-exists;
letter-spacing: 0.25em;
box-sizing: border-box;

View File

@ -2,40 +2,38 @@
align-content: space-between;
grid-area: vbox;
display: grid;
grid-template-rows: 9.5em 2.5em 4.5em min-content;
grid-template-columns: 8em 24em;
grid-template-rows: 1fr min-content;
grid-template-columns: 1fr 3fr;
grid-template-areas:
"store-hdr store"
"stash-hdr store"
"stash stash"
"refund combiner";
"stash-hdr stash"
"refund combiner";
margin-bottom: 1em;
line-height: 0;
.vbox-padding {
margin-left: 0.5em;
margin-bottom: 0.5em;
margin-top: 0.5em;
margin-right: 0.5em;
// immediate children
> div {
padding: 0.5em;
}
.store {
grid-area: store;
border-bottom: 0.1em solid @gray-exists;
border-right: 0.1em solid @gray-exists;
border-top: 0.1em solid @gray-exists;
border-right: 0.2em solid @gray-exists;
border-top: 0.2em solid @gray-exists;
}
.store-hdr {
grid-area: store-hdr;
border-bottom: 0.1em solid @gray-exists;
border-left: 0.1em solid @gray-exists;
border-top: 0.1em solid @gray-exists;
display: flex;
flex-flow: column;
text-align: center;
border-left: 0.2em solid @gray-exists;
border-top: 0.2em solid @gray-exists;
button {
margin-top: 0.5em;
margin: 1em 0 0 0;
line-height: 1.6;
height: 4em;
letter-spacing: 0.1em;
background-color: #421010;
&:hover {
@ -47,18 +45,17 @@
.combiner {
grid-area: combiner;
border-top: 0.1em solid @gray-exists;
border-left: 0.1em solid @gray-exists;
display: flex;
flex-direction: column;
padding: 0.5em 0 0 0;
.vbox-padding {
margin-right: 0em;
margin-bottom: 0em;
}
button {
height: 3em;
letter-spacing: 0.1em;
background-color: #996100;
&[disabled] {
@ -66,35 +63,42 @@
};
}
}
.stash {
grid-area: stash;
.vbox-padding {
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 0.5em 1em;
align-items: center;
}
border-right: 0.1em solid @gray-exists;
border-left: 0.1em solid @gray-exists;
display: grid;
grid-template-columns: repeat(4, 1fr);
grid-gap: 0.5em 1em;
align-items: center;
padding: 0.5em;
border: 0.2em solid @gray-exists;
border-left: 0;
}
.stash-hdr {
display: flex;
flex-flow: column;
justify-content: center;
grid-area: stash-hdr;
border-left: 0.1em solid @gray-exists;
border-right: 0.1em solid @gray-exists;
text-align: center;
border: 0.2em solid @gray-exists;
border-right: 0;
}
.refund {
padding: 0.5em 0.5em 0 0;
button {
line-height: 1.4;
height: 3em;
letter-spacing: 0.1em;
background-color: #996100;
}
border-left: 0.1em solid @gray-exists;
border-bottom: 0.1em solid @gray-exists;
.vbox-padding {
padding-left: 0;
}
}
.vbox-hdr {
@ -115,14 +119,12 @@
grid-template-columns: repeat(3, 1fr);
grid-gap: 0.5em 1em;
align-items: center;
margin-bottom: 0.5em;
}
.vbox-btn {
width: 100%;
margin: 0;
background-color: @gray-box;
height: 3em;
line-height: 1em;
border-width: 0;
@ -153,7 +155,7 @@
}
button {
height: 3.25em;
height: 4.5em;
margin: 0;
width: 100%;

View File

@ -52,15 +52,13 @@ function combinerBtn(props) {
}
return (
<div class='combiner'>
<div class='vbox-padding'>
<button
class='vbox-btn'
disabled={!mouseEvent}
onClick={e => e.stopPropagation()}
onMouseDown={() => mouseEvent()}>
{text}
</button>
</div>
<button
class='vbox-btn'
disabled={!mouseEvent}
onClick={e => e.stopPropagation()}
onMouseDown={() => mouseEvent()}>
{text}
</button>
</div>
);
}

View File

@ -177,27 +177,25 @@ class Vbox extends preact.Component {
function storeHdr() {
return (
<div class="store-hdr">
<div class='vbox-padding'>
<h3
onTouchStart={e => e.target.scrollIntoView(true)}
onMouseOver={e => vboxHover(e, 'store')}> STORE
</h3>
<div class={`bits ${vbox.bits < 3 ? 'red' : false}`} onMouseOver={e => vboxHover(e, 'bits')}>
<h2> {vbox.bits}b </h2>
</div>
<button
class='vbox-btn'
onMouseOver={e => vboxHover(e, 'refill')}
disabled={vbox.bits < 2
|| (tutorial && tutorial < 7
&& instance.time_control === 'Practice' && instance.rounds.length === 1)
}
onClick={e => e.stopPropagation()}
onMouseDown={() => sendVboxDiscard()}>
refill <br />
2b
</button>
<h3
onTouchStart={e => e.target.scrollIntoView(true)}
onMouseOver={e => vboxHover(e, 'store')}> STORE
</h3>
<div class={`bits ${vbox.bits < 3 ? 'red' : false}`} onMouseOver={e => vboxHover(e, 'bits')}>
<h2> {vbox.bits}b </h2>
</div>
<button
class='vbox-btn'
onMouseOver={e => vboxHover(e, 'refill')}
disabled={vbox.bits < 2
|| (tutorial && tutorial < 7
&& instance.time_control === 'Practice' && instance.rounds.length === 1)
}
onClick={e => e.stopPropagation()}
onMouseDown={() => sendVboxDiscard()}>
refill <br />
2b
</button>
</div>
);
}
@ -205,11 +203,9 @@ class Vbox extends preact.Component {
function stashHdr() {
return (
<div class='stash-hdr'>
<div class='vbox-padding'>
<h3 onTouchStart={e => e.target.scrollIntoView(true)}
onMouseOver={e => vboxHover(e, 'stash')}> STASH
</h3>
</div>
<h3 onTouchStart={e => e.target.scrollIntoView(true)}
onMouseOver={e => vboxHover(e, 'stash')}> STASH
</h3>
</div>
);
}
@ -221,19 +217,17 @@ class Vbox extends preact.Component {
&& instance.time_control === 'Practice' && instance.rounds.length === 1;
return (
<div class='refund'>
<div class='vbox-padding'>
<button
disabled={tutorialDisabled || !refund}
class='vbox-btn'
onClick={e => e.stopPropagation()}
onMouseDown={e => {
e.stopPropagation();
sendVboxReclaim(vboxSelected.stashSelect[0]);
}}>
refund <br />
{refund}b
</button>
</div>
<button
disabled={tutorialDisabled || !refund}
class='vbox-btn'
onClick={e => e.stopPropagation()}
onMouseDown={e => {
e.stopPropagation();
sendVboxReclaim(vboxSelected.stashSelect[0]);
}}>
refund <br />
{refund}b
</button>
</div>
);
}

View File

@ -99,9 +99,7 @@ function stashElement(props) {
onDragOver={ev => ev.preventDefault()}
onDrop={stashClick}
>
<div class='vbox-padding'>
{range(0, 4).map(i => stashBtn(vbox.bound[i], i))}
</div>
{range(0, 4).map(i => stashBtn(vbox.bound[i], i))}
</div>
);
}

View File

@ -65,14 +65,12 @@ function storeElement(props) {
return (
<div class='store'
onClick={e => e.stopPropagation()}>
<div class='vbox-padding'>
<div class="vbox-colours">
{range(0, 6).map(i => availableBtn(vbox.free[0][i], 0, i))}
</div>
<div class="vbox-items">
{range(0, 3).map(i => availableBtn(vbox.free[1][i], 1, i))}
{range(0, 3).map(i => availableBtn(vbox.free[2][i], 2, i))}
</div>
<div class="vbox-colours">
{range(0, 6).map(i => availableBtn(vbox.free[0][i], 0, i))}
</div>
<div class="vbox-items">
{range(0, 3).map(i => availableBtn(vbox.free[1][i], 1, i))}
{range(0, 3).map(i => availableBtn(vbox.free[2][i], 2, i))}
</div>
</div>
);