diff --git a/PkmnLibSharp/Generated/Creatureliblibrary/CreatureSpecies.cs b/PkmnLibSharp/Generated/Creatureliblibrary/CreatureSpecies.cs index a315f80..234c621 100644 --- a/PkmnLibSharp/Generated/Creatureliblibrary/CreatureSpecies.cs +++ b/PkmnLibSharp/Generated/Creatureliblibrary/CreatureSpecies.cs @@ -87,5 +87,12 @@ namespace Creatureliblibrary.Generated [DllImport("CreatureLibLibrary", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_CreatureSpecies_GetVariantWithHash")] internal static extern byte GetVariantWithHash(IntPtr @out, IntPtr p, uint hash); + /// CreatureSpecies * + /// const char * + /// SpeciesVariant * + /// unsigned char + [DllImport("CreatureLibLibrary", CallingConvention = CallingConvention.Cdecl, EntryPoint= "CreatureLib_CreatureSpecies_SetVariant")] + internal static extern byte SetVariant(IntPtr p, IntPtr name, IntPtr variant); + } } diff --git a/PkmnLibSharp/Library/Forme.cs b/PkmnLibSharp/Library/Forme.cs index f9dece0..a64a322 100644 --- a/PkmnLibSharp/Library/Forme.cs +++ b/PkmnLibSharp/Library/Forme.cs @@ -132,7 +132,7 @@ namespace PkmnLibSharp.Library } } - private Forme(IntPtr parent) : base(parent) + internal Forme(IntPtr parent) : base(parent) { } diff --git a/PkmnLibSharp/Library/LibrarySettings.cs b/PkmnLibSharp/Library/LibrarySettings.cs index bf25431..1de223d 100644 --- a/PkmnLibSharp/Library/LibrarySettings.cs +++ b/PkmnLibSharp/Library/LibrarySettings.cs @@ -1,4 +1,3 @@ -using System; using PkmnLibSharp.Utilities; namespace PkmnLibSharp.Library diff --git a/PkmnLibSharp/Library/Species.cs b/PkmnLibSharp/Library/Species.cs index 6d23e00..0f3b83d 100644 --- a/PkmnLibSharp/Library/Species.cs +++ b/PkmnLibSharp/Library/Species.cs @@ -1,4 +1,6 @@ using System; +using System.Collections.Generic; +using Creatureliblibrary.Generated; using Pkmnlib.Generated; using PkmnLibSharp.Utilities; @@ -6,8 +8,69 @@ namespace PkmnLibSharp.Library { public class Species : PointerWrapper { - // ReSharper disable once SuggestBaseTypeForParameter - private Species(IntPtr ptr) : base(ptr) + private string _name; + private string _growthRate; + + private readonly Dictionary _formes = + new Dictionary(StringComparer.InvariantCultureIgnoreCase); + + public ushort Id => CreatureSpecies.GetId(Ptr); + public float GenderRate => CreatureSpecies.GetGenderRate(Ptr); + public byte CaptureRate => CreatureSpecies.GetCaptureRate(Ptr); + public string Name => _name ??= CreatureSpecies.GetName(Ptr).PtrString(); + public string GrowthRate => _growthRate ??= CreatureSpecies.GetGrowthRate(Ptr).PtrString(); + + + public bool HasForme(string s) + { + return CreatureSpecies.HasVariant(Ptr, s.ToPtr()) == MarshalHelper.True; + } + + public bool TryGetForme(string s, out Forme forme) + { + if (_formes.TryGetValue(s, out forme)) + return true; + var ptr = IntPtr.Zero; + if (CreatureSpecies.TryGetVariant(Ptr, s.ToPtr(), ref ptr) == MarshalHelper.True) + { + if (TryResolvePointer(ptr, out forme)) + { + _formes.Add(s, forme); + return true; + } + + forme = new Forme(ptr); + _formes.Add(s, forme); + return true; + } + + return false; + } + + public Forme GetForme(string s) + { + if (_formes.TryGetValue(s, out var forme)) + return forme; + var ptr = IntPtr.Zero; + CreatureSpecies.GetVariant(ref ptr, Ptr, s.ToPtr()).Assert(); + if (TryResolvePointer(ptr, out forme)) + { + _formes.Add(s, forme); + return forme; + } + forme = new Forme(ptr); + _formes.Add(s, forme); + return forme; + } + + public void SetForme(string s, Forme forme) + { + _formes.Add(s, forme); + CreatureSpecies.SetVariant(Ptr, s.ToPtr(), forme.Ptr).Assert(); + } + + + internal Species(IntPtr ptr) : base(ptr) { } @@ -17,7 +80,9 @@ namespace PkmnLibSharp.Library var ptr = IntPtr.Zero; PokemonSpecies.Construct(ref ptr, id, name.ToPtr(), defaultForme.Ptr, genderRatio, growthRate.ToPtr(), captureRate, baseHappiness).Assert(); - return new Species(ptr); + var s = new Species(ptr); + s._formes.Add("default", defaultForme); + return s; } protected override void DeletePtr() diff --git a/PkmnLibSharp/Library/SpeciesLibrary.cs b/PkmnLibSharp/Library/SpeciesLibrary.cs new file mode 100644 index 0000000..5d65c64 --- /dev/null +++ b/PkmnLibSharp/Library/SpeciesLibrary.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using PkmnLibSharp.Utilities; + +namespace PkmnLibSharp.Library +{ + public class SpeciesLibrary : PointerWrapper + { + private readonly Dictionary _cache = new Dictionary(StringComparer.InvariantCultureIgnoreCase); + public ulong Count => Creatureliblibrary.Generated.SpeciesLibrary.GetCount(Ptr); + + public void Insert(string key, Species species) + { + Creatureliblibrary.Generated.SpeciesLibrary.Insert(Ptr, key.ToPtr(), species.Ptr).Assert(); + _cache.Add(key, species); + } + + public void Delete(string key) + { + Creatureliblibrary.Generated.SpeciesLibrary.Delete(Ptr, key.ToPtr()).Assert(); + _cache.Remove(key); + } + + public bool TryGet(string key, out Species species) + { + if (_cache.TryGetValue(key, out species)) + return true; + var ptr = IntPtr.Zero; + if (Creatureliblibrary.Generated.SpeciesLibrary.TryGet(Ptr, key.ToPtr(), ref ptr) != MarshalHelper.True) + return false; + if (TryResolvePointer(ptr, out species)) + { + _cache.Add(key, species); + return true; + } + species = new Species(ptr); + _cache.Add(key, species); + return true; + } + + public Species Get(string key) + { + if (_cache.TryGetValue(key, out var species)) + return species; + var ptr = IntPtr.Zero; + Creatureliblibrary.Generated.SpeciesLibrary.Get(Ptr, key.ToPtr(), ref ptr).Assert(); + if (TryResolvePointer(ptr, out species)) + { + _cache.Add(key, species); + return species; + } + species = new Species(ptr); + _cache.Add(key, species); + return species; + } + + public SpeciesLibrary(ulong initialCapacity) : base( + Creatureliblibrary.Generated.SpeciesLibrary.Construct(initialCapacity)) + { + } + + protected override void DeletePtr() + { + Creatureliblibrary.Generated.SpeciesLibrary.Destruct(Ptr); + } + } +} \ No newline at end of file diff --git a/PkmnLibSharp/Native/libCreatureLibBattling.so b/PkmnLibSharp/Native/libCreatureLibBattling.so index 9977ca1..539cb6c 100755 --- a/PkmnLibSharp/Native/libCreatureLibBattling.so +++ b/PkmnLibSharp/Native/libCreatureLibBattling.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a50fa25db36a4efaa6d0df16006de12dfaba4a04c3f115752db07618969fd38e -size 305520 +oid sha256:593980ee58e9f6a94a4be4331424a44b69cbfb7bdad63b1acd65446dbe5cf1e1 +size 305280 diff --git a/PkmnLibSharp/Native/libCreatureLibLibrary.so b/PkmnLibSharp/Native/libCreatureLibLibrary.so index 543c633..1e8704b 100755 --- a/PkmnLibSharp/Native/libCreatureLibLibrary.so +++ b/PkmnLibSharp/Native/libCreatureLibLibrary.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:29f7eeb504bd1eb44a768d99cec9f7fe6608e379b118aca5f4269b4efb04236a -size 1946960 +oid sha256:ef5b5114d98a4fa91f925cd56f89f367412f7271c9318d3895509ee80006547b +size 1865000 diff --git a/PkmnLibSharp/creaturelib.json b/PkmnLibSharp/creaturelib.json index fd00777..62ff84e 100644 --- a/PkmnLibSharp/creaturelib.json +++ b/PkmnLibSharp/creaturelib.json @@ -1 +1 @@ -{"enums":[{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":4,"filename":"CreatureLibLibrary","name":"memory_order","values":{"0":"memory_order_relaxed","1":"memory_order_consume","2":"memory_order_acquire","3":"memory_order_release","4":"memory_order_acq_rel","5":"memory_order_seq_cst"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"memory_order","values":{"0":"memory_order_relaxed","1":"memory_order_consume","2":"memory_order_acquire","3":"memory_order_release","4":"memory_order_acq_rel","5":"memory_order_seq_cst"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"DisplayText"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}}],"functions":[{"filename":"CreatureLibLibrary","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Construct","parameters":[{"name":"out","type":"AttackData *&"},{"name":"name","type":"const char *"},{"name":"type","type":"unsigned char"},{"name":"category","type":"AttackCategory"},{"name":"power","type":"unsigned char"},{"name":"accuracy","type":"unsigned char"},{"name":"baseUsage","type":"unsigned char"},{"name":"target","type":"AttackTarget"},{"name":"priority","type":"signed char"},{"name":"effectChance","type":"float"},{"name":"effectName","type":"const char *"},{"name":"effectParameters","type":"EffectParameter * *"},{"name":"effectParameterCount","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBaseUsages","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetTarget","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackTarget"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetPriority","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"signed char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_HasSecondaryEffect","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetSecondaryEffectChance","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetSecondaryEffectName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_HasFlag","parameters":[{"name":"p","type":"const AttackData *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Construct","parameters":[{"name":"library","type":"AttackLibrary *&"},{"name":"initialCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Destruct","parameters":[{"name":"p","type":"const AttackLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Insert","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_InsertWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Delete","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_DeleteWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_TryGet","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_TryGetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Get","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_GetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_GetCount","parameters":[{"name":"p","type":"AttackLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_Destruct","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetId","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned short"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetGenderRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetCaptureRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetName","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetGrowthRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_HasVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_HasVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_TryGetVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"out","type":"const SpeciesVariant *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_TryGetVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"},{"name":"out","type":"const SpeciesVariant *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetVariant","parameters":[{"name":"out","type":"const SpeciesVariant *&"},{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetVariantWithHash","parameters":[{"name":"out","type":"const SpeciesVariant *"},{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_Destruct","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetSettings","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetSpeciesLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetAttackLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const AttackLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetItemLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetGrowthRates","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const GrowthRateLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetTypeLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const TypeLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromBool","parameters":[{"name":"b","type":"bool"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromInt","parameters":[{"name":"i","type":"long int"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromFloat","parameters":[{"name":"f","type":"float"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromString","parameters":[{"name":"c","type":"const char *"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_Destruct","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_GetType","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"EffectParameterType"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsBool","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"bool&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsInt","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"long int&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsFloat","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"float&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsString","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"const char *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LookupGrowthRate_Construct","parameters":[{"name":"experiencePerLevel","type":"unsigned int *"},{"name":"count","type":"long unsigned int"}],"returns":"GrowthRate *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ExternGrowthRate_Construct","parameters":[{"name":"out","type":"GrowthRate *&"},{"name":"calcLevel","type":"Function *"},{"name":"calcExperience","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_Destruct","parameters":[{"name":"p","type":"const GrowthRate *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_CalculateLevel","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const GrowthRate *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_CalculateExperience","parameters":[{"name":"out","type":"unsigned int&"},{"name":"p","type":"const GrowthRate *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"GrowthRateLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_Destruct","parameters":[{"name":"p","type":"GrowthRateLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_AddGrowthRate","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateName","type":"const char *"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetName","parameters":[{"name":"p","type":"const Item *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"ItemCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetBattleCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"BattleItemCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetPrice","parameters":[{"name":"p","type":"const Item *"}],"returns":"int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_HasFlag","parameters":[{"name":"p","type":"const Item *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Destruct","parameters":[{"name":"p","type":"const ItemLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Insert","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_InsertWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Delete","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_DeleteWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_TryGet","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_TryGetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Get","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_GetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_GetCount","parameters":[{"name":"p","type":"ItemLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_Construct","parameters":[{"name":"out","type":"LearnableAttacks *&"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_Destruct","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_AddLevelAttack","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"},{"name":"attack","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_GetAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"const const AttackData * *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_GetAttacksForLevelCount","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_GetMaximalLevel","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_GetMaximalMoves","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Destruct","parameters":[{"name":"p","type":"const SpeciesLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Insert","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_InsertWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Delete","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_DeleteWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_TryGet","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_TryGetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Get","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_GetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_GetCount","parameters":[{"name":"p","type":"SpeciesLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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 *"}],"returns":"SpeciesVariant *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_Destruct","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetName","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetHeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetWeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetBaseExperience","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetTypeCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetType","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetStatistic","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned short"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetSecretTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetLearnableAttacks","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const LearnableAttacks *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"TypeLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_Destruct","parameters":[{"name":"p","type":"const TypeLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_GetTypeId","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_GetTypeIdWithHash","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_RegisterType","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_RegisterTypeWithHash","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibBattling","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"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_Destruct","parameters":[{"name":"p","type":"const Battle *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetLibrary","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CanUse","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_TrySetChoice","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CanFlee","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CheckChoicesSetAndRun","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetCurrentTurnQueue","parameters":[{"name":"p","type":"const Battle *"}],"returns":"ChoiceQueue *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetRandom","parameters":[{"name":"p","type":"Battle *"}],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CreatureInField","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"const Battle *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Battle_ForceRecall","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Battle_ValidateBattleState","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasEnded","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasConclusiveResult","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetWinningSide","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetSidesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetSides","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleSide * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"Script *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_AddVolatileScriptByName","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_AddVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RemoveVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RemoveVolatileScriptWithScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RegisterEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_TriggerEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"data","type":"EventData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetStaticLib","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DataLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetStatCalculator","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetDamageLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DamageLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetMiscLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const MiscLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetExperienceLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleParty_Destruct","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleParty_HasCreaturesNotInField","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Construct","parameters":[],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_ConstructWithSeed","parameters":[{"name":"seed","type":"long unsigned int"}],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Destruct","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Get","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetMinMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"min","type":"int"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetSeed","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_Construct","parameters":[{"name":"index","type":"unsigned char"},{"name":"battle","type":"Battle *"},{"name":"creaturesPerSide","type":"unsigned char"}],"returns":"BattleSide *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_Destruct","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_AllChoicesSet","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"const BaseTurnChoice * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_AllPossibleSlotsFilled","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_SetChoice","parameters":[{"name":"p","type":"BattleSide *"},{"name":"choice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_ResetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_SetCreature","parameters":[{"name":"p","type":"BattleSide *"},{"name":"creature","type":"Creature *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetCreature","parameters":[{"name":"out","type":"Creature *&"},{"name":"p","type":"BattleSide *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetSideIndex","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetCreatureIndex","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_MarkSlotAsUnfillable","parameters":[{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_IsDefeated","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_HasFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_MarkAsFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleStatCalculator_Construct","parameters":[],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleStatCalculator_Destruct","parameters":[{"name":"p","type":"const BattleStatCalculator *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Destruct","parameters":[{"name":"p","type":"const Creature *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetSpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetLevel","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetExperience","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetGender","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Gender"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetColoring","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasHeldItem","parameters":[{"name":"p","type":"const Creature *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasHeldItemWithHash","parameters":[{"name":"p","type":"const Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetHeldItem","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const Item *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItem","parameters":[{"name":"p","type":"Creature *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItemWithHash","parameters":[{"name":"p","type":"Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItemFromItem","parameters":[{"name":"p","type":"Creature *"},{"name":"item","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetCurrentHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBattle","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Battle *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBattleSide","parameters":[{"name":"p","type":"const Creature *"}],"returns":"BattleSide *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_IsOnBattleField","parameters":[{"name":"p","type":"const Creature *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetNickname","parameters":[{"name":"p","type":"Creature *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetTypesCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetTypes","parameters":[{"name":"p","type":"Creature *"}],"returns":"const unsigned char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasType","parameters":[{"name":"p","type":"Creature *"},{"name":"type","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetMaxHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ChangeLevelBy","parameters":[{"name":"p","type":"Creature *"},{"name":"level","type":"signed char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Damage","parameters":[{"name":"p","type":"Creature *"},{"name":"damage","type":"unsigned int"},{"name":"source","type":"DamageSource"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Heal","parameters":[{"name":"p","type":"Creature *"},{"name":"health","type":"unsigned int"},{"name":"canRevive","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_OverrideActiveTalent","parameters":[{"name":"p","type":"Creature *"},{"name":"talent","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddExperience","parameters":[{"name":"p","type":"Creature *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ClearVolatileScripts","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_RemoveVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_RemoveVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetAttacksCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetAttacks","parameters":[{"name":"p","type":"Creature *"}],"returns":"const LearnedAttack * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetDisplaySpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetDisplayVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetDisplaySpecies","parameters":[{"name":"p","type":"Creature *"},{"name":"species","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetDisplayVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ChangeStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"},{"name":"diffAmount","type":"signed char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetFlatStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBoostedStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBaseStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"signed char"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_ConstructWithSize","parameters":[{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_ConstructFromArray","parameters":[{"name":"creatures","type":"Creature * *"},{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_Destruct","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetAtIndex","parameters":[{"name":"out","type":"Creature *&"},{"name":"p","type":"const CreatureParty *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_CreatureParty_HasAvailableCreatures","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetLength","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"const Creature * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageLibrary_Construct","parameters":[],"returns":"const DamageLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"const DamageLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"float"},{"filename":"CreatureLibBattling","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":"float"},{"filename":"CreatureLibBattling","name":"CreatureLib_EventData_Destruct","parameters":[{"name":"p","type":"const EventData *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_EventData_GetKind","parameters":[{"name":"p","type":"const EventData *"}],"returns":"EventDataKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetCreature","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetDamageSource","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"DamageSource"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetNewHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetCreature","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetNewHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_FaintEvent_GetCreature","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DisplayTextEvent_GetText","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_Destruct","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_IsCreatureTarget","parameters":[{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_GetUser","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_GetAttack","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_IsCritical","parameters":[{"name":"p","type":"const HitData *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetBasePower","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetEffectiveness","parameters":[{"name":"p","type":"const HitData *"}],"returns":"float"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetDamage","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetType","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetCritical","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"bool"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetBasePower","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetEffectiveness","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"float"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetDamage","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned int"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetType","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExperienceLibrary_Construct","parameters":[],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"const ExperienceLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_Construct","parameters":[{"name":"out","type":"LearnedAttack *&"},{"name":"attack","type":"AttackData *"},{"name":"maxUses","type":"unsigned char"},{"name":"learnMethod","type":"AttackLearnMethod"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_Destruct","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetAttack","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"const AttackData *"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetMaxUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetRemainingUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetLearnMethod","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"AttackLearnMethod"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_TryUse","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_DecreaseUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_RestoreUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_RestoreAllUses","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"const MiscLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_CanFlee","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"MiscLibrary *"},{"name":"switchChoice","type":"FleeTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_Destruct","parameters":[{"name":"p","type":"Script *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_Stack","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnRemove","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_GetName","parameters":[{"name":"p","type":"Script *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnBeforeTurn","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_ChangeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"AttackTurnChoice *"},{"name":"outAttack","type":"CaseInsensitiveConstString *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_PreventAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_FailAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_StopBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_OnAttackMiss","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_OnAfterHits","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_PreventSelfSwitch","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const SwitchTurnChoice *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Construct","parameters":[],"returns":"ScriptResolver *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Destruct","parameters":[{"name":"p","type":"const ScriptResolver *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Initialize","parameters":[{"name":"p","type":"ScriptResolver *"},{"name":"library","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_FleeTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"FleeTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_PassTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"PassTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_SwitchTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"newCreature","type":"Creature *"}],"returns":"SwitchTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_Destruct","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetKind","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetUser","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetAttack","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetKind","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetPriority","parameters":[{"name":"out","type":"signed char&"},{"name":"p","type":"AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetAttackScript","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"Script *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetTargetSideIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetTargetCreatureIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_SwitchTurnChoice_GetNewCreature","parameters":[{"name":"p","type":"const SwitchTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"}]} +{"enums":[{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":4,"filename":"CreatureLibLibrary","name":"memory_order","values":{"0":"memory_order_relaxed","1":"memory_order_consume","2":"memory_order_acquire","3":"memory_order_release","4":"memory_order_acq_rel","5":"memory_order_seq_cst"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibLibrary","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"memory_order","values":{"0":"memory_order_relaxed","1":"memory_order_consume","2":"memory_order_acquire","3":"memory_order_release","4":"memory_order_acq_rel","5":"memory_order_seq_cst"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"DisplayText"}},{"byteSize":4,"filename":"CreatureLibBattling","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":1,"filename":"CreatureLibBattling","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}}],"functions":[{"filename":"CreatureLibLibrary","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Construct","parameters":[{"name":"out","type":"AttackData *&"},{"name":"name","type":"const char *"},{"name":"type","type":"unsigned char"},{"name":"category","type":"AttackCategory"},{"name":"power","type":"unsigned char"},{"name":"accuracy","type":"unsigned char"},{"name":"baseUsage","type":"unsigned char"},{"name":"target","type":"AttackTarget"},{"name":"priority","type":"signed char"},{"name":"effectChance","type":"float"},{"name":"effectName","type":"const char *"},{"name":"effectParameters","type":"EffectParameter * *"},{"name":"effectParameterCount","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_Destruct","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetType","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetCategory","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBasePower","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetAccuracy","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetBaseUsages","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetTarget","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"AttackTarget"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetPriority","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"signed char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_HasSecondaryEffect","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetSecondaryEffectChance","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_GetSecondaryEffectName","parameters":[{"name":"p","type":"const AttackData *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackData_HasFlag","parameters":[{"name":"p","type":"const AttackData *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Construct","parameters":[{"name":"library","type":"AttackLibrary *&"},{"name":"initialCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Destruct","parameters":[{"name":"p","type":"const AttackLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Insert","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_InsertWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"AttackData *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Delete","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_DeleteWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_TryGet","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_TryGetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_Get","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const AttackData *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_GetWithHash","parameters":[{"name":"p","type":"AttackLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const AttackData *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_AttackLibrary_GetCount","parameters":[{"name":"p","type":"AttackLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_Destruct","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetId","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned short"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetGenderRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetCaptureRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetName","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetGrowthRate","parameters":[{"name":"p","type":"const CreatureSpecies *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_HasVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_HasVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_TryGetVariant","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"out","type":"const SpeciesVariant *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_TryGetVariantWithHash","parameters":[{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"},{"name":"out","type":"const SpeciesVariant *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetVariant","parameters":[{"name":"out","type":"const SpeciesVariant *&"},{"name":"p","type":"const CreatureSpecies *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_GetVariantWithHash","parameters":[{"name":"out","type":"const SpeciesVariant *"},{"name":"p","type":"const CreatureSpecies *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_CreatureSpecies_SetVariant","parameters":[{"name":"p","type":"CreatureSpecies *"},{"name":"name","type":"const char *"},{"name":"variant","type":"SpeciesVariant *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_Destruct","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetSettings","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetSpeciesLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetAttackLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const AttackLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetItemLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetGrowthRates","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const GrowthRateLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_DataLibrary_GetTypeLibrary","parameters":[{"name":"p","type":"const DataLibrary *"}],"returns":"const TypeLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromBool","parameters":[{"name":"b","type":"bool"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromInt","parameters":[{"name":"i","type":"long int"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromFloat","parameters":[{"name":"f","type":"float"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_FromString","parameters":[{"name":"c","type":"const char *"}],"returns":"EffectParameter *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_Destruct","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_GetType","parameters":[{"name":"p","type":"const EffectParameter *"}],"returns":"EffectParameterType"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsBool","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"bool&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsInt","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"long int&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsFloat","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"float&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_EffectParameter_AsString","parameters":[{"name":"p","type":"const EffectParameter *"},{"name":"out","type":"const char *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LookupGrowthRate_Construct","parameters":[{"name":"experiencePerLevel","type":"unsigned int *"},{"name":"count","type":"long unsigned int"}],"returns":"GrowthRate *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ExternGrowthRate_Construct","parameters":[{"name":"out","type":"GrowthRate *&"},{"name":"calcLevel","type":"Function *"},{"name":"calcExperience","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_Destruct","parameters":[{"name":"p","type":"const GrowthRate *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_CalculateLevel","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const GrowthRate *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRate_CalculateExperience","parameters":[{"name":"out","type":"unsigned int&"},{"name":"p","type":"const GrowthRate *"},{"name":"level","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"GrowthRateLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_Destruct","parameters":[{"name":"p","type":"GrowthRateLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_AddGrowthRate","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateName","type":"const char *"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_GrowthRateLibrary_AddGrowthRateWithHash","parameters":[{"name":"library","type":"GrowthRateLibrary *"},{"name":"growthRateHash","type":"unsigned int"},{"name":"growthRate","type":"GrowthRate *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetName","parameters":[{"name":"p","type":"const Item *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"ItemCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetBattleCategory","parameters":[{"name":"p","type":"const Item *"}],"returns":"BattleItemCategory"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_GetPrice","parameters":[{"name":"p","type":"const Item *"}],"returns":"int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_Item_HasFlag","parameters":[{"name":"p","type":"const Item *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const ItemLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Destruct","parameters":[{"name":"p","type":"const ItemLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Insert","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_InsertWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"Item *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Delete","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_DeleteWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_TryGet","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_TryGetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_Get","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Item *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_GetWithHash","parameters":[{"name":"p","type":"ItemLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const Item *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_ItemLibrary_GetCount","parameters":[{"name":"p","type":"ItemLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_Construct","parameters":[{"name":"out","type":"LearnableAttacks *&"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_Destruct","parameters":[{"name":"p","type":"LearnableAttacks *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_AddLevelAttack","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"},{"name":"attack","type":"const AttackData *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_GetAttacksForLevel","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"const const AttackData * *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LearnableAttacks_GetAttacksForLevelCount","parameters":[{"name":"p","type":"LearnableAttacks *"},{"name":"level","type":"unsigned char"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"}],"returns":"const LibrarySettings *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_GetMaximalLevel","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_LibrarySettings_GetMaximalMoves","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"const SpeciesLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Destruct","parameters":[{"name":"p","type":"const SpeciesLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Insert","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_InsertWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"t","type":"CreatureSpecies *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Delete","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_DeleteWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_TryGet","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_TryGetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"bool"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_Get","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_GetWithHash","parameters":[{"name":"p","type":"SpeciesLibrary *"},{"name":"hashedKey","type":"unsigned int"},{"name":"out","type":"const CreatureSpecies *&"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesLibrary_GetCount","parameters":[{"name":"p","type":"SpeciesLibrary *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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 *"}],"returns":"SpeciesVariant *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_Destruct","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetName","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const char *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetHeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetWeight","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"float"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetBaseExperience","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetTypeCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetType","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetStatistic","parameters":[{"name":"p","type":"SpeciesVariant *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned short"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetSecretTalentCount","parameters":[{"name":"p","type":"const SpeciesVariant *"}],"returns":"long unsigned int"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","name":"CreatureLib_SpeciesVariant_GetLearnableAttacks","parameters":[{"name":"p","type":"SpeciesVariant *"}],"returns":"const LearnableAttacks *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"TypeLibrary *"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_Destruct","parameters":[{"name":"p","type":"const TypeLibrary *"}],"returns":"void"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_GetTypeId","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_GetTypeIdWithHash","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"const TypeLibrary *"},{"name":"type","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_RegisterType","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","name":"CreatureLib_TypeLibrary_RegisterTypeWithHash","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"TypeLibrary *"},{"name":"type","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibLibrary","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":"CreatureLibBattling","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"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_Destruct","parameters":[{"name":"p","type":"const Battle *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetLibrary","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CanUse","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_TrySetChoice","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"Battle *"},{"name":"turnChoice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CanFlee","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CheckChoicesSetAndRun","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetCurrentTurnQueue","parameters":[{"name":"p","type":"const Battle *"}],"returns":"ChoiceQueue *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetRandom","parameters":[{"name":"p","type":"Battle *"}],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_CreatureInField","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"const Battle *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Battle_ForceRecall","parameters":[{"name":"p","type":"Battle *"},{"name":"side","type":"unsigned char"},{"name":"target","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Battle_ValidateBattleState","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasEnded","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasConclusiveResult","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetWinningSide","parameters":[{"name":"p","type":"const Battle *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetSidesCount","parameters":[{"name":"p","type":"const Battle *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetSides","parameters":[{"name":"p","type":"const Battle *"}],"returns":"const BattleSide * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_GetVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"Script *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_AddVolatileScriptByName","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_AddVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RemoveVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RemoveVolatileScriptWithScript","parameters":[{"name":"p","type":"Battle *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_HasVolatileScript","parameters":[{"name":"p","type":"Battle *"},{"name":"key","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_RegisterEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Battle_TriggerEventListener","parameters":[{"name":"p","type":"Battle *"},{"name":"data","type":"EventData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetStaticLib","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DataLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetStatCalculator","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetDamageLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const DamageLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetMiscLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const MiscLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleLibrary_GetExperienceLibrary","parameters":[{"name":"p","type":"const BattleLibrary *"}],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleParty_Destruct","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleParty_HasCreaturesNotInField","parameters":[{"name":"p","type":"const BattleParty *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Construct","parameters":[],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_ConstructWithSeed","parameters":[{"name":"seed","type":"long unsigned int"}],"returns":"BattleRandom *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Destruct","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_BattleRandom_Get","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetMinMax","parameters":[{"name":"p","type":"BattleRandom *"},{"name":"min","type":"int"},{"name":"max","type":"int"}],"returns":"int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleRandom_GetSeed","parameters":[{"name":"p","type":"BattleRandom *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_Construct","parameters":[{"name":"index","type":"unsigned char"},{"name":"battle","type":"Battle *"},{"name":"creaturesPerSide","type":"unsigned char"}],"returns":"BattleSide *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_Destruct","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_AllChoicesSet","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"const BaseTurnChoice * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_AllPossibleSlotsFilled","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_SetChoice","parameters":[{"name":"p","type":"BattleSide *"},{"name":"choice","type":"BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_ResetChoices","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_SetCreature","parameters":[{"name":"p","type":"BattleSide *"},{"name":"creature","type":"Creature *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetCreature","parameters":[{"name":"out","type":"Creature *&"},{"name":"p","type":"BattleSide *"},{"name":"index","type":"unsigned char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetSideIndex","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_GetCreatureIndex","parameters":[{"name":"out","type":"unsigned char&"},{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_MarkSlotAsUnfillable","parameters":[{"name":"p","type":"BattleSide *"},{"name":"c","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_IsDefeated","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_HasFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleSide_MarkAsFled","parameters":[{"name":"p","type":"BattleSide *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleStatCalculator_Construct","parameters":[],"returns":"const BattleStatCalculator *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BattleStatCalculator_Destruct","parameters":[{"name":"p","type":"const BattleStatCalculator *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Destruct","parameters":[{"name":"p","type":"const Creature *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetSpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetLevel","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetExperience","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetGender","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Gender"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetColoring","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasHeldItem","parameters":[{"name":"p","type":"const Creature *"},{"name":"name","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasHeldItemWithHash","parameters":[{"name":"p","type":"const Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetHeldItem","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const Item *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItem","parameters":[{"name":"p","type":"Creature *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItemWithHash","parameters":[{"name":"p","type":"Creature *"},{"name":"hash","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetHeldItemFromItem","parameters":[{"name":"p","type":"Creature *"},{"name":"item","type":"const Item *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetCurrentHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBattle","parameters":[{"name":"p","type":"const Creature *"}],"returns":"Battle *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBattleSide","parameters":[{"name":"p","type":"const Creature *"}],"returns":"BattleSide *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_IsOnBattleField","parameters":[{"name":"p","type":"const Creature *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetNickname","parameters":[{"name":"p","type":"Creature *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetTypesCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetTypes","parameters":[{"name":"p","type":"Creature *"}],"returns":"const unsigned char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasType","parameters":[{"name":"p","type":"Creature *"},{"name":"type","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetMaxHealth","parameters":[{"name":"p","type":"const Creature *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ChangeLevelBy","parameters":[{"name":"p","type":"Creature *"},{"name":"level","type":"signed char"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Damage","parameters":[{"name":"p","type":"Creature *"},{"name":"damage","type":"unsigned int"},{"name":"source","type":"DamageSource"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_Heal","parameters":[{"name":"p","type":"Creature *"},{"name":"health","type":"unsigned int"},{"name":"canRevive","type":"bool"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_OverrideActiveTalent","parameters":[{"name":"p","type":"Creature *"},{"name":"talent","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddExperience","parameters":[{"name":"p","type":"Creature *"},{"name":"experience","type":"unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ClearVolatileScripts","parameters":[{"name":"p","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_AddVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_RemoveVolatileScriptByName","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_RemoveVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"script","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_HasVolatileScript","parameters":[{"name":"p","type":"Creature *"},{"name":"scriptName","type":"const char *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetAttacksCount","parameters":[{"name":"p","type":"Creature *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetAttacks","parameters":[{"name":"p","type":"Creature *"}],"returns":"const LearnedAttack * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetDisplaySpecies","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const CreatureSpecies *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetDisplayVariant","parameters":[{"name":"p","type":"const Creature *"}],"returns":"const SpeciesVariant *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetDisplaySpecies","parameters":[{"name":"p","type":"Creature *"},{"name":"species","type":"const CreatureSpecies *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_SetDisplayVariant","parameters":[{"name":"p","type":"Creature *"},{"name":"variant","type":"const SpeciesVariant *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_ChangeStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"},{"name":"diffAmount","type":"signed char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetFlatStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBoostedStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetBaseStat","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_Creature_GetStatBoost","parameters":[{"name":"p","type":"Creature *"},{"name":"stat","type":"Statistic"}],"returns":"signed char"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_ConstructWithSize","parameters":[{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_ConstructFromArray","parameters":[{"name":"creatures","type":"Creature * *"},{"name":"size","type":"long unsigned int"}],"returns":"CreatureParty *"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_Destruct","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetAtIndex","parameters":[{"name":"out","type":"Creature *&"},{"name":"p","type":"const CreatureParty *"},{"name":"index","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_CreatureParty_HasAvailableCreatures","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetLength","parameters":[{"name":"p","type":"const CreatureParty *"}],"returns":"long unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_CreatureParty_GetParty","parameters":[{"name":"p","type":"CreatureParty *"}],"returns":"const Creature * *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageLibrary_Construct","parameters":[],"returns":"const DamageLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"const DamageLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"float"},{"filename":"CreatureLibBattling","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":"float"},{"filename":"CreatureLibBattling","name":"CreatureLib_EventData_Destruct","parameters":[{"name":"p","type":"const EventData *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_EventData_GetKind","parameters":[{"name":"p","type":"const EventData *"}],"returns":"EventDataKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetCreature","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetDamageSource","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"DamageSource"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_DamageEvent_GetNewHealth","parameters":[{"name":"p","type":"const DamageEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetCreature","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetOriginalHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HealEvent_GetNewHealth","parameters":[{"name":"p","type":"const HealEvent *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_FaintEvent_GetCreature","parameters":[{"name":"p","type":"const FaintEvent *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_DisplayTextEvent_GetText","parameters":[{"name":"p","type":"const DisplayTextEvent *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_Destruct","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_IsCreatureTarget","parameters":[{"name":"p","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_GetUser","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExecutingAttack_GetAttack","parameters":[{"name":"p","type":"ExecutingAttack *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_IsCritical","parameters":[{"name":"p","type":"const HitData *"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetBasePower","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetEffectiveness","parameters":[{"name":"p","type":"const HitData *"}],"returns":"float"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetDamage","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned int"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_GetType","parameters":[{"name":"p","type":"const HitData *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetCritical","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"bool"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetBasePower","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetEffectiveness","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"float"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetDamage","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned int"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_HitData_SetType","parameters":[{"name":"p","type":"HitData *"},{"name":"val","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExperienceLibrary_Construct","parameters":[],"returns":"const ExperienceLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"const ExperienceLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_Construct","parameters":[{"name":"out","type":"LearnedAttack *&"},{"name":"attack","type":"AttackData *"},{"name":"maxUses","type":"unsigned char"},{"name":"learnMethod","type":"AttackLearnMethod"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_Destruct","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetAttack","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"const AttackData *"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetMaxUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetRemainingUses","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_GetLearnMethod","parameters":[{"name":"p","type":"const LearnedAttack *"}],"returns":"AttackLearnMethod"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_TryUse","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"bool"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_DecreaseUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_RestoreUses","parameters":[{"name":"p","type":"LearnedAttack *"},{"name":"uses","type":"unsigned char"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_LearnedAttack_RestoreAllUses","parameters":[{"name":"p","type":"LearnedAttack *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"const MiscLibrary *"}],"returns":"void"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_MiscLibrary_CanFlee","parameters":[{"name":"out","type":"bool&"},{"name":"p","type":"MiscLibrary *"},{"name":"switchChoice","type":"FleeTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_Destruct","parameters":[{"name":"p","type":"Script *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_Stack","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnRemove","parameters":[{"name":"p","type":"Script *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_GetName","parameters":[{"name":"p","type":"Script *"}],"returns":"const char *"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnBeforeTurn","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const BaseTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_ChangeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"AttackTurnChoice *"},{"name":"outAttack","type":"CaseInsensitiveConstString *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_PreventAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_FailAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_StopBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_OnBeforeAttack","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_OnAttackMiss","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_Script_OnAfterHits","parameters":[{"name":"p","type":"Script *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_Script_PreventSelfSwitch","parameters":[{"name":"p","type":"Script *"},{"name":"choice","type":"const SwitchTurnChoice *"},{"name":"outResult","type":"bool *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Construct","parameters":[],"returns":"ScriptResolver *"},{"filename":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Destruct","parameters":[{"name":"p","type":"const ScriptResolver *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_ScriptResolver_Initialize","parameters":[{"name":"p","type":"ScriptResolver *"},{"name":"library","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","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":"CreatureLibBattling","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":"CreatureLibBattling","name":"CreatureLib_FleeTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"FleeTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_PassTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"}],"returns":"PassTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_SwitchTurnChoice_Construct","parameters":[{"name":"user","type":"Creature *"},{"name":"newCreature","type":"Creature *"}],"returns":"SwitchTurnChoice *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_Destruct","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"void"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetKind","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetUser","parameters":[{"name":"p","type":"const BaseTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetAttack","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"LearnedAttack *"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetKind","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"TurnChoiceKind"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetPriority","parameters":[{"name":"out","type":"signed char&"},{"name":"p","type":"AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_AttackTurnChoice_GetAttackScript","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"Script *"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetTargetSideIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_BaseTurnChoice_GetTargetCreatureIndex","parameters":[{"name":"p","type":"const AttackTurnChoice *"}],"returns":"unsigned char"},{"filename":"CreatureLibBattling","name":"CreatureLib_SwitchTurnChoice_GetNewCreature","parameters":[{"name":"p","type":"const SwitchTurnChoice *"}],"returns":"Creature *"},{"filename":"CreatureLibBattling","name":"CreatureLib_C_GetLastException","parameters":[],"returns":"const char *"}]} diff --git a/PkmnLibSharpTests/Library/SpeciesLibrary.cs b/PkmnLibSharpTests/Library/SpeciesLibrary.cs new file mode 100644 index 0000000..a57ad9e --- /dev/null +++ b/PkmnLibSharpTests/Library/SpeciesLibrary.cs @@ -0,0 +1,76 @@ +using NUnit.Framework; +using PkmnLibSharp.Library; +using PkmnLibSharp.Utilities; + +namespace PkmnLibSharpTests.Library +{ + public class SpeciesLibraryTests + { + [Test] + public void ConstructDestruct() + { + var item = new SpeciesLibrary(100); + item.Dispose(); + } + + [Test] + public void Insert() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80); + var library = new SpeciesLibrary(100); + library.Insert("foobar", species); + Assert.AreEqual(1, library.Count); + library.Dispose(); + } + + [Test] + public void Delete() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80); + var library = new SpeciesLibrary(100); + library.Insert("foobar", species); + Assert.AreEqual(1, library.Count); + library.Delete("foobar"); + Assert.AreEqual(0, library.Count); + library.Dispose(); + } + + [Test] + public void Get() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80); + var library = new SpeciesLibrary(100); + library.Insert("foobar", species); + Assert.AreEqual(1, library.Count); + var m = library.Get("foobar"); + Assert.AreEqual(m.Name, "testSpecies"); + Assert.Throws(() => + { + library.Get("barfoo"); + }); + library.Dispose(); + } + + [Test] + public void TryGet() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80); + var library = new SpeciesLibrary(100); + library.Insert("foobar", species); + Assert.AreEqual(1, library.Count); + Assert.True(library.TryGet("foobar", out species)); + Assert.AreEqual(species.Name, "testSpecies"); + Assert.False(library.TryGet("barfoo", out species)); + library.Dispose(); + } + + } +} \ No newline at end of file diff --git a/PkmnLibSharpTests/Library/SpeciesTests.cs b/PkmnLibSharpTests/Library/SpeciesTests.cs index 48bf422..f3020ff 100644 --- a/PkmnLibSharpTests/Library/SpeciesTests.cs +++ b/PkmnLibSharpTests/Library/SpeciesTests.cs @@ -1,5 +1,6 @@ using NUnit.Framework; using PkmnLibSharp.Library; +using PkmnLibSharp.Utilities; namespace PkmnLibSharpTests.Library { @@ -13,5 +14,100 @@ namespace PkmnLibSharpTests.Library var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80); species.Dispose(); } + + [Test] + public void GetId() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.AreEqual(10, species.Id); + species.Dispose(); + } + [Test] + public void GetGenderRate() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.AreEqual(0.5f, species.GenderRate); + species.Dispose(); + } + [Test] + public void GetCaptureRate() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.AreEqual(100, species.CaptureRate); + species.Dispose(); + } + [Test] + public void GetName() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.AreEqual("testSpecies", species.Name); + species.Dispose(); + } + [Test] + public void GetGrowthRate() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.AreEqual("exponential", species.GrowthRate); + species.Dispose(); + } + [Test] + public void HasForme() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.True(species.HasForme("default")); + species.Dispose(); + } + [Test] + public void SetForme() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.True(species.HasForme("default")); + forme = Forme.Create("bar", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + species.SetForme("bar", forme); + Assert.True(species.HasForme("bar")); + species.Dispose(); + } + [Test] + public void GetForme() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + var f = species.GetForme("default"); + Assert.AreEqual(forme, f); + Assert.Throws(() => + { + species.GetForme("non-existing"); + }); + species.Dispose(); + } + [Test] + public void TrGetForme() + { + var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"}, + new[] {"bar"}, LearnableMoves.Create(100)); + var species = Species.Create(10, "testSpecies", forme, 0.5f, "exponential", 100, 80); + Assert.True(species.TryGetForme("default", out var f)); + Assert.AreEqual(forme, f); + Assert.False(species.TryGetForme("non-existing", out f)); + species.Dispose(); + } + + } } \ No newline at end of file