CreatureLib/src/Battling/Models/BattleRandom.hpp

27 lines
745 B
C++
Raw Normal View History

#ifndef CREATURELIB_BATTLERANDOM_HPP
#define CREATURELIB_BATTLERANDOM_HPP
#include <Arbutils/Random.hpp>
namespace CreatureLib::Battling {
class ExecutingAttack;
class Creature;
class BattleRandom {
private:
Arbutils::Random _random;
public:
BattleRandom() : _random() {}
BattleRandom(int32_t seed) : _random(seed) {}
bool EffectChance(float chance, ExecutingAttack* attack, Creature* target);
int32_t Get() { return _random.Get(); }
int32_t Get(int32_t max) { return _random.Get(max); }
int32_t Get(int32_t min, int32_t max) { return _random.Get(min, max); }
Arbutils::Random& GetRNG() { return _random; }
};
}
#endif // CREATURELIB_BATTLERANDOM_HPP