Initial outline of battle class.

This commit is contained in:
Deukhoofd committed 2020-07-26 14:47:56 +02:00
1 parent e2ecec8e7a
commit d29aa60010
34 files changed
+544 -34

No files matched your search

@@ -0,0 +1,16 @@
using System;
namespace PkmnLibSharp.Battling
{
public class AngelscriptScript : Script
{
internal AngelscriptScript(IntPtr ptr) : base(ptr)
{
}
protected override void DeletePtr()
{
Pkmnlib.Generated.AngelScriptResolver.Destruct(Ptr);
}
}
}
+203
View File
@@ -0,0 +1,203 @@
using System;
using System.Linq;
using PkmnLibSharp.Battling.ChoiceTurn;
using PkmnLibSharp.Battling.Events;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling
{
public class Battle : PointerWrapper
{
public Battle(BattleLibrary library, BattleParty[] parties, bool canFlee, byte numberOfSides, byte creaturesPerSide,
ulong randomSeed)
{
var ptr = IntPtr.Zero;
var arr = parties.Select(x => x.Ptr).ToArray();
Pkmnlib.Generated.Battle.Construct(ref ptr, library.Ptr, arr.ArrayPtr(), (ulong) arr.Length,
canFlee.ToNative(), numberOfSides, creaturesPerSide, randomSeed);
}
public BattleLibrary Library
{
get
{
if (_library != null) return _library;
var ptr = Creaturelibbattling.Generated.Battle.GetLibrary(Ptr);
if (TryResolvePointer(ptr, out _library))
{
return _library;
}
_library = new BattleLibrary(ptr);
return _library;
}
}
public BattleRandom Random
{
get
{
if (_random != null) return _random;
var ptr = Creaturelibbattling.Generated.Battle.GetRandom(Ptr);
if (TryResolvePointer(ptr, out _random))
{
return _random;
}
_random = new BattleRandom(ptr);
return _random;
}
}
public bool CanFlee => Creaturelibbattling.Generated.Battle.CanFlee(Ptr) == 1;
public bool HasEnded => Creaturelibbattling.Generated.Battle.HasEnded(Ptr) == 1;
public bool HasConclusiveResult => Creaturelibbattling.Generated.Battle.HasConclusiveResult(Ptr) == 1;
public byte WinningSide => Creaturelibbattling.Generated.Battle.GetWinningSide(Ptr);
public ulong SidesCount => Creaturelibbattling.Generated.Battle.GetSidesCount(Ptr);
public ulong PartiesCount => Creaturelibbattling.Generated.Battle.GetPartiesCount(Ptr);
public ReadOnlyNativePtrArray<BattleSide> Sides
{
get
{
if (_sides != null) return _sides;
var ptr = Creaturelibbattling.Generated.Battle.GetSides(Ptr);
_sides = new ReadOnlyNativePtrArray<BattleSide>(ptr, (int) SidesCount);
return _sides;
}
}
public ReadOnlyNativePtrArray<BattleParty> Parties
{
get
{
if (_parties != null) return _parties;
var ptr = Creaturelibbattling.Generated.Battle.GetParties(Ptr);
_parties = new ReadOnlyNativePtrArray<BattleParty>(ptr, (int) PartiesCount);
return _parties;
}
}
public string WeatherName => Pkmnlib.Generated.Battle.GetWeatherName(Ptr).PtrString();
public bool CanUse(BaseTurnChoice turnChoice)
{
byte b = 0;
Creaturelibbattling.Generated.Battle.CanUse(ref b, Ptr, turnChoice.Ptr).Assert();
return b == 1;
}
public bool TrySetChoice(BaseTurnChoice turnChoice)
{
byte b = 0;
Creaturelibbattling.Generated.Battle.TrySetChoice(ref b, Ptr, turnChoice.Ptr).Assert();
return b == 1;
}
public void CheckChoicesSetAndRun()
{
Creaturelibbattling.Generated.Battle.CheckChoicesSetAndRun(Ptr);
}
public bool IsPokemonInField(Pokemon pokemon)
{
byte b = 0;
Creaturelibbattling.Generated.Battle.CreatureInField(ref b, Ptr, pokemon.Ptr).Assert();
return b == 1;
}
public Pokemon GetPokemonInField(byte side, byte index)
{
var ptr = IntPtr.Zero;
Creaturelibbattling.Generated.Battle.GetCreature(ref ptr, Ptr, side, index).Assert();
return TryResolvePointer(ptr, out Pokemon pokemon) ? pokemon : new Pokemon(ptr);
}
public void ForceRecall(byte side, byte index)
{
Creaturelibbattling.Generated.Battle.ForceRecall(Ptr, side, index).Assert();
}
public void SwitchPokemon(byte side, byte index, Pokemon newPokemon)
{
Creaturelibbattling.Generated.Battle.SwitchCreature(Ptr, side, index, newPokemon.Ptr).Assert();
}
public bool CanSlotBeFilled(byte side, byte index)
{
byte b = 0;
Creaturelibbattling.Generated.Battle.CanSlotBeFilled(ref b, Ptr, side, index).Assert();
return b == 1;
}
public void ValidateBattleState()
{
Creaturelibbattling.Generated.Battle.ValidateBattleState(Ptr).Assert();
}
public Script GetVolatileScript(string key)
{
var ptr = Creaturelibbattling.Generated.Battle.GetVolatileScript(Ptr, key.ToPtr());
if (TryResolvePointer(ptr, out Script script))
{
return script;
}
// TODO: Handle with different script providers.
return new AngelscriptScript(ptr);
}
public void AddVolatileScript(string key)
{
Creaturelibbattling.Generated.Battle.AddVolatileScriptByName(Ptr, key.ToPtr()).Assert();
}
public void AddVolatileScript(Script script)
{
Creaturelibbattling.Generated.Battle.AddVolatileScript(Ptr, script.Ptr).Assert();
}
public void RemoveVolatileScript(string key)
{
Creaturelibbattling.Generated.Battle.RemoveVolatileScript(Ptr, key.ToPtr()).Assert();
}
public void RemoveVolatileScript(Script script)
{
Creaturelibbattling.Generated.Battle.RemoveVolatileScriptWithScript(Ptr, script.Ptr).Assert();
}
public bool HasVolatileScript(string key)
{
return Creaturelibbattling.Generated.Battle.HasVolatileScript(Ptr, key.ToPtr()) == 1;
}
public void RegisterEventListener(BattleEventListener listener)
{
Creaturelibbattling.Generated.Battle.RegisterEventListener(Ptr, listener.FunctionPtr).Assert();
}
public void TriggerEventListener(BattleEvent evt)
{
Creaturelibbattling.Generated.Battle.TriggerEventListener(Ptr, evt.Ptr).Assert();
}
public void SetWeather(string weatherName)
{
Pkmnlib.Generated.Battle.SetWeather(Ptr, weatherName.ToPtr());
}
public void ClearWeather()
{
Pkmnlib.Generated.Battle.ClearWeather(Ptr);
}
private BattleLibrary _library;
private BattleRandom _random;
private ReadOnlyNativePtrArray<BattleSide> _sides;
private ReadOnlyNativePtrArray<BattleParty> _parties;
protected override void DeletePtr()
{
Pkmnlib.Generated.Battle.Destruct(Ptr);
}
}
}
@@ -5,6 +5,8 @@ namespace PkmnLibSharp.Battling
{ {
public class BattleParty : PointerWrapper public class BattleParty : PointerWrapper
{ {
public BattleParty(){}
public BattleParty(PokemonParty party, byte[] responsibleIndices) public BattleParty(PokemonParty party, byte[] responsibleIndices)
{ {
var ptr = IntPtr.Zero; var ptr = IntPtr.Zero;
@@ -0,0 +1,42 @@
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);
}
}
}
@@ -0,0 +1,14 @@
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling
{
public class BattleSide : PointerWrapper
{
public BattleSide(){}
protected override void DeletePtr()
{
throw new System.NotImplementedException();
}
}
}
@@ -0,0 +1,12 @@
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling
{
public class ExecutingMove : PointerWrapper
{
protected override void DeletePtr()
{
throw new System.NotImplementedException();
}
}
}
@@ -0,0 +1,27 @@
using System;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling.ChoiceTurn
{
public abstract class BaseTurnChoice : PointerWrapper
{
protected BaseTurnChoice(IntPtr ptr) : base(ptr){}
public TurnChoiceKind Kind => (TurnChoiceKind) Creaturelibbattling.Generated.BaseTurnChoice.GetKind(Ptr);
public Pokemon User
{
get
{
if (_user != null) return _user;
var ptr = Creaturelibbattling.Generated.BaseTurnChoice.GetUser(Ptr);
if (TryResolvePointer(ptr, out _user))
return _user;
_user = new Pokemon(ptr);
return _user;
}
}
private Pokemon _user;
}
}
@@ -0,0 +1,16 @@
using System;
namespace PkmnLibSharp.Battling.ChoiceTurn
{
public class FleeTurnChoice : BaseTurnChoice
{
public FleeTurnChoice(Pokemon user) : base(Creaturelibbattling.Generated.FleeTurnChoice.Construct(user.Ptr))
{
}
protected override void DeletePtr()
{
Creaturelibbattling.Generated.FleeTurnChoice.Destruct(Ptr);
}
}
}
@@ -0,0 +1,47 @@
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling.ChoiceTurn
{
public class MoveTurnChoice : BaseTurnChoice
{
public MoveTurnChoice(Pokemon user, LearnedMove move, byte side, byte index)
: base(Creaturelibbattling.Generated.AttackTurnChoice.Construct(user.Ptr, move.Ptr, side, index))
{
}
public LearnedMove Move
{
get
{
if (_move != null) return _move;
var ptr = Creaturelibbattling.Generated.AttackTurnChoice.GetAttack(Ptr);
if (TryResolvePointer(ptr, out _move))
return _move;
_move = new LearnedMove(ptr);
return _move;
}
}
public sbyte Priority
{
get
{
sbyte b = 0;
Creaturelibbattling.Generated.AttackTurnChoice.GetPriority(ref b, Ptr).Assert();
return b;
}
}
public byte TargetSide => Creaturelibbattling.Generated.AttackTurnChoice.GetTargetSideIndex(Ptr);
public byte TargetIndex => Creaturelibbattling.Generated.AttackTurnChoice.GetTargetCreatureIndex(Ptr);
// TODO: Move Script getter
private LearnedMove _move;
protected override void DeletePtr()
{
Creaturelibbattling.Generated.AttackTurnChoice.Destruct(Ptr);
}
}
}
@@ -0,0 +1,17 @@
using System;
namespace PkmnLibSharp.Battling.ChoiceTurn
{
public class SwitchTurnChoice : BaseTurnChoice
{
public SwitchTurnChoice(Pokemon user, Pokemon newPokemon) : base(
Creaturelibbattling.Generated.SwitchTurnChoice.Construct(user.Ptr, newPokemon.Ptr))
{
}
protected override void DeletePtr()
{
Creaturelibbattling.Generated.SwitchTurnChoice.Destruct(Ptr);
}
}
}
@@ -0,0 +1,11 @@
namespace PkmnLibSharp.Battling.ChoiceTurn
{
public enum TurnChoiceKind
{
Pass = 0,
Attack = 1,
Item = 2,
Switch = 3,
Flee = 4,
}
}
@@ -0,0 +1,11 @@
using System;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling.Events
{
public abstract class BattleEvent : PointerWrapper
{
protected internal BattleEvent(IntPtr ptr) : base(ptr)
{}
}
}
@@ -0,0 +1,47 @@
using System;
using System.Runtime.InteropServices;
using Creaturelibbattling;
namespace PkmnLibSharp.Battling.Events
{
public class BattleEventListener
{
public delegate void BattleEventDelegate(BattleEvent evt);
private delegate void BattleEventPtrDelegate(IntPtr ptr);
private readonly BattleEventDelegate _del;
// ReSharper disable once PrivateFieldCanBeConvertedToLocalVariable
private readonly BattleEventPtrDelegate _innerDel;
internal readonly IntPtr FunctionPtr;
public BattleEventListener(BattleEventDelegate del)
{
_del = del;
_innerDel = OnEventPtr;
FunctionPtr = Marshal.GetFunctionPointerForDelegate(_innerDel);
}
private void OnEventPtr(IntPtr ptr)
{
var wrapped = WrapEventPtr(ptr);
_del.Invoke(wrapped);
}
private static BattleEvent WrapEventPtr(IntPtr ptr)
{
var evtType = Creaturelibbattling.Generated.EventData.GetKind(ptr);
switch (evtType)
{
case EventDataKind.Damage:
return new DamageEvent(ptr);
case EventDataKind.Heal:
break;
case EventDataKind.Faint:
break;
case EventDataKind.DisplayText:
break;
}
throw new NotImplementedException($"Unhandled battle event: '{evtType}'");
}
}
}
@@ -0,0 +1,16 @@
using System;
namespace PkmnLibSharp.Battling.Events
{
public class DamageEvent : BattleEvent
{
internal DamageEvent(IntPtr ptr) : base(ptr)
{
}
protected override void DeletePtr()
{
throw new NotImplementedException();
}
}
}
+4 -6
View File
@@ -257,19 +257,17 @@ namespace PkmnLibSharp.Battling
{ {
Creaturelibbattling.Generated.Creature.AddVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert(); Creaturelibbattling.Generated.Creature.AddVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert();
} }
//TODO: Change to wrapper public void AddVolatileScript(Script script)
public void AddVolatileScript(IntPtr script)
{ {
Creaturelibbattling.Generated.Creature.AddVolatileScript(Ptr, script).Assert(); Creaturelibbattling.Generated.Creature.AddVolatileScript(Ptr, script.Ptr).Assert();
} }
public void RemoveVolatileScript(string scriptName) public void RemoveVolatileScript(string scriptName)
{ {
Creaturelibbattling.Generated.Creature.RemoveVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert(); Creaturelibbattling.Generated.Creature.RemoveVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert();
} }
//TODO: Change to wrapper public void RemoveVolatileScript(Script script)
public void RemoveVolatileScript(IntPtr script)
{ {
Creaturelibbattling.Generated.Creature.RemoveVolatileScript(Ptr, script).Assert(); Creaturelibbattling.Generated.Creature.RemoveVolatileScript(Ptr, script.Ptr).Assert();
} }
public bool HasVolatileScript(string scriptName) public bool HasVolatileScript(string scriptName)
{ {
+10
View File
@@ -0,0 +1,10 @@
using System;
using PkmnLibSharp.Utilities;
namespace PkmnLibSharp.Battling
{
public abstract class Script : PointerWrapper
{
protected Script(IntPtr ptr) : base(ptr){}
}
}
@@ -14,6 +14,11 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_Construct")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_Construct")]
internal static extern IntPtr Construct(IntPtr user, IntPtr attack, byte sideIndex, byte targetIndex); internal static extern IntPtr Construct(IntPtr user, IntPtr attack, byte sideIndex, byte targetIndex);
/// <param name="p">AttackTurnChoice *</param>
/// <returns>void</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_Destruct")]
internal static extern void Destruct(IntPtr p);
/// <param name="p">const AttackTurnChoice *</param> /// <param name="p">const AttackTurnChoice *</param>
/// <returns>LearnedAttack *</returns> /// <returns>LearnedAttack *</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetAttack")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetAttack")]
@@ -24,10 +29,26 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetKind")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetKind")]
internal static extern TurnChoiceKind GetKind(IntPtr p); internal static extern TurnChoiceKind GetKind(IntPtr p);
/// <param name="out">signed char &</param>
/// <param name="p">AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetPriority")]
internal static extern byte GetPriority(ref sbyte @out, IntPtr p);
/// <param name="p">const AttackTurnChoice *</param> /// <param name="p">const AttackTurnChoice *</param>
/// <returns>Script *</returns> /// <returns>Script *</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetAttackScript")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetAttackScript")]
internal static extern IntPtr GetAttackScript(IntPtr p); internal static extern IntPtr GetAttackScript(IntPtr p);
/// <param name="p">const AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetTargetSideIndex")]
internal static extern byte GetTargetSideIndex(IntPtr p);
/// <param name="p">const AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_AttackTurnChoice_GetTargetCreatureIndex")]
internal static extern byte GetTargetCreatureIndex(IntPtr p);
} }
} }
@@ -6,11 +6,6 @@ namespace Creaturelibbattling.Generated
{ {
internal static class BaseTurnChoice internal static class BaseTurnChoice
{ {
/// <param name="p">const BaseTurnChoice *</param>
/// <returns>void</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_Destruct")]
internal static extern void Destruct(IntPtr p);
/// <param name="p">const BaseTurnChoice *</param> /// <param name="p">const BaseTurnChoice *</param>
/// <returns>TurnChoiceKind</returns> /// <returns>TurnChoiceKind</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetKind")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetKind")]
@@ -21,21 +16,5 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetUser")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetUser")]
internal static extern IntPtr GetUser(IntPtr p); internal static extern IntPtr GetUser(IntPtr p);
/// <param name="out">signed char &</param>
/// <param name="p">AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetPriority")]
internal static extern byte GetPriority(ref sbyte @out, IntPtr p);
/// <param name="p">const AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetTargetSideIndex")]
internal static extern byte GetTargetSideIndex(IntPtr p);
/// <param name="p">const AttackTurnChoice *</param>
/// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_BaseTurnChoice_GetTargetCreatureIndex")]
internal static extern byte GetTargetCreatureIndex(IntPtr p);
} }
} }
@@ -13,9 +13,10 @@ namespace Creaturelibbattling.Generated
/// <param name="canFlee">bool</param> /// <param name="canFlee">bool</param>
/// <param name="numberOfSides">unsigned char</param> /// <param name="numberOfSides">unsigned char</param>
/// <param name="creaturesPerSide">unsigned char</param> /// <param name="creaturesPerSide">unsigned char</param>
/// <param name="randomSeed">long unsigned int</param>
/// <returns>unsigned char</returns> /// <returns>unsigned char</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Battle_Construct")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Battle_Construct")]
internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr partyArr, ulong numberOfParties, byte canFlee, byte numberOfSides, byte creaturesPerSide); internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr partyArr, ulong numberOfParties, byte canFlee, byte numberOfSides, byte creaturesPerSide, ulong randomSeed);
/// <param name="p">const Battle *</param> /// <param name="p">const Battle *</param>
/// <returns>void</returns> /// <returns>void</returns>
@@ -11,5 +11,10 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_FleeTurnChoice_Construct")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_FleeTurnChoice_Construct")]
internal static extern IntPtr Construct(IntPtr user); internal static extern IntPtr Construct(IntPtr user);
/// <param name="p">AttackTurnChoice *</param>
/// <returns>void</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_FleeTurnChoice_Destruct")]
internal static extern void Destruct(IntPtr p);
} }
} }
@@ -11,5 +11,10 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_PassTurnChoice_Construct")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_PassTurnChoice_Construct")]
internal static extern IntPtr Construct(IntPtr user); internal static extern IntPtr Construct(IntPtr user);
/// <param name="p">AttackTurnChoice *</param>
/// <returns>void</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_PassTurnChoice_Destruct")]
internal static extern void Destruct(IntPtr p);
} }
} }
@@ -12,6 +12,11 @@ namespace Creaturelibbattling.Generated
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_SwitchTurnChoice_Construct")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_SwitchTurnChoice_Construct")]
internal static extern IntPtr Construct(IntPtr user, IntPtr newCreature); internal static extern IntPtr Construct(IntPtr user, IntPtr newCreature);
/// <param name="p">AttackTurnChoice *</param>
/// <returns>void</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_SwitchTurnChoice_Destruct")]
internal static extern void Destruct(IntPtr p);
/// <param name="p">const SwitchTurnChoice *</param> /// <param name="p">const SwitchTurnChoice *</param>
/// <returns>Creature *</returns> /// <returns>Creature *</returns>
[DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_SwitchTurnChoice_GetNewCreature")] [DllImport("CreatureLibBattling", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_SwitchTurnChoice_GetNewCreature")]
+2 -1
View File
@@ -13,9 +13,10 @@ namespace Pkmnlib.Generated
/// <param name="canFlee">bool</param> /// <param name="canFlee">bool</param>
/// <param name="numberOfSides">unsigned char</param> /// <param name="numberOfSides">unsigned char</param>
/// <param name="creaturesPerSide">unsigned char</param> /// <param name="creaturesPerSide">unsigned char</param>
/// <param name="randomSeed">long unsigned int</param>
/// <returns>unsigned char</returns> /// <returns>unsigned char</returns>
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Battle_Construct")] [DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Battle_Construct")]
internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr parties, ulong partiesCount, byte canFlee, byte numberOfSides, byte creaturesPerSide); internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr parties, ulong partiesCount, byte canFlee, byte numberOfSides, byte creaturesPerSide, ulong randomSeed);
/// <param name="p">Battle *</param> /// <param name="p">Battle *</param>
/// <returns>void</returns> /// <returns>void</returns>
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,4 @@
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=battling_005Cbattle/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=battling_005Cchoiceturn/@EntryIndexedValue">True</s:Boolean>
<s:Boolean x:Key="/Default/CodeInspection/NamespaceProvider/NamespaceFoldersToSkip/=battling_005Clibrary/@EntryIndexedValue">True</s:Boolean></wpf:ResourceDictionary>
+1 -1
View File
@@ -1 +1 @@
{"enums":[{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"DisplayText"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}}],"functions":[{"filename":"CreatureLibLibrary","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Construct","parameters":[{"name":"out","type":"AttackData * &"},{"name":"name","type":"const char *"},{"name":"type","type":"unsigned char"},{"name":"category","type":"AttackCategory"},{"name":"power","type":"unsigned char"},{"name":"accuracy","type":"unsigned char"},{"name":"baseUsage","type":"unsigned char"},{"name":"target","type":"AttackTarget"},{"name":"priority","type":"signed char"},{"name":"effectChance","type":"float"},{"name":"effectName","type":"const char *"},{"name":"effectParameters","type":"EffectParameter * *"},{"name":"effectParameterCount","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"Line truncated {"enums":[{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"DisplayText"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}}],"functions":[{"filename":"CreatureLibLibrary","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Construct","parameters":[{"name":"out","type":"AttackData * &"},{"name":"name","type":"const char *"},{"name":"type","type":"unsigned char"},{"name":"category","type":"AttackCategory"},{"name":"power","type":"unsigned char"},{"name":"accuracy","type":"unsigned char"},{"name":"baseUsage","type":"unsigned char"},{"name":"target","type":"AttackTarget"},{"name":"priority","type":"signed char"},{"name":"effectChance","type":"float"},{"name":"effectName","type":"const char *"},{"name":"effectParameters","type":"EffectParameter * *"},{"name":"effectParameterCount","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"Line truncated
+1 -1
View File
@@ -1 +1 @@
{"enums":[{"byteSize":1,"filename":"pkmnLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":4,"filename":"pkmnLib","name":"asEObjTypeFlags","values":{"1":"asOBJ_REF","1024":"asOBJ_APP_CLASS_DESTRUCTOR","1048576":"asOBJ_IMPLICIT_HANDLE","1073741824":"asOBJ_APP_ALIGN16","128":"asOBJ_ASHANDLE","1280":"asOBJ_APP_CLASS_D","131072":"asOBJ_APP_CLASS_ALLFLOATS","134217728":"asOBJ_TEMPLATE_SUBTYPE","16":"asOBJ_NOHANDLE","16384":"asOBJ_APP_FLOAT","16777216":"asOBJ_FUNCDEF","1792":"asOBJ_APP_CLASS_CD","2":"asOBJ_VALUE","2048":"asOBJ_APP_CLASS_ASSIGNMENT","2097151":"asOBJ_MASK_VALID_FLAGS","2097152":"asOBJ_SCRIPT_OBJECT","2304":"asOBJ_APP_CLASS_A","256":"asOBJ_APP_CLASS","262144":"asOBJ_NOCOUNT","268435456":"asOBJ_TYPEDEF","2816":"asOBJ_APP_CLASS_CA","32":"asOBJ_SCOPED","32768":"asOBJ_APP_ARRAY","3328":"asOBJ_APP_CLASS_DA","33554432":"asOBJ_LIST_PATTERN","3840":"asOBJ_APP_CLASS_CDA","4":"asOBJ_GC","4096":"asOBJ_APP_CLASS_COPY_CONSTRUCTOR","4194304":"asOBJ_SHARED","4352":"asOBJ_APP_CLASS_K","4864":"asOBJ_APP_CLASS_CK","512":"asOBJ_APP_CLASS_CONSTRUCTOR","524288":"asOBJ_APP_CLASS_ALIGN8","536870912":"asOBJ_ABSTRACT","5376":"asOBJ_APP_CLASS_DK","5888":"asOBJ_APP_CLASS_CDK","64":"asOBJ_TEMPLATE","6400":"asOBJ_APP_CLASS_AK","65536":"asOBJ_APP_CLASS_ALLINTS","67108864":"asOBJ_ENUM","6912":"asOBJ_APP_CLASS_CAK","7424":"asOBJ_APP_CLASS_DAK","768":"asOBJ_APP_CLASS_C","7936":"asOBJ_APP_CLASS_CDAK","8":"asOBJ_POD","8192":"asOBJ_APP_PRIMITIVE","8388608":"asOBJ_NOINHERIT"}},{"byteSize":4,"filename":"pkmnLib","name":"asECallConvTypes","values":{"0":"asCALL_CDECL","1":"asCALL_STDCALL","2":"asCALL_THISCALL_ASGLOBAL","3":"asCALL_THISCALL","4":"asCALL_CDECL_OBJLAST","5":"asCALL_CDECL_OBJFIRST","6":"asCALL_GENERIC","7":"asCALL_THISCALL_OBJLAST","8":"asCALL_THISCALL_OBJFIRST"}},{"byteSize":1,"filename":"pkmnLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"pkmnLib","name":"MoveCategory","values":{"0":"Physical","1":"Special","2":"Status"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"pkmnLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":4,"filename":"pkmnLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"pkmnLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"pkmnLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"pkmnLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"pkmnLib","name":"EvolutionMethod","values":{"0":"Level","1":"HighFriendship","10":"TradeWithHeldItem","11":"TradeWithSpecificPokemon","12":"Custom","2":"KnownMove","3":"LocationBased","4":"TimeBased","5":"HoldsItem","6":"IsGenderAndLevel","7":"EvolutionItemUse","8":"EvolutionItemUseWithGender","9":"Trade"}},{"byteSize":1,"filename":"pkmnLib","name":"TimeOfDay","values":{"0":"Night","1":"Morning","2":"Afternoon","3":"Evening"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeIdFlags","values":{"0":"asTYPEID_VOID","1":"asTYPEID_BOOL","10":"asTYPEID_FLOAT","1073741824":"asTYPEID_OBJHANDLE","11":"asTYPEID_DOUBLE","134217728":"asTYPEID_SCRIPTOBJECT","2":"asTYPEID_INT8","268435456":"asTYPEID_TEMPLATE","3":"asTYPEID_INT16","4":"asTYPEID_INT32","469762048":"asTYPEID_MASK_OBJECT","5":"asTYPEID_INT64","536870912":"asTYPEID_HANDLETOCONST","6":"asTYPEID_UINT8","67108863":"asTYPEID_MASK_SEQNBR","67108864":"asTYPEID_APPOBJECT","7":"asTYPEID_UINT16","8":"asTYPEID_UINT32","9":"asTYPEID_UINT64"}},{"byteSize":4,"filename":"pkmnLib","name":"asEContextState","values":{"0":"asEXECUTION_FINISHED","1":"asEXECUTION_SUSPENDED","2":"asEXECUTION_ABORTED","3":"asEXECUTION_EXCEPTION","4":"asEXECUTION_PREPARED","5":"asEXECUTION_UNINITIALIZED","6":"asEXECUTION_ACTIVE","7":"asEXECUTION_ERROR"}},{"byteSize":4,"filename":"pkmnLib","name":"asERetCodes","values":{"-1":"asERROR","-10":"asINVALID_DECLARATION","-11":"asINVALID_OBJECT","-12":"asINVALID_TYPE","-13":"asALREADY_REGISTERED","-14":"asMULTIPLE_FUNCTIONS","-15":"asNO_MODULE","-16":"asNO_GLOBAL_VAR","-17":"asINVALID_CONFIGURATION","-18":"asINVALID_INTERFACE","-19":"asCANT_BIND_ALL_FUNCTIONS","-2":"asCONTEXT_ACTIVE","-20":"asLOWER_ARRAY_DIMENSION_NOT_REGISTERED","-21":"asWRONG_CONFIG_GROUP","-22":"asCONFIG_GROUP_IS_IN_USE","-23":"asILLEGAL_BEHAVIOUR_FOR_TYPE","-24":"asWRONG_CALLING_CONV","-25":"asBUILD_IN_PLine truncated {"enums":[{"byteSize":1,"filename":"pkmnLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":4,"filename":"pkmnLib","name":"asEObjTypeFlags","values":{"1":"asOBJ_REF","1024":"asOBJ_APP_CLASS_DESTRUCTOR","1048576":"asOBJ_IMPLICIT_HANDLE","1073741824":"asOBJ_APP_ALIGN16","128":"asOBJ_ASHANDLE","1280":"asOBJ_APP_CLASS_D","131072":"asOBJ_APP_CLASS_ALLFLOATS","134217728":"asOBJ_TEMPLATE_SUBTYPE","16":"asOBJ_NOHANDLE","16384":"asOBJ_APP_FLOAT","16777216":"asOBJ_FUNCDEF","1792":"asOBJ_APP_CLASS_CD","2":"asOBJ_VALUE","2048":"asOBJ_APP_CLASS_ASSIGNMENT","2097151":"asOBJ_MASK_VALID_FLAGS","2097152":"asOBJ_SCRIPT_OBJECT","2304":"asOBJ_APP_CLASS_A","256":"asOBJ_APP_CLASS","262144":"asOBJ_NOCOUNT","268435456":"asOBJ_TYPEDEF","2816":"asOBJ_APP_CLASS_CA","32":"asOBJ_SCOPED","32768":"asOBJ_APP_ARRAY","3328":"asOBJ_APP_CLASS_DA","33554432":"asOBJ_LIST_PATTERN","3840":"asOBJ_APP_CLASS_CDA","4":"asOBJ_GC","4096":"asOBJ_APP_CLASS_COPY_CONSTRUCTOR","4194304":"asOBJ_SHARED","4352":"asOBJ_APP_CLASS_K","4864":"asOBJ_APP_CLASS_CK","512":"asOBJ_APP_CLASS_CONSTRUCTOR","524288":"asOBJ_APP_CLASS_ALIGN8","536870912":"asOBJ_ABSTRACT","5376":"asOBJ_APP_CLASS_DK","5888":"asOBJ_APP_CLASS_CDK","64":"asOBJ_TEMPLATE","6400":"asOBJ_APP_CLASS_AK","65536":"asOBJ_APP_CLASS_ALLINTS","67108864":"asOBJ_ENUM","6912":"asOBJ_APP_CLASS_CAK","7424":"asOBJ_APP_CLASS_DAK","768":"asOBJ_APP_CLASS_C","7936":"asOBJ_APP_CLASS_CDAK","8":"asOBJ_POD","8192":"asOBJ_APP_PRIMITIVE","8388608":"asOBJ_NOINHERIT"}},{"byteSize":4,"filename":"pkmnLib","name":"asECallConvTypes","values":{"0":"asCALL_CDECL","1":"asCALL_STDCALL","2":"asCALL_THISCALL_ASGLOBAL","3":"asCALL_THISCALL","4":"asCALL_CDECL_OBJLAST","5":"asCALL_CDECL_OBJFIRST","6":"asCALL_GENERIC","7":"asCALL_THISCALL_OBJLAST","8":"asCALL_THISCALL_OBJFIRST"}},{"byteSize":1,"filename":"pkmnLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"pkmnLib","name":"MoveCategory","values":{"0":"Physical","1":"Special","2":"Status"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"pkmnLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":4,"filename":"pkmnLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"pkmnLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"pkmnLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"pkmnLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"pkmnLib","name":"EvolutionMethod","values":{"0":"Level","1":"HighFriendship","10":"TradeWithHeldItem","11":"TradeWithSpecificPokemon","12":"Custom","2":"KnownMove","3":"LocationBased","4":"TimeBased","5":"HoldsItem","6":"IsGenderAndLevel","7":"EvolutionItemUse","8":"EvolutionItemUseWithGender","9":"Trade"}},{"byteSize":1,"filename":"pkmnLib","name":"TimeOfDay","values":{"0":"Night","1":"Morning","2":"Afternoon","3":"Evening"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeIdFlags","values":{"0":"asTYPEID_VOID","1":"asTYPEID_BOOL","10":"asTYPEID_FLOAT","1073741824":"asTYPEID_OBJHANDLE","11":"asTYPEID_DOUBLE","134217728":"asTYPEID_SCRIPTOBJECT","2":"asTYPEID_INT8","268435456":"asTYPEID_TEMPLATE","3":"asTYPEID_INT16","4":"asTYPEID_INT32","469762048":"asTYPEID_MASK_OBJECT","5":"asTYPEID_INT64","536870912":"asTYPEID_HANDLETOCONST","6":"asTYPEID_UINT8","67108863":"asTYPEID_MASK_SEQNBR","67108864":"asTYPEID_APPOBJECT","7":"asTYPEID_UINT16","8":"asTYPEID_UINT32","9":"asTYPEID_UINT64"}},{"byteSize":4,"filename":"pkmnLib","name":"asEContextState","values":{"0":"asEXECUTION_FINISHED","1":"asEXECUTION_SUSPENDED","2":"asEXECUTION_ABORTED","3":"asEXECUTION_EXCEPTION","4":"asEXECUTION_PREPARED","5":"asEXECUTION_UNINITIALIZED","6":"asEXECUTION_ACTIVE","7":"asEXECUTION_ERROR"}},{"byteSize":4,"filename":"pkmnLib","name":"asERetCodes","values":{"-1":"asERROR","-10":"asINVALID_DECLARATION","-11":"asINVALID_OBJECT","-12":"asINVALID_TYPE","-13":"asALREADY_REGISTERED","-14":"asMULTIPLE_FUNCTIONS","-15":"asNO_MODULE","-16":"asNO_GLOBAL_VAR","-17":"asINVALID_CONFIGURATION","-18":"asINVALID_INTERFACE","-19":"asCANT_BIND_ALL_FUNCTIONS","-2":"asCONTEXT_ACTIVE","-20":"asLOWER_ARRAY_DIMENSION_NOT_REGISTERED","-21":"asWRONG_CONFIG_GROUP","-22":"asCONFIG_GROUP_IS_IN_USE","-23":"asILLEGAL_BEHAVIOUR_FOR_TYPE","-24":"asWRONG_CALLING_CONV","-25":"asBUILD_IN_PLine truncated