Fixed dynamic runtiming in some circumstances.

This commit is contained in:
Putnam
2020-03-11 02:48:18 -07:00
parent 5b46af0f88
commit 430f3decdc
2 changed files with 6 additions and 7 deletions
@@ -371,19 +371,18 @@
for(var/T in storyteller_cache) for(var/T in storyteller_cache)
var/datum/dynamic_storyteller/S = T var/datum/dynamic_storyteller/S = T
var/config_tag = initial(S.config_tag) var/config_tag = initial(S.config_tag)
var/final_weight = initial(S.weight) var/probability = (config_tag in probabilities) ? probabilities[config_tag] : initial(S.weight)
if(probabilities[config_tag]<=0) if(probability <= 0)
continue continue
final_weight = probabilities[config_tag] if(SSpersistence.saved_storytellers.len == repeated_mode_adjust.len)
if(SSpersistence.saved_storytellers.len == 3 && repeated_mode_adjust.len == 3)
var/name = initial(S.name) var/name = initial(S.name)
var/recent_round = min(SSpersistence.saved_storytellers.Find(name),3) var/recent_round = min(SSpersistence.saved_storytellers.Find(name),3)
var/adjustment = 0 var/adjustment = 0
while(recent_round) while(recent_round)
adjustment += repeated_mode_adjust[recent_round] adjustment += repeated_mode_adjust[recent_round]
recent_round = SSpersistence.saved_modes.Find(name,recent_round+1,0) recent_round = SSpersistence.saved_modes.Find(name,recent_round+1,0)
final_weight *= ((100-adjustment)/100) probability *= ((100-adjustment)/100)
runnable_storytellers[S] = final_weight runnable_storytellers[S] = probability
return runnable_storytellers return runnable_storytellers
+1 -1
View File
@@ -370,7 +370,7 @@ SUBSYSTEM_DEF(vote)
var/list/runnable_storytellers = config.get_runnable_storytellers() var/list/runnable_storytellers = config.get_runnable_storytellers()
for(var/T in runnable_storytellers) for(var/T in runnable_storytellers)
var/datum/dynamic_storyteller/S = T var/datum/dynamic_storyteller/S = T
runnable_storytellers[S] *= stored_gamemode_votes[initial(S.name)] runnable_storytellers[S] *= round(stored_gamemode_votes[initial(S.name)]*100000,1)
var/datum/dynamic_storyteller/S = pickweightAllowZero(runnable_storytellers) var/datum/dynamic_storyteller/S = pickweightAllowZero(runnable_storytellers)
GLOB.dynamic_storyteller_type = S GLOB.dynamic_storyteller_type = S
if("map") if("map")