summaryrefslogtreecommitdiff
path: root/src/script/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/script/api')
-rw-r--r--src/script/api/script_base.cpp2
-rw-r--r--src/script/api/script_base.hpp1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/script/api/script_base.cpp b/src/script/api/script_base.cpp
index 2472fe1c7..7fd5b2df9 100644
--- a/src/script/api/script_base.cpp
+++ b/src/script/api/script_base.cpp
@@ -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)
diff --git a/src/script/api/script_base.hpp b/src/script/api/script_base.hpp
index a01325820..936dee77d 100644
--- a/src/script/api/script_base.hpp
+++ b/src/script/api/script_base.hpp
@@ -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);