C interface for Battle Random.
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
This commit is contained in:
parent
3dd5aeffd8
commit
e2675d06fb
|
@ -0,0 +1,20 @@
|
|||
#include "../../src/Battling/Models/BattleRandom.hpp"
|
||||
#include "../Core.hpp"
|
||||
using namespace CreatureLib::Battling;
|
||||
|
||||
export BattleRandom* CreatureLib_BattleRandom_Construct() { return new BattleRandom(); }
|
||||
export BattleRandom* CreatureLib_BattleRandom_ConstructWithSeed(uint_fast32_t seed) { return new BattleRandom(seed); }
|
||||
|
||||
export void CreatureLib_BattleRandom_Destruct(BattleRandom* p) { delete p; }
|
||||
|
||||
export uint8_t CreatureLib_BattleRandom_EffectChance(bool& out, BattleRandom* p, float chance, ExecutingAttack* attack,
|
||||
Creature* target) {
|
||||
Try(out = p->EffectChance(chance, attack, target);)
|
||||
}
|
||||
|
||||
export int32_t CreatureLib_BattleRandom_Get(BattleRandom* p) { return p->Get(); }
|
||||
export int32_t CreatureLib_BattleRandom_GetMax(BattleRandom* p, int32_t max) { return p->Get(max); }
|
||||
export int32_t CreatureLib_BattleRandom_GetMinMax(BattleRandom* p, int32_t min, int32_t max) {
|
||||
return p->Get(min, max);
|
||||
}
|
||||
export uint_fast32_t CreatureLib_BattleRandom_GetSeed(BattleRandom* p) { return p->GetSeed(); }
|
|
@ -12,14 +12,15 @@ namespace CreatureLib::Battling {
|
|||
Arbutils::Random _random;
|
||||
|
||||
public:
|
||||
BattleRandom() : _random() {}
|
||||
BattleRandom(int32_t seed) : _random(seed) {}
|
||||
BattleRandom() noexcept : _random() {}
|
||||
BattleRandom(uint_fast32_t seed) noexcept : _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; }
|
||||
int32_t Get() noexcept { return _random.Get(); }
|
||||
int32_t Get(int32_t max) noexcept { return _random.Get(max); }
|
||||
int32_t Get(int32_t min, int32_t max) noexcept { return _random.Get(min, max); }
|
||||
Arbutils::Random& GetRNG() noexcept { return _random; }
|
||||
uint_fast32_t GetSeed() const noexcept { return _random.GetSeed(); }
|
||||
};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue