Fixes for some things that can be null, adds functions for LearnedMove uses
continuous-integration/drone/push Build is failing
continuous-integration/drone/push Build is failing
This commit is contained in:
12 files changed
+34
-16
No files matched your search
@@ -155,9 +155,9 @@ namespace PkmnLibSharp.Battling
|
|||||||
Creaturelib.Generated.Battle.ForceRecall(Ptr, side, index).Assert();
|
Creaturelib.Generated.Battle.ForceRecall(Ptr, side, index).Assert();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SwitchPokemon(byte side, byte index, Pokemon newPokemon)
|
public void SwitchPokemon(byte side, byte index, Pokemon? newPokemon)
|
||||||
{
|
{
|
||||||
Creaturelib.Generated.Battle.SwitchCreature(Ptr, side, index, newPokemon.Ptr).Assert();
|
Creaturelib.Generated.Battle.SwitchCreature(Ptr, side, index, newPokemon?.Ptr ?? IntPtr.Zero).Assert();
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool CanSlotBeFilled(byte side, byte index)
|
public bool CanSlotBeFilled(byte side, byte index)
|
||||||
|
|||||||
@@ -44,10 +44,12 @@ namespace PkmnLibSharp.Battling
|
|||||||
Creaturelib.Generated.BattleSide.SetCreature(Ptr, pokemon.Ptr, index);
|
Creaturelib.Generated.BattleSide.SetCreature(Ptr, pokemon.Ptr, index);
|
||||||
}
|
}
|
||||||
|
|
||||||
public Pokemon GetPokemon(byte index)
|
public Pokemon? GetPokemon(byte index)
|
||||||
{
|
{
|
||||||
var ptr = IntPtr.Zero;
|
var ptr = IntPtr.Zero;
|
||||||
Creaturelib.Generated.BattleSide.GetCreature(ref ptr, Ptr, index);
|
Creaturelib.Generated.BattleSide.GetCreature(ref ptr, Ptr, index);
|
||||||
|
if (ptr == IntPtr.Zero)
|
||||||
|
return null;
|
||||||
if (TryResolvePointer(ptr, out Pokemon? pokemon))
|
if (TryResolvePointer(ptr, out Pokemon? pokemon))
|
||||||
return pokemon!;
|
return pokemon!;
|
||||||
return Constructor.Active.ConstructPokemon(ptr)!;
|
return Constructor.Active.ConstructPokemon(ptr)!;
|
||||||
|
|||||||
@@ -42,6 +42,22 @@ namespace PkmnLibSharp.Battling
|
|||||||
|
|
||||||
private MoveData? _move;
|
private MoveData? _move;
|
||||||
|
|
||||||
|
public void DecreaseUses(byte amount)
|
||||||
|
{
|
||||||
|
LearnedAttack.DecreaseUses(Ptr, amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RestoreUses(byte amount)
|
||||||
|
{
|
||||||
|
LearnedAttack.RestoreUses(Ptr, amount);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RestoreAllUses()
|
||||||
|
{
|
||||||
|
LearnedAttack.RestoreAllUses(Ptr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public override string ToString()
|
public override string ToString()
|
||||||
{
|
{
|
||||||
return base.ToString() + $": {Move.Name} PP: {RemainingUses}/{MaxUses}";
|
return base.ToString() + $": {Move.Name} PP: {RemainingUses}/{MaxUses}";
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ namespace PkmnLibSharp.Battling
|
|||||||
|
|
||||||
protected static IntPtr CreatePtr(BattleLibrary library, Species species, Forme forme, byte level,
|
protected static IntPtr CreatePtr(BattleLibrary library, Species species, Forme forme, byte level,
|
||||||
uint experience, uint uid, Gender gender, byte coloring, Item? heldItem, string? nickname,
|
uint experience, uint uid, Gender gender, byte coloring, Item? heldItem, string? nickname,
|
||||||
bool hiddenAbility, byte abilityIndex, IReadOnlyCollection<LearnedMove> moves, StatisticSet<byte> ivs,
|
bool hiddenAbility, byte abilityIndex, IReadOnlyCollection<LearnedMove?> moves, StatisticSet<byte> ivs,
|
||||||
StatisticSet<byte> evs, Nature nature, bool allowedExperienceGain, bool isEgg)
|
StatisticSet<byte> evs, Nature nature, bool allowedExperienceGain, bool isEgg)
|
||||||
{
|
{
|
||||||
var movesArr = moves.Select(x => x?.Ptr ?? IntPtr.Zero).ToArray();
|
var movesArr = moves.Select(x => x?.Ptr ?? IntPtr.Zero).ToArray();
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Reference in new issue
Block a user