Fix weight calculation in botlib, found by Andi Christ. (#2889)

This commit is contained in:
Thilo Schulz 2006-10-12 12:51:24 +00:00
parent 338ca1689e
commit 2977d001e4

View file

@ -593,9 +593,9 @@ float FuzzyWeight_r(int *inventory, fuzzyseperator_t *fs)
if (fs->next->child) w2 = FuzzyWeight_r(inventory, fs->next->child); if (fs->next->child) w2 = FuzzyWeight_r(inventory, fs->next->child);
else w2 = fs->next->weight; else w2 = fs->next->weight;
//the scale factor //the scale factor
scale = (inventory[fs->index] - fs->value) / (fs->next->value - fs->value); scale = (float) (inventory[fs->index] - fs->value) / (fs->next->value - fs->value);
//scale between the two weights //scale between the two weights
return scale * w1 + (1 - scale) * w2; return (1 - scale) * w1 + scale * w2;;
} //end if } //end if
return FuzzyWeight_r(inventory, fs->next); return FuzzyWeight_r(inventory, fs->next);
} //end else if } //end else if