DRG-Femboy-Voice/Source/FSD/Public/EnemyTemperatureComponent.h
2025-04-15 12:39:31 -07:00

91 lines
3.1 KiB
C++
Executable file

#pragma once
#include "CoreMinimal.h"
#include "DamageData.h"
#include "TemperatureComponent.h"
#include "EnemyTemperatureComponent.generated.h"
class UDamageTag;
class UEnemyDetonationSetting;
class UHealthComponent;
class UPawnStatsComponent;
class UStatusEffectsComponent;
UCLASS(Blueprintable, ClassGroup=Custom, meta=(BlueprintSpawnableComponent))
class UEnemyTemperatureComponent : public UTemperatureComponent {
GENERATED_BODY()
public:
protected:
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float UpdateTime;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool DieIfFrozen;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool DieIfBurning;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float TemperatureChangeScale;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float BurnTemperature;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float DouseFireTemperature;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float FreezeTemperature;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float UnFreezeTemperature;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 WarmingRate;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 CoolingRate;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
bool IsHeatsourceWhenOnFire;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float OnFireHeatRange;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
float MaxColdSlowdown;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
UEnemyDetonationSetting* DetonationSetting;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Instanced, Transient, meta=(AllowPrivateAccess=true))
UPawnStatsComponent* PawnStats;
UPROPERTY(BlueprintReadWrite, EditAnywhere, meta=(AllowPrivateAccess=true))
int32 WarmingCooldown;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
uint8 FireDetonationStack;
UPROPERTY(BlueprintReadWrite, EditAnywhere, Transient, meta=(AllowPrivateAccess=true))
uint8 IceDetonationStack;
public:
UEnemyTemperatureComponent();
protected:
UFUNCTION(BlueprintCallable)
void TimerCallback();
UFUNCTION(BlueprintCallable)
void OnDeath(UHealthComponent* HealthComponent, float damageAmount, const FDamageData& DamageData, const TArray<UDamageTag*>& Tags);
UFUNCTION(BlueprintCallable)
void DoTemperatureShock(UStatusEffectsComponent* Status);
UFUNCTION(BlueprintCallable, NetMulticast, Reliable)
void All_IceDetonation();
UFUNCTION(BlueprintCallable, NetMulticast, Reliable)
void All_FireDetonation();
};