Implemented Eliminate Timothy Huntsmer CheckPoint

This commit is contained in:
Rafal Swierczek 2024-02-01 23:33:51 +00:00
parent b63c4ea348
commit 71a416946f
21 changed files with 68 additions and 30 deletions

View File

@ -9,14 +9,18 @@
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="8acc2658-cb31-4c49-857f-282cfee74640" name="Changes" comment=""> <list default="true" id="8acc2658-cb31-4c49-857f-282cfee74640" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.EndlessVendetta/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CP_ElimTImothyHuntsmer.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/CP_ElimTImothyHuntsmer.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/MB_Apartment.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/OWCP_Apartment.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ApartmentBounty/OWCP_Apartment.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/BountySystem/CP_FinalCheckpoint.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/CP_FinalCheckpoint.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/BountySystem/ControlsTutorial/Bounty/OWCP_Training.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/ControlsTutorial/Bounty/OWCP_Training.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/MainMenuLevel.umap" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/BountySystem/Legacy/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/BountySystem/Legacy/TutorialFacility/Checkpoints/BountySimulation/CP_ElimTutorialTarget.uasset" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/Levels/TempOpenWorld.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/TempOpenWorld.umap" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Content/Levels/Apartment_hit.umap" beforeDir="false" afterPath="$PROJECT_DIR$/Content/Levels/Apartment_hit.umap" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/Architecture/Floor_400x400.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset" beforeDir="false" afterPath="$PROJECT_DIR$/Content/StarterContent/Blueprints/Blueprint_CeilingLight.uasset" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/BountySystem/CheckpointClass.h" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/SpaceShip/SpaceShip.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/SpaceShip/SpaceShip.cpp" afterDir="false" /> <change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/Characters/BountyHunterCharacter.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/EVGameInstance.cpp" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/EVGameInstance.cpp" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/EndlessVendettaCharacter.h" afterDir="false" />
<change beforePath="$PROJECT_DIR$/Source/EndlessVendetta/MainSaveGameClass.h" beforeDir="false" afterPath="$PROJECT_DIR$/Source/EndlessVendetta/MainSaveGameClass.h" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -139,7 +143,7 @@
<workItem from="1706203836052" duration="7461000" /> <workItem from="1706203836052" duration="7461000" />
<workItem from="1706626387819" duration="5432000" /> <workItem from="1706626387819" duration="5432000" />
<workItem from="1706711852868" duration="19944000" /> <workItem from="1706711852868" duration="19944000" />
<workItem from="1706799696925" duration="3439000" /> <workItem from="1706799696925" duration="11011000" />
</task> </task>
<servers /> <servers />
</component> </component>

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1 version https://git-lfs.github.com/spec/v1
oid sha256:9d351bbac850938f4243559fb2004190dc0a9ecc375e967e1beee57237a90123 oid sha256:7154a02aabca9ad54b560faf66989f17a0baa31478911e832b090c33c7a4bb61
size 299666 size 299618

Binary file not shown.

View File

@ -2,17 +2,18 @@
#include "BountyHunterCharacter.h" #include "BountyHunterCharacter.h"
#include "EndlessVendetta/EVGameInstance.h"
#include "Kismet/GameplayStatics.h" #include "Kismet/GameplayStatics.h"
void ABountyHunterCharacter::SpawnMainBounty() void ABountyHunterCharacter::SpawnMainBounty()
{ {
UEVGameInstance* GI = Cast<UEVGameInstance>(GetGameInstance()); UEVGameInstance* GI = Cast<UEVGameInstance>(GetGameInstance());
if (!IsValid(GI->MainSaveGameInstanceRef)) return; if (!IsValid(GI->MainSaveGameInstanceRef)) return;
CurrentMainBountyIndex = GI->MainSaveGameInstanceRef->LastMainBountyIndexInOpenWorld;
if (GI->MainSaveGameInstanceRef->CurrentMainBountyIndexSave > CurrentMainBountyIndex) CompleteCurrentMainBounty(); UE_LOG(LogTemp, Warning, TEXT("Loaded current bounty as %d"), CurrentMainBountyIndex);
if (GI->MainSaveGameInstanceRef->CurrentMainBountyIndexSave > CurrentMainBountyIndex) CompleteCurrentMainBounty(GI);
if (MainBountyClasses.IsEmpty() || MainBountyClasses.Num() <= CurrentMainBountyIndex|| !IsValid(MainBountyClasses[CurrentMainBountyIndex])) if (MainBountyClasses.IsEmpty() || MainBountyClasses.Num() <= CurrentMainBountyIndex|| !IsValid(MainBountyClasses[CurrentMainBountyIndex]))
{ {
AllBountiesCompleted(); AllBountiesCompleted();
@ -21,16 +22,19 @@ void ABountyHunterCharacter::SpawnMainBounty()
CurrentMainBounty = GetWorld()->SpawnActor<AMainBountyClass>(MainBountyClasses[CurrentMainBountyIndex]); CurrentMainBounty = GetWorld()->SpawnActor<AMainBountyClass>(MainBountyClasses[CurrentMainBountyIndex]);
const FAttachmentTransformRules AttachmentTransformRules(EAttachmentRule::SnapToTarget, true); const FAttachmentTransformRules AttachmentTransformRules(EAttachmentRule::SnapToTarget, true);
AttachToComponent(GetRootComponent(), AttachmentTransformRules); CurrentMainBounty->AttachToComponent(GetRootComponent(), AttachmentTransformRules);
UGameplayStatics::GetCurrentLevelName(GetWorld()) == OpenWorldLevelName ? CurrentMainBounty->SpawnOpenWorldCheckpoint() : CurrentMainBounty->SpawnCheckpoints(); UGameplayStatics::GetCurrentLevelName(GetWorld()) == OpenWorldLevelName ? CurrentMainBounty->SpawnOpenWorldCheckpoint() : CurrentMainBounty->SpawnCheckpoints();
} }
void ABountyHunterCharacter::CompleteCurrentMainBounty() void ABountyHunterCharacter::CompleteCurrentMainBounty(UEVGameInstance* GI)
{ {
// Collect rewards for bounty and move onto next // Collect rewards for bounty and move onto next
UE_LOG(LogTemp, Warning, TEXT("Would be collecting reward for completing bounty and moving onto next if possible")); UE_LOG(LogTemp, Warning, TEXT("Would be collecting reward for completing bounty %d"), CurrentMainBountyIndex);
CurrentMainBountyIndex++;
CurrentMainBountyIndex = GI->MainSaveGameInstanceRef->CurrentMainBountyIndexSave;
GI->MainSaveGameInstanceRef->LastMainBountyIndexInOpenWorld = CurrentMainBountyIndex;
UGameplayStatics::SaveGameToSlot(GI->MainSaveGameInstanceRef, "MainSave", 0);
} }
void ABountyHunterCharacter::AllBountiesCompleted() void ABountyHunterCharacter::AllBountiesCompleted()

View File

@ -4,6 +4,7 @@
#include "CoreMinimal.h" #include "CoreMinimal.h"
#include "EndlessVendetta/EndlessVendettaCharacter.h" #include "EndlessVendetta/EndlessVendettaCharacter.h"
#include "EndlessVendetta/EVGameInstance.h"
#include "EndlessVendetta/MainSaveGameClass.h" #include "EndlessVendetta/MainSaveGameClass.h"
#include "EndlessVendetta/BountySystem/MainBountyClass.h" #include "EndlessVendetta/BountySystem/MainBountyClass.h"
#include "BountyHunterCharacter.generated.h" #include "BountyHunterCharacter.generated.h"
@ -42,7 +43,7 @@ private:
void SpawnMainBounty(); void SpawnMainBounty();
// Collects Reward for Current Main Bounty and Increments the Main Bounty Index // Collects Reward for Current Main Bounty and Increments the Main Bounty Index
void CompleteCurrentMainBounty(); void CompleteCurrentMainBounty(UEVGameInstance* GI);
// Replaces Normal Bounty Info UI with Unique Game Over UI // Replaces Normal Bounty Info UI with Unique Game Over UI
void AllBountiesCompleted(); void AllBountiesCompleted();

View File

@ -11,6 +11,7 @@ void UEVGameInstance::CreateNewSaveGameInstance()
MainSaveGameInstanceRef = Cast<UMainSaveGameClass>(UGameplayStatics::CreateSaveGameObject(UMainSaveGameClass::StaticClass())); MainSaveGameInstanceRef = Cast<UMainSaveGameClass>(UGameplayStatics::CreateSaveGameObject(UMainSaveGameClass::StaticClass()));
MainSaveGameInstanceRef->CurrentMainBountyIndexSave = 0; MainSaveGameInstanceRef->CurrentMainBountyIndexSave = 0;
MainSaveGameInstanceRef->LastMainBountyIndexInOpenWorld = 0;
UGameplayStatics::SaveGameToSlot(MainSaveGameInstanceRef, "MainSave", 0); UGameplayStatics::SaveGameToSlot(MainSaveGameInstanceRef, "MainSave", 0);
} }

View File

@ -138,6 +138,7 @@ protected:
void RegenHealth(); void RegenHealth();
FTimerHandle RegenHealthTimerHandle; FTimerHandle RegenHealthTimerHandle;
UFUNCTION(BlueprintCallable)
void Heal(const float Amount); void Heal(const float Amount);
UFUNCTION(BlueprintImplementableEvent) UFUNCTION(BlueprintImplementableEvent)

View File

@ -17,5 +17,8 @@ class ENDLESSVENDETTA_API UMainSaveGameClass : public USaveGame
public: public:
UPROPERTY() UPROPERTY()
int CurrentMainBountyIndexSave; int CurrentMainBountyIndexSave;
UPROPERTY()
int LastMainBountyIndexInOpenWorld;
}; };