Change to vary boost by votes

This commit is contained in:
Ajay Ramachandran 2021-05-23 21:43:23 -04:00
parent eb2ffff780
commit 52b201ff87

View file

@ -169,9 +169,11 @@ function getWeightedRandomChoice<T extends VotableObject>(choices: T[], amountOf
//assign a weight to each choice
let totalWeight = 0;
let choicesWithWeights: TWithWeight[] = choices.map(choice => {
const boost = Math.min(choice.reputation, Math.max(0, choice.votes * 2));
//The 3 makes -2 the minimum votes before being ignored completely
//this can be changed if this system increases in popularity.
const weight = Math.exp((choice.votes + 3 + choice.reputation));
const weight = Math.exp(choice.votes * Math.min(1, choice.reputation + 1) + 3 + boost);
totalWeight += weight;
return {...choice, weight};