From ee45e3d2bf40115fae177eb012270af4cdae9d17 Mon Sep 17 00:00:00 2001 From: LukasPob <59888147+LukasPob@users.noreply.github.com> Date: Thu, 18 Jan 2024 19:28:23 +0000 Subject: [PATCH 1/2] Update GameMode.h --- AsaApi/Core/Public/API/ARK/GameMode.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/AsaApi/Core/Public/API/ARK/GameMode.h b/AsaApi/Core/Public/API/ARK/GameMode.h index 4389d100..9270e425 100644 --- a/AsaApi/Core/Public/API/ARK/GameMode.h +++ b/AsaApi/Core/Public/API/ARK/GameMode.h @@ -2007,10 +2007,10 @@ struct AShooterGameMode : APrimalGameMode float& BabyMatureSpeedMultiplierField() { return *GetNativePointerField(this, "AShooterGameMode.BabyMatureSpeedMultiplier"); } float& BabyFoodConsumptionSpeedMultiplierField() { return *GetNativePointerField(this, "AShooterGameMode.BabyFoodConsumptionSpeedMultiplier"); } int& CurrentPlatformSaddleStructuresField() { return *GetNativePointerField(this, "AShooterGameMode.CurrentPlatformSaddleStructures"); } - //float[12] & PerLevelStatsMultiplier_PlayerField() { return *GetNativePointerField(this, "AShooterGameMode.PerLevelStatsMultiplier_Player"); } - //float[12] & PerLevelStatsMultiplier_DinoTamedField() { return *GetNativePointerField(this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed"); } - //float[12] & PerLevelStatsMultiplier_DinoTamed_AddField() { return *GetNativePointerField(this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed_Add"); } - //float[12] & PerLevelStatsMultiplier_DinoTamed_AffinityField() { return *GetNativePointerField(this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed_Affinity"); } + FieldArray PerLevelStatsMultiplier_PlayerField() { return { this, "AShooterGameMode.PerLevelStatsMultiplier_Player" }; } + FieldArray PerLevelStatsMultiplier_DinoTamedField() { return { this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed"}; } + FieldArray PerLevelStatsMultiplier_DinoTamed_AddField() { return{ this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed_Add"}; } + FieldArray PerLevelStatsMultiplier_DinoTamed_AffinityField() { return { this, "AShooterGameMode.PerLevelStatsMultiplier_DinoTamed_Affinity" }; } //float[12] & PerLevelStatsMultiplier_DinoWildField() { return *GetNativePointerField(this, "AShooterGameMode.PerLevelStatsMultiplier_DinoWild"); } //int[12] & MutagenLevelBoostField() { return *GetNativePointerField(this, "AShooterGameMode.MutagenLevelBoost"); } //int[12] & MutagenLevelBoost_BredField() { return *GetNativePointerField(this, "AShooterGameMode.MutagenLevelBoost_Bred"); } From e1790bda5dec7c875d0c88d65dc4ce412eac2a82 Mon Sep 17 00:00:00 2001 From: LukasPob <59888147+LukasPob@users.noreply.github.com> Date: Mon, 26 Feb 2024 21:15:07 +0000 Subject: [PATCH 2/2] EngramEntry Definition --- AsaApi/Core/Public/API/ARK/GameMode.h | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/AsaApi/Core/Public/API/ARK/GameMode.h b/AsaApi/Core/Public/API/ARK/GameMode.h index 6cf3fd7e..81bb1c2d 100644 --- a/AsaApi/Core/Public/API/ARK/GameMode.h +++ b/AsaApi/Core/Public/API/ARK/GameMode.h @@ -782,6 +782,50 @@ struct UWorld : UPrimalWorld //UHLODSubsystem* GetSubsystem() { return NativeCall(this, "UWorld.GetSubsystem()"); } }; +struct UPrimalEngramEntry : UObject +{ + // Fields + + int& RequiredCharacterLevelField() { return *GetNativePointerField(this, "UPrimalEngramEntry.RequiredCharacterLevel"); } + int& RequiredEngramPointsField() { return *GetNativePointerField(this, "UPrimalEngramEntry.RequiredEngramPoints"); } + TSubclassOf& BluePrintEntryField() { return *GetNativePointerField*>(this, "UPrimalEngramEntry.BluePrintEntry"); } + FString& ExtraEngramDescriptionField() { return *GetNativePointerField(this, "UPrimalEngramEntry.ExtraEngramDescription"); } + TArray >& EngramRequirementSetsField() { return *GetNativePointerField >*>(this, "UPrimalEngramEntry.EngramRequirementSets"); } + int& MyEngramIndexField() { return *GetNativePointerField(this, "UPrimalEngramEntry.MyEngramIndex"); } + TEnumAsByte& EngramGroupField() { return *GetNativePointerField*>(this, "UPrimalEngramEntry.EngramGroup"); } + TEnumAsByte& EngramCategoryField() { return *GetNativePointerField*>(this, "UPrimalEngramEntry.EngramCategory"); } + + // Bitfields + + BitFieldValue bGiveBlueprintToPlayerInventoryField() { return { this, "UPrimalEngramEntry.bGiveBlueprintToPlayerInventory" }; } + BitFieldValue bCanBeManuallyUnlockedField() { return { this, "UPrimalEngramEntry.bCanBeManuallyUnlocked" }; } + BitFieldValue bForceIsTekEngramField() { return { this, "UPrimalEngramEntry.bForceIsTekEngram" }; } + + // Functions + + int GetRequiredEngramPoints() { return NativeCall(this, "UPrimalEngramEntry.GetRequiredEngramPoints()"); } + //static UClass* StaticClass() { return NativeCall(this, "UPrimalEngramEntry.StaticClass()"); } + int GetRequiredLevel() { return NativeCall(this, "UPrimalEngramEntry.GetRequiredLevel()"); } + FString GetEngramDescription(AShooterPlayerState* aPlayerState) { return NativeCall(this, "UPrimalEngramEntry.GetEngramDescription(AShooterPlayerState*)", aPlayerState); } + FString GetEntryString() { return NativeCall(this, "UPrimalEngramEntry.GetEntryString()"); } + FString GetEngramName() { return NativeCall(this, "UPrimalEngramEntry.GetEngramName()"); } + bool UseEngramRequirementSets() { return NativeCall(this, "UPrimalEngramEntry.UseEngramRequirementSets()"); } + UTexture2D* GetEntryIcon(UObject* AssociatedDataObject, bool bIsEnabled) { return NativeCall(this, "UPrimalEngramEntry.GetEntryIcon(UObject*,bool)", AssociatedDataObject, bIsEnabled); } + //static void StaticRegisterNativesUPrimalEngramEntry() { NativeCall(this, "UPrimalEngramEntry.StaticRegisterNativesUPrimalEngramEntry()"); } + //bool MeetsEngramRequirements(AShooterPlayerState* aPlayerState, bool bOnlyCheckLevel, bool bDontCheckEngramPreRequirements) { return NativeCall(this, "UPrimalEngramEntry.MeetsEngramRequirements(AShooterPlayerState*,bool,bool)", aPlayerState, bOnlyCheckLevel, bDontCheckEngramPreRequirements); } + void GetAllChainedPreReqs(AShooterPlayerState* aPlayerState, TArray, TSizedDefaultAllocator<32> >& TestedEntries) { NativeCall, TSizedDefaultAllocator<32> >&>(this, "UPrimalEngramEntry.GetAllChainedPreReqs(AShooterPlayerState*,TArray,TSizedDefaultAllocator<32>>&)", aPlayerState, TestedEntries); } + int GetChainRequiredEngramPoints(TArray, TSizedDefaultAllocator<32> >& TestedEntries) { return NativeCall, TSizedDefaultAllocator<32> >&>(this, "UPrimalEngramEntry.GetChainRequiredEngramPoints(TArray,TSizedDefaultAllocator<32>>&)", TestedEntries); } + bool GetDownscaleWrappedTextToFit() { return NativeCall(this, "UPrimalEngramEntry.GetDownscaleWrappedTextToFit()"); } + bool MeetsEngramChainRequirements(AShooterPlayerState* aPlayerState) { return NativeCall(this, "UPrimalEngramEntry.MeetsEngramChainRequirements(AShooterPlayerState*)", aPlayerState); } + UObject* _getUObject()const { return NativeCall(this, "UPrimalEngramEntry._getUObject()"); } + void ClearHiddenEngramRequirements() { NativeCall(this, "UPrimalEngramEntry.ClearHiddenEngramRequirements()"); } + UObject* GetObject() { return NativeCall(this, "UPrimalEngramEntry.GetObject()"); } + +}; + + + + struct UPrimalGameData : UObject { // Fields