skill doesn't count towards colours, 0 colour skill case, fk tutorial
This commit is contained in:
parent
7576081c52
commit
a280c4686e
@ -177,14 +177,15 @@ function registerEvents(store) {
|
||||
}
|
||||
|
||||
function setInstance(v) {
|
||||
const { account, ws, tutorial } = store.getState();
|
||||
const { account, ws } = store.getState();
|
||||
if (v) {
|
||||
setInvite(null);
|
||||
setPvp(false);
|
||||
clearTutorial();
|
||||
const player = v.players.find(p => p.id === account.id);
|
||||
store.dispatch(actions.setPlayer(player));
|
||||
|
||||
if (tutorial && v.rounds.length === 1 && v.time_control === 'Practice') tutorialVbox(player, store, tutorial);
|
||||
// if (tutorial && v.rounds.length === 1 && v.time_control === 'Practice') tutorialVbox(player, store, tutorial);
|
||||
|
||||
if (v.phase === 'Finished') {
|
||||
ws.sendAccountInstances();
|
||||
|
||||
@ -30,10 +30,10 @@ impl Colours {
|
||||
v.colours(&mut count);
|
||||
}
|
||||
|
||||
for cs in construct.skills.iter() {
|
||||
let v = Item::from(cs.skill);
|
||||
v.colours(&mut count);
|
||||
}
|
||||
// for cs in construct.skills.iter() {
|
||||
// let v = Item::from(cs.skill);
|
||||
// v.colours(&mut count);
|
||||
// }
|
||||
|
||||
count
|
||||
}
|
||||
|
||||
@ -336,48 +336,50 @@ impl Player {
|
||||
println!("{:?}", colour_counts);
|
||||
|
||||
let total = (construct.colours.red + construct.colours.green + construct.colours.blue) as f64;
|
||||
let colour_pcts = colour_counts.iter_mut()
|
||||
.map(|cc| (cc.0, cc.1 as f64 / total))
|
||||
.collect::<Vec<_>>();
|
||||
if total != 0.0 {
|
||||
let colour_pcts = colour_counts.iter_mut()
|
||||
.map(|cc| (cc.0, cc.1 as f64 / total))
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
println!("{:?}", colour_pcts);
|
||||
println!("{:?}", colour_pcts);
|
||||
|
||||
let skill_item = match item.into_skill().is_some() {
|
||||
true => item,
|
||||
false => construct.skills[0].skill.base(),
|
||||
};
|
||||
let skill_item = match item.into_skill().is_some() {
|
||||
true => item,
|
||||
false => construct.skills[0].skill.base(),
|
||||
};
|
||||
|
||||
let colour_skill = {
|
||||
// no colours
|
||||
if colour_pcts[0].1.is_infinite() {
|
||||
construct.skills[0].skill
|
||||
} else {
|
||||
let mut skill_item_combo = {
|
||||
if colour_pcts[0].1 > 0.75 {
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[0].0]
|
||||
} else if colour_pcts[1].1 > 0.4 {
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[1].0]
|
||||
} else {
|
||||
// special triple skill_item
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[1].0]
|
||||
}
|
||||
};
|
||||
let colour_skill = {
|
||||
// no colours
|
||||
if colour_pcts[0].1.is_infinite() {
|
||||
construct.skills[0].skill
|
||||
} else {
|
||||
let mut skill_item_combo = {
|
||||
if colour_pcts[0].1 > 0.70 {
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[0].0]
|
||||
} else if colour_pcts[1].1 > 0.4 {
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[1].0]
|
||||
} else {
|
||||
// special triple skill_item
|
||||
vec![skill_item, colour_pcts[0].0, colour_pcts[1].0]
|
||||
}
|
||||
};
|
||||
|
||||
skill_item_combo.sort_unstable();
|
||||
skill_item_combo.sort_unstable();
|
||||
|
||||
println!("{:?}", skill_item_combo);
|
||||
let combos = get_combos();
|
||||
let combo = combos.iter().find(|c| c.components == skill_item_combo)
|
||||
.ok_or(err_msg("no combo for colour skill"))?;
|
||||
println!("{:?}", skill_item_combo);
|
||||
let combos = get_combos();
|
||||
let combo = combos.iter().find(|c| c.components == skill_item_combo)
|
||||
.ok_or(err_msg("no combo for colour skill"))?;
|
||||
|
||||
combo.item.into_skill()
|
||||
.ok_or(format_err!("item {:?} has no associated skill", combo.item))?
|
||||
}
|
||||
};
|
||||
combo.item.into_skill()
|
||||
.ok_or(format_err!("item {:?} has no associated skill", combo.item))?
|
||||
}
|
||||
};
|
||||
|
||||
// unlearn everything
|
||||
construct.skills = vec![];
|
||||
construct.learn_mut(colour_skill);
|
||||
// unlearn everything
|
||||
construct.skills = vec![];
|
||||
construct.learn_mut(colour_skill);
|
||||
}
|
||||
|
||||
// // now the item has been applied
|
||||
// // recalculate the stats of the whole player
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user