diff --git a/BP_Pics/Hazards/CampfireDetails.jpg b/BP_Pics/Hazards/CampfireDetails.jpg index b15e62e..3cb090c 100644 Binary files a/BP_Pics/Hazards/CampfireDetails.jpg and b/BP_Pics/Hazards/CampfireDetails.jpg differ diff --git a/GameJamPlus2024/Content/Hazards/Fire/Fire3D/Blueprints/Blueprint_Effect_Fire.uasset b/GameJamPlus2024/Content/Hazards/Fire/Fire3D/Blueprints/Blueprint_Effect_Fire.uasset index a0d6369..d94ff30 100644 Binary files a/GameJamPlus2024/Content/Hazards/Fire/Fire3D/Blueprints/Blueprint_Effect_Fire.uasset and b/GameJamPlus2024/Content/Hazards/Fire/Fire3D/Blueprints/Blueprint_Effect_Fire.uasset differ diff --git a/GameJamPlus2024/Content/__ExternalActors__/ThirdPerson/Maps/ThirdPersonMap/2/36/67782NFLQ4D7HBPYI7A0ZS.uasset b/GameJamPlus2024/Content/__ExternalActors__/ThirdPerson/Maps/ThirdPersonMap/2/36/67782NFLQ4D7HBPYI7A0ZS.uasset index 6ed71c7..634e4eb 100644 Binary files a/GameJamPlus2024/Content/__ExternalActors__/ThirdPerson/Maps/ThirdPersonMap/2/36/67782NFLQ4D7HBPYI7A0ZS.uasset and b/GameJamPlus2024/Content/__ExternalActors__/ThirdPerson/Maps/ThirdPersonMap/2/36/67782NFLQ4D7HBPYI7A0ZS.uasset differ diff --git a/GameJamPlus2024/Source/GameJamPlus2024/Private/PaperCharacterBase.cpp b/GameJamPlus2024/Source/GameJamPlus2024/Private/PaperCharacterBase.cpp index 7530197..e00c8be 100644 --- a/GameJamPlus2024/Source/GameJamPlus2024/Private/PaperCharacterBase.cpp +++ b/GameJamPlus2024/Source/GameJamPlus2024/Private/PaperCharacterBase.cpp @@ -8,6 +8,7 @@ #include "EventsManager.h" #include "PaperFlipbookComponent.h" #include "GameJamPlus2024/GameJamPlus2024Character.h" +#include "Hazards/HazardBase.h" APaperCharacterBase::APaperCharacterBase() { @@ -125,4 +126,17 @@ void APaperCharacterBase::TakeDamage(int Damage) void APaperCharacterBase::BeginPlay() { Super::BeginPlay(); + OnActorBeginOverlap.AddDynamic(this, &APaperCharacterBase::OnBeginOverlap); +} + +void APaperCharacterBase::OnBeginOverlap(AActor* OverlappedActor, AActor* OtherActor) +{ + if (OtherActor && OtherActor != this) // Ensure it's a valid actor and not self + { + AHazardBase* Hazard = Cast(OtherActor); + if(Hazard != nullptr) + { + TakeDamage(Hazard->Damage); + } + } } diff --git a/GameJamPlus2024/Source/GameJamPlus2024/Public/Hazards/HazardBase.h b/GameJamPlus2024/Source/GameJamPlus2024/Public/Hazards/HazardBase.h index e045776..c7d3584 100644 --- a/GameJamPlus2024/Source/GameJamPlus2024/Public/Hazards/HazardBase.h +++ b/GameJamPlus2024/Source/GameJamPlus2024/Public/Hazards/HazardBase.h @@ -20,7 +20,7 @@ class GAMEJAMPLUS2024_API AHazardBase : public AActor // Called when the game starts or when spawned virtual void BeginPlay() override; - UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Upgrades", meta = (AllowPrivate)) + UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AllowPrivate)) UBoxComponent* CollisionBox; @@ -28,4 +28,6 @@ class GAMEJAMPLUS2024_API AHazardBase : public AActor // Called every frame virtual void Tick(float DeltaTime) override; + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "HazardValues", meta = (AllowPrivate)) + int Damage = 10; }; diff --git a/GameJamPlus2024/Source/GameJamPlus2024/Public/PaperCharacterBase.h b/GameJamPlus2024/Source/GameJamPlus2024/Public/PaperCharacterBase.h index 1ef19b2..83029d2 100644 --- a/GameJamPlus2024/Source/GameJamPlus2024/Public/PaperCharacterBase.h +++ b/GameJamPlus2024/Source/GameJamPlus2024/Public/PaperCharacterBase.h @@ -57,4 +57,8 @@ class GAMEJAMPLUS2024_API APaperCharacterBase : public APaperCharacter // To add mapping context virtual void BeginPlay() override; +private: + + UFUNCTION() + void OnBeginOverlap(AActor* OverlappedActor, AActor* OtherActor); };