diff --git a/PkmnLibSharp/Battling/Pokemon.cs b/PkmnLibSharp/Battling/Pokemon.cs index 79b28e1..b919782 100644 --- a/PkmnLibSharp/Battling/Pokemon.cs +++ b/PkmnLibSharp/Battling/Pokemon.cs @@ -18,25 +18,21 @@ namespace PkmnLibSharp.Battling Library = new BattleLibrary(Creaturelib.Generated.Creature.GetLibrary(ptr)); } - public Pokemon(BattleLibrary library, Species species, Forme forme, - byte level, uint experience, uint uid, - Gender gender, byte coloring, Item? heldItem, string? nickname, bool hiddenAbility, - byte abilityIndex, - IReadOnlyCollection moves, StatisticSet ivs, StatisticSet evs, - Nature nature) - : base(CreatePtr(library, species, forme, level, experience, uid, gender, coloring, heldItem, nickname, - hiddenAbility, abilityIndex, moves, ivs, evs, nature)) + public Pokemon(BattleLibrary library, Species species, Forme forme, byte level, uint experience, uint uid, + Gender gender, byte coloring, Item? heldItem, string? nickname, bool hiddenAbility, byte abilityIndex, + IReadOnlyCollection moves, StatisticSet ivs, StatisticSet evs, Nature nature, + bool allowedExperienceGain = true, bool isEgg = false) : + base(CreatePtr(library, species, forme, level, experience, uid, gender, coloring, heldItem, nickname, + hiddenAbility, abilityIndex, moves, ivs, evs, nature, allowedExperienceGain, isEgg)) { Library = library; Initialize(); } - protected static IntPtr CreatePtr(BattleLibrary library, Species species, Forme forme, - byte level, uint experience, uint uid, - Gender gender, byte coloring, Item? heldItem, string? nickname, bool hiddenAbility, - byte abilityIndex, - IReadOnlyCollection moves, StatisticSet ivs, StatisticSet evs, - Nature nature) + protected static IntPtr CreatePtr(BattleLibrary library, Species species, Forme forme, byte level, + uint experience, uint uid, Gender gender, byte coloring, Item? heldItem, string? nickname, + bool hiddenAbility, byte abilityIndex, IReadOnlyCollection moves, StatisticSet ivs, + StatisticSet evs, Nature nature, bool allowedExperienceGain, bool isEgg) { var movesArr = moves.Select(x => x?.Ptr ?? IntPtr.Zero).ToArray(); @@ -48,13 +44,11 @@ namespace PkmnLibSharp.Battling var naturePtr = nature.Ptr; var ptr = IntPtr.Zero; - Pkmnlib.Generated.Pokemon.Construct(ref ptr, libraryPtr, speciesPtr, formePtr, level, experience, - uid, (Pkmnlib.Gender) gender, coloring, heldItemPtr ?? IntPtr.Zero, nicknamePtr, - hiddenAbility.ToNative(), abilityIndex, - movesArr.ArrayPtr(), (ulong) moves.Count, - ivs.HP, ivs.Attack, ivs.Defense, ivs.SpecialAttack, - ivs.SpecialDefense, ivs.Speed, evs.HP, evs.Attack, evs.Defense, - evs.SpecialAttack, evs.SpecialDefense, evs.Speed, naturePtr).Assert(); + Pkmnlib.Generated.Pokemon.Construct(ref ptr, libraryPtr, speciesPtr, formePtr, level, experience, uid, + (Pkmnlib.Gender) gender, coloring, heldItemPtr ?? IntPtr.Zero, nicknamePtr, hiddenAbility.ToNative(), + abilityIndex, movesArr.ArrayPtr(), (ulong) moves.Count, ivs.HP, ivs.Attack, ivs.Defense, + ivs.SpecialAttack, ivs.SpecialDefense, ivs.Speed, evs.HP, evs.Attack, evs.Defense, evs.SpecialAttack, + evs.SpecialDefense, evs.Speed, naturePtr, allowedExperienceGain.ToNative(), isEgg.ToNative()).Assert(); return ptr; } @@ -122,6 +116,7 @@ namespace PkmnLibSharp.Battling public bool IsShiny => Pkmnlib.Generated.Pokemon.IsShiny(Ptr) == 1; public uint CurrentHealth => Creaturelib.Generated.Creature.GetCurrentHealth(Ptr); public uint MaxHealth => Creaturelib.Generated.Creature.GetMaxHealth(Ptr); + public byte Friendship { get => Pkmnlib.Generated.Pokemon.GetFriendship(Ptr); @@ -140,6 +135,7 @@ namespace PkmnLibSharp.Battling return ptr.PtrString(); } } + public Battle? Battle { get @@ -152,6 +148,7 @@ namespace PkmnLibSharp.Battling return _battle; } } + public BattleSide? BattleSide { get @@ -164,7 +161,9 @@ namespace PkmnLibSharp.Battling return _battleSide; } } + public bool IsOnBattleField => Creaturelib.Generated.Creature.IsOnBattleField(Ptr) == 1; + public Item? HeldItem { get @@ -175,13 +174,13 @@ namespace PkmnLibSharp.Battling { item = Constructor.Active.ConstructItem(ptr); } + return item; } - set => - Creaturelib.Generated.Creature.SetHeldItemFromItem(Ptr, - value?.Ptr ?? IntPtr.Zero); + set => Creaturelib.Generated.Creature.SetHeldItemFromItem(Ptr, value?.Ptr ?? IntPtr.Zero); } - public string? Nickname + + public virtual string? Nickname { get { @@ -196,6 +195,9 @@ namespace PkmnLibSharp.Battling _nickname = null; } } + + public bool IsEgg => Pkmnlib.Generated.Pokemon.IsEgg(Ptr) == 1; + public ReadOnlyNativePtrArray Moves { get @@ -220,7 +222,7 @@ namespace PkmnLibSharp.Battling return managedArray; } } - + public sbyte HpBoost => GetStatBoost(Statistic.Health); public sbyte AttackBoost => GetStatBoost(Statistic.Attack); public sbyte DefenseBoost => GetStatBoost(Statistic.Defense); @@ -248,30 +250,39 @@ namespace PkmnLibSharp.Battling public uint BoostedSpecialAttack => GetBoostedStat(Statistic.SpecialAttack); public uint BoostedSpecialDefense => GetBoostedStat(Statistic.SpecialDefense); public uint BoostedSpeed => GetBoostedStat(Statistic.Speed); - + public byte HpIv { get => GetIndividualValue(Statistic.Health); set => SetEffortValue(Statistic.Health, value); } - public byte AttackIv{ + public byte AttackIv + { get => GetIndividualValue(Statistic.Attack); set => SetEffortValue(Statistic.Attack, value); } - public byte DefenseIv{ + + public byte DefenseIv + { get => GetIndividualValue(Statistic.Defense); set => SetEffortValue(Statistic.Defense, value); } - public byte SpecialAttackIv{ + + public byte SpecialAttackIv + { get => GetIndividualValue(Statistic.SpecialAttack); set => SetEffortValue(Statistic.SpecialAttack, value); } - public byte SpecialDefenseIv{ + + public byte SpecialDefenseIv + { get => GetIndividualValue(Statistic.SpecialDefense); set => SetEffortValue(Statistic.SpecialDefense, value); } - public byte SpeedIv{ + + public byte SpeedIv + { get => GetIndividualValue(Statistic.Speed); set => SetEffortValue(Statistic.Speed, value); } @@ -288,19 +299,26 @@ namespace PkmnLibSharp.Battling set => SetEffortValue(Statistic.Attack, value); } - public byte DefenseEv{ + public byte DefenseEv + { get => GetEffortValue(Statistic.Defense); set => SetEffortValue(Statistic.Defense, value); } - public byte SpecialAttackEv{ + + public byte SpecialAttackEv + { get => GetEffortValue(Statistic.SpecialAttack); set => SetEffortValue(Statistic.SpecialAttack, value); } - public byte SpecialDefenseEv { + + public byte SpecialDefenseEv + { get => GetEffortValue(Statistic.SpecialDefense); set => SetEffortValue(Statistic.SpecialDefense, value); } - public byte SpeedEv { + + public byte SpeedEv + { get => GetEffortValue(Statistic.Speed); set => SetEffortValue(Statistic.Speed, value); } @@ -330,10 +348,12 @@ namespace PkmnLibSharp.Battling _forme = null; Creaturelib.Generated.Creature.ChangeVariant(Ptr, forme.Ptr); } + public bool HasHeldItem(string itemName) { return Creaturelib.Generated.Creature.HasHeldItem(Ptr, itemName.ToPtr()) == 1; } + public void SetHeldItem(string item) { if (string.IsNullOrEmpty(item)) @@ -341,56 +361,68 @@ namespace PkmnLibSharp.Battling else Creaturelib.Generated.Creature.SetHeldItem(Ptr, item.ToPtr()); } + public bool HasType(string type) { var typeByte = Library.StaticLibrary.TypeLibrary.GetTypeId(type); return Creaturelib.Generated.Creature.HasType(Ptr, typeByte) == 1; } - + public void ChangeLevelBy(sbyte amount) { Creaturelib.Generated.Creature.ChangeLevelBy(Ptr, amount).Assert(); } + public void AddExperience(uint experience) { Creaturelib.Generated.Creature.AddExperience(Ptr, experience).Assert(); } + public void Damage(uint damage, DamageSource source) { Creaturelib.Generated.Creature.Damage(Ptr, damage, (Creaturelib.DamageSource) source); } + public void Heal(uint amount, bool canRevive) { Creaturelib.Generated.Creature.Heal(Ptr, amount, canRevive.ToNative()).Assert(); } + public void RestoreAllPP() { Creaturelib.Generated.Creature.RestoreAllAttackUses(Ptr); } + public void OverrideActiveAbility(string ability) { Creaturelib.Generated.Creature.OverrideActiveTalent(Ptr, ability.ToPtr()).Assert(); } + public void ClearVolatileScripts() { Creaturelib.Generated.Creature.ClearVolatileScripts(Ptr).Assert(); } + public void AddVolatileScript(string scriptName) { Creaturelib.Generated.Creature.AddVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert(); } + public void AddVolatileScript(Script script) { Creaturelib.Generated.Creature.AddVolatileScript(Ptr, script.Ptr).Assert(); } + public void RemoveVolatileScript(string scriptName) { Creaturelib.Generated.Creature.RemoveVolatileScriptByName(Ptr, scriptName.ToPtr()).Assert(); } + public void RemoveVolatileScript(Script script) { Creaturelib.Generated.Creature.RemoveVolatileScript(Ptr, script.Ptr).Assert(); } + public bool HasVolatileScript(string scriptName) { return Creaturelib.Generated.Creature.HasVolatileScript(Ptr, scriptName.ToPtr()) == 1; @@ -405,6 +437,7 @@ namespace PkmnLibSharp.Battling { return Creaturelib.Generated.Creature.GetStatBoost(Ptr, (Creaturelib.Statistic) stat); } + public void ChangeStatBoost(Statistic stat, sbyte amount) { Creaturelib.Generated.Creature.ChangeStatBoost(Ptr, (Creaturelib.Statistic) stat, amount); @@ -414,18 +447,22 @@ namespace PkmnLibSharp.Battling { return Creaturelib.Generated.Creature.GetBaseStat(Ptr, (Creaturelib.Statistic) stat); } + public uint GetFlatStat(Statistic stat) { return Creaturelib.Generated.Creature.GetFlatStat(Ptr, (Creaturelib.Statistic) stat); } + public uint GetBoostedStat(Statistic stat) { return Creaturelib.Generated.Creature.GetBoostedStat(Ptr, (Creaturelib.Statistic) stat); } + public byte GetIndividualValue(Statistic stat) { return Pkmnlib.Generated.Pokemon.GetIndividualValue(Ptr, (Pkmnlib.Statistic) stat); } + public void SetIndividualValue(Statistic stat, byte value) { Pkmnlib.Generated.Pokemon.SetIndividualValue(Ptr, (Pkmnlib.Statistic) stat, value); @@ -435,6 +472,7 @@ namespace PkmnLibSharp.Battling { return Pkmnlib.Generated.Pokemon.GetEffortValue(Ptr, (Pkmnlib.Statistic) stat); } + public void SetEffortValue(Statistic stat, byte value) { Pkmnlib.Generated.Pokemon.SetEffortValue(Ptr, (Pkmnlib.Statistic) stat, value); @@ -444,6 +482,7 @@ namespace PkmnLibSharp.Battling { Pkmnlib.Generated.Pokemon.SetStatus(Ptr, name.ToPtr()); } + public void ClearStatus() { Pkmnlib.Generated.Pokemon.ClearStatus(Ptr); @@ -463,6 +502,7 @@ namespace PkmnLibSharp.Battling { Creaturelib.Generated.Creature.AddAttack(Ptr, move.Ptr).Assert(); } + public void ReplaceMove(byte index, LearnedMove move) { Creaturelib.Generated.Creature.ReplaceAttack(Ptr, index, move.Ptr).Assert(); @@ -504,6 +544,7 @@ namespace PkmnLibSharp.Battling { move?.MarkAsDeleted(); } + base.MarkAsDeleted(); } } diff --git a/PkmnLibSharp/Battling/PokemonBuilder.cs b/PkmnLibSharp/Battling/PokemonBuilder.cs index d7cc42f..4b66ed9 100644 --- a/PkmnLibSharp/Battling/PokemonBuilder.cs +++ b/PkmnLibSharp/Battling/PokemonBuilder.cs @@ -29,6 +29,8 @@ namespace PkmnLibSharp.Battling public bool? IsForceShiny { get; private set; } public string? HeldItem { get; private set; } + public bool IsEgg { get; private set; } + public bool IsAllowedExperienceGain { get; private set; } = true; public List<(string moveName, MoveLearnMethod learnMethod)> LearnedMoves { get; } = new List<(string moveName, MoveLearnMethod learnMethod)>(); @@ -86,6 +88,18 @@ namespace PkmnLibSharp.Battling EVs = evs; return this; } + + public BasePokemonBuilder MakeEgg() + { + IsEgg = true; + return this; + } + + public BasePokemonBuilder AllowedExperienceGain(bool value) + { + IsAllowedExperienceGain = value; + return this; + } public BasePokemonBuilder LearnMove(string moveName, MoveLearnMethod moveLearnMethod) diff --git a/PkmnLibSharp/Generated/Pkmnlib/Pokemon.cs b/PkmnLibSharp/Generated/Pkmnlib/Pokemon.cs index eb4e40d..bf83edc 100644 --- a/PkmnLibSharp/Generated/Pkmnlib/Pokemon.cs +++ b/PkmnLibSharp/Generated/Pkmnlib/Pokemon.cs @@ -34,9 +34,11 @@ namespace Pkmnlib.Generated /// unsigned char /// unsigned char /// const Nature * + /// bool + /// bool /// unsigned char [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Pokemon_Construct")] - internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr species, IntPtr forme, byte level, uint experience, uint uid, Gender gender, byte coloring, IntPtr heldItem, IntPtr nickname, byte hiddenAbility, byte abilityIndex, IntPtr moves, ulong moveCount, byte hpIv, byte attIv, byte defIv, byte sAtIv, byte sDeIv, byte spIv, byte hpEv, byte attEv, byte defEv, byte sAtEv, byte sDeEv, byte spEv, IntPtr nature); + internal static extern byte Construct(ref IntPtr @out, IntPtr library, IntPtr species, IntPtr forme, byte level, uint experience, uint uid, Gender gender, byte coloring, IntPtr heldItem, IntPtr nickname, byte hiddenAbility, byte abilityIndex, IntPtr moves, ulong moveCount, byte hpIv, byte attIv, byte defIv, byte sAtIv, byte sDeIv, byte spIv, byte hpEv, byte attEv, byte defEv, byte sAtEv, byte sDeEv, byte spEv, IntPtr nature, byte allowedExperienceGain, byte isEgg); /// const Pokemon * /// void @@ -112,6 +114,11 @@ namespace Pkmnlib.Generated [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Pokemon_ChangeFriendship")] internal static extern void ChangeFriendship(IntPtr p, sbyte amount); + /// const Pokemon * + /// bool + [DllImport("libpkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_Pokemon_IsEgg")] + internal static extern byte IsEgg(IntPtr p); + /// Pokemon * /// const PokemonSpecies * /// const PokemonForme * diff --git a/PkmnLibSharp/Native/Linux/libArbutils.so b/PkmnLibSharp/Native/Linux/libArbutils.so index 16d478e..b466d0b 100755 --- a/PkmnLibSharp/Native/Linux/libArbutils.so +++ b/PkmnLibSharp/Native/Linux/libArbutils.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:43db27075db17a00a50947aedeae80ff373387a4f0d752f0393a03e6375c67c2 -size 3559856 +oid sha256:61ddcbdcf9bb479384d81b7655b469487059ee94ac53bf963e2ebee85afdd9bc +size 3570864 diff --git a/PkmnLibSharp/Native/Linux/libCreatureLib.so b/PkmnLibSharp/Native/Linux/libCreatureLib.so index 003ec02..08f510a 100755 --- a/PkmnLibSharp/Native/Linux/libCreatureLib.so +++ b/PkmnLibSharp/Native/Linux/libCreatureLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6499af8986d2d5c9efa02c51e86f10702956bbb133819cf387479520d01a3056 -size 2588968 +oid sha256:ff304c1c68cc4bc4fb723dcd2dab50f87a2c58bf318b4f4bdc1349681747aff4 +size 2582624 diff --git a/PkmnLibSharp/Native/Linux/libpkmnLib.so b/PkmnLibSharp/Native/Linux/libpkmnLib.so index 72f7770..59f76be 100755 --- a/PkmnLibSharp/Native/Linux/libpkmnLib.so +++ b/PkmnLibSharp/Native/Linux/libpkmnLib.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:991adb43b6e9eacbedf87e633ec5b353d72e7a5368c4bd5688682269a3f97d88 -size 4103288 +oid sha256:989c8a06407a8e9d8a43f9160c9e3807478d672a21dfea539ebb08f9520d4e03 +size 4136208 diff --git a/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so b/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so index 184cfe2..405fba4 100755 --- a/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so +++ b/PkmnLibSharp/Native/Linux/libpkmnlib_ai.so @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:d12b0930c5b8875299ec22083aefa1b0d008cf951be93b10ff790afef5ca2edc -size 190984 +oid sha256:327fe2d5c56464bc03bd197f9d90ff75039511cc64bb489d03d18c2426c77d02 +size 191816 diff --git a/PkmnLibSharp/Native/Windows/libArbutils.dll b/PkmnLibSharp/Native/Windows/libArbutils.dll index 7471ef6..66a4b23 100755 --- a/PkmnLibSharp/Native/Windows/libArbutils.dll +++ b/PkmnLibSharp/Native/Windows/libArbutils.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd529d21af03e116d0385ad9dbcdd69ce5353f47bb86fe0e85ef3abeffb194d5 -size 15937253 +oid sha256:ba463afb958ec0d348a29f2d5ae15042b27a50ace29c60a2315127386e7be1e8 +size 16640346 diff --git a/PkmnLibSharp/Native/Windows/libCreatureLib.dll b/PkmnLibSharp/Native/Windows/libCreatureLib.dll index 08c00c0..cd7404c 100755 --- a/PkmnLibSharp/Native/Windows/libCreatureLib.dll +++ b/PkmnLibSharp/Native/Windows/libCreatureLib.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3fe377e8c931468f7674d1eb0c8b3d91392162d5a43ec5b1ef317c5969533ee3 -size 16830761 +oid sha256:d3bf17baae93ea8c355f7e519f5e760b3a5d27b938f88320bf04e34f34e1da78 +size 17543450 diff --git a/PkmnLibSharp/Native/Windows/libangelscript.dll b/PkmnLibSharp/Native/Windows/libangelscript.dll index 180675d..416742b 100755 --- a/PkmnLibSharp/Native/Windows/libangelscript.dll +++ b/PkmnLibSharp/Native/Windows/libangelscript.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a416169a0cc3dfd8dd6f04eab63a4b090d719e7cc71123b0b2d13fc173c822d4 -size 2155215 +oid sha256:5deff5b83a378384dcccb3533c39bbfce17c00589d1c6d5556c8dd30989beb52 +size 2165592 diff --git a/PkmnLibSharp/Native/Windows/libpkmnLib.dll b/PkmnLibSharp/Native/Windows/libpkmnLib.dll index bb7f02c..a924f11 100755 --- a/PkmnLibSharp/Native/Windows/libpkmnLib.dll +++ b/PkmnLibSharp/Native/Windows/libpkmnLib.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8086f5690d42b707f9036a63469ee2e558608e582aba2eecad052287657e7e5a -size 20791705 +oid sha256:46267c80767b262f091fdbf029789df1d30dcaaba8514cca0ba1b2051214095c +size 21549930 diff --git a/PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll b/PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll index 5906b24..8c4efce 100755 --- a/PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll +++ b/PkmnLibSharp/Native/Windows/libpkmnlib_ai.dll @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:657bac53046f5cf51a35f8204572f59ea4f4d3702226d66ffe6312341b359b13 -size 16335644 +oid sha256:0363566af2cf30397e1f2a9fd31abb0d308833ca6e0196693ed6fbf96fcbb24e +size 17062752 diff --git a/PkmnLibSharp/pkmnlib.json b/PkmnLibSharp/pkmnlib.json index 2802eb3..1faf70d 100644 --- a/PkmnLibSharp/pkmnlib.json +++ b/PkmnLibSharp/pkmnlib.json @@ -1 +1 @@ -{"enums":[{"byteSize":4,"filename":"libpkmnLib","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnLib","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":1,"filename":"libpkmnLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":8,"filename":"libpkmnLib","name":"asEObjTypeFlags","values":{"-2147483648":"asOBJ_APP_CLASS_MORE_CONSTRUCTORS","1":"asOBJ_REF","1024":"asOBJ_APP_CLASS_DESTRUCTOR","1048576":"asOBJ_IMPLICIT_HANDLE","1073741824":"asOBJ_APP_ALIGN16","128":"asOBJ_ASHANDLE","1280":"asOBJ_APP_CLASS_D","131072":"asOBJ_APP_CLASS_ALLFLOATS","134217728":"asOBJ_TEMPLATE_SUBTYPE","16":"asOBJ_NOHANDLE","16384":"asOBJ_APP_FLOAT","16777216":"asOBJ_FUNCDEF","1792":"asOBJ_APP_CLASS_CD","2":"asOBJ_VALUE","2048":"asOBJ_APP_CLASS_ASSIGNMENT","2097152":"asOBJ_SCRIPT_OBJECT","2149580799":"asOBJ_MASK_VALID_FLAGS","2304":"asOBJ_APP_CLASS_A","256":"asOBJ_APP_CLASS","262144":"asOBJ_NOCOUNT","268435456":"asOBJ_TYPEDEF","2816":"asOBJ_APP_CLASS_CA","32":"asOBJ_SCOPED","32768":"asOBJ_APP_ARRAY","3328":"asOBJ_APP_CLASS_DA","33554432":"asOBJ_LIST_PATTERN","3840":"asOBJ_APP_CLASS_CDA","4":"asOBJ_GC","4096":"asOBJ_APP_CLASS_COPY_CONSTRUCTOR","4194304":"asOBJ_SHARED","4352":"asOBJ_APP_CLASS_K","4864":"asOBJ_APP_CLASS_CK","512":"asOBJ_APP_CLASS_CONSTRUCTOR","524288":"asOBJ_APP_CLASS_ALIGN8","536870912":"asOBJ_ABSTRACT","5376":"asOBJ_APP_CLASS_DK","5888":"asOBJ_APP_CLASS_CDK","64":"asOBJ_TEMPLATE","6400":"asOBJ_APP_CLASS_AK","65536":"asOBJ_APP_CLASS_ALLINTS","67108864":"asOBJ_ENUM","6912":"asOBJ_APP_CLASS_CAK","7424":"asOBJ_APP_CLASS_DAK","768":"asOBJ_APP_CLASS_C","7936":"asOBJ_APP_CLASS_CDAK","8":"asOBJ_POD","8192":"asOBJ_APP_PRIMITIVE","8388608":"asOBJ_NOINHERIT"}},{"byteSize":4,"filename":"libpkmnLib","name":"asECallConvTypes","values":{"0":"asCALL_CDECL","1":"asCALL_STDCALL","2":"asCALL_THISCALL_ASGLOBAL","3":"asCALL_THISCALL","4":"asCALL_CDECL_OBJLAST","5":"asCALL_CDECL_OBJFIRST","6":"asCALL_GENERIC","7":"asCALL_THISCALL_OBJLAST","8":"asCALL_THISCALL_OBJFIRST"}},{"byteSize":1,"filename":"libpkmnLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"libpkmnLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","10":"ChangeVariant","11":"AttackUse","12":"ChangeStatBoost","13":"Fail","14":"Swap","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"Miss","8":"DisplayText","9":"ChangeSpecies"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnEventDataKind","values":{"128":"WeatherChange","129":"StatusChange"}},{"byteSize":1,"filename":"libpkmnLib","name":"MoveCategory","values":{"0":"Physical","1":"Special","2":"Status"}},{"byteSize":1,"filename":"libpkmnLib","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":"libpkmnLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"libpkmnLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":4,"filename":"libpkmnLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"libpkmnLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"libpkmnLib","name":"EvolutionMethod","values":{"0":"Level","1":"HighFriendship","10":"TradeWithHeldItem","11":"TradeWithSpecificPokemon","12":"Custom","2":"KnownMove","3":"LocationBased","4":"TimeBased","5":"HoldsItem","6":"IsGenderAndLevel","7":"EvolutionItemUse","8":"EvolutionItemUseWithGender","9":"Trade"}},{"byteSize":1,"filename":"libpkmnLib","name":"TimeOfDay","values":{"0":"Night","1":"Morning","2":"Afternoon","3":"Evening"}},{"byteSize":1,"filename":"libpkmnLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"libpkmnLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETypeIdFlags","values":{"0":"asTYPEID_VOID","1":"asTYPEID_BOOL","10":"asTYPEID_FLOAT","1073741824":"asTYPEID_OBJHANDLE","11":"asTYPEID_DOUBLE","134217728":"asTYPEID_SCRIPTOBJECT","2":"asTYPEID_INT8","268435456":"asTYPEID_TEMPLATE","3":"asTYPEID_INT16","4":"asTYPEID_INT32","469762048":"asTYPEID_MASK_OBJECT","5":"asTYPEID_INT64","536870912":"asTYPEID_HANDLETOCONST","6":"asTYPEID_UINT8","67108863":"asTYPEID_MASK_SEQNBR","67108864":"asTYPEID_APPOBJECT","7":"asTYPEID_UINT16","8":"asTYPEID_UINT32","9":"asTYPEID_UINT64"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEContextState","values":{"0":"asEXECUTION_FINISHED","1":"asEXECUTION_SUSPENDED","2":"asEXECUTION_ABORTED","3":"asEXECUTION_EXCEPTION","4":"asEXECUTION_PREPARED","5":"asEXECUTION_UNINITIALIZED","6":"asEXECUTION_ACTIVE","7":"asEXECUTION_ERROR"}},{"byteSize":4,"filename":"libpkmnLib","name":"asERetCodes","values":{"-1":"asERROR","-10":"asINVALID_DECLARATION","-11":"asINVALID_OBJECT","-12":"asINVALID_TYPE","-13":"asALREADY_REGISTERED","-14":"asMULTIPLE_FUNCTIONS","-15":"asNO_MODULE","-16":"asNO_GLOBAL_VAR","-17":"asINVALID_CONFIGURATION","-18":"asINVALID_INTERFACE","-19":"asCANT_BIND_ALL_FUNCTIONS","-2":"asCONTEXT_ACTIVE","-20":"asLOWER_ARRAY_DIMENSION_NOT_REGISTERED","-21":"asWRONG_CONFIG_GROUP","-22":"asCONFIG_GROUP_IS_IN_USE","-23":"asILLEGAL_BEHAVIOUR_FOR_TYPE","-24":"asWRONG_CALLING_CONV","-25":"asBUILD_IN_PROGRESS","-26":"asINIT_GLOBAL_VARS_FAILED","-27":"asOUT_OF_MEMORY","-28":"asMODULE_IS_IN_USE","-3":"asCONTEXT_NOT_FINISHED","-4":"asCONTEXT_NOT_PREPARED","-5":"asINVALID_ARG","-6":"asNO_FUNCTION","-7":"asNOT_SUPPORTED","-8":"asINVALID_NAME","-9":"asNAME_TAKEN","0":"asSUCCESS"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETypeModifiers","values":{"0":"asTM_NONE","1":"asTM_INREF","2":"asTM_OUTREF","3":"asTM_INOUTREF","4":"asTM_CONST"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEBehaviours","values":{"0":"asBEHAVE_CONSTRUCT","1":"asBEHAVE_LIST_CONSTRUCT","10":"asBEHAVE_SETGCFLAG","11":"asBEHAVE_GETGCFLAG","12":"asBEHAVE_ENUMREFS","13":"asBEHAVE_RELEASEREFS","14":"asBEHAVE_MAX","2":"asBEHAVE_DESTRUCT","3":"asBEHAVE_FACTORY","4":"asBEHAVE_LIST_FACTORY","5":"asBEHAVE_ADDREF","6":"asBEHAVE_RELEASE","7":"asBEHAVE_GET_WEAKREF_FLAG","8":"asBEHAVE_TEMPLATE_CALLBACK","9":"asBEHAVE_FIRST_GC"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEMsgType","values":{"0":"asMSGTYPE_ERROR","1":"asMSGTYPE_WARNING","2":"asMSGTYPE_INFORMATION"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEEngineProp","values":{"1":"asEP_ALLOW_UNSAFE_REFERENCES","10":"asEP_REQUIRE_ENUM_SCOPE","11":"asEP_SCRIPT_SCANNER","12":"asEP_INCLUDE_JIT_INSTRUCTIONS","13":"asEP_STRING_ENCODING","14":"asEP_PROPERTY_ACCESSOR_MODE","15":"asEP_EXPAND_DEF_ARRAY_TO_TMPL","16":"asEP_AUTO_GARBAGE_COLLECT","17":"asEP_DISALLOW_GLOBAL_VARS","18":"asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT","19":"asEP_COMPILER_WARNINGS","2":"asEP_OPTIMIZE_BYTECODE","20":"asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE","21":"asEP_ALTER_SYNTAX_NAMED_ARGS","22":"asEP_DISABLE_INTEGER_DIVISION","23":"asEP_DISALLOW_EMPTY_LIST_ELEMENTS","24":"asEP_PRIVATE_PROP_AS_PROTECTED","25":"asEP_ALLOW_UNICODE_IDENTIFIERS","26":"asEP_HEREDOC_TRIM_MODE","27":"asEP_MAX_NESTED_CALLS","28":"asEP_GENERIC_CALL_MODE","29":"asEP_INIT_STACK_SIZE","3":"asEP_COPY_SCRIPT_SECTIONS","30":"asEP_INIT_CALL_STACK_SIZE","31":"asEP_MAX_CALL_STACK_SIZE","32":"asEP_LAST_PROPERTY","4":"asEP_MAX_STACK_SIZE","5":"asEP_USE_CHARACTER_LITERALS","6":"asEP_ALLOW_MULTILINE_STRINGS","7":"asEP_ALLOW_IMPLICIT_HANDLE_TYPES","8":"asEP_BUILD_WITHOUT_LINE_CUES","9":"asEP_INIT_GLOBAL_VARS_AFTER_BUILD"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEGMFlags","values":{"0":"asGM_ONLY_IF_EXISTS","1":"asGM_CREATE_IF_NOT_EXISTS","2":"asGM_ALWAYS_CREATE"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETokenClass","values":{"0":"asTC_UNKNOWN","1":"asTC_KEYWORD","2":"asTC_VALUE","3":"asTC_IDENTIFIER","4":"asTC_COMMENT","5":"asTC_WHITESPACE"}},{"byteSize":4,"filename":"libpkmnLib","name":"METADATATYPE","values":{"1":"MDT_TYPE","2":"MDT_FUNC","3":"MDT_VAR","4":"MDT_VIRTPROP","5":"MDT_FUNC_OR_VAR"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEFuncType","values":{"-1":"asFUNC_DUMMY","0":"asFUNC_SYSTEM","1":"asFUNC_SCRIPT","2":"asFUNC_INTERFACE","3":"asFUNC_VIRTUAL","4":"asFUNC_FUNCDEF","5":"asFUNC_IMPORTED","6":"asFUNC_DELEGATE"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnScriptCategory","values":{"128":"Weather","129":"Status"}},{"byteSize":1,"filename":"libpkmnLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":4,"filename":"libpkmnLib","name":"syntax_option_type","values":{}},{"byteSize":4,"filename":"libpkmnLib","name":"error_type","values":{"0":"_S_error_collate","1":"_S_error_ctype","10":"_S_error_badrepeat","11":"_S_error_complexity","12":"_S_error_stack","2":"_S_error_escape","3":"_S_error_backref","4":"_S_error_brack","5":"_S_error_paren","6":"_S_error_brace","7":"_S_error_badbrace","8":"_S_error_range","9":"_S_error_space"}},{"byteSize":4,"filename":"libpkmnLib","name":"match_flag_type","values":{}},{"byteSize":1,"filename":"libpkmnLib","name":"format","values":{"0":"native_format","1":"generic_format","2":"auto_format"}},{"byteSize":1,"filename":"libpkmnLib","name":"file_type","values":{"-1":"not_found","0":"none","1":"regular","2":"directory","3":"symlink","4":"block","5":"character","6":"fifo","7":"socket","8":"unknown"}},{"byteSize":4,"filename":"libpkmnLib","name":"perms","values":{"0":"none","1":"others_exec","1024":"set_gid","128":"owner_write","16":"group_write","2":"others_write","2048":"set_uid","256":"owner_read","32":"group_read","4":"others_read","4095":"mask","448":"owner_all","511":"all","512":"sticky_bit","56":"group_all","64":"owner_exec","65535":"unknown","7":"others_all","8":"group_exec"}},{"byteSize":1,"filename":"libpkmnLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnDamageSource","values":{"1":"Struggle"}}],"functions":[{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Construct","parameters":[],"returns":"AngelScriptResolver *"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Destruct","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Initialize","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"lib","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_CreateScript","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"name","type":"const char *"},{"name":"script","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_FinalizeModule","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadScript","parameters":[{"name":"out","type":"BattleScript * &"},{"name":"p","type":"AngelScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"},{"name":"stripDebugInfo","type":"bool"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"stripDebugInfo","type":"bool"},{"name":"size","type":"long unsigned int &"},{"name":"out","type":"unsigned char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"memory","type":"unsigned char *"},{"name":"size","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterType","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterTypeMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterGlobalMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelscriptScript_Destruct","parameters":[{"name":"p","type":"AngelScriptScript *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"parties","type":"const BattleParty * *"},{"name":"partiesCount","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_Destruct","parameters":[{"name":"p","type":"Battle *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_SetWeather","parameters":[{"name":"p","type":"Battle *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_ClearWeather","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_GetWeatherName","parameters":[{"name":"p","type":"Battle *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"BattleLibrary * &"},{"name":"staticLib","type":"PokemonLibrary *"},{"name":"statCalculator","type":"StatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"BattleLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_DamageLibrary_Construct","parameters":[],"returns":"DamageLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"DamageLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_WeatherChangeEvent_Destruct","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_WeatherChangeEvent_GetWeatherName","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_Construct","parameters":[],"returns":"ExperienceLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"const Creature * *"},{"name":"numberOfOpponents","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"ExperienceLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"MiscLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PkmnScript_ModifyCriticalStage","parameters":[{"name":"script","type":"PkmnScript *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"},{"name":"critStage","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Construct","parameters":[{"name":"out","type":"Pokemon * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"hiddenAbility","type":"bool"},{"name":"abilityIndex","type":"unsigned char"},{"name":"moves","type":"const LearnedAttack * *"},{"name":"moveCount","type":"long unsigned int"},{"name":"hpIv","type":"unsigned char"},{"name":"attIv","type":"unsigned char"},{"name":"defIv","type":"unsigned char"},{"name":"sAtIv","type":"unsigned char"},{"name":"sDeIv","type":"unsigned char"},{"name":"spIv","type":"unsigned char"},{"name":"hpEv","type":"unsigned char"},{"name":"attEv","type":"unsigned char"},{"name":"defEv","type":"unsigned char"},{"name":"sAtEv","type":"unsigned char"},{"name":"sDeEv","type":"unsigned char"},{"name":"spEv","type":"unsigned char"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Destruct","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_IsShiny","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetNature","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"const Nature *"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetIndividualValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetIndividualValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetEffortValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetEffortValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetStatus","parameters":[{"name":"p","type":"Pokemon *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_ClearStatus","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetStatusName","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetFriendship","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_ChangeFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"amount","type":"signed char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Evolve","parameters":[{"name":"p","type":"Pokemon *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_StatCalculator_Construct","parameters":[],"returns":"StatCalculator *"},{"filename":"libpkmnLib","name":"PkmnLib_StatCalculator_Destruct","parameters":[{"name":"p","type":"StatCalculator *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateLevelEvolution","parameters":[{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateFriendshipEvolution","parameters":[{"name":"friendship","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateKnownMoveEvolution","parameters":[{"name":"move","type":"const MoveData *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateLocationEvolution","parameters":[{"name":"location","type":"const char *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTimeEvolution","parameters":[{"name":"time","type":"TimeOfDay"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateGenderBasedEvolution","parameters":[{"name":"gender","type":"Gender"},{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseWithGenderEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"gender","type":"Gender"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeEvolution","parameters":[{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithSpeciesEvolution","parameters":[{"name":"traded","type":"const PokemonSpecies *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateCustomEvolution","parameters":[{"name":"data","type":"const EffectParameter * *"},{"name":"dataLength","type":"long unsigned int"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetMethod","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"EvolutionMethod"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetNewSpecies","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"const PokemonSpecies *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetDataCount","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetData","parameters":[{"name":"data","type":"const EvolutionData *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EffectParameter * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"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"},{"name":"flingPower","type":"unsigned char"}],"returns":"Item *"},{"filename":"libpkmnLib","name":"PkmnLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Item_GetFlingPower","parameters":[{"name":"p","type":"const Item *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_Construct","parameters":[{"name":"out","type":"LearnableMoves * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_Destruct","parameters":[{"name":"p","type":"const LearnableMoves *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_AddEggMove","parameters":[{"name":"p","type":"LearnableMoves *"},{"name":"move","type":"MoveData *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_GetEggMovesCount","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_GetEggMoves","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"const const MoveData * *"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"},{"name":"shinyRate","type":"unsigned short"}],"returns":"const LibrarySettings *"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_GetShinyRate","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned short"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_Construct","parameters":[{"name":"increasedStat","type":"Statistic"},{"name":"decreasedStat","type":"Statistic"},{"name":"increasedModifier","type":"float"},{"name":"decreasedModifier","type":"float"}],"returns":"Nature *"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_Destruct","parameters":[{"name":"p","type":"const Nature *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetIncreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetDecreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetIncreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetDecreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetStatModifier","parameters":[{"name":"nature","type":"const Nature *"},{"name":"stat","type":"Statistic"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"NatureLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_Destruct","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_LoadNature","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Nature * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetRandomNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"rand","type":"Random *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"nature","type":"const Nature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureCount","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByIndex","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonForme_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 LearnableMoves *"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"PokemonForme *"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_Construct","parameters":[{"name":"out","type":"PokemonLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"moves","type":"MoveLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"},{"name":"natures","type":"NatureLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_Destruct","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_GetNatureLibrary","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"const NatureLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_Construct","parameters":[{"name":"out","type":"const PokemonSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultForme","type":"const PokemonForme *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"baseHappiness","type":"unsigned char"},{"name":"eggGroupsRaw","type":"const const char * *"},{"name":"eggGroupsLength","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_Destruct","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetBaseHappiness","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_AddEvolution","parameters":[{"name":"p","type":"PokemonSpecies *"},{"name":"evo","type":"EvolutionData *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutionCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolution","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EvolutionData * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutions","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"out","type":"const const EvolutionData * * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroupCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroup","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_SpeciesLibrary_FindPreEvolution","parameters":[{"name":"p","type":"const SpeciesLibrary *"},{"name":"species","type":"const PokemonSpecies *"}],"returns":"const PokemonSpecies *"}]} +{"enums":[{"byteSize":4,"filename":"libpkmnLib","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnLib","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":1,"filename":"libpkmnLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":8,"filename":"libpkmnLib","name":"asEObjTypeFlags","values":{"-2147483648":"asOBJ_APP_CLASS_MORE_CONSTRUCTORS","1":"asOBJ_REF","1024":"asOBJ_APP_CLASS_DESTRUCTOR","1048576":"asOBJ_IMPLICIT_HANDLE","1073741824":"asOBJ_APP_ALIGN16","128":"asOBJ_ASHANDLE","1280":"asOBJ_APP_CLASS_D","131072":"asOBJ_APP_CLASS_ALLFLOATS","134217728":"asOBJ_TEMPLATE_SUBTYPE","16":"asOBJ_NOHANDLE","16384":"asOBJ_APP_FLOAT","16777216":"asOBJ_FUNCDEF","1792":"asOBJ_APP_CLASS_CD","2":"asOBJ_VALUE","2048":"asOBJ_APP_CLASS_ASSIGNMENT","2097152":"asOBJ_SCRIPT_OBJECT","2149580799":"asOBJ_MASK_VALID_FLAGS","2304":"asOBJ_APP_CLASS_A","256":"asOBJ_APP_CLASS","262144":"asOBJ_NOCOUNT","268435456":"asOBJ_TYPEDEF","2816":"asOBJ_APP_CLASS_CA","32":"asOBJ_SCOPED","32768":"asOBJ_APP_ARRAY","3328":"asOBJ_APP_CLASS_DA","33554432":"asOBJ_LIST_PATTERN","3840":"asOBJ_APP_CLASS_CDA","4":"asOBJ_GC","4096":"asOBJ_APP_CLASS_COPY_CONSTRUCTOR","4194304":"asOBJ_SHARED","4352":"asOBJ_APP_CLASS_K","4864":"asOBJ_APP_CLASS_CK","512":"asOBJ_APP_CLASS_CONSTRUCTOR","524288":"asOBJ_APP_CLASS_ALIGN8","536870912":"asOBJ_ABSTRACT","5376":"asOBJ_APP_CLASS_DK","5888":"asOBJ_APP_CLASS_CDK","64":"asOBJ_TEMPLATE","6400":"asOBJ_APP_CLASS_AK","65536":"asOBJ_APP_CLASS_ALLINTS","67108864":"asOBJ_ENUM","6912":"asOBJ_APP_CLASS_CAK","7424":"asOBJ_APP_CLASS_DAK","768":"asOBJ_APP_CLASS_C","7936":"asOBJ_APP_CLASS_CDAK","8":"asOBJ_POD","8192":"asOBJ_APP_PRIMITIVE","8388608":"asOBJ_NOINHERIT"}},{"byteSize":4,"filename":"libpkmnLib","name":"asECallConvTypes","values":{"0":"asCALL_CDECL","1":"asCALL_STDCALL","2":"asCALL_THISCALL_ASGLOBAL","3":"asCALL_THISCALL","4":"asCALL_CDECL_OBJLAST","5":"asCALL_CDECL_OBJFIRST","6":"asCALL_GENERIC","7":"asCALL_THISCALL_OBJLAST","8":"asCALL_THISCALL_OBJFIRST"}},{"byteSize":1,"filename":"libpkmnLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"libpkmnLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","10":"ChangeVariant","11":"AttackUse","12":"ChangeStatBoost","13":"Fail","14":"Swap","2":"Faint","3":"Switch","4":"TurnStart","5":"TurnEnd","6":"ExperienceGain","7":"Miss","8":"DisplayText","9":"ChangeSpecies"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnEventDataKind","values":{"128":"WeatherChange","129":"StatusChange"}},{"byteSize":1,"filename":"libpkmnLib","name":"MoveCategory","values":{"0":"Physical","1":"Special","2":"Status"}},{"byteSize":1,"filename":"libpkmnLib","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":"libpkmnLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"libpkmnLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":4,"filename":"libpkmnLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"libpkmnLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"libpkmnLib","name":"EvolutionMethod","values":{"0":"Level","1":"HighFriendship","10":"TradeWithHeldItem","11":"TradeWithSpecificPokemon","12":"Custom","2":"KnownMove","3":"LocationBased","4":"TimeBased","5":"HoldsItem","6":"IsGenderAndLevel","7":"EvolutionItemUse","8":"EvolutionItemUseWithGender","9":"Trade"}},{"byteSize":1,"filename":"libpkmnLib","name":"TimeOfDay","values":{"0":"Night","1":"Morning","2":"Afternoon","3":"Evening"}},{"byteSize":1,"filename":"libpkmnLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"libpkmnLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETypeIdFlags","values":{"0":"asTYPEID_VOID","1":"asTYPEID_BOOL","10":"asTYPEID_FLOAT","1073741824":"asTYPEID_OBJHANDLE","11":"asTYPEID_DOUBLE","134217728":"asTYPEID_SCRIPTOBJECT","2":"asTYPEID_INT8","268435456":"asTYPEID_TEMPLATE","3":"asTYPEID_INT16","4":"asTYPEID_INT32","469762048":"asTYPEID_MASK_OBJECT","5":"asTYPEID_INT64","536870912":"asTYPEID_HANDLETOCONST","6":"asTYPEID_UINT8","67108863":"asTYPEID_MASK_SEQNBR","67108864":"asTYPEID_APPOBJECT","7":"asTYPEID_UINT16","8":"asTYPEID_UINT32","9":"asTYPEID_UINT64"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEContextState","values":{"0":"asEXECUTION_FINISHED","1":"asEXECUTION_SUSPENDED","2":"asEXECUTION_ABORTED","3":"asEXECUTION_EXCEPTION","4":"asEXECUTION_PREPARED","5":"asEXECUTION_UNINITIALIZED","6":"asEXECUTION_ACTIVE","7":"asEXECUTION_ERROR"}},{"byteSize":4,"filename":"libpkmnLib","name":"asERetCodes","values":{"-1":"asERROR","-10":"asINVALID_DECLARATION","-11":"asINVALID_OBJECT","-12":"asINVALID_TYPE","-13":"asALREADY_REGISTERED","-14":"asMULTIPLE_FUNCTIONS","-15":"asNO_MODULE","-16":"asNO_GLOBAL_VAR","-17":"asINVALID_CONFIGURATION","-18":"asINVALID_INTERFACE","-19":"asCANT_BIND_ALL_FUNCTIONS","-2":"asCONTEXT_ACTIVE","-20":"asLOWER_ARRAY_DIMENSION_NOT_REGISTERED","-21":"asWRONG_CONFIG_GROUP","-22":"asCONFIG_GROUP_IS_IN_USE","-23":"asILLEGAL_BEHAVIOUR_FOR_TYPE","-24":"asWRONG_CALLING_CONV","-25":"asBUILD_IN_PROGRESS","-26":"asINIT_GLOBAL_VARS_FAILED","-27":"asOUT_OF_MEMORY","-28":"asMODULE_IS_IN_USE","-3":"asCONTEXT_NOT_FINISHED","-4":"asCONTEXT_NOT_PREPARED","-5":"asINVALID_ARG","-6":"asNO_FUNCTION","-7":"asNOT_SUPPORTED","-8":"asINVALID_NAME","-9":"asNAME_TAKEN","0":"asSUCCESS"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETypeModifiers","values":{"0":"asTM_NONE","1":"asTM_INREF","2":"asTM_OUTREF","3":"asTM_INOUTREF","4":"asTM_CONST"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEBehaviours","values":{"0":"asBEHAVE_CONSTRUCT","1":"asBEHAVE_LIST_CONSTRUCT","10":"asBEHAVE_SETGCFLAG","11":"asBEHAVE_GETGCFLAG","12":"asBEHAVE_ENUMREFS","13":"asBEHAVE_RELEASEREFS","14":"asBEHAVE_MAX","2":"asBEHAVE_DESTRUCT","3":"asBEHAVE_FACTORY","4":"asBEHAVE_LIST_FACTORY","5":"asBEHAVE_ADDREF","6":"asBEHAVE_RELEASE","7":"asBEHAVE_GET_WEAKREF_FLAG","8":"asBEHAVE_TEMPLATE_CALLBACK","9":"asBEHAVE_FIRST_GC"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEMsgType","values":{"0":"asMSGTYPE_ERROR","1":"asMSGTYPE_WARNING","2":"asMSGTYPE_INFORMATION"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEEngineProp","values":{"1":"asEP_ALLOW_UNSAFE_REFERENCES","10":"asEP_REQUIRE_ENUM_SCOPE","11":"asEP_SCRIPT_SCANNER","12":"asEP_INCLUDE_JIT_INSTRUCTIONS","13":"asEP_STRING_ENCODING","14":"asEP_PROPERTY_ACCESSOR_MODE","15":"asEP_EXPAND_DEF_ARRAY_TO_TMPL","16":"asEP_AUTO_GARBAGE_COLLECT","17":"asEP_DISALLOW_GLOBAL_VARS","18":"asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT","19":"asEP_COMPILER_WARNINGS","2":"asEP_OPTIMIZE_BYTECODE","20":"asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE","21":"asEP_ALTER_SYNTAX_NAMED_ARGS","22":"asEP_DISABLE_INTEGER_DIVISION","23":"asEP_DISALLOW_EMPTY_LIST_ELEMENTS","24":"asEP_PRIVATE_PROP_AS_PROTECTED","25":"asEP_ALLOW_UNICODE_IDENTIFIERS","26":"asEP_HEREDOC_TRIM_MODE","27":"asEP_MAX_NESTED_CALLS","28":"asEP_GENERIC_CALL_MODE","29":"asEP_INIT_STACK_SIZE","3":"asEP_COPY_SCRIPT_SECTIONS","30":"asEP_INIT_CALL_STACK_SIZE","31":"asEP_MAX_CALL_STACK_SIZE","32":"asEP_LAST_PROPERTY","4":"asEP_MAX_STACK_SIZE","5":"asEP_USE_CHARACTER_LITERALS","6":"asEP_ALLOW_MULTILINE_STRINGS","7":"asEP_ALLOW_IMPLICIT_HANDLE_TYPES","8":"asEP_BUILD_WITHOUT_LINE_CUES","9":"asEP_INIT_GLOBAL_VARS_AFTER_BUILD"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEGMFlags","values":{"0":"asGM_ONLY_IF_EXISTS","1":"asGM_CREATE_IF_NOT_EXISTS","2":"asGM_ALWAYS_CREATE"}},{"byteSize":4,"filename":"libpkmnLib","name":"asETokenClass","values":{"0":"asTC_UNKNOWN","1":"asTC_KEYWORD","2":"asTC_VALUE","3":"asTC_IDENTIFIER","4":"asTC_COMMENT","5":"asTC_WHITESPACE"}},{"byteSize":4,"filename":"libpkmnLib","name":"METADATATYPE","values":{"1":"MDT_TYPE","2":"MDT_FUNC","3":"MDT_VAR","4":"MDT_VIRTPROP","5":"MDT_FUNC_OR_VAR"}},{"byteSize":4,"filename":"libpkmnLib","name":"asEFuncType","values":{"-1":"asFUNC_DUMMY","0":"asFUNC_SYSTEM","1":"asFUNC_SCRIPT","2":"asFUNC_INTERFACE","3":"asFUNC_VIRTUAL","4":"asFUNC_FUNCDEF","5":"asFUNC_IMPORTED","6":"asFUNC_DELEGATE"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnScriptCategory","values":{"128":"Weather","129":"Status"}},{"byteSize":1,"filename":"libpkmnLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":4,"filename":"libpkmnLib","name":"syntax_option_type","values":{}},{"byteSize":4,"filename":"libpkmnLib","name":"error_type","values":{"0":"_S_error_collate","1":"_S_error_ctype","10":"_S_error_badrepeat","11":"_S_error_complexity","12":"_S_error_stack","2":"_S_error_escape","3":"_S_error_backref","4":"_S_error_brack","5":"_S_error_paren","6":"_S_error_brace","7":"_S_error_badbrace","8":"_S_error_range","9":"_S_error_space"}},{"byteSize":4,"filename":"libpkmnLib","name":"match_flag_type","values":{}},{"byteSize":1,"filename":"libpkmnLib","name":"format","values":{"0":"native_format","1":"generic_format","2":"auto_format"}},{"byteSize":1,"filename":"libpkmnLib","name":"file_type","values":{"-1":"not_found","0":"none","1":"regular","2":"directory","3":"symlink","4":"block","5":"character","6":"fifo","7":"socket","8":"unknown"}},{"byteSize":4,"filename":"libpkmnLib","name":"perms","values":{"0":"none","1":"others_exec","1024":"set_gid","128":"owner_write","16":"group_write","2":"others_write","2048":"set_uid","256":"owner_read","32":"group_read","4":"others_read","4095":"mask","448":"owner_all","511":"all","512":"sticky_bit","56":"group_all","64":"owner_exec","65535":"unknown","7":"others_all","8":"group_exec"}},{"byteSize":1,"filename":"libpkmnLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"libpkmnLib","name":"PkmnDamageSource","values":{"1":"Struggle"}}],"functions":[{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Construct","parameters":[],"returns":"AngelScriptResolver *"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Destruct","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_Initialize","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"lib","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_CreateScript","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"name","type":"const char *"},{"name":"script","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_FinalizeModule","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadScript","parameters":[{"name":"out","type":"BattleScript * &"},{"name":"p","type":"AngelScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"},{"name":"stripDebugInfo","type":"bool"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"stripDebugInfo","type":"bool"},{"name":"size","type":"long unsigned int &"},{"name":"out","type":"unsigned char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"memory","type":"unsigned char *"},{"name":"size","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterType","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterTypeMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterGlobalMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_AngelscriptScript_Destruct","parameters":[{"name":"p","type":"AngelScriptScript *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_Construct","parameters":[{"name":"out","type":"Battle * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"parties","type":"const BattleParty * *"},{"name":"partiesCount","type":"long unsigned int"},{"name":"canFlee","type":"bool"},{"name":"numberOfSides","type":"unsigned char"},{"name":"creaturesPerSide","type":"unsigned char"},{"name":"randomSeed","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_Destruct","parameters":[{"name":"p","type":"Battle *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_SetWeather","parameters":[{"name":"p","type":"Battle *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_ClearWeather","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Battle_GetWeatherName","parameters":[{"name":"p","type":"Battle *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"BattleLibrary * &"},{"name":"staticLib","type":"PokemonLibrary *"},{"name":"statCalculator","type":"StatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"BattleLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_DamageLibrary_Construct","parameters":[],"returns":"DamageLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"DamageLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_WeatherChangeEvent_Destruct","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_WeatherChangeEvent_GetWeatherName","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_Construct","parameters":[],"returns":"ExperienceLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_HandleExperienceGain","parameters":[{"name":"p","type":"ExperienceLibrary *"},{"name":"faintedMon","type":"Creature *"},{"name":"opponents","type":"const Creature * *"},{"name":"numberOfOpponents","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_ExperienceLibrary_Destruct","parameters":[{"name":"p","type":"ExperienceLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"MiscLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PkmnScript_ModifyCriticalStage","parameters":[{"name":"script","type":"PkmnScript *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"},{"name":"critStage","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Construct","parameters":[{"name":"out","type":"Pokemon * &"},{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"hiddenAbility","type":"bool"},{"name":"abilityIndex","type":"unsigned char"},{"name":"moves","type":"const LearnedAttack * *"},{"name":"moveCount","type":"long unsigned int"},{"name":"hpIv","type":"unsigned char"},{"name":"attIv","type":"unsigned char"},{"name":"defIv","type":"unsigned char"},{"name":"sAtIv","type":"unsigned char"},{"name":"sDeIv","type":"unsigned char"},{"name":"spIv","type":"unsigned char"},{"name":"hpEv","type":"unsigned char"},{"name":"attEv","type":"unsigned char"},{"name":"defEv","type":"unsigned char"},{"name":"sAtEv","type":"unsigned char"},{"name":"sDeEv","type":"unsigned char"},{"name":"spEv","type":"unsigned char"},{"name":"nature","type":"const Nature *"},{"name":"allowedExperienceGain","type":"bool"},{"name":"isEgg","type":"bool"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Destruct","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_IsShiny","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetNature","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"const Nature *"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetIndividualValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetIndividualValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetEffortValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetEffortValue","parameters":[{"name":"p","type":"Pokemon *"},{"name":"stat","type":"Statistic"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetStatus","parameters":[{"name":"p","type":"Pokemon *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_ClearStatus","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetStatusName","parameters":[{"name":"p","type":"Pokemon *"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_GetFriendship","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_SetFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"value","type":"unsigned char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_ChangeFriendship","parameters":[{"name":"p","type":"Pokemon *"},{"name":"amount","type":"signed char"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_IsEgg","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"libpkmnLib","name":"PkmnLib_Pokemon_Evolve","parameters":[{"name":"p","type":"Pokemon *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_StatCalculator_Construct","parameters":[],"returns":"StatCalculator *"},{"filename":"libpkmnLib","name":"PkmnLib_StatCalculator_Destruct","parameters":[{"name":"p","type":"StatCalculator *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateLevelEvolution","parameters":[{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateFriendshipEvolution","parameters":[{"name":"friendship","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateKnownMoveEvolution","parameters":[{"name":"move","type":"const MoveData *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateLocationEvolution","parameters":[{"name":"location","type":"const char *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTimeEvolution","parameters":[{"name":"time","type":"TimeOfDay"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateGenderBasedEvolution","parameters":[{"name":"gender","type":"Gender"},{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateItemUseWithGenderEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"gender","type":"Gender"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeEvolution","parameters":[{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateTradeWithSpeciesEvolution","parameters":[{"name":"traded","type":"const PokemonSpecies *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_CreateCustomEvolution","parameters":[{"name":"data","type":"const EffectParameter * *"},{"name":"dataLength","type":"long unsigned int"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetMethod","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"EvolutionMethod"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetNewSpecies","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"const PokemonSpecies *"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetDataCount","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_EvolutionData_GetData","parameters":[{"name":"data","type":"const EvolutionData *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EffectParameter * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"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"},{"name":"flingPower","type":"unsigned char"}],"returns":"Item *"},{"filename":"libpkmnLib","name":"PkmnLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Item_GetFlingPower","parameters":[{"name":"p","type":"const Item *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_Construct","parameters":[{"name":"out","type":"LearnableMoves * &"},{"name":"levelAttackCapacity","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_Destruct","parameters":[{"name":"p","type":"const LearnableMoves *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_AddEggMove","parameters":[{"name":"p","type":"LearnableMoves *"},{"name":"move","type":"MoveData *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_GetEggMovesCount","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_LearnableMoves_GetEggMoves","parameters":[{"name":"p","type":"LearnableMoves *"}],"returns":"const const MoveData * *"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"},{"name":"shinyRate","type":"unsigned short"}],"returns":"const LibrarySettings *"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_LibrarySettings_GetShinyRate","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned short"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_Construct","parameters":[{"name":"increasedStat","type":"Statistic"},{"name":"decreasedStat","type":"Statistic"},{"name":"increasedModifier","type":"float"},{"name":"decreasedModifier","type":"float"}],"returns":"Nature *"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_Destruct","parameters":[{"name":"p","type":"const Nature *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetIncreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetDecreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetIncreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetDecreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"libpkmnLib","name":"PkmnLib_Nature_GetStatModifier","parameters":[{"name":"nature","type":"const Nature *"},{"name":"stat","type":"Statistic"}],"returns":"float"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"NatureLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_Destruct","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_LoadNature","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Nature * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetRandomNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"rand","type":"Random *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"nature","type":"const Nature *"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureCount","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByIndex","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const char * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonForme_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 LearnableMoves *"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"PokemonForme *"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_Construct","parameters":[{"name":"out","type":"PokemonLibrary * &"},{"name":"settings","type":"LibrarySettings *"},{"name":"species","type":"SpeciesLibrary *"},{"name":"moves","type":"MoveLibrary *"},{"name":"items","type":"ItemLibrary *"},{"name":"growthRates","type":"GrowthRateLibrary *"},{"name":"typeLibrary","type":"TypeLibrary *"},{"name":"natures","type":"NatureLibrary *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_Destruct","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonLibrary_GetNatureLibrary","parameters":[{"name":"p","type":"const PokemonLibrary *"}],"returns":"const NatureLibrary *"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_Construct","parameters":[{"name":"out","type":"const PokemonSpecies * &"},{"name":"id","type":"unsigned short"},{"name":"name","type":"const char *"},{"name":"defaultForme","type":"const PokemonForme *"},{"name":"genderRatio","type":"float"},{"name":"growthRate","type":"const char *"},{"name":"captureRate","type":"unsigned char"},{"name":"baseHappiness","type":"unsigned char"},{"name":"eggGroupsRaw","type":"const const char * *"},{"name":"eggGroupsLength","type":"long unsigned int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_Destruct","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetBaseHappiness","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_AddEvolution","parameters":[{"name":"p","type":"PokemonSpecies *"},{"name":"evo","type":"EvolutionData *"}],"returns":"void"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutionCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolution","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EvolutionData * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutions","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"out","type":"const const EvolutionData * * &"}],"returns":"unsigned char"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroupCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"libpkmnLib","name":"PkmnLib_PokemonSpecies_GetEggGroup","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"}],"returns":"const char *"},{"filename":"libpkmnLib","name":"PkmnLib_SpeciesLibrary_FindPreEvolution","parameters":[{"name":"p","type":"const SpeciesLibrary *"},{"name":"species","type":"const PokemonSpecies *"}],"returns":"const PokemonSpecies *"}]} diff --git a/PkmnLibSharp/pkmnlibai.json b/PkmnLibSharp/pkmnlibai.json index ecef28e..9ba12e6 100644 --- a/PkmnLibSharp/pkmnlibai.json +++ b/PkmnLibSharp/pkmnlibai.json @@ -1 +1 @@ -{"enums":[{"byteSize":4,"filename":"libpkmnlib_ai","name":"memory_order","values":{"0":"relaxed","1":"consume","2":"acquire","3":"release","4":"acq_rel","5":"seq_cst"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"launch","values":{"1":"async","2":"deferred"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"errc","values":{"1":"operation_not_permitted","10":"no_child_process","100":"network_down","101":"network_unreachable","102":"network_reset","103":"connection_aborted","104":"connection_reset","105":"no_buffer_space","106":"already_connected","107":"not_connected","11":"operation_would_block","110":"timed_out","111":"connection_refused","113":"host_unreachable","114":"connection_already_in_progress","115":"operation_in_progress","12":"not_enough_memory","125":"operation_canceled","13":"permission_denied","130":"owner_dead","131":"state_not_recoverable","14":"bad_address","16":"device_or_resource_busy","17":"file_exists","18":"cross_device_link","19":"no_such_device","2":"no_such_file_or_directory","20":"not_a_directory","21":"is_a_directory","22":"invalid_argument","23":"too_many_files_open_in_system","24":"too_many_files_open","25":"inappropriate_io_control_operation","26":"text_file_busy","27":"file_too_large","28":"no_space_on_device","29":"invalid_seek","3":"no_such_process","30":"read_only_file_system","31":"too_many_links","32":"broken_pipe","33":"argument_out_of_domain","34":"result_out_of_range","35":"resource_deadlock_would_occur","36":"filename_too_long","37":"no_lock_available","38":"function_not_supported","39":"directory_not_empty","4":"interrupted","40":"too_many_symbolic_link_levels","42":"no_message","43":"identifier_removed","5":"io_error","6":"no_such_device_or_address","60":"not_a_stream","61":"no_message_available","62":"stream_timeout","63":"no_stream_resources","67":"no_link","7":"argument_list_too_long","71":"protocol_error","74":"bad_message","75":"value_too_large","8":"executable_format_error","84":"illegal_byte_sequence","88":"not_a_socket","89":"destination_address_required","9":"bad_file_descriptor","90":"message_size","91":"wrong_protocol_type","92":"no_protocol_option","93":"protocol_not_supported","95":"not_supported","97":"address_family_not_supported","98":"address_in_use","99":"address_not_available"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"future_errc","values":{"1":"future_already_retrieved","2":"promise_already_satisfied","3":"no_state","4":"broken_promise"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}}],"functions":[{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_Delete","parameters":[{"name":"p","type":"PokemonAI *"}],"returns":"void"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_GetChoice","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"PokemonAI *"},{"name":"battle","type":"Battle *"},{"name":"user","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_RandomAI_Create","parameters":[],"returns":"RandomAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_NaiveAI_Create","parameters":[],"returns":"NaiveAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_DepthSearchAI_Create","parameters":[],"returns":"DepthSearchAI *"}]} +{"enums":[{"byteSize":4,"filename":"libpkmnlib_ai","name":"memory_order","values":{"0":"relaxed","1":"consume","2":"acquire","3":"release","4":"acq_rel","5":"seq_cst"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_denorm_style","values":{"-1":"denorm_indeterminate","0":"denorm_absent","1":"denorm_present"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"float_round_style","values":{"-1":"round_indeterminate","0":"round_toward_zero","1":"round_to_nearest","2":"round_toward_infinity","3":"round_toward_neg_infinity"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"launch","values":{"1":"async","2":"deferred"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"errc","values":{"1":"operation_not_permitted","10":"no_child_process","100":"network_down","101":"network_unreachable","102":"network_reset","103":"connection_aborted","104":"connection_reset","105":"no_buffer_space","106":"already_connected","107":"not_connected","11":"operation_would_block","110":"timed_out","111":"connection_refused","113":"host_unreachable","114":"connection_already_in_progress","115":"operation_in_progress","12":"not_enough_memory","125":"operation_canceled","13":"permission_denied","130":"owner_dead","131":"state_not_recoverable","14":"bad_address","16":"device_or_resource_busy","17":"file_exists","18":"cross_device_link","19":"no_such_device","2":"no_such_file_or_directory","20":"not_a_directory","21":"is_a_directory","22":"invalid_argument","23":"too_many_files_open_in_system","24":"too_many_files_open","25":"inappropriate_io_control_operation","26":"text_file_busy","27":"file_too_large","28":"no_space_on_device","29":"invalid_seek","3":"no_such_process","30":"read_only_file_system","31":"too_many_links","32":"broken_pipe","33":"argument_out_of_domain","34":"result_out_of_range","35":"resource_deadlock_would_occur","36":"filename_too_long","37":"no_lock_available","38":"function_not_supported","39":"directory_not_empty","4":"interrupted","40":"too_many_symbolic_link_levels","42":"no_message","43":"identifier_removed","5":"io_error","6":"no_such_device_or_address","60":"not_a_stream","61":"no_message_available","62":"stream_timeout","63":"no_stream_resources","67":"no_link","7":"argument_list_too_long","71":"protocol_error","74":"bad_message","75":"value_too_large","8":"executable_format_error","84":"illegal_byte_sequence","88":"not_a_socket","89":"destination_address_required","9":"bad_file_descriptor","90":"message_size","91":"wrong_protocol_type","92":"no_protocol_option","93":"protocol_not_supported","95":"not_supported","97":"address_family_not_supported","98":"address_in_use","99":"address_not_available"}},{"byteSize":4,"filename":"libpkmnlib_ai","name":"future_errc","values":{"1":"future_already_retrieved","2":"promise_already_satisfied","3":"no_state","4":"broken_promise"}},{"byteSize":1,"filename":"libpkmnlib_ai","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":"libpkmnlib_ai","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"libpkmnlib_ai","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}}],"functions":[{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_C_GetLastExceptionStacktrace","parameters":[],"returns":"const char *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_Delete","parameters":[{"name":"p","type":"PokemonAI *"}],"returns":"void"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_PokemonAI_GetChoice","parameters":[{"name":"out","type":"BaseTurnChoice * &"},{"name":"p","type":"PokemonAI *"},{"name":"battle","type":"Battle *"},{"name":"user","type":"Pokemon *"}],"returns":"unsigned char"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_RandomAI_Create","parameters":[],"returns":"RandomAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_NaiveAI_Create","parameters":[],"returns":"NaiveAI *"},{"filename":"libpkmnlib_ai","name":"pkmnlibai_DepthSearchAI_Create","parameters":[],"returns":"DepthSearchAI *"}]} diff --git a/PkmnLibSharpTests/Battling/PokemonBuilder.cs b/PkmnLibSharpTests/Battling/PokemonBuilder.cs index e2cf065..0e1d829 100644 --- a/PkmnLibSharpTests/Battling/PokemonBuilder.cs +++ b/PkmnLibSharpTests/Battling/PokemonBuilder.cs @@ -1,5 +1,6 @@ using System; using System.Collections.Generic; +using NUnit.Framework; using PkmnLibSharp.Battling; using PkmnLibSharp.Library; using PkmnLibSharp.Library.Items; @@ -16,8 +17,8 @@ namespace PkmnLibSharpTests.Battling protected override Pokemon Finalize(Species species, Forme forme, Item? heldItem, IReadOnlyCollection moves, Nature nature) { - var pkmn = new Pokemon(Library, species, forme, Level, Experience, Uid, Gender, Coloring, - heldItem, Nickname, HiddenAbility, (byte) AbilityIndex, moves, IVs, EVs, nature); + var pkmn = new Pokemon(Library, species, forme, Level, Experience, Uid, Gender, Coloring, heldItem, + Nickname, HiddenAbility, (byte) AbilityIndex, moves, IVs, EVs, nature, IsAllowedExperienceGain, IsEgg); return pkmn; }