fix few bugs
This commit is contained in:
parent
349c74c08e
commit
f2a516b5f0
10
WORKLOG.md
10
WORKLOG.md
@ -3,12 +3,8 @@
|
|||||||
|
|
||||||
*PRODUCTION*
|
*PRODUCTION*
|
||||||
|
|
||||||
* mobile styles
|
* fix purge bug
|
||||||
* mobile info page
|
* add recipe book
|
||||||
|
|
||||||
* fix info page for tablet layout
|
|
||||||
|
|
||||||
* Add TOS and accept to register page
|
|
||||||
|
|
||||||
* can't reset password without knowing password =\
|
* can't reset password without knowing password =\
|
||||||
|
|
||||||
@ -48,7 +44,7 @@
|
|||||||
reconnect based on time delta
|
reconnect based on time delta
|
||||||
consolidate game and instance
|
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
|
- click in to scroll
|
||||||
* elo + leaderboards
|
* elo + leaderboards
|
||||||
|
|
||||||
|
|||||||
@ -205,7 +205,6 @@
|
|||||||
.resolving-skill {
|
.resolving-skill {
|
||||||
grid-area: target;
|
grid-area: target;
|
||||||
align-self: center;
|
align-self: center;
|
||||||
text-align: center;
|
|
||||||
height: auto;
|
height: auto;
|
||||||
svg {
|
svg {
|
||||||
display: inline;
|
display: inline;
|
||||||
|
|||||||
@ -30,23 +30,21 @@ const store = createStore(
|
|||||||
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
|
window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(),
|
||||||
);
|
);
|
||||||
|
|
||||||
document.fonts.load('16pt "Jura"').then(() => {
|
const events = registerEvents(store);
|
||||||
const events = registerEvents(store);
|
// store.subscribe(() => console.log(store.getState()));
|
||||||
// store.subscribe(() => console.log(store.getState()));
|
setupKeys(store);
|
||||||
setupKeys(store);
|
|
||||||
|
|
||||||
const ws = createSocket(events);
|
const ws = createSocket(events);
|
||||||
ws.connect();
|
ws.connect();
|
||||||
events.setWs(ws);
|
events.setWs(ws);
|
||||||
|
|
||||||
const App = () => (
|
const App = () => (
|
||||||
<Provider store={store}>
|
<Provider store={store}>
|
||||||
<StripeProvider apiKey={stripeKey()}>
|
<StripeProvider apiKey={stripeKey()}>
|
||||||
<Mnml />
|
<Mnml />
|
||||||
</StripeProvider>
|
</StripeProvider>
|
||||||
</Provider>
|
</Provider>
|
||||||
);
|
);
|
||||||
|
|
||||||
// eslint-disable-next-line
|
// eslint-disable-next-line
|
||||||
preact.render(<App />, document.body);
|
preact.render(<App />, document.body);
|
||||||
});
|
|
||||||
|
|||||||
@ -49,9 +49,10 @@ function GameCtrlTopBtns(args) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
|
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
|
||||||
|
const abandonText = abandonState ? 'Confirm' : 'Abandon';
|
||||||
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
|
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
|
||||||
|
|
||||||
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>Abandon</button>;
|
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>{abandonText}</button>;
|
||||||
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
|
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -49,9 +49,10 @@ function InstanceTopBtns(args) {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
|
const abandonClasses = `abandon ${abandonState ? 'confirming' : ''}`;
|
||||||
|
const abandonText = abandonState ? 'Confirm' : 'Abandon';
|
||||||
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
|
const abandonAction = abandonState ? sendAbandon : abandonStateTrue;
|
||||||
|
|
||||||
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>Abandon</button>;
|
const abandonBtn = <button class={abandonClasses} disabled={finished} onClick={abandonAction}>{abandonText}</button>;
|
||||||
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
|
const leaveBtn = <button class='abandon confirming' onClick={leave}>Leave</button>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -248,12 +248,14 @@ function Vbox(args) {
|
|||||||
function onClick(e) {
|
function onClick(e) {
|
||||||
if (vboxSelecting) clearVboxSelected();
|
if (vboxSelecting) clearVboxSelected();
|
||||||
if (reclaiming) return sendVboxReclaim(i);
|
if (reclaiming) return sendVboxReclaim(i);
|
||||||
|
if (combiner.length > 2) return combinerChange([i]);
|
||||||
|
|
||||||
const combinerIndex = combiner.indexOf(i);
|
const combinerIndex = combiner.indexOf(i);
|
||||||
if (combinerIndex > -1) {
|
if (combinerIndex > -1) {
|
||||||
return combinerChange(without(combiner, i));
|
return combinerChange(without(combiner, i));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
combiner.push(i);
|
combiner.push(i);
|
||||||
return combinerChange(combiner);
|
return combinerChange(combiner);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -415,7 +415,7 @@ pub enum EventStages {
|
|||||||
EndPost, // Skip Anim Anim
|
EndPost, // Skip Anim Anim
|
||||||
EndOnly, // Skip Anim Skip
|
EndOnly, // Skip Anim Skip
|
||||||
PostOnly, // Skip Skip Anim
|
PostOnly, // Skip Skip Anim
|
||||||
NoStages, // Skip Skip Skip
|
NoStages, // Skip Skip Skip
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug,Clone,PartialEq,Serialize,Deserialize)]
|
#[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 {
|
fn intercept(source: &mut Construct, target: &mut Construct, mut results: Resolutions, skill: Skill) -> Resolutions {
|
||||||
let intercept = skill.effect()[0];
|
let intercept = skill.effect()[0];
|
||||||
results.push(Resolution::new(source, target).event(target.add_effect(skill, intercept)));
|
results.push(Resolution::new(source, target).event(target.add_effect(skill, intercept)));
|
||||||
|
|
||||||
let red_amount = source.red_power().pct(skill.multiplier());
|
let red_amount = source.red_power().pct(skill.multiplier());
|
||||||
let e = target.recharge(skill, red_amount, 0);
|
let e = target.recharge(skill, red_amount, 0);
|
||||||
let stages = match e {
|
let stages = match e {
|
||||||
@ -1614,7 +1614,7 @@ fn electrocute(source: &mut Construct, target: &mut Construct, mut results: Reso
|
|||||||
None => ()
|
None => ()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
Some(EffectMeta::Skill(s)) => s,
|
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)
|
results.push(Resolution::new(source, target)
|
||||||
.event(target.add_effect(reflect_skill, absorb))
|
.event(target.add_effect(reflect_skill, absorb))
|
||||||
.stages(EventStages::PostOnly));
|
.stages(EventStages::PostOnly));
|
||||||
|
|
||||||
let absorb_index = target.effects.iter().position(|e| e.effect == Effect::Absorb).expect("No absorb");
|
let absorb_index = target.effects.iter().position(|e| e.effect == Effect::Absorb).expect("No absorb");
|
||||||
let ce = target.effects.remove(absorb_index);
|
let ce = target.effects.remove(absorb_index);
|
||||||
|
|
||||||
results.push(Resolution::new(source, target)
|
results.push(Resolution::new(source, target)
|
||||||
.event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() })
|
.event(Event::Removal { effect: ce.effect, construct_effects: target.effects.clone() })
|
||||||
.stages(EventStages::PostOnly));
|
.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 {
|
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 skip_tick = target.effects.iter().any(|e| e.effect == Effect::Siphon);
|
||||||
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
let ConstructEffect { effect, duration, meta, tick: _ } = skill.effect()[0];
|
||||||
let tick_skill = match meta {
|
let tick_skill = match meta {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user