diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index b00e62cab4..3af6122afe 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -90,7 +90,7 @@ SUBSYSTEM_DEF(vote)
. += option
return .
-/datum/controller/subsystem/vote/proc/calculate_condorcet_votes()
+/datum/controller/subsystem/vote/proc/calculate_condorcet_votes(var/blackbox_text)
// https://en.wikipedia.org/wiki/Schulze_method#Implementation
var/list/d[][] = new/list(choices.len,choices.len) // the basic vote matrix, how many times a beats b
for(var/ckey in voted)
@@ -126,24 +126,26 @@ SUBSYSTEM_DEF(vote)
//one last pass, now that we've done the math
for(var/i in 1 to choices.len)
for(var/j in 1 to choices.len)
- if(i != j && p[i][j] >= p[j][i])
- choices[choices[i]]++ // higher shortest path = better candidate, so we add to choices here
- // choices[choices[i]] is the schulze ranking, here, rather than raw vote numbers
+ if(i != j)
+ SSblackbox.record_feedback("nested tally","voting",p[i][j],list(blackbox_text,"Shortest Paths",num2text(i),num2text(j)))
+ if(p[i][j] >= p[j][i])
+ choices[choices[i]]++ // higher shortest path = better candidate, so we add to choices here
+ // choices[choices[i]] is the schulze ranking, here, rather than raw vote numbers
/datum/controller/subsystem/vote/proc/announce_result()
- if(vote_system == RANKED_CHOICE_VOTING)
- calculate_condorcet_votes()
- var/list/winners = get_result()
- var/text
- var/was_roundtype_vote = mode == "roundtype" || mode == "dynamic"
var/vote_title_text
+ var/text
+ if(question)
+ text += "[question]"
+ vote_title_text = "[question]"
+ else
+ text += "[capitalize(mode)] Vote"
+ vote_title_text = "[capitalize(mode)] Vote"
+ if(vote_system == RANKED_CHOICE_VOTING)
+ calculate_condorcet_votes(vote_title_text)
+ var/list/winners = get_result()
+ var/was_roundtype_vote = mode == "roundtype" || mode == "dynamic"
if(winners.len > 0)
- if(question)
- text += "[question]"
- vote_title_text = "[question]"
- else
- text += "[capitalize(mode)] Vote"
- vote_title_text = "[capitalize(mode)] Vote"
if(was_roundtype_vote)
stored_gamemode_votes = list()
if(!obfuscated && vote_system == RANKED_CHOICE_VOTING)