PkmnLibSharp/PkmnLibSharp/Battling/Battle/BattleRandom.cs

42 lines
1.2 KiB
C#
Raw Normal View History

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