diff --git a/config.py b/config.py index d0b8eb9..3fc12c3 100644 --- a/config.py +++ b/config.py @@ -129,6 +129,7 @@ update_notes=[ ] next_notes=[ "5X Co-op contribution points for home server characters", + "Overdrop logic for co-op events", ] ip_to_subdomain={ #IMPORTANT: SPECIAL PAGE RULES ARE NEEDED: https://dash.cloudflare.com/b6f5a13bded5fdd273e4a1cd3777162d/adventure.land/page-rules - uss1 / eus1 was best "35.187.255.184":"asia1", diff --git a/node/server.js b/node/server.js index f7b1fe6..cc45254 100644 --- a/node/server.js +++ b/node/server.js @@ -2388,15 +2388,17 @@ function issue_monster_awards(monster) { var current = players[name_to_id[name]]; if (current) { // && current.map==monster.map - total += max(0, monster.points[name]); + total += Math.pow(max(0, monster.points[name]), 0.65); // An attempt to soften the gap between strong and weak players [12/02/26] } - var share = max(0, monster.points[name]) / total; + } + for (var name in monster.points) { + var share = Math.pow(max(0, monster.points[name]), 0.65) / total; if (share > 0.0008) total_characters += 1; } B.drop_table_multiplier = parseInt(1 + Math.floor(total_characters / 10)); for (var name in monster.points) { var current = players[name_to_id[name]]; - var share = max(0, monster.points[name]) / total; + var share = Math.pow(max(0, monster.points[name]), 0.65) / total; if (current && share > 0.0025) { current.socket.emit("kill_credit", { mtype: monster.type,