PkmnLibSharp/PkmnLibSharp/Battling/Battle/BattleRandom.cs

42 lines
1.3 KiB
C#

using System;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling
{
public class BattleRandom : PointerWrapper
{
public BattleRandom() : base(Creaturelibbattling.Generated.BattleRandom.Construct())
{}
public BattleRandom(ulong seed) : base(Creaturelibbattling.Generated.BattleRandom.ConstructWithSeed(seed))
{}
internal BattleRandom(IntPtr ptr) : base(ptr){}
public ulong Seed => Creaturelibbattling.Generated.BattleRandom.GetSeed(Ptr);
public bool EffectChance(float chance, ExecutingMove move,Pokemon target)
{
byte b = 0;
Creaturelibbattling.Generated.BattleRandom.EffectChance(ref b, Ptr, chance, move.Ptr, target.Ptr);
return b == 1;
}
public int Get()
{
return Creaturelibbattling.Generated.BattleRandom.Get(Ptr);
}
public int Get(int max)
{
return Creaturelibbattling.Generated.BattleRandom.GetMax(Ptr, max);
}
public int Get(int min, int max)
{
return Creaturelibbattling.Generated.BattleRandom.GetMinMax(Ptr, min, max);
}
protected override void DeletePtr()
{
Creaturelibbattling.Generated.BattleRandom.Destruct(Ptr);
}
}
}