diff --git a/WORKLOG.md b/WORKLOG.md
index 1dd73284..25ba6e49 100644
--- a/WORKLOG.md
+++ b/WORKLOG.md
@@ -3,12 +3,8 @@
*PRODUCTION*
-* mobile styles
-* mobile info page
-
-* fix info page for tablet layout
-
-* Add TOS and accept to register page
+* fix purge bug
+* add recipe book
* can't reset password without knowing password =\
@@ -48,7 +44,7 @@
reconnect based on time delta
consolidate game and instance
- * return of the combat log (last few events with condensed descriptions)
+ * return of the combat log (last few events with condensed descriptions)
- click in to scroll
* elo + leaderboards
diff --git a/client/assets/styles/game.less b/client/assets/styles/game.less
index 7c55e35a..4f22174a 100644
--- a/client/assets/styles/game.less
+++ b/client/assets/styles/game.less
@@ -205,7 +205,6 @@
.resolving-skill {
grid-area: target;
align-self: center;
- text-align: center;
height: auto;
svg {
display: inline;
diff --git a/client/src/app.jsx b/client/src/app.jsx
index b63b55a6..cfc877b7 100644
--- a/client/src/app.jsx
+++ b/client/src/app.jsx
@@ -30,23 +30,21 @@ const store = createStore(
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
);
-document.fonts.load('16pt "Jura"').then(() => {
- const events = registerEvents(store);
- // store.subscribe(() => console.log(store.getState()));
- setupKeys(store);
+const events = registerEvents(store);
+// store.subscribe(() => console.log(store.getState()));
+setupKeys(store);
- const ws = createSocket(events);
- ws.connect();
- events.setWs(ws);
+const ws = createSocket(events);
+ws.connect();
+events.setWs(ws);
- const App = () => (
-
-
-
-
-
- );
+const App = () => (
+
+
+
+
+
+);
- // eslint-disable-next-line
- preact.render(, document.body);
-});
+// eslint-disable-next-line
+preact.render(, document.body);
diff --git a/client/src/components/game.ctrl.btns.top.jsx b/client/src/components/game.ctrl.btns.top.jsx
index 5abcdcae..4ab0d543 100644
--- a/client/src/components/game.ctrl.btns.top.jsx
+++ b/client/src/components/game.ctrl.btns.top.jsx
@@ -49,9 +49,10 @@ function GameCtrlTopBtns(args) {
};
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
+ const abandonText = abandonState ? 'Confirm' : 'Abandon';
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
- const abandonBtn = ;
+ const abandonBtn = ;
const leaveBtn = ;
return (
diff --git a/client/src/components/instance.ctrl.top.btns.jsx b/client/src/components/instance.ctrl.top.btns.jsx
index 0a93c693..528e5d0e 100644
--- a/client/src/components/instance.ctrl.top.btns.jsx
+++ b/client/src/components/instance.ctrl.top.btns.jsx
@@ -49,9 +49,10 @@ function InstanceTopBtns(args) {
};
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
+ const abandonText = abandonState ? 'Confirm' : 'Abandon';
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
- const abandonBtn = ;
+ const abandonBtn = ;
const leaveBtn = ;
return (
diff --git a/client/src/components/vbox.component.jsx b/client/src/components/vbox.component.jsx
index 53c03819..47c15f6c 100644
--- a/client/src/components/vbox.component.jsx
+++ b/client/src/components/vbox.component.jsx
@@ -248,12 +248,14 @@ function Vbox(args) {
function onClick(e) {
if (vboxSelecting) clearVboxSelected();
if (reclaiming) return sendVboxReclaim(i);
+ if (combiner.length > 2) return combinerChange([i]);
const combinerIndex = combiner.indexOf(i);
if (combinerIndex > -1) {
return combinerChange(without(combiner, i));
}
+
combiner.push(i);
return combinerChange(combiner);
}
diff --git a/server/src/skill.rs b/server/src/skill.rs
index 06fc7b38..848a8617 100644
--- a/server/src/skill.rs
+++ b/server/src/skill.rs
@@ -415,7 +415,7 @@ pub enum EventStages {
EndPost, // Skip Anim Anim
EndOnly, // Skip Anim Skip
PostOnly, // Skip Skip Anim
- NoStages, // Skip Skip Skip
+ NoStages, // Skip Skip Skip
}
#[derive(Debug,Clone,PartialEq,Serialize,Deserialize)]
@@ -1395,7 +1395,7 @@ fn sustain(source: &mut Construct, target: &mut Construct, mut results: Resoluti
fn intercept(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
let intercept = skill.effect()[0];
results.push(Resolution::new(source, target).event(target.add_effect(skill, intercept)));
-
+
let red_amount = source.red_power().pct(skill.multiplier());
let e = target.recharge(skill, red_amount, 0);
let stages = match e {
@@ -1614,7 +1614,7 @@ fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Reso
None => ()
}
}
-
+
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
let tick_skill = match meta {
Some(EffectMeta::Skill(s)) => s,
@@ -1660,10 +1660,10 @@ fn absorption(source: &mut Construct, target: &mut Construct, mut results: Resol
results.push(Resolution::new(source, target)
.event(target.add_effect(reflect_skill, absorb))
.stages(EventStages::PostOnly));
-
+
let absorb_index = target.effects.iter().position(|e| e.effect == Effect::Absorb).expect("No absorb");
let ce = target.effects.remove(absorb_index);
-
+
results.push(Resolution::new(source, target)
.event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() })
.stages(EventStages::PostOnly));
@@ -1717,7 +1717,7 @@ fn recharge(source: &mut Construct, target: &mut Construct, mut results: Resolut
}
fn siphon(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
-
+
let skip_tick = target.effects.iter().any(|e| e.effect == Effect::Siphon);
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
let tick_skill = match meta {