diff --git a/code/controllers/subsystem/vote.dm b/code/controllers/subsystem/vote.dm
index 5644a9f2cb..4f65d37c4a 100644
--- a/code/controllers/subsystem/vote.dm
+++ b/code/controllers/subsystem/vote.dm
@@ -155,10 +155,15 @@ SUBSYSTEM_DEF(vote)
GLOB.master_mode = "dynamic"
if(voted.len==0)
return message_admins("Nobody voted in the dynamic vote; using default dynamic settings.")
- var/mean = (choices[PEACE]*-1+choices[CHAOS])/voted.len
+ GLOB.dynamic_forced_extended = choices["extended"]/voted.len > 0.5
+ if(GLOB.dynamic_forced_extended)
+ to_chat(world,"Dynamic extended has been voted for.")
+ return message_admins("Dynamic extended has been voted for.")
+ var/mean = (choices["extended"]*-1+choices[PEACE]*-1+choices[CHAOS])/voted.len
GLOB.dynamic_curve_centre = mean*5
- var/magic_curve_constant = (4-(abs(choices[PEACE]-choices[CHAOS])/(voted.len)))*10 //magic as hell.
+ var/magic_curve_constant = (4-(abs((choices[PEACE]+choices["extended"])-choices[CHAOS])/(voted.len)))*8 //magic as hell.
GLOB.dynamic_curve_width = CLAMP(4-magic_curve_constant,0.5,4)
+ to_chat(world,"Dynamic curve centre set to [GLOB.dynamic_curve_centre] and width set to [GLOB.dynamic_curve_width].")
message_admins("Dynamic curve centre set to [GLOB.dynamic_curve_centre] and width set to [GLOB.dynamic_curve_width]")
log_admin("Dynamic curve centre set to [GLOB.dynamic_curve_centre] and width set to [GLOB.dynamic_curve_width]")
if("map")
@@ -239,7 +244,7 @@ SUBSYSTEM_DEF(vote)
if("roundtype") //CIT CHANGE - adds the roundstart secret/extended vote
choices.Add("secret", "extended")
if("dynamic")
- choices.Add(PEACE,CHAOS)
+ choices.Add("extended",PEACE,CHAOS)
if("custom")
question = stripped_input(usr,"What is the vote for?")
if(!question)
@@ -398,8 +403,5 @@ SUBSYSTEM_DEF(vote)
if(P)
P.player_actions -= src
-#undef PEACE2
-#undef PEACE1
-#undef BALANCED
-#undef CHAOS1
-#undef CHAOS2
+#undef PEACE
+#undef CHAOS