@@ -44,7 +44,7 @@
/* static */ bool ScriptBase::Chance(uint out, uint max)
{
EnforcePrecondition(false, out <= max);
return (uint16)Rand() <= (uint16)((65535 * out) / max);
return ScriptBase::RandRange(max) < out;
}
/* static */ bool ScriptBase::ChanceItem(int unused_param, uint out, uint max)
@@ -70,6 +70,7 @@ public:
* @param unused_param This parameter is not used, but is needed to work with lists.
* @param out How many times it should return true.
* @param max Out of this many times.
* @pre \a out is at most equal to \a max.
* @return True if the chance worked out.
*/
static bool ChanceItem(int unused_param, uint out, uint max);
Status change: