diff --git a/.drone.yml b/.drone.yml
index cbe0ad5..31e3104 100644
--- a/.drone.yml
+++ b/.drone.yml
@@ -4,10 +4,11 @@ name: default
type: docker
steps:
- name: Build
- image: mcr.microsoft.com/dotnet/core/sdk:3.1
+ image: deukhoofd/dotnet-builder
commands:
- dotnet build -c Release
- name: Tests
- image: mcr.microsoft.com/dotnet/core/sdk:3.1
+ image: deukhoofd/dotnet-builder
commands:
+ - export LD_LIBRARY_PATH=.
- dotnet test -v n
\ No newline at end of file
diff --git a/PkmnLibSharp/Generated/Pkmnlib/PokemonSpecies.cs b/PkmnLibSharp/Generated/Pkmnlib/PokemonSpecies.cs
index 68e70f6..a1d3f61 100644
--- a/PkmnLibSharp/Generated/Pkmnlib/PokemonSpecies.cs
+++ b/PkmnLibSharp/Generated/Pkmnlib/PokemonSpecies.cs
@@ -6,6 +6,7 @@ namespace Pkmnlib.Generated
{
internal static class PokemonSpecies
{
+ /// const PokemonSpecies *&
/// unsigned short
/// const char *
/// const PokemonForme *
@@ -13,9 +14,9 @@ namespace Pkmnlib.Generated
/// const char *
/// unsigned char
/// unsigned char
- /// const PokemonSpecies *
+ /// unsigned char
[DllImport("pkmnLib", CallingConvention = CallingConvention.Cdecl, EntryPoint= "PkmnLib_PokemonSpecies_Construct")]
- internal static extern IntPtr Construct(ushort id, IntPtr name, IntPtr defaultForme, float genderRatio, IntPtr growthRate, byte captureRate, byte baseHappiness);
+ internal static extern byte Construct(ref IntPtr @out, ushort id, IntPtr name, IntPtr defaultForme, float genderRatio, IntPtr growthRate, byte captureRate, byte baseHappiness);
/// const PokemonSpecies *
/// void
diff --git a/PkmnLibSharp/Library/Species.cs b/PkmnLibSharp/Library/Species.cs
index 4a99511..391804e 100644
--- a/PkmnLibSharp/Library/Species.cs
+++ b/PkmnLibSharp/Library/Species.cs
@@ -1,3 +1,4 @@
+using System;
using Pkmnlib.Generated;
using PkmnLibSharp.Utilities;
@@ -6,15 +7,22 @@ namespace PkmnLibSharp.Library
public class Species : PointerWrapper
{
// ReSharper disable once SuggestBaseTypeForParameter
- public Species(ushort id, string name, Forme defaultForme, float genderRatio, string growthRate,
- byte captureRate, byte baseHappiness) : base(PokemonSpecies.Construct(id, name.ToPtr(), defaultForme.Ptr, genderRatio,
- growthRate.ToPtr(), captureRate, baseHappiness))
+ private Species(IntPtr ptr) : base(ptr)
{
}
+ public static Species Create(ushort id, string name, Forme defaultForme, float genderRatio, string growthRate,
+ byte captureRate, byte baseHappiness)
+ {
+ var ptr = IntPtr.Zero;
+ PokemonSpecies.Construct(ref ptr, id, name.ToPtr(), defaultForme.Ptr, genderRatio,
+ growthRate.ToPtr(), captureRate, baseHappiness).Assert();
+ return new Species(ptr);
+ }
+
internal override void DeletePtr()
{
- Pokemon.Destruct(Ptr);
+ PokemonSpecies.Destruct(Ptr);
}
}
}
\ No newline at end of file
diff --git a/PkmnLibSharp/Native/libangelscript.so.2.34.0 b/PkmnLibSharp/Native/libangelscript.so.2.34.0
new file mode 100755
index 0000000..b0ee664
Binary files /dev/null and b/PkmnLibSharp/Native/libangelscript.so.2.34.0 differ
diff --git a/PkmnLibSharp/Native/libpkmnLib.so b/PkmnLibSharp/Native/libpkmnLib.so
index 556b90e..5849cbe 100755
--- a/PkmnLibSharp/Native/libpkmnLib.so
+++ b/PkmnLibSharp/Native/libpkmnLib.so
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:d74ff5a90b6da73ec27acfc6cb81d4f5c2b5a1a59c6d2e22720cc0419e1d3ef5
-size 8930608
+oid sha256:897e89d7c48733370d2e99ec49d16b35c9941a4ec87af4c817038b8bea573a6c
+size 1121552
diff --git a/PkmnLibSharp/PkmnLibSharp.csproj b/PkmnLibSharp/PkmnLibSharp.csproj
index 69a043f..86ec704 100644
--- a/PkmnLibSharp/PkmnLibSharp.csproj
+++ b/PkmnLibSharp/PkmnLibSharp.csproj
@@ -12,14 +12,14 @@
true
-
-
-
-
+
..\..\..\..\..\..\usr\share\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Collections.Immutable.dll
+
+
+
diff --git a/PkmnLibSharp/pkmnlib.json b/PkmnLibSharp/pkmnlib.json
index 7ad7b3b..ce14b4e 100644
--- a/PkmnLibSharp/pkmnlib.json
+++ b/PkmnLibSharp/pkmnlib.json
@@ -1,1813 +1 @@
-{
- "enums": [
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "memory_order",
- "values": {
- "0": "memory_order_relaxed",
- "1": "memory_order_consume",
- "2": "memory_order_acquire",
- "3": "memory_order_release",
- "4": "memory_order_acq_rel",
- "5": "memory_order_seq_cst"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "ScriptCategory",
- "values": {
- "0": "Attack",
- "1": "Talent",
- "2": "Status",
- "3": "Creature",
- "4": "Battle",
- "5": "Side"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEObjTypeFlags",
- "values": {
- "1": "asOBJ_REF",
- "1024": "asOBJ_APP_CLASS_DESTRUCTOR",
- "1048576": "asOBJ_IMPLICIT_HANDLE",
- "1073741824": "asOBJ_APP_ALIGN16",
- "128": "asOBJ_ASHANDLE",
- "1280": "asOBJ_APP_CLASS_D",
- "131072": "asOBJ_APP_CLASS_ALLFLOATS",
- "134217728": "asOBJ_TEMPLATE_SUBTYPE",
- "16": "asOBJ_NOHANDLE",
- "16384": "asOBJ_APP_FLOAT",
- "16777216": "asOBJ_FUNCDEF",
- "1792": "asOBJ_APP_CLASS_CD",
- "2": "asOBJ_VALUE",
- "2048": "asOBJ_APP_CLASS_ASSIGNMENT",
- "2097151": "asOBJ_MASK_VALID_FLAGS",
- "2097152": "asOBJ_SCRIPT_OBJECT",
- "2304": "asOBJ_APP_CLASS_A",
- "256": "asOBJ_APP_CLASS",
- "262144": "asOBJ_NOCOUNT",
- "268435456": "asOBJ_TYPEDEF",
- "2816": "asOBJ_APP_CLASS_CA",
- "32": "asOBJ_SCOPED",
- "32768": "asOBJ_APP_ARRAY",
- "3328": "asOBJ_APP_CLASS_DA",
- "33554432": "asOBJ_LIST_PATTERN",
- "3840": "asOBJ_APP_CLASS_CDA",
- "4": "asOBJ_GC",
- "4096": "asOBJ_APP_CLASS_COPY_CONSTRUCTOR",
- "4194304": "asOBJ_SHARED",
- "4352": "asOBJ_APP_CLASS_K",
- "4864": "asOBJ_APP_CLASS_CK",
- "512": "asOBJ_APP_CLASS_CONSTRUCTOR",
- "524288": "asOBJ_APP_CLASS_ALIGN8",
- "536870912": "asOBJ_ABSTRACT",
- "5376": "asOBJ_APP_CLASS_DK",
- "5888": "asOBJ_APP_CLASS_CDK",
- "64": "asOBJ_TEMPLATE",
- "6400": "asOBJ_APP_CLASS_AK",
- "65536": "asOBJ_APP_CLASS_ALLINTS",
- "67108864": "asOBJ_ENUM",
- "6912": "asOBJ_APP_CLASS_CAK",
- "7424": "asOBJ_APP_CLASS_DAK",
- "768": "asOBJ_APP_CLASS_C",
- "7936": "asOBJ_APP_CLASS_CDAK",
- "8": "asOBJ_POD",
- "8192": "asOBJ_APP_PRIMITIVE",
- "8388608": "asOBJ_NOINHERIT"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asECallConvTypes",
- "values": {
- "0": "asCALL_CDECL",
- "1": "asCALL_STDCALL",
- "2": "asCALL_THISCALL_ASGLOBAL",
- "3": "asCALL_THISCALL",
- "4": "asCALL_CDECL_OBJLAST",
- "5": "asCALL_CDECL_OBJFIRST",
- "6": "asCALL_GENERIC",
- "7": "asCALL_THISCALL_OBJLAST",
- "8": "asCALL_THISCALL_OBJFIRST"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "Statistic",
- "values": {
- "0": "Health",
- "1": "PhysicalAttack",
- "2": "PhysicalDefense",
- "3": "MagicalAttack",
- "4": "MagicalDefense",
- "5": "Speed"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "MoveCategory",
- "values": {
- "0": "Physical",
- "1": "Special",
- "2": "Status"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "AttackTarget",
- "values": {
- "0": "Adjacent",
- "1": "AdjacentAlly",
- "10": "RandomOpponent",
- "11": "Self",
- "2": "AdjacentAllySelf",
- "3": "AdjacentOpponent",
- "4": "All",
- "5": "AllAdjacent",
- "6": "AllAdjacentOpponent",
- "7": "AllAlly",
- "8": "AllOpponent",
- "9": "Any"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "EffectParameterType",
- "values": {
- "0": "None",
- "1": "Bool",
- "2": "Int",
- "3": "Float",
- "4": "String"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "AttackLearnMethod",
- "values": {
- "0": "Unknown",
- "1": "Level"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "Gender",
- "values": {
- "0": "Male",
- "1": "Female",
- "2": "Genderless"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "EvolutionMethod",
- "values": {
- "0": "Level",
- "1": "HighFriendship",
- "10": "TradeWithHeldItem",
- "11": "TradeWithSpecificPokemon",
- "12": "Custom",
- "2": "KnownMove",
- "3": "LocationBased",
- "4": "TimeBased",
- "5": "HoldsItem",
- "6": "IsGenderAndLevel",
- "7": "EvolutionItemUse",
- "8": "EvolutionItemUseWithGender",
- "9": "Trade"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "TimeOfDay",
- "values": {
- "0": "Night",
- "1": "Morning",
- "2": "Afternoon",
- "3": "Evening"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "ItemCategory",
- "values": {
- "0": "MiscItem",
- "1": "CaptureDevice",
- "2": "Medicine",
- "3": "Berry",
- "4": "MoveLearner",
- "5": "VariantChanger",
- "6": "KeyItem",
- "7": "Mail"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "BattleItemCategory",
- "values": {
- "0": "None",
- "1": "Healing",
- "2": "StatusHealing",
- "3": "CaptureDevice",
- "4": "MiscBattleItem"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asETypeIdFlags",
- "values": {
- "0": "asTYPEID_VOID",
- "1": "asTYPEID_BOOL",
- "10": "asTYPEID_FLOAT",
- "1073741824": "asTYPEID_OBJHANDLE",
- "11": "asTYPEID_DOUBLE",
- "134217728": "asTYPEID_SCRIPTOBJECT",
- "2": "asTYPEID_INT8",
- "268435456": "asTYPEID_TEMPLATE",
- "3": "asTYPEID_INT16",
- "4": "asTYPEID_INT32",
- "469762048": "asTYPEID_MASK_OBJECT",
- "5": "asTYPEID_INT64",
- "536870912": "asTYPEID_HANDLETOCONST",
- "6": "asTYPEID_UINT8",
- "67108863": "asTYPEID_MASK_SEQNBR",
- "67108864": "asTYPEID_APPOBJECT",
- "7": "asTYPEID_UINT16",
- "8": "asTYPEID_UINT32",
- "9": "asTYPEID_UINT64"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEContextState",
- "values": {
- "0": "asEXECUTION_FINISHED",
- "1": "asEXECUTION_SUSPENDED",
- "2": "asEXECUTION_ABORTED",
- "3": "asEXECUTION_EXCEPTION",
- "4": "asEXECUTION_PREPARED",
- "5": "asEXECUTION_UNINITIALIZED",
- "6": "asEXECUTION_ACTIVE",
- "7": "asEXECUTION_ERROR"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asERetCodes",
- "values": {
- "-1": "asERROR",
- "-10": "asINVALID_DECLARATION",
- "-11": "asINVALID_OBJECT",
- "-12": "asINVALID_TYPE",
- "-13": "asALREADY_REGISTERED",
- "-14": "asMULTIPLE_FUNCTIONS",
- "-15": "asNO_MODULE",
- "-16": "asNO_GLOBAL_VAR",
- "-17": "asINVALID_CONFIGURATION",
- "-18": "asINVALID_INTERFACE",
- "-19": "asCANT_BIND_ALL_FUNCTIONS",
- "-2": "asCONTEXT_ACTIVE",
- "-20": "asLOWER_ARRAY_DIMENSION_NOT_REGISTERED",
- "-21": "asWRONG_CONFIG_GROUP",
- "-22": "asCONFIG_GROUP_IS_IN_USE",
- "-23": "asILLEGAL_BEHAVIOUR_FOR_TYPE",
- "-24": "asWRONG_CALLING_CONV",
- "-25": "asBUILD_IN_PROGRESS",
- "-26": "asINIT_GLOBAL_VARS_FAILED",
- "-27": "asOUT_OF_MEMORY",
- "-28": "asMODULE_IS_IN_USE",
- "-3": "asCONTEXT_NOT_FINISHED",
- "-4": "asCONTEXT_NOT_PREPARED",
- "-5": "asINVALID_ARG",
- "-6": "asNO_FUNCTION",
- "-7": "asNOT_SUPPORTED",
- "-8": "asINVALID_NAME",
- "-9": "asNAME_TAKEN",
- "0": "asSUCCESS"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asETypeModifiers",
- "values": {
- "0": "asTM_NONE",
- "1": "asTM_INREF",
- "2": "asTM_OUTREF",
- "3": "asTM_INOUTREF",
- "4": "asTM_CONST"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEBehaviours",
- "values": {
- "0": "asBEHAVE_CONSTRUCT",
- "1": "asBEHAVE_LIST_CONSTRUCT",
- "10": "asBEHAVE_SETGCFLAG",
- "11": "asBEHAVE_GETGCFLAG",
- "12": "asBEHAVE_ENUMREFS",
- "13": "asBEHAVE_RELEASEREFS",
- "14": "asBEHAVE_MAX",
- "2": "asBEHAVE_DESTRUCT",
- "3": "asBEHAVE_FACTORY",
- "4": "asBEHAVE_LIST_FACTORY",
- "5": "asBEHAVE_ADDREF",
- "6": "asBEHAVE_RELEASE",
- "7": "asBEHAVE_GET_WEAKREF_FLAG",
- "8": "asBEHAVE_TEMPLATE_CALLBACK",
- "9": "asBEHAVE_FIRST_GC"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEMsgType",
- "values": {
- "0": "asMSGTYPE_ERROR",
- "1": "asMSGTYPE_WARNING",
- "2": "asMSGTYPE_INFORMATION"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEEngineProp",
- "values": {
- "1": "asEP_ALLOW_UNSAFE_REFERENCES",
- "10": "asEP_REQUIRE_ENUM_SCOPE",
- "11": "asEP_SCRIPT_SCANNER",
- "12": "asEP_INCLUDE_JIT_INSTRUCTIONS",
- "13": "asEP_STRING_ENCODING",
- "14": "asEP_PROPERTY_ACCESSOR_MODE",
- "15": "asEP_EXPAND_DEF_ARRAY_TO_TMPL",
- "16": "asEP_AUTO_GARBAGE_COLLECT",
- "17": "asEP_DISALLOW_GLOBAL_VARS",
- "18": "asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT",
- "19": "asEP_COMPILER_WARNINGS",
- "2": "asEP_OPTIMIZE_BYTECODE",
- "20": "asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE",
- "21": "asEP_ALTER_SYNTAX_NAMED_ARGS",
- "22": "asEP_DISABLE_INTEGER_DIVISION",
- "23": "asEP_DISALLOW_EMPTY_LIST_ELEMENTS",
- "24": "asEP_PRIVATE_PROP_AS_PROTECTED",
- "25": "asEP_ALLOW_UNICODE_IDENTIFIERS",
- "26": "asEP_HEREDOC_TRIM_MODE",
- "27": "asEP_MAX_NESTED_CALLS",
- "28": "asEP_GENERIC_CALL_MODE",
- "29": "asEP_INIT_STACK_SIZE",
- "3": "asEP_COPY_SCRIPT_SECTIONS",
- "30": "asEP_INIT_CALL_STACK_SIZE",
- "31": "asEP_MAX_CALL_STACK_SIZE",
- "32": "asEP_LAST_PROPERTY",
- "4": "asEP_MAX_STACK_SIZE",
- "5": "asEP_USE_CHARACTER_LITERALS",
- "6": "asEP_ALLOW_MULTILINE_STRINGS",
- "7": "asEP_ALLOW_IMPLICIT_HANDLE_TYPES",
- "8": "asEP_BUILD_WITHOUT_LINE_CUES",
- "9": "asEP_INIT_GLOBAL_VARS_AFTER_BUILD"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEGMFlags",
- "values": {
- "0": "asGM_ONLY_IF_EXISTS",
- "1": "asGM_CREATE_IF_NOT_EXISTS",
- "2": "asGM_ALWAYS_CREATE"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asETokenClass",
- "values": {
- "0": "asTC_UNKNOWN",
- "1": "asTC_KEYWORD",
- "2": "asTC_VALUE",
- "3": "asTC_IDENTIFIER",
- "4": "asTC_COMMENT",
- "5": "asTC_WHITESPACE"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "METADATATYPE",
- "values": {
- "1": "MDT_TYPE",
- "2": "MDT_FUNC",
- "3": "MDT_VAR",
- "4": "MDT_VIRTPROP",
- "5": "MDT_FUNC_OR_VAR"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "asEFuncType",
- "values": {
- "-1": "asFUNC_DUMMY",
- "0": "asFUNC_SYSTEM",
- "1": "asFUNC_SCRIPT",
- "2": "asFUNC_INTERFACE",
- "3": "asFUNC_VIRTUAL",
- "4": "asFUNC_FUNCDEF",
- "5": "asFUNC_IMPORTED",
- "6": "asFUNC_DELEGATE"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "PkmnScriptCategory",
- "values": {
- "6": "Weather"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "EventDataKind",
- "values": {
- "0": "Damage",
- "1": "Heal",
- "2": "Faint",
- "3": "DisplayText"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "PkmnEventDataKind",
- "values": {
- "4": "WeatherChange"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "TurnChoiceKind",
- "values": {
- "0": "Pass",
- "1": "Attack",
- "2": "Item",
- "3": "Switch",
- "4": "Flee"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "AttackCategory",
- "values": {
- "0": "Physical",
- "1": "Magical",
- "2": "Status"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "syntax_option_type",
- "values": {}
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "error_type",
- "values": {
- "0": "_S_error_collate",
- "1": "_S_error_ctype",
- "10": "_S_error_badrepeat",
- "11": "_S_error_complexity",
- "12": "_S_error_stack",
- "2": "_S_error_escape",
- "3": "_S_error_backref",
- "4": "_S_error_brack",
- "5": "_S_error_paren",
- "6": "_S_error_brace",
- "7": "_S_error_badbrace",
- "8": "_S_error_range",
- "9": "_S_error_space"
- }
- },
- {
- "byteSize": 4,
- "filename": "pkmnLib",
- "name": "match_flag_type",
- "values": {}
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "DamageSource",
- "values": {
- "0": "AttackDamage"
- }
- },
- {
- "byteSize": 1,
- "filename": "pkmnLib",
- "name": "PkmnDamageSource",
- "values": {
- "1": "Struggle"
- }
- }
- ],
- "functions": [
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_Construct",
- "parameters": [],
- "returns": "AngelScriptResolver *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_Initialize",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "lib",
- "type": "BattleLibrary *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_CreateScript",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "name",
- "type": "const char *"
- },
- {
- "name": "script",
- "type": "const char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_FinalizeModule",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_LoadScript",
- "parameters": [
- {
- "name": "out",
- "type": "Script *&"
- },
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "category",
- "type": "ScriptCategory"
- },
- {
- "name": "scriptName",
- "type": "const char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_WriteByteCodeToFile",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "file",
- "type": "const char *"
- },
- {
- "name": "stripDebugInfo",
- "type": "bool"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_LoadByteCodeFromFile",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "file",
- "type": "const char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_WriteByteCodeToMemory",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "stripDebugInfo",
- "type": "bool"
- },
- {
- "name": "size",
- "type": "long unsigned int&"
- },
- {
- "name": "out",
- "type": "unsigned char *&"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "memory",
- "type": "unsigned char *"
- },
- {
- "name": "size",
- "type": "long unsigned int"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_RegisterType",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "typeName",
- "type": "const char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_RegisterTypeMethod",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "typeName",
- "type": "const char *"
- },
- {
- "name": "decl",
- "type": "const char *"
- },
- {
- "name": "func",
- "type": "Function *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_AngelScriptResolver_RegisterGlobalMethod",
- "parameters": [
- {
- "name": "p",
- "type": "AngelScriptResolver *"
- },
- {
- "name": "decl",
- "type": "const char *"
- },
- {
- "name": "func",
- "type": "Function *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_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"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Battle_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "Battle *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Battle_SetWeather",
- "parameters": [
- {
- "name": "p",
- "type": "Battle *"
- },
- {
- "name": "name",
- "type": "const char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Battle_ClearWeather",
- "parameters": [
- {
- "name": "p",
- "type": "Battle *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Battle_GetWeatherName",
- "parameters": [
- {
- "name": "p",
- "type": "Battle *"
- }
- ],
- "returns": "const char *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_BattleLibrary_Construct",
- "parameters": [
- {
- "name": "out",
- "type": "BattleLibrary *&"
- },
- {
- "name": "staticLib",
- "type": "PokemonLibrary *"
- },
- {
- "name": "statCalculator",
- "type": "StatCalculator *"
- },
- {
- "name": "damageLibrary",
- "type": "DamageLibrary *"
- },
- {
- "name": "experienceLibrary",
- "type": "ExperienceLibrary *"
- },
- {
- "name": "scriptResolver",
- "type": "ScriptResolver *"
- },
- {
- "name": "miscLibrary",
- "type": "MiscLibrary *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_BattleLibrary_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "BattleLibrary *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_DamageLibrary_Construct",
- "parameters": [],
- "returns": "DamageLibrary *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_DamageLibrary_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "DamageLibrary *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_WeatherChangeEvent_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "WeatherChangeEvent *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_WeatherChangeEvent_GetWeatherName",
- "parameters": [
- {
- "name": "p",
- "type": "WeatherChangeEvent *"
- }
- ],
- "returns": "const char *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_MiscLibrary_Construct",
- "parameters": [],
- "returns": "MiscLibrary *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_MiscLibrary_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "MiscLibrary *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PkmnScript_ModifyCriticalStage",
- "parameters": [
- {
- "name": "script",
- "type": "PkmnScript *"
- },
- {
- "name": "attack",
- "type": "ExecutingAttack *"
- },
- {
- "name": "target",
- "type": "Creature *"
- },
- {
- "name": "hit",
- "type": "unsigned char"
- },
- {
- "name": "critStage",
- "type": "unsigned char *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_Construct",
- "parameters": [
- {
- "name": "library",
- "type": "const BattleLibrary *"
- },
- {
- "name": "species",
- "type": "const PokemonSpecies *"
- },
- {
- "name": "forme",
- "type": "const PokemonForme *"
- },
- {
- "name": "level",
- "type": "unsigned char"
- },
- {
- "name": "experience",
- "type": "unsigned int"
- },
- {
- "name": "uid",
- "type": "unsigned int"
- },
- {
- "name": "gender",
- "type": "Gender"
- },
- {
- "name": "coloring",
- "type": "unsigned char"
- },
- {
- "name": "heldItem",
- "type": "const Item *"
- },
- {
- "name": "nickname",
- "type": "const char *"
- },
- {
- "name": "hiddenAbility",
- "type": "bool"
- },
- {
- "name": "abilityIndex",
- "type": "unsigned char"
- },
- {
- "name": "moves",
- "type": "const LearnedAttack * *"
- },
- {
- "name": "moveCount",
- "type": "long unsigned int"
- },
- {
- "name": "hpIv",
- "type": "unsigned char"
- },
- {
- "name": "attIv",
- "type": "unsigned char"
- },
- {
- "name": "defIv",
- "type": "unsigned char"
- },
- {
- "name": "sAtIv",
- "type": "unsigned char"
- },
- {
- "name": "sDeIv",
- "type": "unsigned char"
- },
- {
- "name": "spIv",
- "type": "unsigned char"
- },
- {
- "name": "hpEv",
- "type": "unsigned char"
- },
- {
- "name": "attEv",
- "type": "unsigned char"
- },
- {
- "name": "defEv",
- "type": "unsigned char"
- },
- {
- "name": "sAtEv",
- "type": "unsigned char"
- },
- {
- "name": "sDeEv",
- "type": "unsigned char"
- },
- {
- "name": "spEv",
- "type": "unsigned char"
- },
- {
- "name": "nature",
- "type": "const Nature *"
- }
- ],
- "returns": "Pokemon *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const Pokemon *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_IsShiny",
- "parameters": [
- {
- "name": "p",
- "type": "const Pokemon *"
- }
- ],
- "returns": "bool"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_GetNature",
- "parameters": [
- {
- "name": "p",
- "type": "const Pokemon *"
- }
- ],
- "returns": "const Nature *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_GetIndividualValue",
- "parameters": [
- {
- "name": "p",
- "type": "const Pokemon *"
- },
- {
- "name": "stat",
- "type": "Statistic"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Pokemon_GetEffortValue",
- "parameters": [
- {
- "name": "p",
- "type": "const Pokemon *"
- },
- {
- "name": "stat",
- "type": "Statistic"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_StatCalculator_Construct",
- "parameters": [],
- "returns": "StatCalculator *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_StatCalculator_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "StatCalculator *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_C_GetLastException",
- "parameters": [],
- "returns": "const char *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_EvolutionData_CreateLevelEvolution",
- "parameters": [
- {
- "name": "level",
- "type": "unsigned char"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_EvolutionData_CreateFriendshipEvolution",
- "parameters": [
- {
- "name": "friendship",
- "type": "unsigned char"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_EvolutionData_CreateKnownMoveEvolution",
- "parameters": [
- {
- "name": "move",
- "type": "const MoveData *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_EvolutionData_CreateLocationEvolution",
- "parameters": [
- {
- "name": "location",
- "type": "const char *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateTimeEvolution",
- "parameters": [
- {
- "name": "time",
- "type": "TimeOfDay"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateItemEvolution",
- "parameters": [
- {
- "name": "item",
- "type": "const Item *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateGenderBasedEvolution",
- "parameters": [
- {
- "name": "gender",
- "type": "Gender"
- },
- {
- "name": "level",
- "type": "unsigned char"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateItemUseEvolution",
- "parameters": [
- {
- "name": "item",
- "type": "const Item *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateItemUseWithGenderEvolution",
- "parameters": [
- {
- "name": "item",
- "type": "const Item *"
- },
- {
- "name": "gender",
- "type": "Gender"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateTradeEvolution",
- "parameters": [
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateTradeWithItemEvolution",
- "parameters": [
- {
- "name": "item",
- "type": "const Item *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateTradeWithSpeciesEvolution",
- "parameters": [
- {
- "name": "traded",
- "type": "const PokemonSpecies *"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_CreateCustomEvolution",
- "parameters": [
- {
- "name": "data",
- "type": "const EffectParameter * *"
- },
- {
- "name": "dataLength",
- "type": "long unsigned int"
- },
- {
- "name": "into",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "const EvolutionData *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_GetMethod",
- "parameters": [
- {
- "name": "data",
- "type": "const EvolutionData *"
- }
- ],
- "returns": "EvolutionMethod"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_GetNewSpecies",
- "parameters": [
- {
- "name": "data",
- "type": "const EvolutionData *"
- }
- ],
- "returns": "const PokemonSpecies *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_GetDataCount",
- "parameters": [
- {
- "name": "data",
- "type": "const EvolutionData *"
- }
- ],
- "returns": "long unsigned int"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Evolution_GetData",
- "parameters": [
- {
- "name": "data",
- "type": "const EvolutionData *"
- },
- {
- "name": "index",
- "type": "long unsigned int"
- },
- {
- "name": "out",
- "type": "const EffectParameter *&"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Item_Construct",
- "parameters": [
- {
- "name": "name",
- "type": "const char *"
- },
- {
- "name": "category",
- "type": "ItemCategory"
- },
- {
- "name": "battleCategory",
- "type": "BattleItemCategory"
- },
- {
- "name": "price",
- "type": "int"
- },
- {
- "name": "flags",
- "type": "const char * *"
- },
- {
- "name": "flagsCount",
- "type": "long unsigned int"
- },
- {
- "name": "flingPower",
- "type": "unsigned char"
- }
- ],
- "returns": "Item *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Item_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const Item *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Item_GetFlingPower",
- "parameters": [
- {
- "name": "p",
- "type": "const Item *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_LibrarySettings_Construct",
- "parameters": [
- {
- "name": "maximalLevel",
- "type": "unsigned char"
- },
- {
- "name": "maximalMoves",
- "type": "unsigned char"
- },
- {
- "name": "shinyRate",
- "type": "unsigned short"
- }
- ],
- "returns": "const LibrarySettings *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_LibrarySettings_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const LibrarySettings *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_LibrarySettings_GetShinyRate",
- "parameters": [
- {
- "name": "p",
- "type": "const LibrarySettings *"
- }
- ],
- "returns": "unsigned short"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_Construct",
- "parameters": [
- {
- "name": "increasedStat",
- "type": "Statistic"
- },
- {
- "name": "decreasedStat",
- "type": "Statistic"
- },
- {
- "name": "increasedModifier",
- "type": "float"
- },
- {
- "name": "decreasedModifier",
- "type": "float"
- }
- ],
- "returns": "Nature *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const Nature *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_GetIncreaseModifier",
- "parameters": [
- {
- "name": "p",
- "type": "const Nature *"
- }
- ],
- "returns": "float"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_GetDecreaseModifier",
- "parameters": [
- {
- "name": "p",
- "type": "const Nature *"
- }
- ],
- "returns": "float"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_GetIncreasedStat",
- "parameters": [
- {
- "name": "p",
- "type": "const Nature *"
- }
- ],
- "returns": "Statistic"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_GetDecreasedStat",
- "parameters": [
- {
- "name": "p",
- "type": "const Nature *"
- }
- ],
- "returns": "Statistic"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_Nature_GetStatModifier",
- "parameters": [
- {
- "name": "nature",
- "type": "const Nature *"
- },
- {
- "name": "stat",
- "type": "Statistic"
- }
- ],
- "returns": "float"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_Construct",
- "parameters": [
- {
- "name": "initialCapacity",
- "type": "long unsigned int"
- }
- ],
- "returns": "NatureLibrary *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const NatureLibrary *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_LoadNature",
- "parameters": [
- {
- "name": "p",
- "type": "NatureLibrary *"
- },
- {
- "name": "name",
- "type": "const char *"
- },
- {
- "name": "nature",
- "type": "const Nature *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_GetNatureByName",
- "parameters": [
- {
- "name": "p",
- "type": "NatureLibrary *"
- },
- {
- "name": "name",
- "type": "const char *"
- },
- {
- "name": "out",
- "type": "const Nature *&"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_GetRandomNatureName",
- "parameters": [
- {
- "name": "p",
- "type": "NatureLibrary *"
- },
- {
- "name": "rand",
- "type": "Random *"
- }
- ],
- "returns": "const char *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_NatureLibrary_GetNatureName",
- "parameters": [
- {
- "name": "p",
- "type": "NatureLibrary *"
- },
- {
- "name": "nature",
- "type": "const Nature *"
- },
- {
- "name": "out",
- "type": "const char *&"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_Construct",
- "parameters": [
- {
- "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"
- }
- ],
- "returns": "const PokemonSpecies *"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_Destruct",
- "parameters": [
- {
- "name": "p",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_GetBaseHappiness",
- "parameters": [
- {
- "name": "p",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "unsigned char"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_AddEvolution",
- "parameters": [
- {
- "name": "p",
- "type": "PokemonSpecies *"
- },
- {
- "name": "evo",
- "type": "EvolutionData *"
- }
- ],
- "returns": "void"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_GetEvolutionCount",
- "parameters": [
- {
- "name": "p",
- "type": "const PokemonSpecies *"
- }
- ],
- "returns": "long unsigned int"
- },
- {
- "filename": "pkmnLib",
- "name": "PkmnLib_PokemonSpecies_GetEvolution",
- "parameters": [
- {
- "name": "p",
- "type": "const PokemonSpecies *"
- },
- {
- "name": "index",
- "type": "long unsigned int"
- },
- {
- "name": "out",
- "type": "const EvolutionData *&"
- }
- ],
- "returns": "unsigned char"
- }
- ]
-}
\ No newline at end of file
+{"enums":[{"byteSize":4,"filename":"pkmnLib","name":"memory_order","values":{"0":"memory_order_relaxed","1":"memory_order_consume","2":"memory_order_acquire","3":"memory_order_release","4":"memory_order_acq_rel","5":"memory_order_seq_cst"}},{"byteSize":1,"filename":"pkmnLib","name":"ScriptCategory","values":{"0":"Attack","1":"Talent","2":"Status","3":"Creature","4":"Battle","5":"Side"}},{"byteSize":4,"filename":"pkmnLib","name":"asEObjTypeFlags","values":{"1":"asOBJ_REF","1024":"asOBJ_APP_CLASS_DESTRUCTOR","1048576":"asOBJ_IMPLICIT_HANDLE","1073741824":"asOBJ_APP_ALIGN16","128":"asOBJ_ASHANDLE","1280":"asOBJ_APP_CLASS_D","131072":"asOBJ_APP_CLASS_ALLFLOATS","134217728":"asOBJ_TEMPLATE_SUBTYPE","16":"asOBJ_NOHANDLE","16384":"asOBJ_APP_FLOAT","16777216":"asOBJ_FUNCDEF","1792":"asOBJ_APP_CLASS_CD","2":"asOBJ_VALUE","2048":"asOBJ_APP_CLASS_ASSIGNMENT","2097151":"asOBJ_MASK_VALID_FLAGS","2097152":"asOBJ_SCRIPT_OBJECT","2304":"asOBJ_APP_CLASS_A","256":"asOBJ_APP_CLASS","262144":"asOBJ_NOCOUNT","268435456":"asOBJ_TYPEDEF","2816":"asOBJ_APP_CLASS_CA","32":"asOBJ_SCOPED","32768":"asOBJ_APP_ARRAY","3328":"asOBJ_APP_CLASS_DA","33554432":"asOBJ_LIST_PATTERN","3840":"asOBJ_APP_CLASS_CDA","4":"asOBJ_GC","4096":"asOBJ_APP_CLASS_COPY_CONSTRUCTOR","4194304":"asOBJ_SHARED","4352":"asOBJ_APP_CLASS_K","4864":"asOBJ_APP_CLASS_CK","512":"asOBJ_APP_CLASS_CONSTRUCTOR","524288":"asOBJ_APP_CLASS_ALIGN8","536870912":"asOBJ_ABSTRACT","5376":"asOBJ_APP_CLASS_DK","5888":"asOBJ_APP_CLASS_CDK","64":"asOBJ_TEMPLATE","6400":"asOBJ_APP_CLASS_AK","65536":"asOBJ_APP_CLASS_ALLINTS","67108864":"asOBJ_ENUM","6912":"asOBJ_APP_CLASS_CAK","7424":"asOBJ_APP_CLASS_DAK","768":"asOBJ_APP_CLASS_C","7936":"asOBJ_APP_CLASS_CDAK","8":"asOBJ_POD","8192":"asOBJ_APP_PRIMITIVE","8388608":"asOBJ_NOINHERIT"}},{"byteSize":4,"filename":"pkmnLib","name":"asECallConvTypes","values":{"0":"asCALL_CDECL","1":"asCALL_STDCALL","2":"asCALL_THISCALL_ASGLOBAL","3":"asCALL_THISCALL","4":"asCALL_CDECL_OBJLAST","5":"asCALL_CDECL_OBJFIRST","6":"asCALL_GENERIC","7":"asCALL_THISCALL_OBJLAST","8":"asCALL_THISCALL_OBJFIRST"}},{"byteSize":1,"filename":"pkmnLib","name":"Statistic","values":{"0":"Health","1":"PhysicalAttack","2":"PhysicalDefense","3":"MagicalAttack","4":"MagicalDefense","5":"Speed"}},{"byteSize":1,"filename":"pkmnLib","name":"MoveCategory","values":{"0":"Physical","1":"Special","2":"Status"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackTarget","values":{"0":"Adjacent","1":"AdjacentAlly","10":"RandomOpponent","11":"Self","2":"AdjacentAllySelf","3":"AdjacentOpponent","4":"All","5":"AllAdjacent","6":"AllAdjacentOpponent","7":"AllAlly","8":"AllOpponent","9":"Any"}},{"byteSize":1,"filename":"pkmnLib","name":"EffectParameterType","values":{"0":"None","1":"Bool","2":"Int","3":"Float","4":"String"}},{"byteSize":4,"filename":"pkmnLib","name":"AttackLearnMethod","values":{"0":"Unknown","1":"Level"}},{"byteSize":1,"filename":"pkmnLib","name":"Gender","values":{"0":"Male","1":"Female","2":"Genderless"}},{"byteSize":1,"filename":"pkmnLib","name":"EvolutionMethod","values":{"0":"Level","1":"HighFriendship","10":"TradeWithHeldItem","11":"TradeWithSpecificPokemon","12":"Custom","2":"KnownMove","3":"LocationBased","4":"TimeBased","5":"HoldsItem","6":"IsGenderAndLevel","7":"EvolutionItemUse","8":"EvolutionItemUseWithGender","9":"Trade"}},{"byteSize":1,"filename":"pkmnLib","name":"TimeOfDay","values":{"0":"Night","1":"Morning","2":"Afternoon","3":"Evening"}},{"byteSize":1,"filename":"pkmnLib","name":"ItemCategory","values":{"0":"MiscItem","1":"CaptureDevice","2":"Medicine","3":"Berry","4":"MoveLearner","5":"VariantChanger","6":"KeyItem","7":"Mail"}},{"byteSize":1,"filename":"pkmnLib","name":"BattleItemCategory","values":{"0":"None","1":"Healing","2":"StatusHealing","3":"CaptureDevice","4":"MiscBattleItem"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeIdFlags","values":{"0":"asTYPEID_VOID","1":"asTYPEID_BOOL","10":"asTYPEID_FLOAT","1073741824":"asTYPEID_OBJHANDLE","11":"asTYPEID_DOUBLE","134217728":"asTYPEID_SCRIPTOBJECT","2":"asTYPEID_INT8","268435456":"asTYPEID_TEMPLATE","3":"asTYPEID_INT16","4":"asTYPEID_INT32","469762048":"asTYPEID_MASK_OBJECT","5":"asTYPEID_INT64","536870912":"asTYPEID_HANDLETOCONST","6":"asTYPEID_UINT8","67108863":"asTYPEID_MASK_SEQNBR","67108864":"asTYPEID_APPOBJECT","7":"asTYPEID_UINT16","8":"asTYPEID_UINT32","9":"asTYPEID_UINT64"}},{"byteSize":4,"filename":"pkmnLib","name":"asEContextState","values":{"0":"asEXECUTION_FINISHED","1":"asEXECUTION_SUSPENDED","2":"asEXECUTION_ABORTED","3":"asEXECUTION_EXCEPTION","4":"asEXECUTION_PREPARED","5":"asEXECUTION_UNINITIALIZED","6":"asEXECUTION_ACTIVE","7":"asEXECUTION_ERROR"}},{"byteSize":4,"filename":"pkmnLib","name":"asERetCodes","values":{"-1":"asERROR","-10":"asINVALID_DECLARATION","-11":"asINVALID_OBJECT","-12":"asINVALID_TYPE","-13":"asALREADY_REGISTERED","-14":"asMULTIPLE_FUNCTIONS","-15":"asNO_MODULE","-16":"asNO_GLOBAL_VAR","-17":"asINVALID_CONFIGURATION","-18":"asINVALID_INTERFACE","-19":"asCANT_BIND_ALL_FUNCTIONS","-2":"asCONTEXT_ACTIVE","-20":"asLOWER_ARRAY_DIMENSION_NOT_REGISTERED","-21":"asWRONG_CONFIG_GROUP","-22":"asCONFIG_GROUP_IS_IN_USE","-23":"asILLEGAL_BEHAVIOUR_FOR_TYPE","-24":"asWRONG_CALLING_CONV","-25":"asBUILD_IN_PROGRESS","-26":"asINIT_GLOBAL_VARS_FAILED","-27":"asOUT_OF_MEMORY","-28":"asMODULE_IS_IN_USE","-3":"asCONTEXT_NOT_FINISHED","-4":"asCONTEXT_NOT_PREPARED","-5":"asINVALID_ARG","-6":"asNO_FUNCTION","-7":"asNOT_SUPPORTED","-8":"asINVALID_NAME","-9":"asNAME_TAKEN","0":"asSUCCESS"}},{"byteSize":4,"filename":"pkmnLib","name":"asETypeModifiers","values":{"0":"asTM_NONE","1":"asTM_INREF","2":"asTM_OUTREF","3":"asTM_INOUTREF","4":"asTM_CONST"}},{"byteSize":4,"filename":"pkmnLib","name":"asEBehaviours","values":{"0":"asBEHAVE_CONSTRUCT","1":"asBEHAVE_LIST_CONSTRUCT","10":"asBEHAVE_SETGCFLAG","11":"asBEHAVE_GETGCFLAG","12":"asBEHAVE_ENUMREFS","13":"asBEHAVE_RELEASEREFS","14":"asBEHAVE_MAX","2":"asBEHAVE_DESTRUCT","3":"asBEHAVE_FACTORY","4":"asBEHAVE_LIST_FACTORY","5":"asBEHAVE_ADDREF","6":"asBEHAVE_RELEASE","7":"asBEHAVE_GET_WEAKREF_FLAG","8":"asBEHAVE_TEMPLATE_CALLBACK","9":"asBEHAVE_FIRST_GC"}},{"byteSize":4,"filename":"pkmnLib","name":"asEMsgType","values":{"0":"asMSGTYPE_ERROR","1":"asMSGTYPE_WARNING","2":"asMSGTYPE_INFORMATION"}},{"byteSize":4,"filename":"pkmnLib","name":"asEEngineProp","values":{"1":"asEP_ALLOW_UNSAFE_REFERENCES","10":"asEP_REQUIRE_ENUM_SCOPE","11":"asEP_SCRIPT_SCANNER","12":"asEP_INCLUDE_JIT_INSTRUCTIONS","13":"asEP_STRING_ENCODING","14":"asEP_PROPERTY_ACCESSOR_MODE","15":"asEP_EXPAND_DEF_ARRAY_TO_TMPL","16":"asEP_AUTO_GARBAGE_COLLECT","17":"asEP_DISALLOW_GLOBAL_VARS","18":"asEP_ALWAYS_IMPL_DEFAULT_CONSTRUCT","19":"asEP_COMPILER_WARNINGS","2":"asEP_OPTIMIZE_BYTECODE","20":"asEP_DISALLOW_VALUE_ASSIGN_FOR_REF_TYPE","21":"asEP_ALTER_SYNTAX_NAMED_ARGS","22":"asEP_DISABLE_INTEGER_DIVISION","23":"asEP_DISALLOW_EMPTY_LIST_ELEMENTS","24":"asEP_PRIVATE_PROP_AS_PROTECTED","25":"asEP_ALLOW_UNICODE_IDENTIFIERS","26":"asEP_HEREDOC_TRIM_MODE","27":"asEP_MAX_NESTED_CALLS","28":"asEP_GENERIC_CALL_MODE","29":"asEP_INIT_STACK_SIZE","3":"asEP_COPY_SCRIPT_SECTIONS","30":"asEP_INIT_CALL_STACK_SIZE","31":"asEP_MAX_CALL_STACK_SIZE","32":"asEP_LAST_PROPERTY","4":"asEP_MAX_STACK_SIZE","5":"asEP_USE_CHARACTER_LITERALS","6":"asEP_ALLOW_MULTILINE_STRINGS","7":"asEP_ALLOW_IMPLICIT_HANDLE_TYPES","8":"asEP_BUILD_WITHOUT_LINE_CUES","9":"asEP_INIT_GLOBAL_VARS_AFTER_BUILD"}},{"byteSize":4,"filename":"pkmnLib","name":"asEGMFlags","values":{"0":"asGM_ONLY_IF_EXISTS","1":"asGM_CREATE_IF_NOT_EXISTS","2":"asGM_ALWAYS_CREATE"}},{"byteSize":4,"filename":"pkmnLib","name":"asETokenClass","values":{"0":"asTC_UNKNOWN","1":"asTC_KEYWORD","2":"asTC_VALUE","3":"asTC_IDENTIFIER","4":"asTC_COMMENT","5":"asTC_WHITESPACE"}},{"byteSize":4,"filename":"pkmnLib","name":"METADATATYPE","values":{"1":"MDT_TYPE","2":"MDT_FUNC","3":"MDT_VAR","4":"MDT_VIRTPROP","5":"MDT_FUNC_OR_VAR"}},{"byteSize":4,"filename":"pkmnLib","name":"asEFuncType","values":{"-1":"asFUNC_DUMMY","0":"asFUNC_SYSTEM","1":"asFUNC_SCRIPT","2":"asFUNC_INTERFACE","3":"asFUNC_VIRTUAL","4":"asFUNC_FUNCDEF","5":"asFUNC_IMPORTED","6":"asFUNC_DELEGATE"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnScriptCategory","values":{"6":"Weather"}},{"byteSize":1,"filename":"pkmnLib","name":"EventDataKind","values":{"0":"Damage","1":"Heal","2":"Faint","3":"DisplayText"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnEventDataKind","values":{"4":"WeatherChange"}},{"byteSize":1,"filename":"pkmnLib","name":"TurnChoiceKind","values":{"0":"Pass","1":"Attack","2":"Item","3":"Switch","4":"Flee"}},{"byteSize":1,"filename":"pkmnLib","name":"AttackCategory","values":{"0":"Physical","1":"Magical","2":"Status"}},{"byteSize":4,"filename":"pkmnLib","name":"syntax_option_type","values":{}},{"byteSize":4,"filename":"pkmnLib","name":"error_type","values":{"0":"_S_error_collate","1":"_S_error_ctype","10":"_S_error_badrepeat","11":"_S_error_complexity","12":"_S_error_stack","2":"_S_error_escape","3":"_S_error_backref","4":"_S_error_brack","5":"_S_error_paren","6":"_S_error_brace","7":"_S_error_badbrace","8":"_S_error_range","9":"_S_error_space"}},{"byteSize":4,"filename":"pkmnLib","name":"match_flag_type","values":{}},{"byteSize":1,"filename":"pkmnLib","name":"DamageSource","values":{"0":"AttackDamage"}},{"byteSize":1,"filename":"pkmnLib","name":"PkmnDamageSource","values":{"1":"Struggle"}}],"functions":[{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Construct","parameters":[],"returns":"AngelScriptResolver *"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Destruct","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_Initialize","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"lib","type":"BattleLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_CreateScript","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"name","type":"const char *"},{"name":"script","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_FinalizeModule","parameters":[{"name":"p","type":"AngelScriptResolver *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadScript","parameters":[{"name":"out","type":"Script *&"},{"name":"p","type":"AngelScriptResolver *"},{"name":"category","type":"ScriptCategory"},{"name":"scriptName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"},{"name":"stripDebugInfo","type":"bool"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromFile","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"file","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_WriteByteCodeToMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"stripDebugInfo","type":"bool"},{"name":"size","type":"long unsigned int&"},{"name":"out","type":"unsigned char *&"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_LoadByteCodeFromMemory","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"memory","type":"unsigned char *"},{"name":"size","type":"long unsigned int"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterType","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterTypeMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"typeName","type":"const char *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_AngelScriptResolver_RegisterGlobalMethod","parameters":[{"name":"p","type":"AngelScriptResolver *"},{"name":"decl","type":"const char *"},{"name":"func","type":"Function *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_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"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_Destruct","parameters":[{"name":"p","type":"Battle *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Battle_SetWeather","parameters":[{"name":"p","type":"Battle *"},{"name":"name","type":"const char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_ClearWeather","parameters":[{"name":"p","type":"Battle *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Battle_GetWeatherName","parameters":[{"name":"p","type":"Battle *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Construct","parameters":[{"name":"out","type":"BattleLibrary *&"},{"name":"staticLib","type":"PokemonLibrary *"},{"name":"statCalculator","type":"StatCalculator *"},{"name":"damageLibrary","type":"DamageLibrary *"},{"name":"experienceLibrary","type":"ExperienceLibrary *"},{"name":"scriptResolver","type":"ScriptResolver *"},{"name":"miscLibrary","type":"MiscLibrary *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_BattleLibrary_Destruct","parameters":[{"name":"p","type":"BattleLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Construct","parameters":[],"returns":"DamageLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_DamageLibrary_Destruct","parameters":[{"name":"p","type":"DamageLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_Destruct","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_WeatherChangeEvent_GetWeatherName","parameters":[{"name":"p","type":"WeatherChangeEvent *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Construct","parameters":[],"returns":"MiscLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_MiscLibrary_Destruct","parameters":[{"name":"p","type":"MiscLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PkmnScript_ModifyCriticalStage","parameters":[{"name":"script","type":"PkmnScript *"},{"name":"attack","type":"ExecutingAttack *"},{"name":"target","type":"Creature *"},{"name":"hit","type":"unsigned char"},{"name":"critStage","type":"unsigned char *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Construct","parameters":[{"name":"library","type":"const BattleLibrary *"},{"name":"species","type":"const PokemonSpecies *"},{"name":"forme","type":"const PokemonForme *"},{"name":"level","type":"unsigned char"},{"name":"experience","type":"unsigned int"},{"name":"uid","type":"unsigned int"},{"name":"gender","type":"Gender"},{"name":"coloring","type":"unsigned char"},{"name":"heldItem","type":"const Item *"},{"name":"nickname","type":"const char *"},{"name":"hiddenAbility","type":"bool"},{"name":"abilityIndex","type":"unsigned char"},{"name":"moves","type":"const LearnedAttack * *"},{"name":"moveCount","type":"long unsigned int"},{"name":"hpIv","type":"unsigned char"},{"name":"attIv","type":"unsigned char"},{"name":"defIv","type":"unsigned char"},{"name":"sAtIv","type":"unsigned char"},{"name":"sDeIv","type":"unsigned char"},{"name":"spIv","type":"unsigned char"},{"name":"hpEv","type":"unsigned char"},{"name":"attEv","type":"unsigned char"},{"name":"defEv","type":"unsigned char"},{"name":"sAtEv","type":"unsigned char"},{"name":"sDeEv","type":"unsigned char"},{"name":"spEv","type":"unsigned char"},{"name":"nature","type":"const Nature *"}],"returns":"Pokemon *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_Destruct","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_IsShiny","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"bool"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetNature","parameters":[{"name":"p","type":"const Pokemon *"}],"returns":"const Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetIndividualValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Pokemon_GetEffortValue","parameters":[{"name":"p","type":"const Pokemon *"},{"name":"stat","type":"Statistic"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Construct","parameters":[],"returns":"StatCalculator *"},{"filename":"pkmnLib","name":"PkmnLib_StatCalculator_Destruct","parameters":[{"name":"p","type":"StatCalculator *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_C_GetLastException","parameters":[],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLevelEvolution","parameters":[{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateFriendshipEvolution","parameters":[{"name":"friendship","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateKnownMoveEvolution","parameters":[{"name":"move","type":"const MoveData *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_EvolutionData_CreateLocationEvolution","parameters":[{"name":"location","type":"const char *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateTimeEvolution","parameters":[{"name":"time","type":"TimeOfDay"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateGenderBasedEvolution","parameters":[{"name":"gender","type":"Gender"},{"name":"level","type":"unsigned char"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateItemUseEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateItemUseWithGenderEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"gender","type":"Gender"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateTradeEvolution","parameters":[{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateTradeWithItemEvolution","parameters":[{"name":"item","type":"const Item *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateTradeWithSpeciesEvolution","parameters":[{"name":"traded","type":"const PokemonSpecies *"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_CreateCustomEvolution","parameters":[{"name":"data","type":"const EffectParameter * *"},{"name":"dataLength","type":"long unsigned int"},{"name":"into","type":"const PokemonSpecies *"}],"returns":"const EvolutionData *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_GetMethod","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"EvolutionMethod"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_GetNewSpecies","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"const PokemonSpecies *"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_GetDataCount","parameters":[{"name":"data","type":"const EvolutionData *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_Evolution_GetData","parameters":[{"name":"data","type":"const EvolutionData *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EffectParameter *&"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_Item_Construct","parameters":[{"name":"name","type":"const char *"},{"name":"category","type":"ItemCategory"},{"name":"battleCategory","type":"BattleItemCategory"},{"name":"price","type":"int"},{"name":"flags","type":"const char * *"},{"name":"flagsCount","type":"long unsigned int"},{"name":"flingPower","type":"unsigned char"}],"returns":"Item *"},{"filename":"pkmnLib","name":"PkmnLib_Item_Destruct","parameters":[{"name":"p","type":"const Item *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Item_GetFlingPower","parameters":[{"name":"p","type":"const Item *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Construct","parameters":[{"name":"maximalLevel","type":"unsigned char"},{"name":"maximalMoves","type":"unsigned char"},{"name":"shinyRate","type":"unsigned short"}],"returns":"const LibrarySettings *"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_Destruct","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_LibrarySettings_GetShinyRate","parameters":[{"name":"p","type":"const LibrarySettings *"}],"returns":"unsigned short"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Construct","parameters":[{"name":"increasedStat","type":"Statistic"},{"name":"decreasedStat","type":"Statistic"},{"name":"increasedModifier","type":"float"},{"name":"decreasedModifier","type":"float"}],"returns":"Nature *"},{"filename":"pkmnLib","name":"PkmnLib_Nature_Destruct","parameters":[{"name":"p","type":"const Nature *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreaseModifier","parameters":[{"name":"p","type":"const Nature *"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetIncreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetDecreasedStat","parameters":[{"name":"p","type":"const Nature *"}],"returns":"Statistic"},{"filename":"pkmnLib","name":"PkmnLib_Nature_GetStatModifier","parameters":[{"name":"nature","type":"const Nature *"},{"name":"stat","type":"Statistic"}],"returns":"float"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Construct","parameters":[{"name":"initialCapacity","type":"long unsigned int"}],"returns":"NatureLibrary *"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_Destruct","parameters":[{"name":"p","type":"const NatureLibrary *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_LoadNature","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"nature","type":"const Nature *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureByName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"name","type":"const char *"},{"name":"out","type":"const Nature *&"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetRandomNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"rand","type":"Random *"}],"returns":"const char *"},{"filename":"pkmnLib","name":"PkmnLib_NatureLibrary_GetNatureName","parameters":[{"name":"p","type":"NatureLibrary *"},{"name":"nature","type":"const Nature *"},{"name":"out","type":"const char *&"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_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"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_Destruct","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetBaseHappiness","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"unsigned char"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_AddEvolution","parameters":[{"name":"p","type":"PokemonSpecies *"},{"name":"evo","type":"EvolutionData *"}],"returns":"void"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolutionCount","parameters":[{"name":"p","type":"const PokemonSpecies *"}],"returns":"long unsigned int"},{"filename":"pkmnLib","name":"PkmnLib_PokemonSpecies_GetEvolution","parameters":[{"name":"p","type":"const PokemonSpecies *"},{"name":"index","type":"long unsigned int"},{"name":"out","type":"const EvolutionData *&"}],"returns":"unsigned char"}]}
diff --git a/PkmnLibSharpTests/Library/SpeciesTests.cs b/PkmnLibSharpTests/Library/SpeciesTests.cs
new file mode 100644
index 0000000..48bf422
--- /dev/null
+++ b/PkmnLibSharpTests/Library/SpeciesTests.cs
@@ -0,0 +1,17 @@
+using NUnit.Framework;
+using PkmnLibSharp.Library;
+
+namespace PkmnLibSharpTests.Library
+{
+ public class SpeciesTests
+ {
+ [Test]
+ public void ConstructDestruct()
+ {
+ var forme = Forme.Create("foo", 1, 2, 100, new byte[] {0}, 10, 10, 10, 10, 10, 10, new[] {"foo"},
+ new[] {"bar"}, LearnableMoves.Create(100));
+ var species = Species.Create(0, "testSpecies", forme, 0.5f, "exponential", 100, 80);
+ species.Dispose();
+ }
+ }
+}
\ No newline at end of file