From 00cfd3c469438534916af540dbb8d92e24cea7bb Mon Sep 17 00:00:00 2001 From: Deukhoofd Date: Fri, 14 Aug 2020 16:15:19 +0200 Subject: [PATCH] Cleanup for EventData. --- .../Battling/Events/BattleEventListener.cs | 35 ++++++++-- .../Events/{ => EventData}/DamageEvent.cs | 0 .../Events/EventData/DisplayTextEvent.cs | 29 ++++++++ .../{ => EventData}/ExperienceGainEvent.cs | 0 .../Events/{ => EventData}/FaintEvent.cs | 0 .../Events/{ => EventData}/HealEvent.cs | 0 .../Events/{ => EventData}/SwitchEvent.cs | 0 .../Events/{ => EventData}/TurnEndEvent.cs | 0 .../Events/{ => EventData}/TurnStartEvent.cs | 0 PkmnLibSharp/Battling/Events/EventDataKind.cs | 9 ++- PkmnLibSharp/Battling/LogHandler.cs | 30 +++++++++ PkmnLibSharp/Battling/MoveLearnMethod.cs | 1 + PkmnLibSharp/Battling/Pokemon.cs | 20 ++++++ .../Generated/Creaturelib/AttackTarget.cs | 4 +- .../Generated/Creaturelib/Creature.cs | 32 +++++++++ .../Generated/Creaturelib/EventDataKind.cs | 6 +- .../Generated/Creaturelib/LibrarySettings.cs | 4 +- .../Generated/Pkmnlib/AttackTarget.cs | 4 +- .../Generated/Pkmnlib/EventDataKind.cs | 6 +- .../Generated/Pkmnlib/EvolutionMethod.cs | 6 +- .../Generated/Pkmnlib/asEBehaviours.cs | 10 +-- .../Generated/Pkmnlib/asEEngineProp.cs | 16 ++--- .../Generated/Pkmnlib/asEObjTypeFlags.cs | 66 +++++++++---------- PkmnLibSharp/Generated/Pkmnlib/asERetCodes.cs | 52 +++++++-------- .../Generated/Pkmnlib/asETypeIdFlags.cs | 18 ++--- PkmnLibSharp/Generated/Pkmnlib/error_type.cs | 6 +- PkmnLibSharp/Library/LibrarySettings.cs | 2 +- PkmnLibSharp/Native/libCreatureLib.so | 4 +- PkmnLibSharp/Native/libpkmnLib.so | 4 +- PkmnLibSharp/PkmnLibSharp.csproj.DotSettings | 1 + PkmnLibSharp/Utilities/MarshalHelper.cs | 3 +- PkmnLibSharp/creaturelib.json | 2 +- PkmnLibSharp/generator.py | 6 +- PkmnLibSharp/pkmnlib.json | 2 +- .../Battling/BattleTests/BasicBattleTests.cs | 8 ++- PkmnLibSharpTests/TestClass.cs | 7 ++ 36 files changed, 281 insertions(+), 112 deletions(-) rename PkmnLibSharp/Battling/Events/{ => EventData}/DamageEvent.cs (100%) create mode 100644 PkmnLibSharp/Battling/Events/EventData/DisplayTextEvent.cs rename PkmnLibSharp/Battling/Events/{ => EventData}/ExperienceGainEvent.cs (100%) rename PkmnLibSharp/Battling/Events/{ => EventData}/FaintEvent.cs (100%) rename PkmnLibSharp/Battling/Events/{ => EventData}/HealEvent.cs (100%) rename PkmnLibSharp/Battling/Events/{ => EventData}/SwitchEvent.cs (100%) rename PkmnLibSharp/Battling/Events/{ => EventData}/TurnEndEvent.cs (100%) rename PkmnLibSharp/Battling/Events/{ => EventData}/TurnStartEvent.cs (100%) create mode 100644 PkmnLibSharp/Battling/LogHandler.cs diff --git a/PkmnLibSharp/Battling/Events/BattleEventListener.cs b/PkmnLibSharp/Battling/Events/BattleEventListener.cs index 0f7226b..6e9f6cc 100644 --- a/PkmnLibSharp/Battling/Events/BattleEventListener.cs +++ b/PkmnLibSharp/Battling/Events/BattleEventListener.cs @@ -20,14 +20,30 @@ namespace PkmnLibSharp.Battling.Events { _del = del; _innerDel = OnEventPtr; - FunctionPtr = Marshal.GetFunctionPointerForDelegate(_innerDel); + FunctionPtr = Marshal.GetFunctionPointerForDelegate(_innerDel); + } + + public void EnsureFinishedListening() + { + try + { + _currentTask?.Wait(); + } + catch (AggregateException e) + { + LogHandler.Log(LogHandler.LogLevel.Error, e.GetBaseException().Message); + } + catch (Exception e) + { + LogHandler.Log(LogHandler.LogLevel.Error, e.Message); + } } private void OnEventPtr(IntPtr ptr) { // If we're still registering another event, wait until that's done. This ensures events always arrive in // the correct order. - _currentTask?.Wait(); + EnsureFinishedListening(); // We do however want to run the event handler async, so that the battle code can keep running up till its // next event. _currentTask = Task.Run(() => InternalRunner(ptr)); @@ -60,10 +76,21 @@ namespace PkmnLibSharp.Battling.Events return new ExperienceGainEvent(evtType, ptr); case EventDataKind.DisplayText: break; + case EventDataKind.Miss: + break; + case EventDataKind.ChangeSpecies: + break; + case EventDataKind.ChangeVariant: + break; + case EventDataKind.AttackUse: + break; + case EventDataKind.WeatherChange: + break; + case EventDataKind.StatusChange: + break; default: - throw new ArgumentOutOfRangeException(); + throw new ArgumentOutOfRangeException($"Unknown event kind: " + evtType); } - Creaturelib.Generated.EventData.Destruct(ptr); throw new NotImplementedException($"Unhandled battle event: '{evtType}'"); } } diff --git a/PkmnLibSharp/Battling/Events/DamageEvent.cs b/PkmnLibSharp/Battling/Events/EventData/DamageEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/DamageEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/DamageEvent.cs diff --git a/PkmnLibSharp/Battling/Events/EventData/DisplayTextEvent.cs b/PkmnLibSharp/Battling/Events/EventData/DisplayTextEvent.cs new file mode 100644 index 0000000..a9b4965 --- /dev/null +++ b/PkmnLibSharp/Battling/Events/EventData/DisplayTextEvent.cs @@ -0,0 +1,29 @@ +using System; +using PkmnLibSharp.Utilities; + +namespace PkmnLibSharp.Battling.Events +{ + public class DisplayTextEvent : EventData + { + internal DisplayTextEvent(EventDataKind kind, IntPtr ptr) : base(kind, ptr) + { + } + + public string Text + { + get + { + if (_text != null) return _text; + _text = Creaturelib.Generated.DisplayTextEvent.GetText(Ptr).PtrString(); + return _text!; + } + } + + + private string? _text; + protected override void DeletePtr() + { + Creaturelib.Generated.DisplayTextEvent.Destruct(Ptr); + } + } +} \ No newline at end of file diff --git a/PkmnLibSharp/Battling/Events/ExperienceGainEvent.cs b/PkmnLibSharp/Battling/Events/EventData/ExperienceGainEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/ExperienceGainEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/ExperienceGainEvent.cs diff --git a/PkmnLibSharp/Battling/Events/FaintEvent.cs b/PkmnLibSharp/Battling/Events/EventData/FaintEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/FaintEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/FaintEvent.cs diff --git a/PkmnLibSharp/Battling/Events/HealEvent.cs b/PkmnLibSharp/Battling/Events/EventData/HealEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/HealEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/HealEvent.cs diff --git a/PkmnLibSharp/Battling/Events/SwitchEvent.cs b/PkmnLibSharp/Battling/Events/EventData/SwitchEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/SwitchEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/SwitchEvent.cs diff --git a/PkmnLibSharp/Battling/Events/TurnEndEvent.cs b/PkmnLibSharp/Battling/Events/EventData/TurnEndEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/TurnEndEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/TurnEndEvent.cs diff --git a/PkmnLibSharp/Battling/Events/TurnStartEvent.cs b/PkmnLibSharp/Battling/Events/EventData/TurnStartEvent.cs similarity index 100% rename from PkmnLibSharp/Battling/Events/TurnStartEvent.cs rename to PkmnLibSharp/Battling/Events/EventData/TurnStartEvent.cs diff --git a/PkmnLibSharp/Battling/Events/EventDataKind.cs b/PkmnLibSharp/Battling/Events/EventDataKind.cs index 7da7bfd..5dda621 100644 --- a/PkmnLibSharp/Battling/Events/EventDataKind.cs +++ b/PkmnLibSharp/Battling/Events/EventDataKind.cs @@ -9,6 +9,13 @@ namespace PkmnLibSharp.Battling.Events TurnStart = 4, TurnEnd = 5, ExperienceGain = 6, - DisplayText = 7, + Miss = 7, + DisplayText = 8, + ChangeSpecies = 9, + ChangeVariant = 10, + AttackUse = 11, + + WeatherChange = 128, + StatusChange = 129, } } \ No newline at end of file diff --git a/PkmnLibSharp/Battling/LogHandler.cs b/PkmnLibSharp/Battling/LogHandler.cs new file mode 100644 index 0000000..022d315 --- /dev/null +++ b/PkmnLibSharp/Battling/LogHandler.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; + +namespace PkmnLibSharp.Battling +{ + public static class LogHandler + { + private static readonly List> Listeners = new List>(); + + public enum LogLevel + { + Information, + Warning, + Error + } + + public static void RegisterListener(Action listener) + { + Listeners.Add(listener); + } + + internal static void Log(LogLevel level, string message) + { + foreach (var listener in Listeners) + { + listener(level, message); + } + } + } +} \ No newline at end of file diff --git a/PkmnLibSharp/Battling/MoveLearnMethod.cs b/PkmnLibSharp/Battling/MoveLearnMethod.cs index 1173c68..6483694 100644 --- a/PkmnLibSharp/Battling/MoveLearnMethod.cs +++ b/PkmnLibSharp/Battling/MoveLearnMethod.cs @@ -4,5 +4,6 @@ namespace PkmnLibSharp.Battling { Unknown = 0, Level = 1, + Tutor = 2, } } \ No newline at end of file diff --git a/PkmnLibSharp/Battling/Pokemon.cs b/PkmnLibSharp/Battling/Pokemon.cs index 4e0b875..4bf409e 100644 --- a/PkmnLibSharp/Battling/Pokemon.cs +++ b/PkmnLibSharp/Battling/Pokemon.cs @@ -402,6 +402,26 @@ namespace PkmnLibSharp.Battling Pkmnlib.Generated.Pokemon.ChangeFriendship(Ptr, amount); } + public byte FirstAvailableMoveSlot() + { + return Creaturelib.Generated.Creature.GetAvailableAttackSlot(Ptr); + } + + public void AddMove(LearnedMove move) + { + Creaturelib.Generated.Creature.AddAttack(Ptr, move.Ptr).Assert(); + } + public void ReplaceMove(byte index, LearnedMove move) + { + Creaturelib.Generated.Creature.ReplaceAttack(Ptr, index, move.Ptr).Assert(); + } + + public void SwapMoves(byte a, byte b) + { + Creaturelib.Generated.Creature.SwapAttack(Ptr, a, b).Assert(); + } + + private Species? _displaySpecies; private Forme? _displayForme; private Species? _species; diff --git a/PkmnLibSharp/Generated/Creaturelib/AttackTarget.cs b/PkmnLibSharp/Generated/Creaturelib/AttackTarget.cs index 0f312ef..e04d420 100644 --- a/PkmnLibSharp/Generated/Creaturelib/AttackTarget.cs +++ b/PkmnLibSharp/Generated/Creaturelib/AttackTarget.cs @@ -8,8 +8,6 @@ namespace Creaturelib { Adjacent = 0, AdjacentAlly = 1, - RandomOpponent = 10, - Self = 11, AdjacentAllySelf = 2, AdjacentOpponent = 3, All = 4, @@ -18,5 +16,7 @@ namespace Creaturelib AllAlly = 7, AllOpponent = 8, Any = 9, + RandomOpponent = 10, + Self = 11, } } diff --git a/PkmnLibSharp/Generated/Creaturelib/Creature.cs b/PkmnLibSharp/Generated/Creaturelib/Creature.cs index 5f60475..7473320 100644 --- a/PkmnLibSharp/Generated/Creaturelib/Creature.cs +++ b/PkmnLibSharp/Generated/Creaturelib/Creature.cs @@ -46,6 +46,13 @@ namespace Creaturelib.Generated [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_GetVariant")] internal static extern IntPtr GetVariant(IntPtr p); + /// Creature * + /// const CreatureSpecies * + /// const SpeciesVariant * + /// unsigned char + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_ChangeSpecies")] + internal static extern byte ChangeSpecies(IntPtr p, IntPtr species, IntPtr variant); + /// Creature * /// const SpeciesVariant * /// unsigned char @@ -295,5 +302,30 @@ namespace Creaturelib.Generated [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_GetStatBoost")] internal static extern sbyte GetStatBoost(IntPtr p, Statistic stat); + /// const Creature * + /// unsigned char + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_GetAvailableAttackSlot")] + internal static extern byte GetAvailableAttackSlot(IntPtr p); + + /// Creature * + /// LearnedAttack * + /// unsigned char + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_AddAttack")] + internal static extern byte AddAttack(IntPtr p, IntPtr attack); + + /// Creature * + /// long unsigned int + /// LearnedAttack * + /// unsigned char + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_ReplaceAttack")] + internal static extern byte ReplaceAttack(IntPtr p, ulong index, IntPtr attack); + + /// Creature * + /// long unsigned int + /// long unsigned int + /// unsigned char + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_Creature_SwapAttack")] + internal static extern byte SwapAttack(IntPtr p, ulong a, ulong b); + } } diff --git a/PkmnLibSharp/Generated/Creaturelib/EventDataKind.cs b/PkmnLibSharp/Generated/Creaturelib/EventDataKind.cs index da3a07d..7593296 100644 --- a/PkmnLibSharp/Generated/Creaturelib/EventDataKind.cs +++ b/PkmnLibSharp/Generated/Creaturelib/EventDataKind.cs @@ -13,6 +13,10 @@ namespace Creaturelib TurnStart = 4, TurnEnd = 5, ExperienceGain = 6, - DisplayText = 7, + Miss = 7, + DisplayText = 8, + ChangeSpecies = 9, + ChangeVariant = 10, + AttackUse = 11, } } diff --git a/PkmnLibSharp/Generated/Creaturelib/LibrarySettings.cs b/PkmnLibSharp/Generated/Creaturelib/LibrarySettings.cs index b1e4bd3..27f7871 100644 --- a/PkmnLibSharp/Generated/Creaturelib/LibrarySettings.cs +++ b/PkmnLibSharp/Generated/Creaturelib/LibrarySettings.cs @@ -24,8 +24,8 @@ namespace Creaturelib.Generated /// const LibrarySettings * /// unsigned char - [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LibrarySettings_GetMaximalMoves")] - internal static extern byte GetMaximalMoves(IntPtr p); + [DllImport("CreatureLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_LibrarySettings_GetMaximalAttacks")] + internal static extern byte GetMaximalAttacks(IntPtr p); } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/AttackTarget.cs b/PkmnLibSharp/Generated/Pkmnlib/AttackTarget.cs index f626a4b..29c43ef 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/AttackTarget.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/AttackTarget.cs @@ -8,8 +8,6 @@ namespace Pkmnlib { Adjacent = 0, AdjacentAlly = 1, - RandomOpponent = 10, - Self = 11, AdjacentAllySelf = 2, AdjacentOpponent = 3, All = 4, @@ -18,5 +16,7 @@ namespace Pkmnlib AllAlly = 7, AllOpponent = 8, Any = 9, + RandomOpponent = 10, + Self = 11, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/EventDataKind.cs b/PkmnLibSharp/Generated/Pkmnlib/EventDataKind.cs index c992109..58e9a80 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/EventDataKind.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/EventDataKind.cs @@ -13,6 +13,10 @@ namespace Pkmnlib TurnStart = 4, TurnEnd = 5, ExperienceGain = 6, - DisplayText = 7, + Miss = 7, + DisplayText = 8, + ChangeSpecies = 9, + ChangeVariant = 10, + AttackUse = 11, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/EvolutionMethod.cs b/PkmnLibSharp/Generated/Pkmnlib/EvolutionMethod.cs index dd65d04..bde847f 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/EvolutionMethod.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/EvolutionMethod.cs @@ -8,9 +8,6 @@ namespace Pkmnlib { Level = 0, HighFriendship = 1, - TradeWithHeldItem = 10, - TradeWithSpecificPokemon = 11, - Custom = 12, KnownMove = 2, LocationBased = 3, TimeBased = 4, @@ -19,5 +16,8 @@ namespace Pkmnlib EvolutionItemUse = 7, EvolutionItemUseWithGender = 8, Trade = 9, + TradeWithHeldItem = 10, + TradeWithSpecificPokemon = 11, + Custom = 12, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/asEBehaviours.cs b/PkmnLibSharp/Generated/Pkmnlib/asEBehaviours.cs index d634caf..9b36cad 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/asEBehaviours.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/asEBehaviours.cs @@ -8,11 +8,6 @@ namespace Pkmnlib { asBEHAVE_CONSTRUCT = 0, asBEHAVE_LIST_CONSTRUCT = 1, - asBEHAVE_SETGCFLAG = 10, - asBEHAVE_GETGCFLAG = 11, - asBEHAVE_ENUMREFS = 12, - asBEHAVE_RELEASEREFS = 13, - asBEHAVE_MAX = 14, asBEHAVE_DESTRUCT = 2, asBEHAVE_FACTORY = 3, asBEHAVE_LIST_FACTORY = 4, @@ -21,5 +16,10 @@ namespace Pkmnlib asBEHAVE_GET_WEAKREF_FLAG = 7, asBEHAVE_TEMPLATE_CALLBACK = 8, asBEHAVE_FIRST_GC = 9, + asBEHAVE_SETGCFLAG = 10, + asBEHAVE_GETGCFLAG = 11, + asBEHAVE_ENUMREFS = 12, + asBEHAVE_RELEASEREFS = 13, + asBEHAVE_MAX = 14, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/asEEngineProp.cs b/PkmnLibSharp/Generated/Pkmnlib/asEEngineProp.cs index 946c05a..7ffce44 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/asEEngineProp.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/asEEngineProp.cs @@ -7,6 +7,14 @@ namespace Pkmnlib internal enum asEEngineProp : int { asEP_ALLOW_UNSAFE_REFERENCES = 1, + asEP_OPTIMIZE_BYTECODE = 2, + asEP_COPY_SCRIPT_SECTIONS = 3, + asEP_MAX_STACK_SIZE = 4, + asEP_USE_CHARACTER_LITERALS = 5, + asEP_ALLOW_MULTILINE_STRINGS = 6, + asEP_ALLOW_IMPLICIT_HANDLE_TYPES = 7, + asEP_BUILD_WITHOUT_LINE_CUES = 8, + asEP_INIT_GLOBAL_VARS_AFTER_BUILD = 9, asEP_REQUIRE_ENUM_SCOPE = 10, asEP_SCRIPT_SCANNER = 11, asEP_INCLUDE_JIT_INSTRUCTIONS = 12, @@ -17,7 +25,6 @@ namespace Pkmnlib asEP_DISALLOW_GLOBAL_VARS = 17, asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT = 18, asEP_COMPILER_WARNINGS = 19, - asEP_OPTIMIZE_BYTECODE = 2, asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE = 20, asEP_ALTER_SYNTAX_NAMED_ARGS = 21, asEP_DISABLE_INTEGER_DIVISION = 22, @@ -28,15 +35,8 @@ namespace Pkmnlib asEP_MAX_NESTED_CALLS = 27, asEP_GENERIC_CALL_MODE = 28, asEP_INIT_STACK_SIZE = 29, - asEP_COPY_SCRIPT_SECTIONS = 3, asEP_INIT_CALL_STACK_SIZE = 30, asEP_MAX_CALL_STACK_SIZE = 31, asEP_LAST_PROPERTY = 32, - asEP_MAX_STACK_SIZE = 4, - asEP_USE_CHARACTER_LITERALS = 5, - asEP_ALLOW_MULTILINE_STRINGS = 6, - asEP_ALLOW_IMPLICIT_HANDLE_TYPES = 7, - asEP_BUILD_WITHOUT_LINE_CUES = 8, - asEP_INIT_GLOBAL_VARS_AFTER_BUILD = 9, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/asEObjTypeFlags.cs b/PkmnLibSharp/Generated/Pkmnlib/asEObjTypeFlags.cs index bba8182..88adc75 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/asEObjTypeFlags.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/asEObjTypeFlags.cs @@ -7,51 +7,51 @@ namespace Pkmnlib internal enum asEObjTypeFlags : int { asOBJ_REF = 1, - asOBJ_APP_CLASS_DESTRUCTOR = 1024, - asOBJ_IMPLICIT_HANDLE = 1048576, - asOBJ_APP_ALIGN16 = 1073741824, - asOBJ_ASHANDLE = 128, - asOBJ_APP_CLASS_D = 1280, - asOBJ_APP_CLASS_ALLFLOATS = 131072, - asOBJ_TEMPLATE_SUBTYPE = 134217728, - asOBJ_NOHANDLE = 16, - asOBJ_APP_FLOAT = 16384, - asOBJ_FUNCDEF = 16777216, - asOBJ_APP_CLASS_CD = 1792, asOBJ_VALUE = 2, - asOBJ_APP_CLASS_ASSIGNMENT = 2048, - asOBJ_MASK_VALID_FLAGS = 2097151, - asOBJ_SCRIPT_OBJECT = 2097152, - asOBJ_APP_CLASS_A = 2304, - asOBJ_APP_CLASS = 256, - asOBJ_NOCOUNT = 262144, - asOBJ_TYPEDEF = 268435456, - asOBJ_APP_CLASS_CA = 2816, - asOBJ_SCOPED = 32, - asOBJ_APP_ARRAY = 32768, - asOBJ_APP_CLASS_DA = 3328, - asOBJ_LIST_PATTERN = 33554432, - asOBJ_APP_CLASS_CDA = 3840, asOBJ_GC = 4, + asOBJ_POD = 8, + asOBJ_NOHANDLE = 16, + asOBJ_SCOPED = 32, + asOBJ_TEMPLATE = 64, + asOBJ_ASHANDLE = 128, + asOBJ_APP_CLASS = 256, + asOBJ_APP_CLASS_CONSTRUCTOR = 512, + asOBJ_APP_CLASS_C = 768, + asOBJ_APP_CLASS_DESTRUCTOR = 1024, + asOBJ_APP_CLASS_D = 1280, + asOBJ_APP_CLASS_CD = 1792, + asOBJ_APP_CLASS_ASSIGNMENT = 2048, + asOBJ_APP_CLASS_A = 2304, + asOBJ_APP_CLASS_CA = 2816, + asOBJ_APP_CLASS_DA = 3328, + asOBJ_APP_CLASS_CDA = 3840, asOBJ_APP_CLASS_COPY_CONSTRUCTOR = 4096, - asOBJ_SHARED = 4194304, asOBJ_APP_CLASS_K = 4352, asOBJ_APP_CLASS_CK = 4864, - asOBJ_APP_CLASS_CONSTRUCTOR = 512, - asOBJ_APP_CLASS_ALIGN8 = 524288, - asOBJ_ABSTRACT = 536870912, asOBJ_APP_CLASS_DK = 5376, asOBJ_APP_CLASS_CDK = 5888, - asOBJ_TEMPLATE = 64, asOBJ_APP_CLASS_AK = 6400, - asOBJ_APP_CLASS_ALLINTS = 65536, - asOBJ_ENUM = 67108864, asOBJ_APP_CLASS_CAK = 6912, asOBJ_APP_CLASS_DAK = 7424, - asOBJ_APP_CLASS_C = 768, asOBJ_APP_CLASS_CDAK = 7936, - asOBJ_POD = 8, asOBJ_APP_PRIMITIVE = 8192, + asOBJ_APP_FLOAT = 16384, + asOBJ_APP_ARRAY = 32768, + asOBJ_APP_CLASS_ALLINTS = 65536, + asOBJ_APP_CLASS_ALLFLOATS = 131072, + asOBJ_NOCOUNT = 262144, + asOBJ_APP_CLASS_ALIGN8 = 524288, + asOBJ_IMPLICIT_HANDLE = 1048576, + asOBJ_MASK_VALID_FLAGS = 2097151, + asOBJ_SCRIPT_OBJECT = 2097152, + asOBJ_SHARED = 4194304, asOBJ_NOINHERIT = 8388608, + asOBJ_FUNCDEF = 16777216, + asOBJ_LIST_PATTERN = 33554432, + asOBJ_ENUM = 67108864, + asOBJ_TEMPLATE_SUBTYPE = 134217728, + asOBJ_TYPEDEF = 268435456, + asOBJ_ABSTRACT = 536870912, + asOBJ_APP_ALIGN16 = 1073741824, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/asERetCodes.cs b/PkmnLibSharp/Generated/Pkmnlib/asERetCodes.cs index ff393c0..3c36fc6 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/asERetCodes.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/asERetCodes.cs @@ -6,34 +6,34 @@ namespace Pkmnlib [SuppressMessage("ReSharper", "InconsistentNaming")] internal enum asERetCodes : int { - asERROR = -1, - asINVALID_DECLARATION = -10, - asINVALID_OBJECT = -11, - asINVALID_TYPE = -12, - asALREADY_REGISTERED = -13, - asMULTIPLE_FUNCTIONS = -14, - asNO_MODULE = -15, - asNO_GLOBAL_VAR = -16, - asINVALID_CONFIGURATION = -17, - asINVALID_INTERFACE = -18, - asCANT_BIND_ALL_FUNCTIONS = -19, - asCONTEXT_ACTIVE = -2, - asLOWER_ARRAY_DIMENSION_NOT_REGISTERED = -20, - asWRONG_CONFIG_GROUP = -21, - asCONFIG_GROUP_IS_IN_USE = -22, - asILLEGAL_BEHAVIOUR_FOR_TYPE = -23, - asWRONG_CALLING_CONV = -24, - asBUILD_IN_PROGRESS = -25, - asINIT_GLOBAL_VARS_FAILED = -26, - asOUT_OF_MEMORY = -27, asMODULE_IS_IN_USE = -28, - asCONTEXT_NOT_FINISHED = -3, - asCONTEXT_NOT_PREPARED = -4, - asINVALID_ARG = -5, - asNO_FUNCTION = -6, - asNOT_SUPPORTED = -7, - asINVALID_NAME = -8, + asOUT_OF_MEMORY = -27, + asINIT_GLOBAL_VARS_FAILED = -26, + asBUILD_IN_PROGRESS = -25, + asWRONG_CALLING_CONV = -24, + asILLEGAL_BEHAVIOUR_FOR_TYPE = -23, + asCONFIG_GROUP_IS_IN_USE = -22, + asWRONG_CONFIG_GROUP = -21, + asLOWER_ARRAY_DIMENSION_NOT_REGISTERED = -20, + asCANT_BIND_ALL_FUNCTIONS = -19, + asINVALID_INTERFACE = -18, + asINVALID_CONFIGURATION = -17, + asNO_GLOBAL_VAR = -16, + asNO_MODULE = -15, + asMULTIPLE_FUNCTIONS = -14, + asALREADY_REGISTERED = -13, + asINVALID_TYPE = -12, + asINVALID_OBJECT = -11, + asINVALID_DECLARATION = -10, asNAME_TAKEN = -9, + asINVALID_NAME = -8, + asNOT_SUPPORTED = -7, + asNO_FUNCTION = -6, + asINVALID_ARG = -5, + asCONTEXT_NOT_PREPARED = -4, + asCONTEXT_NOT_FINISHED = -3, + asCONTEXT_ACTIVE = -2, + asERROR = -1, asSUCCESS = 0, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/asETypeIdFlags.cs b/PkmnLibSharp/Generated/Pkmnlib/asETypeIdFlags.cs index d3acaa8..20a691a 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/asETypeIdFlags.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/asETypeIdFlags.cs @@ -8,22 +8,22 @@ namespace Pkmnlib { asTYPEID_VOID = 0, asTYPEID_BOOL = 1, - asTYPEID_FLOAT = 10, - asTYPEID_OBJHANDLE = 1073741824, - asTYPEID_DOUBLE = 11, - asTYPEID_SCRIPTOBJECT = 134217728, asTYPEID_INT8 = 2, - asTYPEID_TEMPLATE = 268435456, asTYPEID_INT16 = 3, asTYPEID_INT32 = 4, - asTYPEID_MASK_OBJECT = 469762048, asTYPEID_INT64 = 5, - asTYPEID_HANDLETOCONST = 536870912, asTYPEID_UINT8 = 6, - asTYPEID_MASK_SEQNBR = 67108863, - asTYPEID_APPOBJECT = 67108864, asTYPEID_UINT16 = 7, asTYPEID_UINT32 = 8, asTYPEID_UINT64 = 9, + asTYPEID_FLOAT = 10, + asTYPEID_DOUBLE = 11, + asTYPEID_MASK_SEQNBR = 67108863, + asTYPEID_APPOBJECT = 67108864, + asTYPEID_SCRIPTOBJECT = 134217728, + asTYPEID_TEMPLATE = 268435456, + asTYPEID_MASK_OBJECT = 469762048, + asTYPEID_HANDLETOCONST = 536870912, + asTYPEID_OBJHANDLE = 1073741824, } } diff --git a/PkmnLibSharp/Generated/Pkmnlib/error_type.cs b/PkmnLibSharp/Generated/Pkmnlib/error_type.cs index 9d4f4fd..8b0de01 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/error_type.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/error_type.cs @@ -8,9 +8,6 @@ namespace Pkmnlib { _S_error_collate = 0, _S_error_ctype = 1, - _S_error_badrepeat = 10, - _S_error_complexity = 11, - _S_error_stack = 12, _S_error_escape = 2, _S_error_backref = 3, _S_error_brack = 4, @@ -19,5 +16,8 @@ namespace Pkmnlib _S_error_badbrace = 7, _S_error_range = 8, _S_error_space = 9, + _S_error_badrepeat = 10, + _S_error_complexity = 11, + _S_error_stack = 12, } } diff --git a/PkmnLibSharp/Library/LibrarySettings.cs b/PkmnLibSharp/Library/LibrarySettings.cs index 83f2faa..9f666d2 100644 --- a/PkmnLibSharp/Library/LibrarySettings.cs +++ b/PkmnLibSharp/Library/LibrarySettings.cs @@ -6,7 +6,7 @@ namespace PkmnLibSharp.Library public class LibrarySettings : PointerWrapper { public byte MaximalLevel => Creaturelib.Generated.LibrarySettings.GetMaximalLevel(Ptr); - public byte MaximalMoves => Creaturelib.Generated.LibrarySettings.GetMaximalMoves(Ptr); + public byte MaximalMoves => Creaturelib.Generated.LibrarySettings.GetMaximalAttacks(Ptr); public ushort ShinyRate => Pkmnlib.Generated.LibrarySettings.GetShinyRate(Ptr); internal LibrarySettings(IntPtr ptr) : base(ptr) diff --git a/PkmnLibSharp/Native/libCreatureLib.so b/PkmnLibSharp/Native/libCreatureLib.so index cf728a7..b157887 100755 --- a/PkmnLibSharp/Native/libCreatureLib.so +++ b/PkmnLibSharp/Native/libCreatureLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b661e33d0184beec0a3ecc6910b6ce0b13a326f33cf5f1189d642aa14d86d84c -size 681808 +oid sha256:fe5dba569967d3424a98d2f1f2c2da979d65ef55472dac8527ec1b586c601b11 +size 706328 diff --git a/PkmnLibSharp/Native/libpkmnLib.so b/PkmnLibSharp/Native/libpkmnLib.so index 7887e41..fad1d69 100755 --- a/PkmnLibSharp/Native/libpkmnLib.so +++ b/PkmnLibSharp/Native/libpkmnLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e36dd3632f165de9fae2945e65fe6c1393c7bde6af99c61ec36b85b49963253a -size 1111584 +oid sha256:b8e60c246a10db358692a19143b9d29b123a8b5c32970f9c7056786c8b9a9481 +size 1111840 diff --git a/PkmnLibSharp/PkmnLibSharp.csproj.DotSettings b/PkmnLibSharp/PkmnLibSharp.csproj.DotSettings index eba41e8..8f86ca5 100644 --- a/PkmnLibSharp/PkmnLibSharp.csproj.DotSettings +++ b/PkmnLibSharp/PkmnLibSharp.csproj.DotSettings @@ -1,5 +1,6 @@  True True + True True True \ No newline at end of file diff --git a/PkmnLibSharp/Utilities/MarshalHelper.cs b/PkmnLibSharp/Utilities/MarshalHelper.cs index 4651e63..0595908 100644 --- a/PkmnLibSharp/Utilities/MarshalHelper.cs +++ b/PkmnLibSharp/Utilities/MarshalHelper.cs @@ -13,8 +13,7 @@ namespace PkmnLibSharp.Utilities internal static string? PtrString(this IntPtr i) { - if (i == IntPtr.Zero) return null; - return Marshal.PtrToStringAnsi(i); + return i == IntPtr.Zero ? null : Marshal.PtrToStringAnsi(i); } internal static IntPtr ArrayPtr(this Array a) diff --git a/PkmnLibSharp/creaturelib.json b/PkmnLibSharp/creaturelib.json index e87573a..5b86165 100644 --- a/PkmnLibSharp/creaturelib.json +++ b/PkmnLibSharp/creaturelib.json @@ -1 +1 @@ -{"enums":[{"byteSize":1,"filename":"CreatureLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"DisplayText"}},{"byteSize":4,"filename":"CreatureLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLib","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":"CreatureLib","name":"CreatureLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"partyArr","type":"BattleParty * *"},{"name":"numberOfParties","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_Destruct","parameters":[{"name":"p","type":"const Battle *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetLibrary","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanUse","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_TrySetChoice","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanFlee","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CheckChoicesSetAndRun","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCurrentTurn","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCreaturesPerSide","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCurrentTurnQueue","parameters":[{"name":"p","type":"const Battle *"}],"returns":"ChoiceQueue *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetRandom","parameters":[{"name":"p","type":"Battle *"}],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CreatureInField","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const Battle *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCreature","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"const Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_ForceRecall","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_SwitchCreature","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanSlotBeFilled","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_ValidateBattleState","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasEnded","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasConclusiveResult","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetWinningSide","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetSidesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetSides","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleSide * *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetPartiesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetParties","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleParty * *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"Script *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_AddVolatileScriptByName","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_AddVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RemoveVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RemoveVolatileScriptWithScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RegisterEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"const BattleLibrary * &"},{"name":"staticLib","type":"const DataLibrary *"},{"name":"statCalculator","type":"BattleStatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetStaticLib","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DataLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetStatCalculator","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetDamageLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DamageLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetMiscLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const MiscLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetExperienceLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_Construct","parameters":[{"name":"out","type":"BattleParty * &"},{"name":"p","type":"CreatureParty *"},{"name":"creatureIndices","type":"unsigned char *"},{"name":"numberOfIndices","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_Destruct","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_GetParty","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_IsResponsibleForIndex","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const BattleParty *"},{"name":"side","type":"unsigned char"},{"name":"creature","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_HasCreaturesNotInField","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Construct","parameters":[],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_ConstructWithSeed","parameters":[{"name":"seed","type":"long unsigned int"}],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Destruct","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_EffectChance","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"BattleRandom *"},{"name":"chance","type":"float"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Get","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetMinMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"min","type":"int"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetSeed","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_Construct","parameters":[{"name":"index","type":"unsigned char"},{"name":"battle","type":"Battle *"},{"name":"creaturesPerSide","type":"unsigned char"}],"returns":"BattleSide *"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_Destruct","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_AllChoicesSet","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_AllPossibleSlotsFilled","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_SetChoice","parameters":[{"name":"p","type":"BattleSide *"},{"name":"choice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_ResetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_SetCreature","parameters":[{"name":"p","type":"BattleSide *"},{"name":"creature","type":"Creature *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetCreature","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"BattleSide *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetSideIndex","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetCreatureIndex","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_MarkSlotAsUnfillable","parameters":[{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_IsDefeated","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_HasFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_MarkAsFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_Construct","parameters":[],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_Destruct","parameters":[{"name":"p","type":"const BattleStatCalculator *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_CalculateFlatStat","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const BattleStatCalculator *"},{"name":"creature","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_CalculateBoostedStat","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const BattleStatCalculator *"},{"name":"creature","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Construct","parameters":[{"name":"out","type":"Creature * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const CreatureSpecies *"},{"name":"variant","type":"const SpeciesVariant *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"secretTalent","type":"bool"},{"name":"talent","type":"unsigned char"},{"name":"attacks","type":"LearnedAttack * *"},{"name":"attacksNum","type":"long unsigned int"},{"name":"allowedExperienceGain","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Destruct","parameters":[{"name":"p","type":"const Creature *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetLibrary","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetSpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetLevel","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetExperience","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetUniqueIdentifier","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetGender","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Gender"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetColoring","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasHeldItem","parameters":[{"name":"p","type":"const Creature *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasHeldItemWithHash","parameters":[{"name":"p","type":"const Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetHeldItem","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const Item *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItem","parameters":[{"name":"p","type":"Creature *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItemWithHash","parameters":[{"name":"p","type":"Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItemFromItem","parameters":[{"name":"p","type":"Creature *"},{"name":"item","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetCurrentHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBattle","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Battle *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBattleSide","parameters":[{"name":"p","type":"const Creature *"}],"returns":"BattleSide *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_IsOnBattleField","parameters":[{"name":"p","type":"const Creature *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetNickname","parameters":[{"name":"p","type":"Creature *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasType","parameters":[{"name":"p","type":"Creature *"},{"name":"type","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetMaxHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeLevelBy","parameters":[{"name":"p","type":"Creature *"},{"name":"level","type":"signed char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Damage","parameters":[{"name":"p","type":"Creature *"},{"name":"damage","type":"unsigned int"},{"name":"source","type":"DamageSource"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Heal","parameters":[{"name":"p","type":"Creature *"},{"name":"health","type":"unsigned int"},{"name":"canRevive","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RestoreAllAttackUses","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetActiveTalent","parameters":[{"name":"p","type":"const Creature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_OverrideActiveTalent","parameters":[{"name":"p","type":"Creature *"},{"name":"talent","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddExperience","parameters":[{"name":"p","type":"Creature *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ClearVolatileScripts","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RemoveVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RemoveVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetAttacksCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetAttacks","parameters":[{"name":"p","type":"Creature *"}],"returns":"const LearnedAttack * *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasAttack","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetDisplaySpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetDisplayVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetDisplaySpecies","parameters":[{"name":"p","type":"Creature *"},{"name":"species","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetDisplayVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"},{"name":"diffAmount","type":"signed char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetFlatStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBoostedStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBaseStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"signed char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_ConstructWithSize","parameters":[{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_ConstructFromArray","parameters":[{"name":"creatures","type":"Creature * *"},{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_Destruct","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetAtIndex","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"const CreatureParty *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_Switch","parameters":[{"name":"p","type":"CreatureParty *"},{"name":"a","type":"long unsigned int"},{"name":"b","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_PackParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_SwapInto","parameters":[{"name":"p","type":"CreatureParty *"},{"name":"index","type":"long unsigned int"},{"name":"creature","type":"Creature *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_HasAvailableCreatures","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetLength","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"const Creature * *"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_Construct","parameters":[],"returns":"const DamageLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"const DamageLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetDamage","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetBasePower","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetStatModifier","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetDamageModifier","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EventData_Destruct","parameters":[{"name":"p","type":"const EventData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_EventData_GetKind","parameters":[{"name":"p","type":"const EventData *"}],"returns":"EventDataKind"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetCreature","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetDamageSource","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"DamageSource"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetNewHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_Destruct","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetCreature","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetNewHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_Destruct","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_FaintEvent_GetCreature","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_FaintEvent_Destruct","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetNewCreature","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetSide","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetIndex","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_Destruct","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TurnStartEvent_Destruct","parameters":[{"name":"p","type":"const TurnStartEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TurnEndEvent_Destruct","parameters":[{"name":"p","type":"const TurnEndEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetCreature","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetPreviousExperience","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetNewExperience","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_Destruct","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DisplayTextEvent_GetText","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_DisplayTextEvent_Destruct","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_Construct","parameters":[{"name":"out","type":"ExecutingAttack * &"},{"name":"targets","type":"const Creature * *"},{"name":"targetCount","type":"long unsigned int"},{"name":"numberHits","type":"unsigned char"},{"name":"user","type":"Creature *"},{"name":"attack","type":"LearnedAttack *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_Destruct","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetHitData","parameters":[{"name":"out","type":"HitData * &"},{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_IsCreatureTarget","parameters":[{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetUser","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetAttack","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLib","name":"CreatureLib_HitData_IsCritical","parameters":[{"name":"p","type":"const HitData *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetBasePower","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetEffectiveness","parameters":[{"name":"p","type":"const HitData *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetDamage","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetType","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetCritical","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"bool"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetBasePower","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetEffectiveness","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"float"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetDamage","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned int"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetType","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_Construct","parameters":[],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"const ExperienceLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"const ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"Creature * *"},{"name":"opponentsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_Construct","parameters":[{"name":"out","type":"LearnedAttack * &"},{"name":"attack","type":"const AttackData *"},{"name":"maxUses","type":"unsigned char"},{"name":"learnMethod","type":"AttackLearnMethod"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_Destruct","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetAttack","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"const AttackData *"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetMaxUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetRemainingUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetLearnMethod","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"AttackLearnMethod"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_TryUse","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_DecreaseUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_RestoreUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_RestoreAllUses","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"const MiscLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_IsCritical","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"MiscLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_CanFlee","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"MiscLibrary *"},{"name":"switchChoice","type":"FleeTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_ReplacementAttack","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"MiscLibrary *"},{"name":"user","type":"Creature *"},{"name":"sideTarget","type":"unsigned char"},{"name":"creatureTarget","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_Destruct","parameters":[{"name":"p","type":"Script *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Script_Stack","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnRemove","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_GetName","parameters":[{"name":"p","type":"Script *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnBeforeTurn","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"AttackTurnChoice *"},{"name":"outAttack","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_FailAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_StopBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_FailIncomingAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_IsInvulnerable","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnAttackMiss","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeAttackType","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"outType","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OverrideBasePower","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"basePower","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeDamageStatsUser","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"statsUser","type":"Creature * *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_BypassDefensiveStat","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"bypass","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_BypassOffensiveStat","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"bypass","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyStatModifier","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"modifier","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyDamageModifier","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"modifier","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OverrideDamage","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"damage","type":"unsigned int *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventSecondaryEffects","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnSecondaryEffect","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnAfterHits","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventSelfSwitch","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const SwitchTurnChoice *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyEffectChance","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"const ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"chance","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyIncomingEffectChance","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"const ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"chance","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Construct","parameters":[],"returns":"ScriptResolver *"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Destruct","parameters":[{"name":"p","type":"const ScriptResolver *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Initialize","parameters":[{"name":"p","type":"ScriptResolver *"},{"name":"library","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_LoadScript","parameters":[{"name":"out","type":"Script * &"},{"name":"p","type":"ScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"attack","type":"LearnedAttack *"},{"name":"sideIndex","type":"unsigned char"},{"name":"targetIndex","type":"unsigned char"}],"returns":"AttackTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_FleeTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"FleeTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_FleeTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_PassTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"PassTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_PassTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"newCreature","type":"Creature *"}],"returns":"SwitchTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BaseTurnChoice_GetKind","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLib","name":"CreatureLib_BaseTurnChoice_GetUser","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetAttack","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetKind","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetPriority","parameters":[{"name":"out","type":"signed char &"},{"name":"p","type":"AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetAttackScript","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"Script *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetTargetSideIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetTargetCreatureIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_GetNewCreature","parameters":[{"name":"p","type":"const SwitchTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLib","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":"CreatureLib","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetBaseUsages","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetTarget","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackTarget"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetPriority","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"signed char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_HasSecondaryEffect","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetSecondaryEffectChance","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetSecondaryEffectName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_HasFlag","parameters":[{"name":"p","type":"const AttackData *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Construct","parameters":[{"name":"library","type":"AttackLibrary * &"},{"name":"initialCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Destruct","parameters":[{"name":"p","type":"const AttackLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Insert","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_InsertWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Delete","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_DeleteWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_TryGet","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_TryGetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Get","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetCount","parameters":[{"name":"p","type":"AttackLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetAtIndex","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_Construct","parameters":[{"name":"out","type":"CreatureSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultVariant","type":"SpeciesVariant *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_Destruct","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetId","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned short"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetGenderRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetCaptureRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetName","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetGrowthRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_TryGetVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"out","type":"const SpeciesVariant * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_TryGetVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"},{"name":"out","type":"const SpeciesVariant * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariant","parameters":[{"name":"out","type":"const SpeciesVariant * &"},{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariantWithHash","parameters":[{"name":"out","type":"const SpeciesVariant * &"},{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_SetVariant","parameters":[{"name":"p","type":"CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"variant","type":"SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetRandomGender","parameters":[{"name":"p","type":"CreatureSpecies *"},{"name":"random","type":"Random *"}],"returns":"Gender"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariantsCount","parameters":[{"name":"p","type":"CreatureSpecies *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariants","parameters":[{"name":"p","type":"CreatureSpecies *"}],"returns":"const const SpeciesVariant * *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasFlag","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_Construct","parameters":[{"name":"out","type":"const DataLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"attacks","type":"AttackLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_Destruct","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetSettings","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetSpeciesLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetAttackLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const AttackLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetItemLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetGrowthRates","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const GrowthRateLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetTypeLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const TypeLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromBool","parameters":[{"name":"b","type":"bool"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromInt","parameters":[{"name":"i","type":"long int"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromFloat","parameters":[{"name":"f","type":"float"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromString","parameters":[{"name":"c","type":"const char *"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_Destruct","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_GetType","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"EffectParameterType"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsBool","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"bool &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsInt","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"long int &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsFloat","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"float &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsString","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LookupGrowthRate_Construct","parameters":[{"name":"experiencePerLevel","type":"unsigned int *"},{"name":"count","type":"long unsigned int"}],"returns":"GrowthRate *"},{"filename":"CreatureLib","name":"CreatureLib_ExternGrowthRate_Construct","parameters":[{"name":"out","type":"GrowthRate * &"},{"name":"calcLevel","type":"Function *"},{"name":"calcExperience","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_Destruct","parameters":[{"name":"p","type":"const GrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LookupGrowthRate_Destruct","parameters":[{"name":"p","type":"const LookupGrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExternGrowthRate_Destruct","parameters":[{"name":"p","type":"const ExternGrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_CalculateLevel","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const GrowthRate *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_CalculateExperience","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const GrowthRate *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"GrowthRateLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_Destruct","parameters":[{"name":"p","type":"GrowthRateLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateLevel","parameters":[{"name":"out","type":"unsigned char &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRate","type":"const char *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateLevelWithHash","parameters":[{"name":"out","type":"unsigned char &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateExperience","parameters":[{"name":"out","type":"unsigned int &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRate","type":"const char *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateExperienceWithHash","parameters":[{"name":"out","type":"unsigned int &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_AddGrowthRate","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateName","type":"const char *"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"Item *"},{"filename":"CreatureLib","name":"CreatureLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetName","parameters":[{"name":"p","type":"const Item *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"ItemCategory"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetBattleCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"BattleItemCategory"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetPrice","parameters":[{"name":"p","type":"const Item *"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_Item_HasFlag","parameters":[{"name":"p","type":"const Item *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Destruct","parameters":[{"name":"p","type":"const ItemLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Insert","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_InsertWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Delete","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_DeleteWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_TryGet","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_TryGetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Get","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetCount","parameters":[{"name":"p","type":"ItemLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetAtIndex","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_Construct","parameters":[{"name":"out","type":"LearnableAttacks * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_Destruct","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_AddLevelAttack","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"},{"name":"attack","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"const const AttackData * *"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_HasAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetAttacksForLevelCount","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetDistinctLevelAttacksCount","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetDistinctLevelAttacks","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"const const AttackData * *"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_GetMaximalLevel","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_GetMaximalMoves","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Destruct","parameters":[{"name":"p","type":"const SpeciesLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Insert","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_InsertWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Delete","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_DeleteWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_TryGet","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_TryGetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Get","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetCount","parameters":[{"name":"p","type":"SpeciesLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetAtIndex","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"height","type":"float"},{"name":"weight","type":"float"},{"name":"baseExperience","type":"unsigned int"},{"name":"types","type":"unsigned char *"},{"name":"typeLength","type":"long unsigned int"},{"name":"baseHealth","type":"unsigned short"},{"name":"baseAttack","type":"unsigned short"},{"name":"baseDefense","type":"unsigned short"},{"name":"baseMagicalAttack","type":"unsigned short"},{"name":"baseMagicalDefense","type":"unsigned short"},{"name":"baseSpeed","type":"unsigned short"},{"name":"talents","type":"const char * *"},{"name":"talentsLength","type":"long unsigned int"},{"name":"secretTalents","type":"const char * *"},{"name":"secretTalentsLength","type":"long unsigned int"},{"name":"attacks","type":"const LearnableAttacks *"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_Destruct","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetName","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetHeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetWeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetBaseExperience","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTypeCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetType","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetStatistic","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned short"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetSecretTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTalent","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"secret","type":"bool"},{"name":"index","type":"unsigned char"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetLearnableAttacks","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const LearnableAttacks *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetRandomTalent","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"rand","type":"Random *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_HasFlag","parameters":[{"name":"p","type":"const SpeciesVariant *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"TypeLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_Destruct","parameters":[{"name":"p","type":"const TypeLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetTypeId","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_RegisterType","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_SetEffectiveness","parameters":[{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char"},{"name":"effectiveness","type":"float"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetSingleEffectiveness","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetEffectiveness","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char *"},{"name":"defensiveCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetTypeName","parameters":[{"name":"out","type":"const char * &"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"unsigned char"}],"returns":"unsigned char"}]} +{"enums":[{"byteSize":1,"filename":"CreatureLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","10":"ChangeVariant","11":"AttackUse","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"Miss","8":"DisplayText","9":"ChangeSpecies"}},{"byteSize":4,"filename":"CreatureLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLib","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":"CreatureLib","name":"HistoryElementKind","values":{"0":"AttackUse"}}],"functions":[{"filename":"CreatureLib","name":"CreatureLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"partyArr","type":"BattleParty * *"},{"name":"numberOfParties","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_Destruct","parameters":[{"name":"p","type":"const Battle *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetLibrary","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanUse","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_TrySetChoice","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanFlee","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CheckChoicesSetAndRun","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCurrentTurn","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCreaturesPerSide","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCurrentTurnQueue","parameters":[{"name":"p","type":"const Battle *"}],"returns":"ChoiceQueue *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetRandom","parameters":[{"name":"p","type":"Battle *"}],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CreatureInField","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const Battle *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetCreature","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"const Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_ForceRecall","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_SwitchCreature","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_CanSlotBeFilled","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_ValidateBattleState","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasEnded","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasConclusiveResult","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetWinningSide","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetSidesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetSides","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleSide * *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetPartiesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetParties","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleParty * *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_GetVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"Script *"},{"filename":"CreatureLib","name":"CreatureLib_Battle_AddVolatileScriptByName","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_AddVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RemoveVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RemoveVolatileScriptWithScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Battle_HasVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Battle_RegisterEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"const BattleLibrary * &"},{"name":"staticLib","type":"const DataLibrary *"},{"name":"statCalculator","type":"BattleStatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetStaticLib","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DataLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetStatCalculator","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetDamageLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DamageLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetMiscLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const MiscLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleLibrary_GetExperienceLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_Construct","parameters":[{"name":"out","type":"BattleParty * &"},{"name":"p","type":"CreatureParty *"},{"name":"creatureIndices","type":"unsigned char *"},{"name":"numberOfIndices","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_Destruct","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_GetParty","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_IsResponsibleForIndex","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"const BattleParty *"},{"name":"side","type":"unsigned char"},{"name":"creature","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleParty_HasCreaturesNotInField","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Construct","parameters":[],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_ConstructWithSeed","parameters":[{"name":"seed","type":"long unsigned int"}],"returns":"BattleRandom *"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Destruct","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_EffectChance","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"BattleRandom *"},{"name":"chance","type":"float"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_Get","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetMinMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"min","type":"int"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_BattleRandom_GetSeed","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_Construct","parameters":[{"name":"index","type":"unsigned char"},{"name":"battle","type":"Battle *"},{"name":"creaturesPerSide","type":"unsigned char"}],"returns":"BattleSide *"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_Destruct","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_AllChoicesSet","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_AllPossibleSlotsFilled","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_SetChoice","parameters":[{"name":"p","type":"BattleSide *"},{"name":"choice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_ResetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_SetCreature","parameters":[{"name":"p","type":"BattleSide *"},{"name":"creature","type":"Creature *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetCreature","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"BattleSide *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetSideIndex","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_GetCreatureIndex","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_MarkSlotAsUnfillable","parameters":[{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_IsDefeated","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_HasFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_BattleSide_MarkAsFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_Construct","parameters":[],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_Destruct","parameters":[{"name":"p","type":"const BattleStatCalculator *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_CalculateFlatStat","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const BattleStatCalculator *"},{"name":"creature","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_BattleStatCalculator_CalculateBoostedStat","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const BattleStatCalculator *"},{"name":"creature","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Construct","parameters":[{"name":"out","type":"Creature * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const CreatureSpecies *"},{"name":"variant","type":"const SpeciesVariant *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"secretTalent","type":"bool"},{"name":"talent","type":"unsigned char"},{"name":"attacks","type":"LearnedAttack * *"},{"name":"attacksNum","type":"long unsigned int"},{"name":"allowedExperienceGain","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Destruct","parameters":[{"name":"p","type":"const Creature *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetLibrary","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetSpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeSpecies","parameters":[{"name":"p","type":"Creature *"},{"name":"species","type":"const CreatureSpecies *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetLevel","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetExperience","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetUniqueIdentifier","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetGender","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Gender"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetColoring","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasHeldItem","parameters":[{"name":"p","type":"const Creature *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasHeldItemWithHash","parameters":[{"name":"p","type":"const Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetHeldItem","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const Item *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItem","parameters":[{"name":"p","type":"Creature *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItemWithHash","parameters":[{"name":"p","type":"Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetHeldItemFromItem","parameters":[{"name":"p","type":"Creature *"},{"name":"item","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetCurrentHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBattle","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Battle *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBattleSide","parameters":[{"name":"p","type":"const Creature *"}],"returns":"BattleSide *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_IsOnBattleField","parameters":[{"name":"p","type":"const Creature *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetNickname","parameters":[{"name":"p","type":"Creature *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasType","parameters":[{"name":"p","type":"Creature *"},{"name":"type","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetMaxHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeLevelBy","parameters":[{"name":"p","type":"Creature *"},{"name":"level","type":"signed char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Damage","parameters":[{"name":"p","type":"Creature *"},{"name":"damage","type":"unsigned int"},{"name":"source","type":"DamageSource"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_Heal","parameters":[{"name":"p","type":"Creature *"},{"name":"health","type":"unsigned int"},{"name":"canRevive","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RestoreAllAttackUses","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetActiveTalent","parameters":[{"name":"p","type":"const Creature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_OverrideActiveTalent","parameters":[{"name":"p","type":"Creature *"},{"name":"talent","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddExperience","parameters":[{"name":"p","type":"Creature *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ClearVolatileScripts","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RemoveVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_RemoveVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetAttacksCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetAttacks","parameters":[{"name":"p","type":"Creature *"}],"returns":"const LearnedAttack * *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_HasAttack","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetDisplaySpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetDisplayVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetDisplaySpecies","parameters":[{"name":"p","type":"Creature *"},{"name":"species","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SetDisplayVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ChangeStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"},{"name":"diffAmount","type":"signed char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetFlatStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBoostedStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetBaseStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"signed char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_GetAvailableAttackSlot","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_AddAttack","parameters":[{"name":"p","type":"Creature *"},{"name":"attack","type":"LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_ReplaceAttack","parameters":[{"name":"p","type":"Creature *"},{"name":"index","type":"long unsigned int"},{"name":"attack","type":"LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Creature_SwapAttack","parameters":[{"name":"p","type":"Creature *"},{"name":"a","type":"long unsigned int"},{"name":"b","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_ConstructWithSize","parameters":[{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_ConstructFromArray","parameters":[{"name":"creatures","type":"Creature * *"},{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_Destruct","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetAtIndex","parameters":[{"name":"out","type":"Creature * &"},{"name":"p","type":"const CreatureParty *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_Switch","parameters":[{"name":"p","type":"CreatureParty *"},{"name":"a","type":"long unsigned int"},{"name":"b","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_PackParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_SwapInto","parameters":[{"name":"p","type":"CreatureParty *"},{"name":"index","type":"long unsigned int"},{"name":"creature","type":"Creature *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_HasAvailableCreatures","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetLength","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_CreatureParty_GetParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"const Creature * *"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_Construct","parameters":[],"returns":"const DamageLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"const DamageLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetDamage","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetBasePower","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetStatModifier","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DamageLibrary_GetDamageModifier","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"const DamageLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitIndex","type":"unsigned char"},{"name":"hitData","type":"HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EventData_Destruct","parameters":[{"name":"p","type":"const EventData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_EventData_GetKind","parameters":[{"name":"p","type":"const EventData *"}],"returns":"EventDataKind"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetCreature","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetDamageSource","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"DamageSource"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_GetNewHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_DamageEvent_Destruct","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetCreature","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_GetNewHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HealEvent_Destruct","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_FaintEvent_GetCreature","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_FaintEvent_Destruct","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetNewCreature","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetSide","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_GetIndex","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchEvent_Destruct","parameters":[{"name":"p","type":"const SwitchEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TurnStartEvent_Destruct","parameters":[{"name":"p","type":"const TurnStartEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TurnEndEvent_Destruct","parameters":[{"name":"p","type":"const TurnEndEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetCreature","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetPreviousExperience","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_GetNewExperience","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceGainEvent_Destruct","parameters":[{"name":"p","type":"const ExperienceGainEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DisplayTextEvent_GetText","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_DisplayTextEvent_Destruct","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_Construct","parameters":[{"name":"out","type":"ExecutingAttack * &"},{"name":"targets","type":"const Creature * *"},{"name":"targetCount","type":"long unsigned int"},{"name":"numberHits","type":"unsigned char"},{"name":"user","type":"Creature *"},{"name":"attack","type":"LearnedAttack *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_Destruct","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetHitData","parameters":[{"name":"out","type":"HitData * &"},{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_IsCreatureTarget","parameters":[{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetUser","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_ExecutingAttack_GetAttack","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLib","name":"CreatureLib_HitData_IsCritical","parameters":[{"name":"p","type":"const HitData *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetBasePower","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetEffectiveness","parameters":[{"name":"p","type":"const HitData *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetDamage","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_HitData_GetType","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetCritical","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"bool"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetBasePower","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetEffectiveness","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"float"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetDamage","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned int"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_HitData_SetType","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_Construct","parameters":[],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"const ExperienceLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"const ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"Creature * *"},{"name":"opponentsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_Construct","parameters":[{"name":"out","type":"LearnedAttack * &"},{"name":"attack","type":"const AttackData *"},{"name":"maxUses","type":"unsigned char"},{"name":"learnMethod","type":"AttackLearnMethod"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_Destruct","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetAttack","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"const AttackData *"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetMaxUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetRemainingUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_GetLearnMethod","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"AttackLearnMethod"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_TryUse","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_DecreaseUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_RestoreUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnedAttack_RestoreAllUses","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"const MiscLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_IsCritical","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"MiscLibrary *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_CanFlee","parameters":[{"name":"out","type":"bool &"},{"name":"p","type":"MiscLibrary *"},{"name":"switchChoice","type":"FleeTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_MiscLibrary_ReplacementAttack","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"MiscLibrary *"},{"name":"user","type":"Creature *"},{"name":"sideTarget","type":"unsigned char"},{"name":"creatureTarget","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_Destruct","parameters":[{"name":"p","type":"Script *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Script_Stack","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnRemove","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_GetName","parameters":[{"name":"p","type":"Script *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnBeforeTurn","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"AttackTurnChoice *"},{"name":"outAttack","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_FailAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_StopBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_FailIncomingAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_IsInvulnerable","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnAttackMiss","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeAttackType","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"outType","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OverrideBasePower","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"basePower","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ChangeDamageStatsUser","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"statsUser","type":"Creature * *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_BypassDefensiveStat","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"bypass","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_BypassOffensiveStat","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"bypass","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyStatModifier","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"modifier","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyDamageModifier","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"modifier","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OverrideDamage","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"damage","type":"unsigned int *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventSecondaryEffects","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnSecondaryEffect","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hitNumber","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_OnAfterHits","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_PreventSelfSwitch","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const SwitchTurnChoice *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyEffectChance","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"const ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"chance","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Script_ModifyIncomingEffectChance","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"const ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"chance","type":"float *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Construct","parameters":[],"returns":"ScriptResolver *"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Destruct","parameters":[{"name":"p","type":"const ScriptResolver *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_Initialize","parameters":[{"name":"p","type":"ScriptResolver *"},{"name":"library","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ScriptResolver_LoadScript","parameters":[{"name":"out","type":"Script * &"},{"name":"p","type":"ScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"attack","type":"LearnedAttack *"},{"name":"sideIndex","type":"unsigned char"},{"name":"targetIndex","type":"unsigned char"}],"returns":"AttackTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_FleeTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"FleeTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_FleeTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_PassTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"PassTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_PassTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"newCreature","type":"Creature *"}],"returns":"SwitchTurnChoice *"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_Destruct","parameters":[{"name":"p","type":"AttackTurnChoice *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_BaseTurnChoice_GetKind","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLib","name":"CreatureLib_BaseTurnChoice_GetUser","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetAttack","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetKind","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetPriority","parameters":[{"name":"out","type":"signed char &"},{"name":"p","type":"AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetAttackScript","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"Script *"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetTargetSideIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackTurnChoice_GetTargetCreatureIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SwitchTurnChoice_GetNewCreature","parameters":[{"name":"p","type":"const SwitchTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLib","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLib","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":"CreatureLib","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetBaseUsages","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetTarget","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackTarget"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetPriority","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"signed char"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_HasSecondaryEffect","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetSecondaryEffectChance","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_GetSecondaryEffectName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_AttackData_HasFlag","parameters":[{"name":"p","type":"const AttackData *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Construct","parameters":[{"name":"library","type":"AttackLibrary * &"},{"name":"initialCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Destruct","parameters":[{"name":"p","type":"const AttackLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Insert","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_InsertWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Delete","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_DeleteWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_TryGet","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_TryGetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_Get","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetCount","parameters":[{"name":"p","type":"AttackLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_AttackLibrary_GetAtIndex","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const AttackData * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_Construct","parameters":[{"name":"out","type":"CreatureSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultVariant","type":"SpeciesVariant *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_Destruct","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetId","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned short"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetGenderRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetCaptureRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetName","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetGrowthRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_TryGetVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"out","type":"const SpeciesVariant * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_TryGetVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"},{"name":"out","type":"const SpeciesVariant * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariant","parameters":[{"name":"out","type":"const SpeciesVariant * &"},{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariantWithHash","parameters":[{"name":"out","type":"const SpeciesVariant * &"},{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_SetVariant","parameters":[{"name":"p","type":"CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"variant","type":"SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetRandomGender","parameters":[{"name":"p","type":"CreatureSpecies *"},{"name":"random","type":"Random *"}],"returns":"Gender"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariantsCount","parameters":[{"name":"p","type":"CreatureSpecies *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_GetVariants","parameters":[{"name":"p","type":"CreatureSpecies *"}],"returns":"const const SpeciesVariant * *"},{"filename":"CreatureLib","name":"CreatureLib_CreatureSpecies_HasFlag","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_Construct","parameters":[{"name":"out","type":"const DataLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"attacks","type":"AttackLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_Destruct","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetSettings","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetSpeciesLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetAttackLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const AttackLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetItemLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetGrowthRates","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const GrowthRateLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_DataLibrary_GetTypeLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const TypeLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromBool","parameters":[{"name":"b","type":"bool"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromInt","parameters":[{"name":"i","type":"long int"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromFloat","parameters":[{"name":"f","type":"float"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_FromString","parameters":[{"name":"c","type":"const char *"}],"returns":"EffectParameter *"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_Destruct","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_GetType","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"EffectParameterType"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsBool","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"bool &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsInt","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"long int &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsFloat","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"float &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_EffectParameter_AsString","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LookupGrowthRate_Construct","parameters":[{"name":"experiencePerLevel","type":"unsigned int *"},{"name":"count","type":"long unsigned int"}],"returns":"GrowthRate *"},{"filename":"CreatureLib","name":"CreatureLib_ExternGrowthRate_Construct","parameters":[{"name":"out","type":"GrowthRate * &"},{"name":"calcLevel","type":"Function *"},{"name":"calcExperience","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_Destruct","parameters":[{"name":"p","type":"const GrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LookupGrowthRate_Destruct","parameters":[{"name":"p","type":"const LookupGrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ExternGrowthRate_Destruct","parameters":[{"name":"p","type":"const ExternGrowthRate *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_CalculateLevel","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const GrowthRate *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRate_CalculateExperience","parameters":[{"name":"out","type":"unsigned int &"},{"name":"p","type":"const GrowthRate *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"GrowthRateLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_Destruct","parameters":[{"name":"p","type":"GrowthRateLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateLevel","parameters":[{"name":"out","type":"unsigned char &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRate","type":"const char *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateLevelWithHash","parameters":[{"name":"out","type":"unsigned char &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateExperience","parameters":[{"name":"out","type":"unsigned int &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRate","type":"const char *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_CalculateExperienceWithHash","parameters":[{"name":"out","type":"unsigned int &"},{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_AddGrowthRate","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateName","type":"const char *"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"Item *"},{"filename":"CreatureLib","name":"CreatureLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetName","parameters":[{"name":"p","type":"const Item *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"ItemCategory"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetBattleCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"BattleItemCategory"},{"filename":"CreatureLib","name":"CreatureLib_Item_GetPrice","parameters":[{"name":"p","type":"const Item *"}],"returns":"int"},{"filename":"CreatureLib","name":"CreatureLib_Item_HasFlag","parameters":[{"name":"p","type":"const Item *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Destruct","parameters":[{"name":"p","type":"const ItemLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Insert","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_InsertWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Delete","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_DeleteWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_TryGet","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_TryGetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_Get","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetCount","parameters":[{"name":"p","type":"ItemLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_ItemLibrary_GetAtIndex","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const Item * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_Construct","parameters":[{"name":"out","type":"LearnableAttacks * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_Destruct","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_AddLevelAttack","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"},{"name":"attack","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"const const AttackData * *"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_HasAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetAttacksForLevelCount","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetDistinctLevelAttacksCount","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_LearnableAttacks_GetDistinctLevelAttacks","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"const const AttackData * *"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_GetMaximalLevel","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_LibrarySettings_GetMaximalAttacks","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Destruct","parameters":[{"name":"p","type":"const SpeciesLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Insert","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_InsertWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Delete","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_DeleteWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_TryGet","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_TryGetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_Get","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetCount","parameters":[{"name":"p","type":"SpeciesLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesLibrary_GetAtIndex","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const CreatureSpecies * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"height","type":"float"},{"name":"weight","type":"float"},{"name":"baseExperience","type":"unsigned int"},{"name":"types","type":"unsigned char *"},{"name":"typeLength","type":"long unsigned int"},{"name":"baseHealth","type":"unsigned short"},{"name":"baseAttack","type":"unsigned short"},{"name":"baseDefense","type":"unsigned short"},{"name":"baseMagicalAttack","type":"unsigned short"},{"name":"baseMagicalDefense","type":"unsigned short"},{"name":"baseSpeed","type":"unsigned short"},{"name":"talents","type":"const char * *"},{"name":"talentsLength","type":"long unsigned int"},{"name":"secretTalents","type":"const char * *"},{"name":"secretTalentsLength","type":"long unsigned int"},{"name":"attacks","type":"const LearnableAttacks *"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"SpeciesVariant *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_Destruct","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetName","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const char *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetHeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetWeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetBaseExperience","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTypeCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetType","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetStatistic","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned short"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetSecretTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetTalent","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"secret","type":"bool"},{"name":"index","type":"unsigned char"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetLearnableAttacks","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const LearnableAttacks *"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_GetRandomTalent","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"rand","type":"Random *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_SpeciesVariant_HasFlag","parameters":[{"name":"p","type":"const SpeciesVariant *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"TypeLibrary *"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_Destruct","parameters":[{"name":"p","type":"const TypeLibrary *"}],"returns":"void"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetTypeId","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_RegisterType","parameters":[{"name":"out","type":"unsigned char &"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_SetEffectiveness","parameters":[{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char"},{"name":"effectiveness","type":"float"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetSingleEffectiveness","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetEffectiveness","parameters":[{"name":"out","type":"float &"},{"name":"p","type":"TypeLibrary *"},{"name":"attacking","type":"unsigned char"},{"name":"defensive","type":"unsigned char *"},{"name":"defensiveCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLib","name":"CreatureLib_TypeLibrary_GetTypeName","parameters":[{"name":"out","type":"const char * &"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"unsigned char"}],"returns":"unsigned char"}]} diff --git a/PkmnLibSharp/generator.py b/PkmnLibSharp/generator.py index 3ac1747..5f75bbf 100644 --- a/PkmnLibSharp/generator.py +++ b/PkmnLibSharp/generator.py @@ -18,7 +18,11 @@ def write_enum(enum, enumNames): f.write("namespace {}\n{{\n".format(namespace)) f.write(" [SuppressMessage(\"ReSharper\", \"InconsistentNaming\")]\n") f.write(" internal enum {} : {}\n {{\n".format(enum["name"], resolve_enum_size(enum["byteSize"]) )) - for k, v in enum["values"].items(): + vals = enum["values"].items(); + dict = {} + for k, v in vals: + dict[int(k)] = v; + for k, v in sorted(dict.items(), key=lambda item: item[0]): f.write(" {} = {},\n".format(v, k)) f.write(" }\n") f.write("}\n") diff --git a/PkmnLibSharp/pkmnlib.json b/PkmnLibSharp/pkmnlib.json index eb720eb..24e8fce 100644 --- a/PkmnLibSharp/pkmnlib.json +++ b/PkmnLibSharp/pkmnlib.json @@ -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_PROGRESS","-26":"asINIT_GLOBAL_VARS_FAILED","-27":"asOUT_OF_MEMORY","-28":"asMODULE_IS_IN_USE","-3":"asCONTEXT_NOT_FINISHED","-4":"asCONTEXT_NOT_PREPARED","-5":"asINVALID_ARG","-6":"asNO_FUNCTION","-7":"asNOT_SUPPORTED","-8":"asINVALID_NAME","-9":"asNAME_TAKEN","0":"asSUCCESS"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeModifiers","values":{"0":"asTM_NONE","1":"asTM_INREF","2":"asTM_OUTREF","3":"asTM_INOUTREF","4":"asTM_CONST"}},{"byteSize":4,"filename":"pkmnLib","name":"asEBehaviours","values":{"0":"asBEHAVE_CONSTRUCT","1":"asBEHAVE_LIST_CONSTRUCT","10":"asBEHAVE_SETGCFLAG","11":"asBEHAVE_GETGCFLAG","12":"asBEHAVE_ENUMREFS","13":"asBEHAVE_RELEASEREFS","14":"asBEHAVE_MAX","2":"asBEHAVE_DESTRUCT","3":"asBEHAVE_FACTORY","4":"asBEHAVE_LIST_FACTORY","5":"asBEHAVE_ADDREF","6":"asBEHAVE_RELEASE","7":"asBEHAVE_GET_WEAKREF_FLAG","8":"asBEHAVE_TEMPLATE_CALLBACK","9":"asBEHAVE_FIRST_GC"}},{"byteSize":4,"filename":"pkmnLib","name":"asEMsgType","values":{"0":"asMSGTYPE_ERROR","1":"asMSGTYPE_WARNING","2":"asMSGTYPE_INFORMATION"}},{"byteSize":4,"filename":"pkmnLib","name":"asEEngineProp","values":{"1":"asEP_ALLOW_UNSAFE_REFERENCES","10":"asEP_REQUIRE_ENUM_SCOPE","11":"asEP_SCRIPT_SCANNER","12":"asEP_INCLUDE_JIT_INSTRUCTIONS","13":"asEP_STRING_ENCODING","14":"asEP_PROPERTY_ACCESSOR_MODE","15":"asEP_EXPAND_DEF_ARRAY_TO_TMPL","16":"asEP_AUTO_GARBAGE_COLLECT","17":"asEP_DISALLOW_GLOBAL_VARS","18":"asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT","19":"asEP_COMPILER_WARNINGS","2":"asEP_OPTIMIZE_BYTECODE","20":"asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE","21":"asEP_ALTER_SYNTAX_NAMED_ARGS","22":"asEP_DISABLE_INTEGER_DIVISION","23":"asEP_DISALLOW_EMPTY_LIST_ELEMENTS","24":"asEP_PRIVATE_PROP_AS_PROTECTED","25":"asEP_ALLOW_UNICODE_IDENTIFIERS","26":"asEP_HEREDOC_TRIM_MODE","27":"asEP_MAX_NESTED_CALLS","28":"asEP_GENERIC_CALL_MODE","29":"asEP_INIT_STACK_SIZE","3":"asEP_COPY_SCRIPT_SECTIONS","30":"asEP_INIT_CALL_STACK_SIZE","31":"asEP_MAX_CALL_STACK_SIZE","32":"asEP_LAST_PROPERTY","4":"asEP_MAX_STACK_SIZE","5":"asEP_USE_CHARACTER_LITERALS","6":"asEP_ALLOW_MULTILINE_STRINGS","7":"asEP_ALLOW_IMPLICIT_HANDLE_TYPES","8":"asEP_BUILD_WITHOUT_LINE_CUES","9":"asEP_INIT_GLOBAL_VARS_AFTER_BUILD"}},{"byteSize":4,"filename":"pkmnLib","name":"asEGMFlags","values":{"0":"asGM_ONLY_IF_EXISTS","1":"asGM_CREATE_IF_NOT_EXISTS","2":"asGM_ALWAYS_CREATE"}},{"byteSize":4,"filename":"pkmnLib","name":"asETokenClass","values":{"0":"asTC_UNKNOWN","1":"asTC_KEYWORD","2":"asTC_VALUE","3":"asTC_IDENTIFIER","4":"asTC_COMMENT","5":"asTC_WHITESPACE"}},{"byteSize":4,"filename":"pkmnLib","name":"METADATATYPE","values":{"1":"MDT_TYPE","2":"MDT_FUNC","3":"MDT_VAR","4":"MDT_VIRTPROP","5":"MDT_FUNC_OR_VAR"}},{"byteSize":4,"filename":"pkmnLib","name":"asEFuncType","values":{"-1":"asFUNC_DUMMY","0":"asFUNC_SYSTEM","1":"asFUNC_SCRIPT","2":"asFUNC_INTERFACE","3":"asFUNC_VIRTUAL","4":"asFUNC_FUNCDEF","5":"asFUNC_IMPORTED","6":"asFUNC_DELEGATE"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnScriptCategory","values":{"128":"Weather","129":"Status"}},{"byteSize":1,"filename":"pkmnLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"DisplayText"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnEventDataKind","values":{"128":"WeatherChange","129":"StatusChange"}},{"byteSize":1,"filename":"pkmnLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":4,"filename":"pkmnLib","name":"syntax_option_type","values":{}},{"byteSize":4,"filename":"pkmnLib","name":"error_type","values":{"0":"_S_error_collate","1":"_S_error_ctype","10":"_S_error_badrepeat","11":"_S_error_complexity","12":"_S_error_stack","2":"_S_error_escape","3":"_S_error_backref","4":"_S_error_brack","5":"_S_error_paren","6":"_S_error_brace","7":"_S_error_badbrace","8":"_S_error_range","9":"_S_error_space"}},{"byteSize":4,"filename":"pkmnLib","name":"match_flag_type","values":{}},{"byteSize":1,"filename":"pkmnLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnDamageSource","values":{"1":"Struggle"}}],"functions":[{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Construct","parameters":[],"returns":"AngelScriptResolver *"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Destruct","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Initialize","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"lib","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_CreateScript","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"name","type":"const char *"},{"name":"script","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_FinalizeModule","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadScript","parameters":[{"name":"out","type":"Script * &"},{"name":"p","type":"AngelScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"},{"name":"stripDebugInfo","type":"bool"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"stripDebugInfo","type":"bool"},{"name":"size","type":"long unsigned int &"},{"name":"out","type":"unsigned char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"memory","type":"unsigned char *"},{"name":"size","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterType","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterTypeMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterGlobalMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelscriptScript_Destruct","parameters":[{"name":"p","type":"AngelScriptScript *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"parties","type":"const BattleParty * *"},{"name":"partiesCount","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_Destruct","parameters":[{"name":"p","type":"Battle *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Battle_SetWeather","parameters":[{"name":"p","type":"Battle *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_ClearWeather","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_GetWeatherName","parameters":[{"name":"p","type":"Battle *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"BattleLibrary * &"},{"name":"staticLib","type":"PokemonLibrary *"},{"name":"statCalculator","type":"StatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"BattleLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Construct","parameters":[],"returns":"DamageLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"DamageLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_Destruct","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_GetWeatherName","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_Construct","parameters":[],"returns":"ExperienceLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"const Creature * *"},{"name":"numberOfOpponents","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"ExperienceLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"MiscLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PkmnScript_ModifyCriticalStage","parameters":[{"name":"script","type":"PkmnScript *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"},{"name":"critStage","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Construct","parameters":[{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"hiddenAbility","type":"bool"},{"name":"abilityIndex","type":"unsigned char"},{"name":"moves","type":"const LearnedAttack * *"},{"name":"moveCount","type":"long unsigned int"},{"name":"hpIv","type":"unsigned char"},{"name":"attIv","type":"unsigned char"},{"name":"defIv","type":"unsigned char"},{"name":"sAtIv","type":"unsigned char"},{"name":"sDeIv","type":"unsigned char"},{"name":"spIv","type":"unsigned char"},{"name":"hpEv","type":"unsigned char"},{"name":"attEv","type":"unsigned char"},{"name":"defEv","type":"unsigned char"},{"name":"sAtEv","type":"unsigned char"},{"name":"sDeEv","type":"unsigned char"},{"name":"spEv","type":"unsigned char"},{"name":"nature","type":"const Nature *"}],"returns":"Pokemon *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Destruct","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_IsShiny","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetNature","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"const Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetIndividualValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetIndividualValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetEffortValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetEffortValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetStatus","parameters":[{"name":"p","type":"Pokemon *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_ClearStatus","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetStatusName","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetFriendship","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_ChangeFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"amount","type":"signed char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Construct","parameters":[],"returns":"StatCalculator *"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Destruct","parameters":[{"name":"p","type":"StatCalculator *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLevelEvolution","parameters":[{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateFriendshipEvolution","parameters":[{"name":"friendship","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateKnownMoveEvolution","parameters":[{"name":"move","type":"const MoveData *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLocationEvolution","parameters":[{"name":"location","type":"const char *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTimeEvolution","parameters":[{"name":"time","type":"TimeOfDay"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateGenderBasedEvolution","parameters":[{"name":"gender","type":"Gender"},{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseWithGenderEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"gender","type":"Gender"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeEvolution","parameters":[{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithSpeciesEvolution","parameters":[{"name":"traded","type":"const PokemonSpecies *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateCustomEvolution","parameters":[{"name":"data","type":"const EffectParameter * *"},{"name":"dataLength","type":"long unsigned int"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetMethod","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"EvolutionMethod"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetNewSpecies","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"const PokemonSpecies *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetDataCount","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetData","parameters":[{"name":"data","type":"const EvolutionData *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EffectParameter * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"},{"name":"flingPower","type":"unsigned char"}],"returns":"Item *"},{"filename":"pkmnLib","name":"PkmnLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Item_GetFlingPower","parameters":[{"name":"p","type":"const Item *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_Construct","parameters":[{"name":"out","type":"LearnableMoves * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_Destruct","parameters":[{"name":"p","type":"const LearnableMoves *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_AddEggMove","parameters":[{"name":"p","type":"LearnableMoves *"},{"name":"move","type":"MoveData *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_GetEggMovesCount","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_GetEggMoves","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"const const MoveData * *"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"},{"name":"shinyRate","type":"unsigned short"}],"returns":"const LibrarySettings *"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_GetShinyRate","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned short"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Construct","parameters":[{"name":"increasedStat","type":"Statistic"},{"name":"decreasedStat","type":"Statistic"},{"name":"increasedModifier","type":"float"},{"name":"decreasedModifier","type":"float"}],"returns":"Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Destruct","parameters":[{"name":"p","type":"const Nature *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetStatModifier","parameters":[{"name":"nature","type":"const Nature *"},{"name":"stat","type":"Statistic"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"NatureLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Destruct","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_LoadNature","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Nature * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetRandomNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"rand","type":"Random *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"nature","type":"const Nature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureCount","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByIndex","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_Construct","parameters":[{"name":"out","type":"PokemonLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"moves","type":"MoveLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"},{"name":"natures","type":"NatureLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_Destruct","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_GetNatureLibrary","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"const NatureLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_Construct","parameters":[{"name":"out","type":"const PokemonSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultForme","type":"const PokemonForme *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"baseHappiness","type":"unsigned char"},{"name":"eggGroupsRaw","type":"const const char * *"},{"name":"eggGroupsLength","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_Destruct","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetBaseHappiness","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_AddEvolution","parameters":[{"name":"p","type":"PokemonSpecies *"},{"name":"evo","type":"EvolutionData *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutionCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolution","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EvolutionData * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutions","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"out","type":"const const EvolutionData * * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroupCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroup","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_SpeciesLibrary_FindPreEvolution","parameters":[{"name":"p","type":"const SpeciesLibrary *"},{"name":"species","type":"const PokemonSpecies *"}],"returns":"const PokemonSpecies *"}]} +{"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_PROGRESS","-26":"asINIT_GLOBAL_VARS_FAILED","-27":"asOUT_OF_MEMORY","-28":"asMODULE_IS_IN_USE","-3":"asCONTEXT_NOT_FINISHED","-4":"asCONTEXT_NOT_PREPARED","-5":"asINVALID_ARG","-6":"asNO_FUNCTION","-7":"asNOT_SUPPORTED","-8":"asINVALID_NAME","-9":"asNAME_TAKEN","0":"asSUCCESS"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeModifiers","values":{"0":"asTM_NONE","1":"asTM_INREF","2":"asTM_OUTREF","3":"asTM_INOUTREF","4":"asTM_CONST"}},{"byteSize":4,"filename":"pkmnLib","name":"asEBehaviours","values":{"0":"asBEHAVE_CONSTRUCT","1":"asBEHAVE_LIST_CONSTRUCT","10":"asBEHAVE_SETGCFLAG","11":"asBEHAVE_GETGCFLAG","12":"asBEHAVE_ENUMREFS","13":"asBEHAVE_RELEASEREFS","14":"asBEHAVE_MAX","2":"asBEHAVE_DESTRUCT","3":"asBEHAVE_FACTORY","4":"asBEHAVE_LIST_FACTORY","5":"asBEHAVE_ADDREF","6":"asBEHAVE_RELEASE","7":"asBEHAVE_GET_WEAKREF_FLAG","8":"asBEHAVE_TEMPLATE_CALLBACK","9":"asBEHAVE_FIRST_GC"}},{"byteSize":4,"filename":"pkmnLib","name":"asEMsgType","values":{"0":"asMSGTYPE_ERROR","1":"asMSGTYPE_WARNING","2":"asMSGTYPE_INFORMATION"}},{"byteSize":4,"filename":"pkmnLib","name":"asEEngineProp","values":{"1":"asEP_ALLOW_UNSAFE_REFERENCES","10":"asEP_REQUIRE_ENUM_SCOPE","11":"asEP_SCRIPT_SCANNER","12":"asEP_INCLUDE_JIT_INSTRUCTIONS","13":"asEP_STRING_ENCODING","14":"asEP_PROPERTY_ACCESSOR_MODE","15":"asEP_EXPAND_DEF_ARRAY_TO_TMPL","16":"asEP_AUTO_GARBAGE_COLLECT","17":"asEP_DISALLOW_GLOBAL_VARS","18":"asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT","19":"asEP_COMPILER_WARNINGS","2":"asEP_OPTIMIZE_BYTECODE","20":"asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE","21":"asEP_ALTER_SYNTAX_NAMED_ARGS","22":"asEP_DISABLE_INTEGER_DIVISION","23":"asEP_DISALLOW_EMPTY_LIST_ELEMENTS","24":"asEP_PRIVATE_PROP_AS_PROTECTED","25":"asEP_ALLOW_UNICODE_IDENTIFIERS","26":"asEP_HEREDOC_TRIM_MODE","27":"asEP_MAX_NESTED_CALLS","28":"asEP_GENERIC_CALL_MODE","29":"asEP_INIT_STACK_SIZE","3":"asEP_COPY_SCRIPT_SECTIONS","30":"asEP_INIT_CALL_STACK_SIZE","31":"asEP_MAX_CALL_STACK_SIZE","32":"asEP_LAST_PROPERTY","4":"asEP_MAX_STACK_SIZE","5":"asEP_USE_CHARACTER_LITERALS","6":"asEP_ALLOW_MULTILINE_STRINGS","7":"asEP_ALLOW_IMPLICIT_HANDLE_TYPES","8":"asEP_BUILD_WITHOUT_LINE_CUES","9":"asEP_INIT_GLOBAL_VARS_AFTER_BUILD"}},{"byteSize":4,"filename":"pkmnLib","name":"asEGMFlags","values":{"0":"asGM_ONLY_IF_EXISTS","1":"asGM_CREATE_IF_NOT_EXISTS","2":"asGM_ALWAYS_CREATE"}},{"byteSize":4,"filename":"pkmnLib","name":"asETokenClass","values":{"0":"asTC_UNKNOWN","1":"asTC_KEYWORD","2":"asTC_VALUE","3":"asTC_IDENTIFIER","4":"asTC_COMMENT","5":"asTC_WHITESPACE"}},{"byteSize":4,"filename":"pkmnLib","name":"METADATATYPE","values":{"1":"MDT_TYPE","2":"MDT_FUNC","3":"MDT_VAR","4":"MDT_VIRTPROP","5":"MDT_FUNC_OR_VAR"}},{"byteSize":4,"filename":"pkmnLib","name":"asEFuncType","values":{"-1":"asFUNC_DUMMY","0":"asFUNC_SYSTEM","1":"asFUNC_SCRIPT","2":"asFUNC_INTERFACE","3":"asFUNC_VIRTUAL","4":"asFUNC_FUNCDEF","5":"asFUNC_IMPORTED","6":"asFUNC_DELEGATE"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnScriptCategory","values":{"128":"Weather","129":"Status"}},{"byteSize":1,"filename":"pkmnLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","10":"ChangeVariant","11":"AttackUse","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"Miss","8":"DisplayText","9":"ChangeSpecies"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnEventDataKind","values":{"128":"WeatherChange","129":"StatusChange"}},{"byteSize":1,"filename":"pkmnLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":4,"filename":"pkmnLib","name":"syntax_option_type","values":{}},{"byteSize":4,"filename":"pkmnLib","name":"error_type","values":{"0":"_S_error_collate","1":"_S_error_ctype","10":"_S_error_badrepeat","11":"_S_error_complexity","12":"_S_error_stack","2":"_S_error_escape","3":"_S_error_backref","4":"_S_error_brack","5":"_S_error_paren","6":"_S_error_brace","7":"_S_error_badbrace","8":"_S_error_range","9":"_S_error_space"}},{"byteSize":4,"filename":"pkmnLib","name":"match_flag_type","values":{}},{"byteSize":1,"filename":"pkmnLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnDamageSource","values":{"1":"Struggle"}}],"functions":[{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Construct","parameters":[],"returns":"AngelScriptResolver *"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Destruct","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Initialize","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"lib","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_CreateScript","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"name","type":"const char *"},{"name":"script","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_FinalizeModule","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadScript","parameters":[{"name":"out","type":"Script * &"},{"name":"p","type":"AngelScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"},{"name":"stripDebugInfo","type":"bool"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"stripDebugInfo","type":"bool"},{"name":"size","type":"long unsigned int &"},{"name":"out","type":"unsigned char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"memory","type":"unsigned char *"},{"name":"size","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterType","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterTypeMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterGlobalMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelscriptScript_Destruct","parameters":[{"name":"p","type":"AngelScriptScript *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"parties","type":"const BattleParty * *"},{"name":"partiesCount","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_Destruct","parameters":[{"name":"p","type":"Battle *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Battle_SetWeather","parameters":[{"name":"p","type":"Battle *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_ClearWeather","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_GetWeatherName","parameters":[{"name":"p","type":"Battle *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"BattleLibrary * &"},{"name":"staticLib","type":"PokemonLibrary *"},{"name":"statCalculator","type":"StatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"BattleLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Construct","parameters":[],"returns":"DamageLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"DamageLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_Destruct","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_GetWeatherName","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_Construct","parameters":[],"returns":"ExperienceLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"const Creature * *"},{"name":"numberOfOpponents","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"ExperienceLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"MiscLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PkmnScript_ModifyCriticalStage","parameters":[{"name":"script","type":"PkmnScript *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"},{"name":"critStage","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Construct","parameters":[{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"hiddenAbility","type":"bool"},{"name":"abilityIndex","type":"unsigned char"},{"name":"moves","type":"const LearnedAttack * *"},{"name":"moveCount","type":"long unsigned int"},{"name":"hpIv","type":"unsigned char"},{"name":"attIv","type":"unsigned char"},{"name":"defIv","type":"unsigned char"},{"name":"sAtIv","type":"unsigned char"},{"name":"sDeIv","type":"unsigned char"},{"name":"spIv","type":"unsigned char"},{"name":"hpEv","type":"unsigned char"},{"name":"attEv","type":"unsigned char"},{"name":"defEv","type":"unsigned char"},{"name":"sAtEv","type":"unsigned char"},{"name":"sDeEv","type":"unsigned char"},{"name":"spEv","type":"unsigned char"},{"name":"nature","type":"const Nature *"}],"returns":"Pokemon *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Destruct","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_IsShiny","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetNature","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"const Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetIndividualValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetIndividualValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetEffortValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetEffortValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetStatus","parameters":[{"name":"p","type":"Pokemon *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_ClearStatus","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetStatusName","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetFriendship","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_SetFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_ChangeFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"amount","type":"signed char"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Construct","parameters":[],"returns":"StatCalculator *"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Destruct","parameters":[{"name":"p","type":"StatCalculator *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLevelEvolution","parameters":[{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateFriendshipEvolution","parameters":[{"name":"friendship","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateKnownMoveEvolution","parameters":[{"name":"move","type":"const MoveData *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLocationEvolution","parameters":[{"name":"location","type":"const char *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTimeEvolution","parameters":[{"name":"time","type":"TimeOfDay"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateGenderBasedEvolution","parameters":[{"name":"gender","type":"Gender"},{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseWithGenderEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"gender","type":"Gender"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeEvolution","parameters":[{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithSpeciesEvolution","parameters":[{"name":"traded","type":"const PokemonSpecies *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateCustomEvolution","parameters":[{"name":"data","type":"const EffectParameter * *"},{"name":"dataLength","type":"long unsigned int"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetMethod","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"EvolutionMethod"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetNewSpecies","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"const PokemonSpecies *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetDataCount","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_GetData","parameters":[{"name":"data","type":"const EvolutionData *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EffectParameter * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"},{"name":"flingPower","type":"unsigned char"}],"returns":"Item *"},{"filename":"pkmnLib","name":"PkmnLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Item_GetFlingPower","parameters":[{"name":"p","type":"const Item *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_Construct","parameters":[{"name":"out","type":"LearnableMoves * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_Destruct","parameters":[{"name":"p","type":"const LearnableMoves *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_AddEggMove","parameters":[{"name":"p","type":"LearnableMoves *"},{"name":"move","type":"MoveData *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_GetEggMovesCount","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_LearnableMoves_GetEggMoves","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"const const MoveData * *"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"},{"name":"shinyRate","type":"unsigned short"}],"returns":"const LibrarySettings *"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_GetShinyRate","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned short"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Construct","parameters":[{"name":"increasedStat","type":"Statistic"},{"name":"decreasedStat","type":"Statistic"},{"name":"increasedModifier","type":"float"},{"name":"decreasedModifier","type":"float"}],"returns":"Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Destruct","parameters":[{"name":"p","type":"const Nature *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetStatModifier","parameters":[{"name":"nature","type":"const Nature *"},{"name":"stat","type":"Statistic"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"NatureLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Destruct","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_LoadNature","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Nature * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetRandomNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"rand","type":"Random *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"nature","type":"const Nature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureCount","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByIndex","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_Construct","parameters":[{"name":"out","type":"PokemonLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"moves","type":"MoveLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"},{"name":"natures","type":"NatureLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_Destruct","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonLibrary_GetNatureLibrary","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"const NatureLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_Construct","parameters":[{"name":"out","type":"const PokemonSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultForme","type":"const PokemonForme *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"baseHappiness","type":"unsigned char"},{"name":"eggGroupsRaw","type":"const const char * *"},{"name":"eggGroupsLength","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_Destruct","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetBaseHappiness","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_AddEvolution","parameters":[{"name":"p","type":"PokemonSpecies *"},{"name":"evo","type":"EvolutionData *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutionCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolution","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EvolutionData * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutions","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"out","type":"const const EvolutionData * * &"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroupCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroup","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_SpeciesLibrary_FindPreEvolution","parameters":[{"name":"p","type":"const SpeciesLibrary *"},{"name":"species","type":"const PokemonSpecies *"}],"returns":"const PokemonSpecies *"}]} diff --git a/PkmnLibSharpTests/Battling/BattleTests/BasicBattleTests.cs b/PkmnLibSharpTests/Battling/BattleTests/BasicBattleTests.cs index cd273ed..54623d9 100644 --- a/PkmnLibSharpTests/Battling/BattleTests/BasicBattleTests.cs +++ b/PkmnLibSharpTests/Battling/BattleTests/BasicBattleTests.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using System.Threading; using System.Threading.Tasks; using NUnit.Framework; using PkmnLibSharp.Battling; @@ -92,11 +93,12 @@ namespace PkmnLibSharpTests.Battling.BattleTests .Build(); var evts = new List(); - battle.RegisterEventListener(new BattleEventListener(evt => + var eventListener = new BattleEventListener(evt => { evts.Add(evt); return Task.CompletedTask; - })); + }); + battle.RegisterEventListener(eventListener); battle.SwitchPokemon(0, 0, p1.GetAtIndex(0)); battle.SwitchPokemon(1, 0, p2.GetAtIndex(0)); @@ -108,6 +110,8 @@ namespace PkmnLibSharpTests.Battling.BattleTests Assert.That(battle.TrySetChoice(moveTurn1)); Assert.That(battle.TrySetChoice(moveTurn2)); Assert.AreEqual(1, battle.CurrentTurn); + + eventListener.EnsureFinishedListening(); var damageEvents = evts.Where(x => x.Kind == EventDataKind.Damage).Cast().ToArray(); Assert.AreEqual(2, damageEvents.Length); diff --git a/PkmnLibSharpTests/TestClass.cs b/PkmnLibSharpTests/TestClass.cs index 4c42009..920bebb 100644 --- a/PkmnLibSharpTests/TestClass.cs +++ b/PkmnLibSharpTests/TestClass.cs @@ -1,6 +1,8 @@ +using System; using System.Reflection; using System.Runtime.InteropServices; using NUnit.Framework; +using PkmnLibSharp.Battling; namespace PkmnLibSharpTests { @@ -13,6 +15,11 @@ namespace PkmnLibSharpTests NativeLibrary.Load("Arbutils", Assembly.GetCallingAssembly(), DllImportSearchPath.AssemblyDirectory); NativeLibrary.Load("CreatureLib", Assembly.GetCallingAssembly(), DllImportSearchPath.AssemblyDirectory); NativeLibrary.Load("pkmnLib", Assembly.GetCallingAssembly(), DllImportSearchPath.AssemblyDirectory); + + LogHandler.RegisterListener((level, s) => + { + Console.WriteLine($"[{level.ToString().ToUpperInvariant()}] {s}"); + }); } } } \ No newline at end of file