From 708b1b2f78a7027b0d90f884413e9605e4dc1feb Mon Sep 17 00:00:00 2001 From: Archie Date: Wed, 2 Jun 2021 22:40:49 -0300 Subject: [PATCH 1/2] Dynamic Nonvoter Factor --- code/controllers/subsystem/vote.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index d6673894..ede48a07 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -1,5 +1,6 @@ #define DYNAMIC_DEFAULT_CHAOS 1.0 //The default chaos value for low pop low vote rounds #define DYNAMIC_VOTE_NORMALIZATION 5 //If there are fewer than this many votes, the average will be skewed towards the default +#define DYNAMIC_NONVOTER_FACTOR 0.5 // 1 means they count for a full vote SUBSYSTEM_DEF(vote) name = "Vote" @@ -155,8 +156,9 @@ SUBSYSTEM_DEF(vote) v += 1 else if (voted.len < GLOB.clients.len) //Have non-voters "vote" 2, if we're not lowpop for(var/I in 1 to (GLOB.clients.len - voted.len)) - v += 1 + v += DYNAMIC_NONVOTER_FACTOR //Instead of a fixed value, this will now factor how much non-voter votes are 'worth' in the system. numbers += 2 + v = round(v) //This rounds the value to the nearest multiple, to make sure no calculations go fucky wucky. var/total = 0 for (var/i in numbers) total += i @@ -451,4 +453,4 @@ SUBSYSTEM_DEF(vote) else if(owner.ckey) var/datum/player_details/P = GLOB.player_details[owner.ckey] if(P) - P.player_actions -= src \ No newline at end of file + P.player_actions -= src From 7051d335aef64301094023a04e836a5c1fc647a4 Mon Sep 17 00:00:00 2001 From: Archie Date: Sun, 6 Jun 2021 04:52:09 -0300 Subject: [PATCH 2/2] 075 --- code/controllers/subsystem/vote.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm index ede48a07..b56cf5a5 100644 --- a/code/controllers/subsystem/vote.dm +++ b/code/controllers/subsystem/vote.dm @@ -1,6 +1,6 @@ #define DYNAMIC_DEFAULT_CHAOS 1.0 //The default chaos value for low pop low vote rounds #define DYNAMIC_VOTE_NORMALIZATION 5 //If there are fewer than this many votes, the average will be skewed towards the default -#define DYNAMIC_NONVOTER_FACTOR 0.5 // 1 means they count for a full vote +#define DYNAMIC_NONVOTER_FACTOR 0.75 // 1 means they count for a full vote SUBSYSTEM_DEF(vote) name = "Vote"