Closed dopeghoti closed 12 years ago
I think the issue is in /datum/objective/steal/reagent not having a "weight = " like any of the other steal objectives.
GenerateTheft() will use the "weight" var and not the "get_weight" proc when building its list, but the default weight defined in /datum/objective is INFINITY. PickObjectiveFromList() will then call pickweight() which does a sum of all weights stored in the list followed by <= comparisons of the total. Perhaps the total integer var wraps around into negative values.
I have no idea if INFINITY is actually MAXINT, or either of the positive or negative floating point infinities.