[Scummvm-git-logs] scummvm master -> 93c18db9d8b108a7342b870cef34807b6cfa7c7c
a-yyg
76591232+a-yyg at users.noreply.github.com
Wed Aug 18 06:55:31 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
93c18db9d8 SAGA2: Fix getRandomNumber ranges
Commit: 93c18db9d8b108a7342b870cef34807b6cfa7c7c
https://github.com/scummvm/scummvm/commit/93c18db9d8b108a7342b870cef34807b6cfa7c7c
Author: a/ (yuri.kgpps at gmail.com)
Date: 2021-08-18T15:54:30+09:00
Commit Message:
SAGA2: Fix getRandomNumber ranges
Changed paths:
engines/saga2/actor.cpp
engines/saga2/objproto.cpp
engines/saga2/path.cpp
engines/saga2/task.cpp
diff --git a/engines/saga2/actor.cpp b/engines/saga2/actor.cpp
index 6ff1b24625..e006dfe686 100644
--- a/engines/saga2/actor.cpp
+++ b/engines/saga2/actor.cpp
@@ -593,7 +593,7 @@ bool ActorProto::acceptStrikeAction(
if (!a->isDead()) {
int16 pmass = a->proto()->mass;
- if (pmass <= 100 || (int16)g_vm->_rnd->getRandomNumber(154) >= pmass - 100) {
+ if (pmass <= 100 || (int16)g_vm->_rnd->getRandomNumber(155) >= pmass - 100) {
if (g_vm->_rnd->getRandomNumber(7) == 0)
MotionTask::fallDown(*a, *enactorPtr);
else
@@ -2775,7 +2775,7 @@ void Actor::handleDamageTaken(uint8 damage) {
&& !hasEffect(actorRepelUndead)) {
if (flags & afraid) {
// Let's give monsters a small chance of regaining their courage
- if ((uint16)g_vm->_rnd->getRandomNumber(65534) <= 0x3fff)
+ if ((uint16)g_vm->_rnd->getRandomNumber(0xffff) <= 0x3fff)
flags &= ~afraid;
} else {
int16 i,
@@ -2811,7 +2811,7 @@ void Actor::handleDamageTaken(uint8 damage) {
moraleBase -= bonus * moraleBase >> 16;
// Test this actor's morale
- if ((uint16)g_vm->_rnd->getRandomNumber(65534) <= moraleBase)
+ if ((uint16)g_vm->_rnd->getRandomNumber(0xffff) <= moraleBase)
flags |= afraid;
}
}
@@ -3081,7 +3081,7 @@ void Actor::removeFollower(Actor *bandMember) {
moraleBase -= moraleBase * moraleBonus >> 16;
- if ((uint16)g_vm->_rnd->getRandomNumber(65534) <= moraleBase)
+ if ((uint16)g_vm->_rnd->getRandomNumber(0xffff) <= moraleBase)
follower->flags |= afraid;
}
}
@@ -3383,7 +3383,7 @@ bool areActorsInitialized(void) {
}
int16 GetRandomBetween(int start, int end) {
- return g_vm->_rnd->getRandomNumberRng(start, end);
+ return g_vm->_rnd->getRandomNumberRng(start, end - 1);
}
void updateActorStates(void) {
diff --git a/engines/saga2/objproto.cpp b/engines/saga2/objproto.cpp
index 7f92bb3876..d29167a620 100644
--- a/engines/saga2/objproto.cpp
+++ b/engines/saga2/objproto.cpp
@@ -1797,7 +1797,7 @@ void BludgeoningWeaponProto::applySkillGrowth(ObjectID enactor, uint8 points) {
player->skillAdvance(skillIDBludgeon, points);
- if (g_vm->_rnd->getRandomNumber(65534) & 1)
+ if (g_vm->_rnd->getRandomNumber(1))
player->skillAdvance(skillIDBrawn, points);
}
}
@@ -1834,7 +1834,7 @@ void SlashingWeaponProto::applySkillGrowth(ObjectID enactor, uint8 points) {
player->skillAdvance(skillIDSwordcraft, points);
- if (g_vm->_rnd->getRandomNumber(65534) & 1)
+ if (g_vm->_rnd->getRandomNumber(1))
player->skillAdvance(skillIDBrawn, points);
}
}
@@ -2161,7 +2161,7 @@ void ArrowProto::applySkillGrowth(ObjectID enactor, uint8 points) {
player->skillAdvance(skillIDArchery, points);
- if (g_vm->_rnd->getRandomNumber(65534) & 1)
+ if (g_vm->_rnd->getRandomNumber(1))
player->skillAdvance(skillIDBrawn, points);
}
}
@@ -2385,7 +2385,7 @@ void ShieldProto::applySkillGrowth(ObjectID enactor, uint8 points) {
player->skillAdvance(skillIDShieldcraft, points);
- if (g_vm->_rnd->getRandomNumber(65534) & 1)
+ if (g_vm->_rnd->getRandomNumber(1))
player->skillAdvance(skillIDBrawn, points);
}
}
@@ -2854,7 +2854,7 @@ void EncounterGeneratorProto::doBackgroundUpdate(GameObject *obj) {
// Now, roll to see if we got an encounter!
- if ((g_vm->_rnd->getRandomNumber(65534) & 0x0000ffff) < (uint)prob) {
+ if (g_vm->_rnd->getRandomNumber(0xffff) < (uint)prob) {
scriptCallFrame scf;
#if DEBUG
diff --git a/engines/saga2/path.cpp b/engines/saga2/path.cpp
index 726dfe0a69..2772511547 100644
--- a/engines/saga2/path.cpp
+++ b/engines/saga2/path.cpp
@@ -2676,7 +2676,7 @@ TilePoint selectNearbySite(
spush(TilePoint(qi.u + tDir->u,
qi.v + tDir->v,
testPt.z),
- qi.cost + (g_vm->_rnd->getRandomNumber(65534) & 3),
+ qi.cost + g_vm->_rnd->getRandomNumber(3),
dir);
}
}
diff --git a/engines/saga2/task.cpp b/engines/saga2/task.cpp
index e7f5659900..25f5acd26c 100644
--- a/engines/saga2/task.cpp
+++ b/engines/saga2/task.cpp
@@ -3248,7 +3248,7 @@ TaskResult HuntToKillTask::atTargetUpdate(void) {
Actor *a = stack->getActor();
// If we're ready to attack, attack
- if (a->isInterruptable() && g_vm->_rnd->getRandomNumber(6) == 0) {
+ if (a->isInterruptable() && g_vm->_rnd->getRandomNumber(7) == 0) {
a->attack(currentTarget);
flags |= evalWeapon;
}
More information about the Scummvm-git-logs
mailing list