mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-25 13:07:46 +01:00
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:
@@ -1086,6 +1086,7 @@ datum
|
||||
|
||||
|
||||
reagent
|
||||
weight = 20
|
||||
var/target_name
|
||||
New(var/text,var/joba)
|
||||
..()
|
||||
|
||||
Reference in New Issue
Block a user