Handling for tie breaking
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
1709617e10
commit
742d0c772c
|
@ -25,7 +25,7 @@ public:
|
|||
if (aSpeed != bSpeed)
|
||||
return aSpeed > bSpeed;
|
||||
|
||||
return true;
|
||||
return a->__GetRandomValue() > b->__GetRandomValue();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -54,6 +54,7 @@ void Battle::CheckChoicesSetAndRun() {
|
|||
}
|
||||
// HOOK: Check if we need to change the move
|
||||
}
|
||||
choice->__SetRandomValue(_random.Get());
|
||||
choices[i] = choice;
|
||||
i++;
|
||||
}
|
||||
|
|
|
@ -10,6 +10,7 @@ namespace CreatureLib::Battling {
|
|||
|
||||
class BaseTurnChoice : public ScriptSource {
|
||||
Creature* _user;
|
||||
int32_t _randomValue;
|
||||
|
||||
protected:
|
||||
BaseTurnChoice(Creature* user) noexcept : _user(user){};
|
||||
|
@ -18,6 +19,9 @@ namespace CreatureLib::Battling {
|
|||
virtual ~BaseTurnChoice() = default;
|
||||
[[nodiscard]] virtual TurnChoiceKind GetKind() const noexcept = 0;
|
||||
[[nodiscard]] inline Creature* GetUser() const noexcept { return _user; }
|
||||
|
||||
inline void __SetRandomValue(int32_t val) noexcept { _randomValue = val; }
|
||||
inline int32_t __GetRandomValue() const noexcept { return _randomValue; }
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue