Get the LocationToSpawnLoot values from LootSpawnLocation_Athena

This commit is contained in:
PRO100KatYT
2023-05-21 18:36:39 +02:00
parent 33433ea9de
commit d6db4826c6
3 changed files with 16 additions and 1 deletions

View File

@@ -105,6 +105,15 @@ FVector AActor::GetActorLocation()
return ret;
}
FVector AActor::GetActorForwardVector()
{
static auto GetActorForwardVectorFn = FindObject<UFunction>("/Script/Engine.Actor.GetActorForwardVector");
FVector ret;
this->ProcessEvent(GetActorForwardVectorFn, &ret);
return ret;
}
FVector AActor::GetActorRightVector()
{
static auto GetActorRightVectorFn = FindObject<UFunction>("/Script/Engine.Actor.GetActorRightVector");

View File

@@ -27,6 +27,7 @@ public:
AActor* GetOwner();
struct FVector GetActorScale3D();
struct FVector GetActorLocation();
struct FVector GetActorForwardVector();
struct FVector GetActorRightVector();
struct FVector GetActorUpVector();
void K2_DestroyActor();

View File

@@ -7,7 +7,12 @@
bool ABuildingContainer::SpawnLoot(AFortPawn* Pawn)
{
auto GameMode = Cast<AFortGameModeAthena>(GetWorld()->GetGameMode());
FVector LocationToSpawnLoot = this->GetActorLocation() + this->GetActorRightVector() * 70.f + this->GetActorUpVector() * 50.f;
static auto LootSpawnLocationOffset = this->GetOffset("LootSpawnLocation_Athena");
auto LSL = this->Get<FVector>(LootSpawnLocationOffset);
FVector LocationToSpawnLoot = this->GetActorLocation() + this->GetActorForwardVector() * LSL.X + this->GetActorRightVector() * LSL.Y + this->GetActorUpVector() * LSL.Z;
static auto SearchLootTierGroupOffset = this->GetOffset("SearchLootTierGroup");
auto RedirectedLootTier = GameMode->RedirectLootTier(this->Get<FName>(SearchLootTierGroupOffset));