anchor.diff:  				for(var/property in property_weights)
   					if(property in rule.property_weights) // just treat it as 0 if it's not in there
   						property_weight += rule.property_weights[property] * property_weights[property]
  -				if(property_weight > 0)
  -					drafted_rules[rule] = rule.get_weight() * property_weight * rule.weight_mult
  +				var/calced_weight = (rule.get_weight() + property_weight) * rule.weight_mult
  +				if(calced_weight > 0) // negatives in the list might cause problems
  +					drafted_rules[rule] = calced_weight
   	return drafted_rules
   
   /datum/dynamic_storyteller/proc/midround_draft()
  
positive.code: 			for(var/property in property_weights)
  				if(property in rule.property_weights)
  					property_weight += rule.property_weights[property] * property_weights[property]
  			if(property_weight > 0)
  				drafted_rules[rule] = rule.get_weight() + property_weight * rule.weight_mult
  	return drafted_rules
  
  
  
negative.code: 				for(var/property in property_weights)
  					if(property in rule.property_weights)
  						property_weight += rule.property_weights[property] * property_weights[property]
  				var/threat_weight = 1
  				if(!(rule.flags & TRAITOR_RULESET) || (rule.flags & MINOR_RULESET))
  					var/cost_difference = abs(rule.cost-(mode.threat_level-mode.threat))
  					threat_weight = 1-abs(1-(LOGISTIC_FUNCTION(2,0.05,cost_difference,0)))
  				var/calced_weight = (rule.get_weight() + property_weight) * rule.weight_mult * threat_weight
  				if(calced_weight > 0)
  					drafted_rules[rule] = calced_weight
  	return drafted_rules
  
  /datum/dynamic_storyteller/proc/event_draft()
  