mirror of https://github.com/OpenTTD/OpenTTD
(svn r25148) -Fix [FS#5517]: [Script] XXBase::Chance function did not work for large values (>65535)
parent
e5a77f94bd
commit
70454b8d64
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue