diff --git a/Config.js b/Config.js index 5018613..70affcc 100644 --- a/Config.js +++ b/Config.js @@ -5,6 +5,7 @@ var MIN_POSTS_TO_UPVOTE = 20, MIN_REPUTATION_TO_DOWNVOTE = 10, MAX_VOTES_PER_USER_AND_THREAD = 5, MAX_VOTES_TO_SAME_USER_PER_MONTH = 1, + UPVOTE_EXTRA_PERCENTAGE = 5, REP_LOG_NAMESPACE = "reputationLog", DISABLED_CATEGORIES_IDS = []; @@ -41,6 +42,9 @@ var Config = { } return calculatedVotesPerUser; }, + upvoteExtraPercentage: function() { + return UPVOTE_EXTRA_PERCENTAGE; + }, getMainLogId: function(voterId, authorId, topicId, postId) { return REP_LOG_NAMESPACE + ":" + voterId + ":" @@ -73,6 +77,7 @@ var Config = { settings.minReputationToDownvote = MIN_REPUTATION_TO_DOWNVOTE; settings.maxVotesPerUserInThread = MAX_VOTES_PER_USER_AND_THREAD; settings.maxVotesToSameUserInMonth = MAX_VOTES_TO_SAME_USER_PER_MONTH; + settings.upvoteExtraPercentage = UPVOTE_EXTRA_PERCENTAGE; settings.disabledCategoriesIds = DISABLED_CATEGORIES_IDS; settings.repLogNamespace = REP_LOG_NAMESPACE; return settings; @@ -85,6 +90,7 @@ var Config = { MIN_REPUTATION_TO_DOWNVOTE = settings.minReputationToDownvote; MAX_VOTES_PER_USER_AND_THREAD = settings.maxVotesPerUserInThread; MAX_VOTES_TO_SAME_USER_PER_MONTH = settings.maxVotesToSameUserInMonth; + UPVOTE_EXTRA_PERCENTAGE = settings.upvoteExtraPercentage; DISABLED_CATEGORIES_IDS = intArray(settings.disabledCategoriesIds); } }; diff --git a/ReputationManager.js b/ReputationManager.js index 53329cc..987ab76 100644 --- a/ReputationManager.js +++ b/ReputationManager.js @@ -59,7 +59,8 @@ var ReputationManager = function(Config) { }; this.calculateUpvoteWeight = function(user) { - var weight = Math.floor(user.reputation/10); + var extraRate = Config.upvoteExtraPercentage()/100; + var weight = Math.floor(user.reputation * extraRate); if (weight<0) weight = 0; return weight; }; diff --git a/public/templates/admin/plugins/reputation-rules.tpl b/public/templates/admin/plugins/reputation-rules.tpl index d149185..64e366b 100644 --- a/public/templates/admin/plugins/reputation-rules.tpl +++ b/public/templates/admin/plugins/reputation-rules.tpl @@ -19,6 +19,11 @@ + +
+ + +

Downvoting