Traitor objective picking error fix, thanks to @thvortex.

Original Message:

Hopefully fixes #58 Traitor objective errors
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.
This commit is contained in:
Erthilo
2012-05-26 21:54:20 +01:00
parent a02a12f88f
commit dea3a519cc
+1
View File
@@ -1086,6 +1086,7 @@ datum
reagent
weight = 20
var/target_name
New(var/text,var/joba)
..()