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 {