6#include "GameFramework/Character.h"
18#include "GameFramework/DamageType.h"
23#include "ProjectXCharacter.generated.h"
25#define WEAPON_PIVOT_OFFSET FVector(-50.0f, 0.0f, 0.0f)
27class UAmbianceComponent;
29class UWeaponComponent;
30class UInteractionComponent;
31class UInventoryComponent;
32class USpringArmComponent;
33class UCameraComponent;
38class USkeletalMeshComponent;
39class UAfflictionComponent;
40class UAfflictionInstance;
43class UVehicleSeatComponent;
47class UHookshotComponent;
48class UJetPackComponent;
53 GENERATED_USTRUCT_BODY()
56 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Resistance)
57 TSubclassOf<UDamageType> DamageType =
nullptr;
59 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Resistance, meta = (ClampMin = 0.0, ClampMax = 1.0))
60 float ResistancePct = 1.0f;
84 GENERATED_USTRUCT_BODY()
85 UPROPERTY(EditDefaultsOnly)
92 GENERATED_USTRUCT_BODY()
93 UPROPERTY(EditDefaultsOnly)
100 GENERATED_USTRUCT_BODY()
119DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FHitNotificationSignature,
float,
Damage,
bool, bHeadshot, TSubclassOf<UDamageType>, DamageType, AActor*, DamagingActor,
float, RadialDamageLerp);
127class
AProjectXCharacter : public ACharacter, public
IReactsToGameplayVolumes, public
ITeamInterface, public
IReactsToMatchEvents, public
ISpawnTargetInterface, public
IOwnedInterface, public
IHealthInterface, public
ILockOnTargetInterface, public
ISpottableInterface, public
ITrackableInterface, public
IKillCamInterface, public
IObjectInfoInterface
129 GENERATED_UCLASS_BODY()
132 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Class ID", ScriptName =
"GetClassID"))
133 static FString StaticGetClassID(TSubclassOf<AProjectXCharacter>
Class);
134 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Class Name", ScriptName =
"GetClassName"))
135 static FText StaticGetClassName(TSubclassOf<AProjectXCharacter>
Class);
136 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Weapon List", ScriptName =
"GetWeaponList"))
137 static TArray<TSubclassOf<UWeaponInstance>> StaticGetWeaponList(TSubclassOf<AProjectXCharacter>
Class,
EEquipSlot Slot);
138 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Max Health", ScriptName =
"GetMaxHealth"))
139 static int32 StaticGetMaxHealth(TSubclassOf<AProjectXCharacter>
Class);
140 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Max Shields", ScriptName =
"GetMaxShields"))
141 static int32 StaticGetMaxShields(TSubclassOf<AProjectXCharacter>
Class);
142 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Ground Speed", ScriptName =
"GetGroundSpeed"))
143 static float StaticGetGroundSpeed(TSubclassOf<AProjectXCharacter>
Class);
144 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Max Jumps", ScriptName =
"GetMaxJumps"))
145 static int32 StaticGetMaxJumps(TSubclassOf<AProjectXCharacter>
Class);
146 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Icon", ScriptName =
"GetIcon"))
147 static TSoftObjectPtr<UMaterialInstance> StaticGetClassIcon(TSubclassOf<AProjectXCharacter>
Class);
148 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"Get Cosmetic Component", ScriptName =
"GetCosmeticComponent"))
150 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"GetNumberOfPerkSlots", ScriptName =
"GetNumberOfPerkSlots"))
152 UFUNCTION(BlueprintPure, Category =
"Player Class", meta = (DisplayName =
"GetPerkSlots", ScriptName =
"GetPerkSlots"))
154 UFUNCTION(BlueprintPure, Category = Character)
155 FORCEINLINE UAmbianceComponent* GetAmbianceComponent()
const {
return AmbianceComponent; }
156 UFUNCTION(BlueprintPure, Category = Character)
158 UFUNCTION(BlueprintPure, Category = Character)
159 FORCEINLINE UWeaponComponent* GetWeaponComponent()
const {
return WeaponComponent; }
160 UFUNCTION(BlueprintPure, Category = Character)
161 FORCEINLINE UInteractionComponent* GetInteractionComponent()
const {
return InteractionComponent; }
162 UFUNCTION(BlueprintPure, Category = Character)
163 FORCEINLINE USpringArmComponent* GetCameraBoom()
const {
return CameraBoom; }
164 UFUNCTION(BlueprintPure, Category = Character)
165 FORCEINLINE USceneComponent* GetFirstPersonFollowComponent()
const {
return FirstPersonFollowComponent; }
166 UFUNCTION(BlueprintPure, Category = Character)
167 FORCEINLINE UCameraComponent* GetFirstPersonCamera()
const {
return FirstPersonCameraComponent; }
168 UFUNCTION(BlueprintPure, Category = Character)
169 FORCEINLINE UCameraComponent* GetFollowCamera()
const {
return FollowCamera; }
170 UFUNCTION(BlueprintPure, Category = Character)
171 FORCEINLINE UHookshotComponent* GetHookshotComponent()
const {
return HookShotComponent; }
172 UFUNCTION(BlueprintPure, Category = Character)
173 FORCEINLINE
float GetRunMultiplier()
const {
return RunSpeedMultiplier; }
174 UFUNCTION(BlueprintPure, Category = Character)
175 FORCEINLINE
float GetCrouchedRunMultiplier()
const {
return RunCrouchSpeedMultiplier; }
176 UFUNCTION(BlueprintPure, Category = Character)
177 FORCEINLINE
bool IsFastFalling()
const {
return bIsFastFalling; }
178 UFUNCTION(BlueprintPure, Category = Character)
179 FORCEINLINE
bool IsMovingForward()
const {
return !GetVelocity().IsZero() && (GetVelocity().GetSafeNormal2D() | GetActorForwardVector()) > -0.1; }
180 UFUNCTION(BlueprintPure, Category = Character)
181 FORCEINLINE
bool IsMoving()
const {
return !GetVelocity().IsZero(); }
182 UFUNCTION(BlueprintPure, Category = Character)
183 FORCEINLINE
bool CanRagdoll()
const {
return bCanRagdoll; }
184 UFUNCTION(BlueprintPure, Category = Character)
185 FORCEINLINE class UDamageHistoryComponent* GetDamageHistoryComponent()
const {
return DamageHistoryComponent; }
186 UFUNCTION(BlueprintPure, Category = Character)
187 FORCEINLINE
float GetStamina()
const {
return Stamina; }
188 UFUNCTION(BlueprintPure, Category =
"Movement")
189 FORCEINLINE
bool CanWaterRun()
const {
return GetStamina() > 0.0f; }
190 UFUNCTION(BlueprintPure, Category = Character)
191 FORCEINLINE
bool IsBoosting()
const {
return bIsBoosting; }
192 UFUNCTION(BlueprintPure, Category = Character)
193 FORCEINLINE
bool IsHoldingBreath()
const {
return bIsHoldingBreath; }
194 UFUNCTION(BlueprintPure,Category = Character)
195 FORCEINLINE
float GetVehicleSpeedModifier()
const{
return VehicleSpeedModifier;}
196 UFUNCTION(BlueprintPure, Category = Character)
197 FORCEINLINE
float GetTicketPickupMultiplier()
const{
return TicketPickupMultiplier;}
198 UFUNCTION(BlueprintCallable)
199 void UpdateVehicleSpeedModifier(
float NewVehicleSpeedModifier) { VehicleSpeedModifier = NewVehicleSpeedModifier; }
200 UFUNCTION(BlueprintPure,Category = Character)
201 const TArray<
EPerkType>& GetPerkSlots()
const {
return PerkSlots; }
202 UFUNCTION(BlueprintPure, Category = Character)
203 float GetJumpStaminaCost()
const;
204 UFUNCTION(BlueprintCallable, Category = Character)
205 virtual bool IsInVehicle()
const;
206 UFUNCTION(BlueprintCallable, Category = Character)
207 virtual bool IsInPersonalVehicle()
const;
208 UFUNCTION(BlueprintCallable, Category = Character)
209 virtual bool IsDriving()
const;
210 UFUNCTION(BlueprintCallable, Category =
Loadout)
212 UFUNCTION(BlueprintCallable, Category = Character)
216 UFUNCTION(BlueprintPure)
217 AActor* GetActorUnderControl()
const {
return ActorUnderControl.IsValid() ? ActorUnderControl.Get() :
const_cast<AProjectXCharacter*
>(
this); }
219 UFUNCTION(BlueprintCallable, Category = Character)
221 UFUNCTION(BlueprintCallable, Category = Character)
222 virtual void ResetPlayerMovement();
223 virtual float GetTimeSinceLastDamage()
const override;
224 virtual const FText& GetObjectName()
const;
225 virtual const FString GetOwnerName()
const;
226 virtual const FText& GetObjectDescription()
const;
227 UFUNCTION(BlueprintPure, Category = Character)
228 bool IsRunning()
const;
229 UFUNCTION(BlueprintPure, Category =
"Character Movement (Acceleration)")
231 UFUNCTION(BlueprintPure, Category = Character)
233 UFUNCTION(BlueprintPure, Category = Character)
235 UFUNCTION(BlueprintPure, Category = Character)
236 bool IsAllowedToJump()
const {
return bCanJump; }
237 UFUNCTION(BlueprintPure, Category = Character)
238 bool IsAllowedToStealth()
const {
return bCanStealth; }
239 UFUNCTION(BlueprintPure, Category =
"Player Class")
240 const FText& GetPlayerClassName()
const {
return ClassName; }
241 UFUNCTION(BlueprintPure, Category =
"Player Class")
242 const FString& GetClassID()
const {
return ClassID; }
243 UFUNCTION(BlueprintCallable,Category =
"PlayerClass")
244 void SetClassID(const FString& NewID) { ClassID = NewID; }
245 UFUNCTION(BlueprintPure, Category =
"PlayerClass")
246 bool CanDash()
const {
return DashCharges > 0 && bCanMove && bDashEnabled; }
247 UFUNCTION(BlueprintPure, Category =
"PlayerClass")
248 int32 GetMaxDashes()
const {
return MaxNumberOfDashCharges;}
249 UFUNCTION(BlueprintCallable)
250 bool IsDeferingDashChargesInAir()
const{
return bDeferDashChargesInAIr; }
251 virtual void SetDeferDashChargesInAir(
bool bNewDeferDashChargesInAir);
252 UFUNCTION(BlueprintPure, Category = Character)
253 bool ShouldResetDashesOnKill()
const {
return bResetDashesOnKill; }
255 void ModifyMaxDashCharges();
256 UFUNCTION(BlueprintPure, Category = Character)
257 bool IsPlayingTauntMontage()
const {
return bIsPlayingTauntMontage; }
258 UFUNCTION(BlueprintPure,Category =
"PlayerClass")
260 UFUNCTION(BlueprintPure,Category = Character)
261 float GetHealthReturnOnExpEvent(
EXPEventType Event)
const {
return HealthOnExpEvent.Contains(Event) ? HealthOnExpEvent[Event] : 0.0f; }
262 void UpdateHealthReturnOnExpEvent(
EXPEventType Event,
float NewReturnValue);
263 UFUNCTION(BlueprintPure, Category =
"Player Class")
264 TSoftObjectPtr<UMaterialInstance> GetIcon()
const {
return ClassIcon; }
265 UFUNCTION(BlueprintPure, Category = Character)
266 virtual bool IsValidTarget()
const;
267 virtual bool IsCloaked()
const override {
return !Visible.Value; }
268 UFUNCTION(BlueprintPure, Category = Character)
269 virtual
float GetVisibilityChangedTimeStamp()
const {
return Visible.Time; }
270 UFUNCTION(BlueprintPure, Category = Character)
271 virtual float GetTimeSinceLostGroundedness()
const;
272 UFUNCTION(BlueprintPure, Category =
"Player Class")
273 const TArray<TSubclassOf<
UWeaponInstance>>& GetWeaponList(
EEquipSlot Slot)
const {
return PlayerInventory.Weapons.Contains(Slot) ? PlayerInventory.Weapons[Slot].WeaponOptions : WeaponListStatic;}
274 UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category = Gameplay)
275 void ModifyStamina(
const float StaminaDelta);
276 UFUNCTION(BlueprintCallable, BlueprintAuthorityOnly, Category = Gameplay)
277 void ModifyStatOverTime(
const ECharacterStat StatType,
const float StatDelta,
const float Time);
278 UFUNCTION(BlueprintCallable)
279 void ToggleView(
bool bIsFirstPerson);
280 UFUNCTION(BlueprintCallable)
281 void ToggleMeshes(
bool bIsFirstPerson);
282 UFUNCTION(BlueprintCallable)
283 virtual bool IsLocallyPlayerControlled()
const;
284 TArray<TSubclassOf<class ADeployable>> GetAllDeployableClasses(
AProjectXPlayerState*
const OwningPlayerState = NULL)
const;
287 virtual TArray<UMeshComponent*> GetKillCamMeshes() const override;
288 int GetMaxUltimateCharge()
const {
return MaxUltimateCharge; }
289 virtual void PostInitializeComponents()
override;
290 virtual bool IsLocallyControlled()
const override;
291 bool IsLocallyBotControlled();
292 virtual void EnableInput(APlayerController* PlayerController)
override;
293 virtual void DisableInput(APlayerController* PlayerController)
override;
294 virtual void SetPlayerState(APlayerState* NewPlayerState)
override;
295 virtual APlayerState* GetOwnedPlayerState()
const override;
296 UFUNCTION(BlueprintCallable)
297 virtual
void SetOwnedPlayerState(APlayerState* NewOwnedPlayerState) { OwningPlayerState = NewOwnedPlayerState; }
299 virtual int32 GetTeam() const override;
300 virtual int32 SetTeam(int32 NewTeam) override;
301 virtual
float TakeDamage(
float Damage, struct FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser) override;
302 virtual
void StartJumping();
303 virtual
void SetPlayerDefaults() override;
304 virtual
void SetInsideVolume() override;
305 virtual
void SetOutsideVolume() override;
306 virtual
bool IsInside_Implementation() const override;
307 virtual
bool WasInside_Implementation() const override;
308 virtual
void MatchEnded() override;
309 virtual
void Landed(const FHitResult&
Hit) override;
310 virtual
void LaunchCharacter(FVector LaunchVelocity,
bool bXYOverride,
bool bZOverride) override;
313 virtual
void Die(
float Damage, struct FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser, const FHitResult& HitResult, APlayerState* InstigatorPlayerState);
314 virtual UAfflictionComponent* GetAfflictionComponent()
const override {
return AfflictionComponent; }
316 virtual float GetSpawnScoreForInstigator(
const AActor*
const QueryInstigator, FVector& TargetLocation,
bool bUseDistanceToTargetLocation =
false)
const override;
317 virtual bool GetCanSpawnOnCombatTarget()
const override;
319 virtual bool GetSpawnLocation(
AProjectXPlayerState* SpawnInstigator, FTransform& Transform)
const override;
322 virtual void SetOvershield(
float NewOvershield)
override { MaxShieldsWithOvercharge = NewOvershield; }
324 virtual void SetShields(
float InShields)
override;
325 virtual void SetMaxHealth(
float NewValue)
override { MaxHealth = NewValue; OnRep_Health(GetHealth()); }
326 virtual void SetMaxShields(
float NewValue)
override { MaxShields = NewValue; OnRep_Shields(GetShields()); }
327 UFUNCTION(BlueprintCallable)
328 virtual
void SetHealthRegenRate(
float NewRate)
override { HealthRegenRate = NewRate; }
338 virtual void SetHealth(
const float NewHealth)
override;
344 virtual void SetCanUsePassiveShieldRegen(
bool bNewUsePassiveShieldRegen)
override;
345 virtual void SetDashCoolDown(
float NewDashCoolDown);
346 virtual bool IsDead()
const override {
return bDead; }
348 virtual FRotator GetViewRotation()
const override;
349 virtual void RecalculateBaseEyeHeight()
override;
350 UFUNCTION(BlueprintCallable)
351 virtual void OnEnterVehicle(
AProjectXVehicle* InVehicle, UVehicleSeatComponent* Seat);
352 virtual void OnExitVehicle();
353 UFUNCTION(BlueprintCallable, Category =
"Vehicle")
354 virtual
bool LeaveCurrentVehicle(
bool bForce = false,
bool bEject = false);
355 virtual
void ProcessViewRotation(
float DeltaTime, FRotator& OutViewRotation, FRotator& OutDeltaRot) {
return; }
356 virtual bool CanBeLockedOn(
const AActor* LockInstigator)
const override;
357 virtual bool CanBeRepaired(
const AActor* RepairInstigator)
const override;
370 virtual ESpotReply CanBeSpotted(
const AActor* SpotInstigator,
ESpotType SpotType)
const override;
372 virtual TSoftObjectPtr<UTexture2D>
GetMapIcon()
const override {
return CharacterMapIcon; }
373 virtual TSoftObjectPtr<UTexture2D>
GetRadarIcon()
const override {
return CharacterRadarIcon; }
374 virtual TSoftObjectPtr<UTexture2D>
GetHudIcon()
const override {
return CharacterHudIcon; }
376 virtual void BeginPassiveRegen();
377 virtual void StopPassiveRegen();
378 virtual void StartPassiveRegen();
379 virtual FVector GetMoveGoalOffset(
const AActor* MovingActor)
const override;
381 void ClearRecentlyConsumedStamina();
382 void ModifyStaminaRecoveryRate(
float InRate);
384 void ModifyCanJump(
bool bNewCanJump);
385 void ModifyCanStealth(
bool bNewCanStealth);
386 void ModifyCanMove(
bool bNewCanMove);
387 void ModifyCanRotate(
bool bNewCanRotate);
391 void UpdateVisibilityModifier(
bool NewVisibility);
397 void StartCrouching();
398 void StopCrouching();
401 void StartBoosting();
403 void StartHoldingBreath();
404 void StopHoldingBreath();
405 void StartAutoClamber();
406 void StopAutoClamber();
407 void AttachWeaponMeshToSocket(FName WeaponSocketName);
408 UFUNCTION(BlueprintCallable)
409 void PlayTaunt(uint8 TauntNumber);
410 void SetupEquipment();
412 UFUNCTION(Client, Reliable)
413 void Client_HitNotification(
float Damage,
bool bHeadshot, TSubclassOf<UDamageType> DamageType, AActor* DamagingActor,
float RadialDamageLerp = 0.0f);
414 UFUNCTION(
Server, Reliable, WithValidation)
415 void Server_Reliable_EnterVehicle(
AProjectXVehicle* InVehicle, UVehicleSeatComponent* PreferredSeat);
416 UFUNCTION(
Server, Reliable)
417 void Server_UpdateBaseEyeHeightCache(
float InBaseEyeHeight);
420 virtual
void OnRep_YawPitch();
422 virtual
void OnRep_Health(
float PreviousHealth);
424 virtual
void OnRep_Shields(
float PreviousShields);
426 void OnRep_Stamina();
428 virtual
void OnRep_CanRotate();
430 virtual
void OnRep_IsBoosting();
432 virtual
void OnRep_IsHoldingBreath();
434 virtual
void OnRep_IsDashing();
436 virtual
void OnRep_CanStealth();
438 virtual
void OnRep_Visibility();
439 virtual
void OnRep_Controller() override;
440 virtual
void OnRep_IsCrouched() override;
441 virtual
void OnRep_PlayerState() override;
443 UFUNCTION(BlueprintImplementableEvent)
444 void StopCosmeticDash();
445 UFUNCTION(BlueprintImplementableEvent, Category = "KillCam")
446 FVector GetKillCamWidgetPlacementPivot() const;
447 UFUNCTION(BlueprintImplementableEvent, Category = "KillCam")
450 UFUNCTION(BlueprintImplementableEvent, Category = "
Taunt")
451 void OnTauntToggled(
bool bTauntOn);
454 UPROPERTY(EditDefaultsOnly, Category = "
Movement")
455 int32 MaxNumberOfDashCharges = 2;
456 UPROPERTY(EditDefaultsOnly, Category = "
Movement")
457 float StrafeMovementSpeedMultiplier = 0.5f;
459 UPROPERTY(BlueprintAssignable, Category = "Stat Events")
460 FStaminaChangedSignature OnStaminaChanged;
461 UPROPERTY(BlueprintAssignable, Category = "Stat Events")
462 FStatOverTimeModificationAdded OnStatModificationOverTimeStarted;
463 UPROPERTY(BlueprintAssignable, Category = "Locomotion Events")
464 FLocomotionChangeSignature OnCrouchChanged;
465 UPROPERTY(BlueprintAssignable, Category = "Locomotion Events")
466 FLocomotionChangeSignature OnBoostingChanged;
467 UPROPERTY(BlueprintAssignable, Category = "Locomotion Events")
468 FLocomotionChangeSignature OnHoldingBreathChanged;
469 UPROPERTY(BlueprintAssignable, Category = "Locomotion Events")
470 FLocomotionChangeSignature OnDashingChanged;
471 UPROPERTY(BlueprintAssignable, Category = "Camera Events")
472 FToggleViewSignature OnPerspectiveChanged;
473 UPROPERTY(BlueprintAssignable)
474 FHitNotificationSignature OnHitNotification;
475 UPROPERTY(BlueprintAssignable)
476 FLandedSignature OnLand;
477 UPROPERTY(BlueprintAssignable)
478 FInputDisabledSignature OnInputDisabled;
479 UPROPERTY(BlueprintAssignable)
480 FNotEnoughEnergySignature OnNotEnoughEnergy;
481 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
482 FPawnLockOnSignature OnLockOnTentativeStart;
483 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
484 FPawnLockOnSignature OnLockOnTentativeEnd;
485 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
486 FPawnLockOnSignature OnLockOnStart;
487 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
488 FPawnLockOnSignature OnLockOnEnd;
489 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
490 FPawnIncomingProjectileSignature OnIncomingProjectileStart;
491 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
492 FPawnIncomingProjectileSignature OnIncomingProjectileEnd;
493 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
494 FPawnImminentMissileWarningSignature OnImminentMissileWarningStart;
495 UPROPERTY(BlueprintAssignable, Category = "Lock
On Events")
496 FPawnImminentMissileWarningSignature OnImminentMissileWarningEnd;
497 UPROPERTY(BlueprintAssignable, Category = "Soft BoundaryEvents")
498 FSoftBoundaryEvent OnSoftBoundaryEnterEvent;
499 UPROPERTY(BlueprintAssignable, Category = "Player Events")
500 FVehicleChangedSignature OnVehicleChanged;
501 UPROPERTY(BlueprintAssignable, Category = "Player Events")
502 FCharacterDamagedAt OnCharacterHitAtLocation;
503 UPROPERTY(BlueprintAssignable)
504 FPlayerStateChangedSignature OnPlayerStateChangedEvent;
505 UPROPERTY(BlueprintAssignable)
506 FCharacterPlayerStateChangedSignature OnCharacterPlayerStateChangedEvent;
507 UPROPERTY(BlueprintAssignable)
508 FOnFootstepSignature OnFootstep;
509 UPROPERTY(BlueprintAssignable)
510 FDashEventSignature OnDashChargesUpdatedEvent;
511 UPROPERTY(BlueprintAssignable)
512 FDashEventSignature OnMaxDashChargeCountUpdatedEvent;
513 UPROPERTY(BlueprintAssignable)
514 FDashEventRechargeSignature OnDashRechargingEvent;
515 UPROPERTY(BlueprintAssignable)
516 FVisibilityChangedSignature OnVisibilityChanged;
517 FMutateDamageSignature OnMutateDamage;
520 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = Camera)
521 bool bWeaponPositionDebug = false;
523 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
525 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
526 bool bUsePlayerInventoryAndIgnoreCloudOverrides = false;
528 UPROPERTY(EditDefaultsOnly, Category = "
Movement")
529 float DashForce = 6000.0f;
531 bool bIsUsingTekelenesis = false;
532 float TelekenesisStaminaDrainRate = 0.0f;
534 int32 DeferedDashCharges;
535 float GrenadeAOEMultiplier = 1.0f;
536 float PersonalVehicleDamageMultiplier = 1.0f;
538 virtual
void BeginPlay() override;
539 virtual
void OffscreenFootstep();
540 virtual
bool ActorTick(
float DeltaTime);
541 virtual
void EndPlay(const EEndPlayReason::Type EndPlayReason) override;
542 virtual
void SetupPlayerInputComponent(UInputComponent* InputComponent) override;
543 virtual
void UnPossessed() override;
544 virtual
bool CanJumpInternal_Implementation() const;
545 virtual
void TornOff() override;
546 virtual
void MoveForward(
float Val);
547 virtual
void MoveUp(
float Val);
548 virtual
void MoveRight(
float Val);
549 virtual
void TurnAtRate(
float Rate);
550 virtual
void LookUpAtRate(
float Rate);
551 virtual
void Turn3PCamera(
float Val);
552 virtual
void LookUp3PCamera(
float Val);
553 virtual
void CheckJumpInput(
float DeltaTime) override;
554 virtual
void CheckForOwnedHealingSources();
555 virtual
void OnMovementModeChanged(EMovementMode PrevMovementMode, uint8 PreviousCustomMode = 0);
556 virtual
void ApplyDamageMomentum(
float DamageTaken, FDamageEvent const& DamageEvent, APawn* PawnInstigator, AActor* DamageCauser) override;
557 virtual
float InternalTakeRadialDamage(
float Damage, struct FRadialDamageEvent const& RadialDamageEvent, class AController* EventInstigator, AActor* DamageCauser) override;
558 virtual
float InternalTakePointDamage(
float Damage, struct FPointDamageEvent const& PointDamageEvent, class AController* EventInstigator, AActor* DamageCauser) override;
560 virtual
void SetGrassNearCameraFade(
bool bHideNearCamera);
561 virtual
void PackInput();
566 void UpdateDashCoolDown();
567 void CreateDashCoolDownTimer(
float DashCoolDown);
569 virtual
void ContextualInteract();
571 virtual
void StopContextualInteract();
575 virtual
void StartDashMovement();
576 virtual
void StopDashMovement();
577 virtual
void UpdateDashCharges(int32 Delta,
bool bForce = false);
578 virtual
bool ShouldDeferDashCharges() const;
580 void SpawnGraffiti(const FHitResult&
Hit);
581 UFUNCTION(Reliable,
Server)
582 void Server_SpawnGraffiti(const FHitResult&
Hit);
583 UFUNCTION(BlueprintCallable, Unreliable, NetMulticast)
584 void Multicast_PlayMontage(UAnimMontage* Montage);
585 UFUNCTION(Unreliable, NetMulticast)
586 void Multicast_SpawnGraffiti(const FHitResult&
Hit);
587 UFUNCTION(Reliable, NetMulticast)
588 void Multicast_Die(
float Damage, struct FDamageEvent const& DamageEvent, AController* EventInstigator, AActor* DamageCauser, const FHitResult&
Hit, APlayerState* InstigatorPlayerState);
589 void TriggerGraffiti();
592 UFUNCTION(
Server, Unreliable)
593 void Server_Unreliable_SendPitchValue(uint16 NewPawnPitchValue);
594 UFUNCTION(
Server, Unreliable)
595 void Server_Unreliable_SendYawValue(uint16 NewPawnPitchValue);
597 UFUNCTION(
Server, Unreliable)
598 void Server_Unreliable_SendPackedInput(uint8 NewInput);
599 UFUNCTION(
Server, Reliable)
600 void Server_Reliable_StartDashMovement();
603 virtual
void OnRep_Vehicle();
605 virtual
void OnTightAimingStop();
608 virtual
float ApplyDamageTypeResistance(
float InDamage, const TSubclassOf<UDamageType> InDamageType);
610 virtual
void PossessedBy(AController* NewController);
613 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
616 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = Camera)
617 float BaseLookUpRate;
619 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Camera)
620 bool bShouldCameraFadeGrassWhenInVehicle = true;
622 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Camera, meta = (EditCondition = "bShouldCameraFadeGrassWhenInVehicle"))
623 float CameraFadesGrassRange = 425.f;
625 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = Camera)
626 UMaterialParameterCollection* VisualsMaterialParameterCollection = NULL;
628 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = Jumping)
629 float FirstJumpForgivenessTime = 0.5f;
630 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Character)
631 int32 TeamOverride = -1;
633 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
634 bool bUseFallDamage = false;
636 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement", meta = (EditCondition = "bbUseFallDamage"))
637 FVector2D FallingDamageVelocityThreshold = FVector2D(500.0f, 2000.0f);
639 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement", meta = (EditCondition = "bbUseFallDamage"))
640 FVector2D FallingDamageAmount = FVector2D(5.0f, 100.0f);
642 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement", meta = (EditCondition = "bbUseFallDamage"))
643 FVector2D FallingStaminaDamageAmount = FVector2D(5.0f, 100.0f);
645 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
646 float RunSpeedMultiplier = 1.6f;
648 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
649 float RunCrouchSpeedMultiplier = 1.6f;
651 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
652 float Crouch1PCameraVerticalOffset = -40.f;
654 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
655 float RagdollProjectileForceMultiplier = 5000.0f;
657 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
658 float XPReward = 100.0f;
660 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
661 float MaxStamina = 100.0f;
663 UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = "Gameplay|Stats")
664 bool bCanRecoverStamina = true;
666 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats", meta = (EditCondition="bRecoverStamina"))
667 float StaminaRecoveryRate = 5.0f;
669 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats", meta = (EditCondition = "bRecoverStamina"))
670 float StaminaRecoveryDelay = 0.1f;
672 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
673 float StaminaDrainRate = 5.0f;
675 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
676 float WaterRunStaminaDrainRate = 10.f;
678 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
679 float BoostingStaminaDrainRate = 20.f;
680 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
681 float HoldingBreathStaminaDrainRate = 20.f;
683 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
684 float StaminaInitialCost = 5.0f;
686 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
687 float BoostingInitialStaminaCost = 10.0f;
689 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Stats")
690 TArray<
float> JumpStaminaCosts {0.0f, 10.0f};
692 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category =
"Gameplay|Stats")
695 UPROPERTY(EditDefaultsOnly, Category = "UI")
696 TSoftObjectPtr<UTexture2D> CharacterMapIcon = NULL;
698 UPROPERTY(EditDefaultsOnly, Category = "UI")
699 TSoftObjectPtr<UTexture2D> CharacterHudIcon = NULL;
701 UPROPERTY(EditDefaultsOnly, Category = "UI")
702 TSoftObjectPtr<UTexture2D> CharacterRadarIcon = NULL;
704 UPROPERTY(EditDefaultsOnly, Category = "
Movement")
705 float DashDuration = 0.2f;
707 UPROPERTY(EditDefaultsOnly, Category = "
Movement")
708 float DashCoolDownDuration = 3.0f;
710 UPROPERTY(ReplicatedUsing = OnRep_Vehicle)
716 FDateTime TimeWhenLeftPreviousVehicle;
718 UPROPERTY(EditDefaultsOnly, Category = "Character|KillCam")
721 UPROPERTY(EditDefaultsOnly, Category = "Character|KillCam")
722 float KillCameraDistance = 0.0f;
723 UPROPERTY(EditDefaultsOnly, Category = "Character|
Loadout")
725 UPROPERTY(EditDefaultsOnly, Category =
"Character|Loadout")
728 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
729 int32 MaxUltimateCharge = 2;
731 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
732 float PersonalVehicleHoldTriggerTime = 0.2f;
734 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "
Health|Regen", meta = (EditCondition = "bUsePassiveHealthRegen"))
735 float PassiveHealthRegenDelay = 3.f;
737 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "
Health|Regen", meta = (EditCondition = "bUsePassiveHealthRegen"))
738 float PassiveHealthRegenRate = 10.f;
740 UPROPERTY(GlobalConfig, EditDefaultsOnly, BlueprintReadOnly, Category = "
Health|Regen")
741 bool bUsePassiveHealthRegen = true;
743 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "
Shields|Regen", meta = (EditCondition = "bUsePassiveShieldRegen"))
744 float PassiveShieldRegenDelay = 3.f;
746 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "
Shields|Regen", meta = (EditCondition = "bUsePassiveShieldRegen"))
747 float PassiveShieldRegenRate = 10.f;
749 UPROPERTY(GlobalConfig, EditDefaultsOnly, BlueprintReadOnly, Category = "
Shields|Regen")
750 bool bUsePassiveShieldRegen = true;
752 UPROPERTY(EditDefaultsOnly, Category = "Spawn Scoring")
753 float SquadmateScoringWeight = 1.f;
755 UPROPERTY(EditDefaultsOnly, Category = "Spawn Scoring")
756 float CharacterDistanceScoringWeight = 50000.f;
758 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
759 FText ClassName = FText::FromString("");
761 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
762 FText ClassDescription = FText::FromString("");
764 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
765 FString ClassID = "";
767 UPROPERTY(EditDefaultsOnly, Category = "
Graffiti")
768 FVector GraffitiSize = FVector(10, 200, 200);
769 UPROPERTY(EditDefaultsOnly, Category = "
Graffiti")
770 float GraffitiSprayDistance = 1500.0f;
773 UPROPERTY(EditDefaultsOnly, Category = "Player
Class")
774 TSoftObjectPtr<UMaterialInstance> ClassIcon = NULL;
776 UPROPERTY(ReplicatedUsing = OnRep_Health)
779 UPROPERTY(GlobalConfig, EditDefaultsOnly, Replicated, Category = "
Health")
780 float MaxHealth = 100.0f;
782 UPROPERTY(GlobalConfig, EditDefaultsOnly, Category = "
Health")
783 bool bArmored = false;
784 UPROPERTY(ReplicatedUsing = OnRep_Shields)
787 UPROPERTY(GlobalConfig, EditDefaultsOnly, Replicated, Category = "
Shields")
788 float MaxShieldsWithOvercharge = 150.0f;
790 UPROPERTY(GlobalConfig, EditDefaultsOnly, Replicated, Category = "
Shields")
791 float MaxShields = 100.0f;
793 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|
Movement")
794 bool bCanBoost = false;
795 UPROPERTY(ReplicatedUsing= OnRep_Visibility)
798 UPROPERTY(EditDefaultsOnly, Category = "Ragdoll")
799 bool bCanRagdoll = true;
801 UPROPERTY(Replicated, Transient, Category = "
Input", BlueprintReadOnly)
802 uint8 PackedInput = 0;
804 UPROPERTY(ReplicatedUsing=OnRep_YawPitch)
805 uint32 PackedPitchYaw = 0;
806 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Player
Class")
812 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|LockOn")
813 float MaxLockOnRange = 0.f;
818 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|LockOn")
819 FVector2D LockOnScreenPercentage = FVector2D::ZeroVector;
820 UPROPERTY(EditDefaultsOnly, Category = Afflictions)
821 class UAfflictionComponent* AfflictionComponent = NULL;
822 UPROPERTY(EditDefaultsOnly, Category = DamageHistory)
823 class UDamageHistoryComponent* DamageHistoryComponent = NULL;
825 UJetPackComponent* JetpackComponent = NULL;
827 bool bCanPassiveRegen = true;
828 bool bCanOverchargeShields = false;
830 float HealthRegenRate = 0.0f;
831 float ShieldRegenRate = 0.0f;
832 float CombinedRegenRate = 0.0f;
833 float TicketPickupMultiplier = 1.0f;
834 TWeakObjectPtr<APlayerState> OwningPlayerState;
835 TWeakObjectPtr<class UAfflictionInstance> PassiveRegenAffliction =
nullptr;
836 float CachedStaminaRecoveryRate = 0.0f;
837 FTimerHandle PassiveHealthRegenTimer;
838 FTimerHandle DashMovementTimer;
839 FTimerHandle DashCoolDownTimer;
840 FTimerHandle StaminaRecoverlyDelayTimerHandle;
841 FTimerHandle PVHoldTimer;
844 UFUNCTION(
Server, Reliable, WithValidation)
845 void Server_ToggleRun(const
bool bToggle);
846 UFUNCTION(
Server, Reliable, WithValidation)
847 void Server_ToggleBoosting(const
bool bToggle);
848 UFUNCTION(
Server, Reliable, WithValidation)
849 void Server_ToggleHoldingBreath(const
bool bToggle);
850 UFUNCTION(
Server, Reliable, WithValidation)
851 void Server_ToggleFastFall(const
bool bToggle);
852 UFUNCTION(Client, Reliable)
853 void Client_ToggleRun(const
bool bToggle);
854 UFUNCTION(Client, Reliable)
855 void Client_ToggleFastFall(const
bool bToggle);
856 UFUNCTION(Client, Reliable)
857 void Client_StatOverTimeStarted(const
ECharacterStat StatType, const
float StatDelta, const
float Time);
858 UFUNCTION(
Server, Reliable, WithValidation)
859 void Server_ToggleClamber(const
bool bToggle);
861 void Client_Die(
float Damage, struct FDamageEvent const& DamageEvent, AActor* Killer, class
AProjectXPlayerState* InstigatorState);
864 void FindCameraFollowTarget();
866 void SendPlayerCountData();
867 void ToggleRun(const
bool bToggle);
868 void ToggleBoosting(const
bool bToggle);
869 void ToggleHoldingBreath(const
bool bToggle);
870 void ToggleFastFall(const
bool bToggle);
871 void ApplyFallDamage();
873 void BroadcastOnDeathXPBonuses(const FDamageEvent& KillDamageEvent,
AProjectXPlayerState* KillerPlayerState);
874 void CleanUp(
bool bDelayedDestroy = true);
875 void UnpossessAndDestroy();
877 UPROPERTY(VisibleInstanceOnly, ReplicatedUsing = OnRep_Stamina, BlueprintReadOnly, Category = "Gameplay|Stats", meta = (AllowPrivateAccess = true))
879 UPROPERTY(Replicated)
880 bool bIsRunning = false;
881 UPROPERTY(ReplicatedUsing = OnRep_IsBoosting)
882 bool bIsBoosting = false;
883 UPROPERTY(ReplicatedUsing = OnRep_IsHoldingBreath)
884 bool bIsHoldingBreath = false;
885 UPROPERTY(Replicated = OnRep_IsDashing)
886 bool bIsDashing = false;
887 UPROPERTY(Replicated)
888 bool bCanMove = true;
889 UPROPERTY(ReplicatedUsing = OnRep_CanRotate)
890 bool bCanRotate = true;
891 UPROPERTY(Replicated)
892 bool bCanJump = true;
893 UPROPERTY(ReplicatedUsing = OnRep_CanStealth)
894 bool bCanStealth = true;
895 UPROPERTY(EditDefaultsOnly, meta = (ClampMin = 0.0f, ClampMax = 1.0f), Category = "Gameplay")
896 float LowHealthVOThreshold = 0.25f;
897 UPROPERTY(EditDefaultsOnly, Category = "Gameplay")
898 float LowHealthVODelay = 20.0f;
899 float DamageResistance = 1.0f;
900 float DamageResistanceExplosive = 1.0f;
901 bool bIsFastFalling = false;
902 float HealthPickupModifier = 1.0f;
903 bool bDeferDashChargesInAIr = true;
904 bool bRecentlyConsumedStamina = false;
906 bool bUseAttachParentBoundCached = false;
908 UPROPERTY(EditDefaultsOnly, Category = "Gameplay|
Equipment", meta = (AllowPrivateAccess = true))
909 bool bDropItemsOnDeath = false;
910 UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Gameplay|Death", meta = (AllowPrivateAccess = true))
911 float RagdollLifeSpan = 25.0f;
912 UPROPERTY(VisibleDefaultsOnly, Category = Components)
913 UAmbianceComponent* AmbianceComponent = NULL;
914 UPROPERTY(VisibleDefaultsOnly,BlueprintReadOnly, meta = (AllowPrivateAccess = true))
916 UPROPERTY(VisibleDefaultsOnly, Category = Components)
917 UWeaponComponent* WeaponComponent = NULL;
918 UPROPERTY(VisibleDefaultsOnly, Category = Components)
919 UHookshotComponent* HookShotComponent = NULL;
920 UPROPERTY(VisibleDefaultsOnly, Category = Components)
921 UInteractionComponent* InteractionComponent = NULL;
922 UPROPERTY(VisibleDefaultsOnly, Category = Components)
924 UPROPERTY(VisibleDefaultsOnly, Category = Mesh)
925 USpringArmComponent* CameraBoom = NULL;
926 UPROPERTY(VisibleDefaultsOnly, Category = Mesh)
927 UCameraComponent* FollowCamera = NULL;
928 UPROPERTY(VisibleDefaultsOnly, Category = Camera)
929 UCameraComponent* FirstPersonCameraComponent = NULL;
930 UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite, Category = Camera, meta = (AllowPrivateAccess = true))
931 USceneComponent* FirstPersonFollowComponent = NULL;
933 uint8 InteriorVolumeSemaphore = 0;
934 float LostGroundednessTime = 0.0f;
935 float NextRotationSendTime = 0.f;
936 float LastDamageTime = -MAX_FLT;
937 bool bRotationFlipFlop = false;
938 bool bPackInputFlipFlop = false;
939 bool bDashEnabled = true;
940 float VehicleSpeedModifier = 1.0f;
941 bool bResetDashesOnKill = false;
942 bool bCanSpawnInCombat = false;
943 FRotator CurrentLookRotation = FRotator::ZeroRotator;
944 FRotator LookRotation = FRotator::ZeroRotator;
945 FVector CameraDefaultRelativeLocation;
946 float CachedBaseEyeHeight;
947 FName WeaponSocket = NAME_None;
950 TWeakObjectPtr<AActor> ActorUnderControl =
nullptr;
951 bool bCanPlayLowHealthVO = true;
952 bool bIsPlayingTauntMontage = false;
955 FString KilledEnemyPV = "VO_VehicleDestroyed";
956 FString LowHealth = "VO_LowHealth";
958 FTickerDelegate TickDelegate;
960 FDelegateHandle TickDelegateHandle;
EPerkType
Definition: CosmeticAssetBase.h:61
EXPEventType
Definition: PlayerStats.h:13
EEquipSlot
Definition: PlayerStructs.h:25
DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FVisibilityChangedSignature, bool, bVisible, float, VisibleTimeStamp)
DECLARE_DYNAMIC_MULTICAST_DELEGATE(FToggleViewSignature)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FOnFootstepSignature, class UPhysicalMaterial *, PhysicsMaterial)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FourParams(FMutateDamageSignature, float &, Damage, struct FDamageEvent const &, DamageEvent, AController *, EventInstigator, AActor *, DamageCauser)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams(FStatOverTimeModificationAdded, const ECharacterStat, StatType, const float, StatDelta, const float, Time)
DECLARE_DYNAMIC_MULTICAST_DELEGATE_FiveParams(FHitNotificationSignature, float, Damage, bool, bHeadshot, TSubclassOf< UDamageType >, DamageType, AActor *, DamagingActor, float, RadialDamageLerp)
ECharacterStat
Definition: ProjectXCharacter.h:65
EInputDirection
Definition: ProjectXCharacter.h:74
ESpotType
Definition: SpottableInterface.h:18
ESpotReply
Definition: SpottableInterface.h:27
Definition: KillCameraActor.h:19
Definition: PickupReviveBeacon.h:48
Definition: ProjectXCharacter.h:128
virtual void SetDamageResistance(float NewValue) override
Definition: ProjectXCharacter.h:392
virtual bool GetCachedUsesPassiveShieldRegen() const override
Definition: ProjectXCharacter.h:337
virtual float GetExplosiveDamageResistance() const override
Definition: ProjectXCharacter.h:395
virtual FPawnLockOnSignature & GetLockOnEndDelegate() override
Definition: ProjectXCharacter.h:363
virtual float GetHealthPickupModifier() const override
Definition: ProjectXCharacter.h:340
virtual float GetHealth() const override
Definition: ProjectXCharacter.h:332
virtual float GetCachedOvershield() const override
Definition: ProjectXCharacter.h:336
virtual FPawnLockOnSignature & GetLockOnStartDelegate() override
Definition: ProjectXCharacter.h:362
virtual void SetOvershield(float NewOvershield) override
Definition: ProjectXCharacter.h:322
virtual bool IsDead() const override
Definition: ProjectXCharacter.h:346
virtual bool IsArmored() const
Definition: ProjectXCharacter.h:331
void UpdateResetDashesOnKill(bool bNewResetDashOnKill)
Definition: ProjectXCharacter.h:254
virtual float GetLockOnMaxDistance() override
Definition: ProjectXCharacter.h:358
virtual bool CanModifyShieldsPastOverchargeMark() const override
Definition: ProjectXCharacter.h:342
void ModifyCanOverchargeShields(bool bNewCanOverchargeShields)
Definition: ProjectXCharacter.h:389
virtual void SetCanModifyShieldsPastOverchargeMark(bool bNewCanOverchargeShields)
Definition: ProjectXCharacter.h:343
virtual float GetDamageResistance() const override
Definition: ProjectXCharacter.h:394
virtual FPawnLockOnSignature & GetLockOnTentativeEndDelegate() override
Definition: ProjectXCharacter.h:361
virtual float GetMaxHealth() const override
Definition: ProjectXCharacter.h:333
virtual FVector GetSpottingTraceOffset() const override
Definition: ProjectXCharacter.h:371
void ModifyCanRecoverStamina(bool NewState)
Definition: ProjectXCharacter.h:383
virtual TSoftObjectPtr< UTexture2D > GetMapIcon() const override
Definition: ProjectXCharacter.h:372
FORCEINLINE void SetActorUnderControl(AActor *NewActor)
Definition: ProjectXCharacter.h:218
virtual bool IsCloaked() const override
Definition: ProjectXCharacter.h:267
FORCEINLINE FDateTime GetTimeWhenLeftPreviousVehicle() const
Definition: ProjectXCharacter.h:215
virtual bool IsUsingPassiveShieldRegen() const override
Definition: ProjectXCharacter.h:341
virtual void SetHealthPickupModifier(float NewModifier) override
Definition: ProjectXCharacter.h:339
virtual float GetMaxShields() const override
Definition: ProjectXCharacter.h:323
virtual FPawnIncomingProjectileSignature & GetIncomingProjectileEndDelegate() override
Definition: ProjectXCharacter.h:365
virtual void SetMaxHealth(float NewValue) override
Definition: ProjectXCharacter.h:325
virtual void SetExplosiveDamageResistance(float NewValue) override
Definition: ProjectXCharacter.h:393
virtual float GetCachedMaxHealth() const override
Definition: ProjectXCharacter.h:334
virtual FPawnImminentMissileWarningSignature & GetImminentMissileWarningStartDelegate() override
Definition: ProjectXCharacter.h:366
virtual AActor * GetTrackableInterfaceActor() override
Definition: ProjectXCharacter.h:375
virtual float GetShields() const override
Definition: ProjectXCharacter.h:320
virtual TSoftObjectPtr< UTexture2D > GetRadarIcon() const override
Definition: ProjectXCharacter.h:373
void ModifyCanPassiveRegen(bool bNewCanPassiveRegen)
Definition: ProjectXCharacter.h:388
virtual FSoftBoundaryEvent & GetOnSoftBoundaryEnterEvent() override
Definition: ProjectXCharacter.h:368
virtual void UpdateCanSpawnOnCombatTarget(bool bNewInCombatSpawnTarget)
Definition: ProjectXCharacter.h:318
FORCEINLINE AProjectXVehicle * GetPreviousVehicle() const
Definition: ProjectXCharacter.h:214
virtual float GetCachedMaxShields() const override
Definition: ProjectXCharacter.h:335
virtual FPawnIncomingProjectileSignature & GetIncomingProjectileStartDelegate() override
Definition: ProjectXCharacter.h:364
virtual void SetShieldRegenRate(float NewRate) override
Definition: ProjectXCharacter.h:329
void UpdateTicketPickupMultiplier(float NewMultiplier)
Definition: ProjectXCharacter.h:285
virtual void SetShieldAndHealthRegenRate(float NewRate) override
Definition: ProjectXCharacter.h:330
virtual float GetMaxShieldsWithOvercharge() const override
Definition: ProjectXCharacter.h:321
virtual TSoftObjectPtr< UTexture2D > GetHudIcon() const override
Definition: ProjectXCharacter.h:374
virtual void SetMaxShields(float NewValue) override
Definition: ProjectXCharacter.h:326
virtual FPawnLockOnSignature & GetLockOnTentativeStartDelegate() override
Definition: ProjectXCharacter.h:360
virtual FVector2D GetLockOnScreenPercentage() override
Definition: ProjectXCharacter.h:359
virtual FPawnImminentMissileWarningSignature & GetImminentMissileWarningEndDelegate() override
Definition: ProjectXCharacter.h:367
Definition: ProjectXPlayerController.h:83
Definition: ProjectXPlayerState.h:238
Definition: ProjectXVehicle.h:56
Definition: HealthInterface.h:28
Definition: KillCamInterface.h:21
Definition: LockOnTargetInterface.h:27
Definition: ObjectInfoInterface.h:16
Definition: OwnedInterface.h:20
Definition: ReactsToGameplayVolumes.h:20
Definition: ReactsToMatchEvents.h:16
Definition: SpawnTargetInterface.h:18
Definition: SpottableInterface.h:40
Definition: TeamInterface.h:26
Definition: TrackableInterface.h:22
Definition: AimSphereComponent.h:11
Definition: CosmeticsComponent.h:254
Definition: ProjectXCharacterMovement.h:27
Definition: WeaponInstance.h:220
Definition: ProjectXCharacter.h:52
Definition: ProjectXDamageType.h:35
Definition: ProjectXCharacter.h:91
Definition: ProjectXCharacter.h:99
Definition: ProjectXCharacter.h:83