LEAP Documentation 40220
Documentation for the LEAP project
UWeaponInstanceMelee Class Reference

#include <WeaponInstanceMelee.h>

Inheritance diagram for UWeaponInstanceMelee:
UWeaponInstance IReactsToMatchEvents IObjectInfoInterface UWeaponInstanceGroundPound UWeaponInstanceMeleeDash UWeaponInstancePowerSword

Public Member Functions

virtual void BeginPlay () override
 
virtual bool HasEnoughAmmo (float Amount, uint8 Mode=0) const override
 
virtual bool ConsumeAmmo (float Amount, uint8 Mode=0) override
 
virtual void FireComplete (uint8 Mode=0) override
 
virtual bool CanReload (EWeaponError &ErrorMessage) const override
 
virtual bool Reload (float WorldTimeOverride) override
 
virtual void NotifyMeleeHitbox (const FHitBoxInfo &HitBox)
 
FORCEINLINE class UDataTable * GetImpactEffectTable () const
 
- Public Member Functions inherited from UWeaponInstance
virtual void BeginPlay () override
 
virtual void EndPlay (const EEndPlayReason::Type EndPlayReason) override
 
virtual void Activate (bool bReset=false) override
 
virtual void Deactivate () override
 
virtual void MatchEnded () override
 
virtual bool Fire (uint8 Mode=0, float WorldTimeOverride=-1.f)
 
virtual void CancelFire ()
 
virtual void InitializeWeapon (bool bFromBatchInitialization=false)
 
virtual bool SetupChildWeapon (UWeaponInstance *ParentWeaponToSet)
 
virtual void OwnerDied ()
 
virtual void StopAllActions ()
 
virtual void StopInputConstrainedActions ()
 
virtual void UpdateOwningCharacter (AProjectXCharacter *NewCharacter)
 
virtual bool ImplementsFireMode (uint8 Mode)
 
virtual void FireReleased (uint8 Mode=0)
 
virtual bool Reload (float WorldTimeOverride=-1.f)
 
virtual void CancelReload ()
 
virtual bool Equip ()
 
virtual bool UnEquip (bool bForce=false)
 
virtual void UnEquipComplete ()
 
virtual bool QueueUnEquip ()
 
virtual void CancelQueuedUnEquip ()
 
virtual void ActiveTimeComplete ()
 
virtual void UpdateMeshes1P ()
 
virtual void UpdateMeshes3P ()
 
virtual void ApplyWeaponSkins ()
 
virtual void UpdateWeaponSkin (UMaterialInstance *Material, int MaterialIndex)
 
virtual void UpdateWeaponSkinParticleSystem (UParticleSystem *WeaponSkinParticleSystem)
 
virtual void SetWeaponState (EWeaponState NewState)
 
virtual void LoadImpactEffectTable (UDataTable *ImpactTable)
 
virtual void ToggleWeaponPerks (bool bPerksOn)
 
virtual void SetMaxMagazineAmmo (float NewMaxAmmo)
 
void SetFireAnimMontage (UAnimMontage *NewFireAnimation1P, UAnimMontage *NewFireAnimation3P)
 
FORCEINLINE float GetFireRatePercentage () const
 
FORCEINLINE bool IsReady () const
 
FORCEINLINE bool IsEquipped () const
 
FORCEINLINE bool IsDown () const
 
FORCEINLINE bool IsFiring () const
 
FORCEINLINE bool IsHoldingPrimary () const
 
FORCEINLINE bool IsReloading () const
 
FORCEINLINE bool IsEquipping () const
 
FORCEINLINE bool IsUnEquipping () const
 
FORCEINLINE bool IsWaitingToUnEquip () const
 
FORCEINLINE bool IsOverheated () const
 
FORCEINLINE bool CanWeaponOverheat () const
 
FORCEINLINE bool CanTightAim () const
 
FORCEINLINE bool IsTightAiming () const
 
FORCEINLINE bool HasSwayOnTightAim () const
 
FORCEINLINE float GetSwayIntensityMultiplier () const
 
FORCEINLINE float GetFireRate () const
 
FORCEINLINE float GetDisplayFireRate () const
 
FORCEINLINE EFireType GetFireType () const
 
FORCEINLINE bool IsSemiAutomatic () const
 
FORCEINLINE bool IsAutomatic () const
 
FORCEINLINE bool IsCharged () const
 
FORCEINLINE bool IsInitialized () const
 
FORCEINLINE bool IsDebugging () const
 
FORCEINLINE bool IsChildWeapon () const
 
FORCEINLINE bool CanQuickSwitchTo () const
 
FORCEINLINE bool ShouldUnEquipAfterFire () const
 
FORCEINLINE bool ShouldUnequipOnToggle () const
 
FORCEINLINE bool ShouldUnEquipOnEmpty () const
 
FORCEINLINE bool CanBePreviousWeapon () const
 
FORCEINLINE bool IsExclusiveWeapon () const
 
FORCEINLINE float GetDamageForce () const
 
FORCEINLINE bool CanHoldBreathWhileADSing () const
 
FORCEINLINE bool UsesAmmo () const
 
FORCEINLINE bool UsesGlobalAmmo () const
 
bool HasInfiniteReserveAmmo () const
 
float GetMaxMagAmmo () const
 
FORCEINLINE float GetReserveAmmo () const
 
FORCEINLINE float GetMaxReserveAmmo () const
 
FORCEINLINE FName GetKeyChainSocket () const
 
const FText & GetWeaponName () const
 
const FText & GetWeaponDescription () const
 
FORCEINLINE TAssetPtr< UTexture2D > GetWeaponIcon () const
 
FORCEINLINE TAssetPtr< UTexture2D > GetWeaponKillFeedIcon () const
 
FORCEINLINE bool UsesCoolDown () const
 
FORCEINLINE float GetCoolDownDuration () const
 
FORCEINLINE float GetChargeValue () const
 
FORCEINLINE float GetOverheatThreshold () const
 
FORCEINLINE bool DoesWeaponSupportTightAiming () const
 
FORCEINLINE FName GetDisplaySocketName () const
 
FORCEINLINE float GetDisplayCameraFocalDistance () const
 
FORCEINLINE bool IsAlmostReady () const
 
FORCEINLINE FName GetSocket1P () const
 
FORCEINLINE FName GetSocket3P () const
 
FORCEINLINE EWeaponState GetWeaponState () const
 
const TArray< EPerkType > & GetPerkSlots () const
 
FTransform GetDesignatorTransform ()
 
const FString & GetWeaponID () const
 
virtual float GetWeaponSpread () const
 
virtual float GetMagAmmo () const
 
virtual float GetDisplayDamage () const
 
UWeaponComponentGetOwningComponent () const
 
AProjectXCharacterGetOwningCharacter () const
 
AController * GetOwningController () const
 
virtual AProjectXPlayerControllerGetOwningPlayerController () const
 
UGlobalAmmoComponent * GetGlobalAmmoComponent () const
 
FVector GetKeyChainScale () const
 
bool IsCurrentViewTarget () const
 
virtual bool IsLocallyOwned () const
 
virtual bool IsAuthority () const
 
AProjectXHUDGetHUD () const
 
UReticleWidgetGetReticle () const
 
virtual float GetTightAimPercent () const
 
float GetTightAimSpreadModifier () const
 
virtual float GetMovementSpreadModifier () const
 
TSubclassOf< class UUserWidget > GetTightAimWidget () const
 
virtual float GetGlobalRestockTime () const
 
virtual float GetGlobalRestockAmount () const
 
virtual bool IsProgressiveGlobalAmmoRestock () const
 
virtual bool IsHeadshot (const FHitResult &HitResult) const
 
virtual float GetDamage (const FHitResult &HitResult, float DamageModifer=1.0f, const UWeaponComponent *WeaponComponent=NULL) const
 
virtual float GetDamageMultiplier (const FHitResult &HitResult, float DamageModifer=1.0f, const UWeaponComponent *WeaponComponent=NULL) const
 
virtual TSubclassOf< UDamageType > GetDamageType () const
 
float GetDamageScalingMultiplier (float Value) const
 
bool IsCoolingDown () const
 
float CoolDownDurationRemaining () const
 
float GetCurrentHeat () const
 
float GetHeatAsPercentage () const
 
UParticleSystem * GetWeaponSkinParticle () const
 
virtual bool IsTightAimFireMode (uint8 Mode) const
 
virtual bool IsLocallyOwnedRemote () const
 
virtual bool IsSimulatedOnly () const
 
virtual bool IsNonOwningAuthority () const
 
virtual void AddAmmo (float InAmmo)
 
virtual const FText & GetObjectName () const
 
virtual const FString GetOwnerName () const
 
virtual const FText & GetObjectDescription () const
 
virtual bool IsActionNearlyComplete (EWeaponState State) const
 
virtual bool IsChildWeaponFireMode (uint8 Mode) const
 
virtual float GetReticleSpreadMultiplier () const
 
virtual bool ShouldReloadCancel (uint8 Mode) const
 
virtual bool CanReload (EWeaponError &ErrorMessage) const
 
virtual bool CanFire (EWeaponError &ErrorMessage, uint8 Mode=0) const
 
virtual bool IsManagedByWeaponComponent () const
 
virtual bool BlocksWeaponComponentWhileEquipped () const
 
virtual bool CancelsCurrentEquippedWeaponActionsWhenEquipped () const
 
virtual bool BlocksUnmanagedWeapons () const
 
virtual bool CanEquip () const
 
virtual bool CanUnEquip (bool bTestOnly=false) const
 
virtual bool CanQueueUnEquip () const
 
virtual bool IsAwaitingUnEquip () const
 
virtual float GetDamageMaterialMultiplier (const FHitResult &HitResult) const
 
virtual bool HasEnoughAmmo (float Amount, uint8 Mode=0) const
 
float GetWeaponMovementVelocity () const
 
TSubclassOf< class UAfflictionInstance > GetWeaponMovementAfflictionClass () const
 
TSubclassOf< class UAfflictionInstance > GetWeaponAffliction () const
 
virtual FVector GetWeaponMovementDirection () const
 
const FVector GetWeaponPivotOffset () const
 
TSoftObjectPtr< USkeletalMesh > GetMesh1P () const
 
TSoftObjectPtr< USkeletalMesh > GetMesh3P () const
 
ECompressedFlags GetWeaponMovementFlag () const
 
TArray< FWeaponAttachment > & GetMeshAttachments ()
 
void OnChargeValueUpdated (float Charge)
 
void OnWeaponParticleLoaded (UParticleSystem *Particle)
 
void K2_Fire (uint8 Mode)
 
void K2_FireReleased (uint8 Mode)
 
void K2_FireComplete (uint8 Mode)
 
void K2_Reload ()
 
void K2_ReloadCancel ()
 
void K2_ReloadComplete ()
 
void K2_Equip ()
 
void K2_EquipComplete ()
 
void K2_UnEquip ()
 
void K2_UnEquipComplete ()
 
void K2_ToggleDesignatorMarker (AActor *NewDesignatorMarker)
 
void K2_WeaponStateChanged (EWeaponState NewWeaponState)
 
void K2_OwnerDied ()
 
UAnimMontage * GetFireMontage1P () const
 
UAnimMontage * GetFireMontage3P () const
 
virtual void OnHeatCoolDownComplete ()
 
virtual void FireComplete (uint8 Mode)
 
virtual void ChargeStart (uint8 Mode, float StartOverride=0.0f)
 
virtual void EquipComplete ()
 
virtual void ReloadComplete ()
 
virtual void SetMagazineAmmo (float NewMagAmmo)
 
virtual void StartWeaponMovement (const FVector &Direction)
 
virtual void StopWeaponMovement ()
 
virtual void OnWeaponDown ()
 
virtual void ToggleEquippedAffliction (bool bIsEquipped)
 
virtual void CoolDownStart (uint8 Mode)
 
virtual bool ConsumeAmmo (float Amount, uint8 Mode=0)
 
virtual bool GenerateHeat (uint8 Mode=0)
 
virtual void ToggleTightAim (bool bEnable)
 
virtual void ToggleDesignatorMarker (bool bEnable)
 
virtual void UpdateDesignator (float DeltaTime=0.f)
 
virtual bool CanSpawnDesignator () const
 
virtual void PlayFireCounter ()
 
virtual void PlayWeaponFireEffects (uint8 BurstCounter=0)
 
virtual void PlayWeaponFireEffects1P ()
 
virtual void PlayWeaponFireEffects3P ()
 
virtual void PlayWeaponReload ()
 
virtual void StopWeaponReload ()
 
virtual void PlayWeaponEquip ()
 
virtual void PlayWeaponUnEquip ()
 
virtual void DecayFireRate ()
 
virtual void WaitToStartHeatCooldown ()
 
virtual void StartHeatCooldown ()
 
virtual void PredictCurrentHeat ()
 
virtual void AsyncLoadImpactTableNiagaraParticle (TSoftObjectPtr< UNiagaraSystem > AssetPointer, UPhysicalMaterial *Material)
 
virtual void AsyncLoadImpactTableParticle (TSoftObjectPtr< UParticleSystem > AssetPointer, UPhysicalMaterial *Material)
 
virtual void AsyncLoadImpactTableSound (TSoftObjectPtr< USoundBase > AssetPointer, UPhysicalMaterial *Material)
 
virtual void AsyncLoadImpactTableDecal (TSoftObjectPtr< UMaterial > AssetPointer, UPhysicalMaterial *Material)
 
virtual bool GetTargetTransform (FTransform &Transform) const
 
void Server_Reliable_UnEquip ()
 
void Server_Reliable_Fire (uint8 Mode=0, float WorldTimeOverride=-1.f)
 
void Server_Reliable_CancelFire ()
 
void Server_Reliable_ChargeStart (float ChargeStartTime, uint8 Mode=0, float WorldTimeOverride=-1.f)
 
void Server_Reliable_FireReleased (uint8 Mode)
 
void Server_Reliable_Reload (float WorldTimeSeconds)
 
void Server_Reliable_ReloadCancel ()
 
void Server_Reliable_TightAim (bool bEnable)
 
void Multicast_ChargeFinished (float ChargeVal)
 
void Client_Reliable_BroadcastWeaponError (EWeaponError Error) const
 
void Client_Reliable_ReloadComplete (float ReloadAmount)
 
void Client_Reliable_TotalAmmoChanged (float NewTotalAmmo)
 
void Client_Reliable_SetMagazineAmmo (float NewMagAmmo)
 
void Client_Reliable_HeatCooldownComplete (uint8 Mode)
 
virtual void ChargeTimeComplete (uint8 Mode, bool bExecuteFire=true)
 
virtual void DeferredReload ()
 
virtual void CoolDownFinished ()
 
void OnRep_ChargeIsReady ()
 
void OnRep_IsOverheating ()
 
void OnRep_HoldingFire ()
 
void OnRep_ParentWeapon ()
 
virtual void OnRep_WeaponState (EWeaponState PreviousState)
 
virtual void OnRep_FireCounter ()
 
virtual void OnRep_TightAiming ()
 
void BroadcastWeaponError (EWeaponError Error) const
 
- Public Member Functions inherited from IReactsToMatchEvents
void OnMatchStarted ()
 
virtual void MatchStarted ()
 
void OnMatchEnded ()
 
virtual void MatchEnded ()
 
virtual const FText & GetObjectName () const
 
virtual const FString GetOwnerName () const
 
virtual const FText & GetObjectDescription () const
 

Public Attributes

float Range = 500.f
 
- Public Attributes inherited from UWeaponInstance
float MaxMagazineAmmo = 10.f
 
float CoolDown = 0.0f
 
float BaseDamage = 10.f
 
FChargeEventSignature ChargeStartEvent
 
FChargeEventSignature ChargeFinishedEvent
 
FWeaponActiveEvent WeaponToggleEvent
 
FWeaponCancelledEvent WeaponCancelledEvent
 
FWeaponOverheatEvent ONWeaponOverheatStart
 
FWeaponOverheatEvent ONWeaponOverheatEnd
 
FWeaponEquipStateChangeSignature OnWeaponEquipped
 
FWeaponStopActionsSignature OnWeaponStopActions
 
FCoolDownSignature OnCoolDownStarted
 
FWeaponCompleteSignature OnCoolDownFinished
 
FWeaponAmmoChangedSignature OnWeaponAmmoChanged
 
FWeaponDesignatorTargetSignature OnValidDesignatorTargetEvent
 
bool bIsManagedByWeaponComponent = true
 
bool bBlocksUnmanagedWeapons = false
 
bool bBlockWeaponComponentWhileEquipped = true
 
bool bRespectWeaponComponentFireLock = true
 
bool bCancelCurrentEquippedWeaponActions = true
 
bool bCanEquipWhileSharedWeaponIsEquipping = false
 
bool bCanEquipWhileSharedWeaponIsUnequipping = false
 
TMap< TSubclassOf< UWeaponInstance >, FMontageListFireAnimsPerWeapon1P
 
TMap< TSubclassOf< UWeaponInstance >, FMontageListFireAnimsPerWeapon3P
 
bool bFallBackToFireAnim = true
 
bool bInterpolateToUnmanagedOffset = false
 
float UnmanagedOffsetInterpolateToTime = 0.1f
 
float UnmanagedOffsetInterpolateFromTime = 0.1f
 
bool bUsesCoolDown = false
 
ECoolDownTrigger CoolDownTriggerState = ECoolDownTrigger::Fire
 
bool bDebug = false
 
bool bFireChargeOnRelease = false
 
float ChargeRate = 1.f
 
float FireRate = 1.f
 
float DamageForce = 200000.f
 
float FireRateMin = 1.f
 
float FireRateRampUp = 0.0f
 
float ReloadRate = 1.f
 
float ActiveTime = 0.0f
 
FString WeaponID = ""
 
UCurveFloat * AimAssistDistanceFalloffCurve = nullptr
 
UCurveFloat * TightAimedAimAssistDistanceFalloffCurve = nullptr
 
FVector2D AimAssistFalloffAngle = FVector2D(3.0f, 6.0f)
 
FVector2D TightAimedAimAssistFalloffAngle = FVector2D(1.0f, 3.0f)
 
bool bCanWeaponOverheat = false
 
bool bCanHoldBreathWhileADSing = false
 
bool bCanUnequipWhileOverheating = true
 
TArray< FFireModeToFloatHeatGeneratedPerShot = TArray<FFireModeToFloat>()
 
float HeatDissipationRate = 1.f
 
float OverheatThreshold = 100.f
 
float TimeToFullyCoolDown = 5.f
 
float EquipRate = 0.25f
 
float UnequipRate = -1.f
 
bool bCanQuickSwitchTo = true
 
bool bUnequipsOnToggle = false
 
bool bCanBePreviousWeapon = true
 
bool bFireOnEquip = false
 
bool bAltFireOnEquip = false
 
bool bUnEquipAfterFire = false
 
bool bUnEquipOnEmpty = false
 
bool bDropWeaponWhenEmpty = false
 
bool bCanEquipWhenEmpty = true
 
bool bExclusiveWeapon = false
 
uint8 FireModeFlags = 0
 
TSubclassOf< UAfflictionInstance > EquippedAffliction = NULL
 
TMap< class UPhysicalMaterial *, float > DamageMultipliers
 
float MinimumChargeValue = 1.0f
 
EFireType WeaponFireType = EFireType::SemiAutomatic
 
bool bHeldToCharge = true
 
UCurveFloat * DamageScalingCurve
 
bool bUsesAmmo = true
 
EReloadType ReloadType = EReloadType::Magazine
 
bool bConsumeOnFire = true
 
bool bReloadWhenEmptied = true
 
bool bInfiniteReserveAmmo = true
 
float MaxTotalAmmo = 100.f
 
float AmmoConsumedPerShot = 1.f
 
bool bGlobalAmmo = false
 
float RestockTime = 5.f
 
float RestockAmount = 5.f
 
bool bProgressiveRestock = false
 
bool bResetAmmoOnSpawn = false
 
bool bCanTightAim = false
 
bool bHasSwayOnTightAim = true
 
float SwayIntensityMultiplier = 1.f
 
EFireMode TightAimFireMode = EFireMode::Secondary
 
float TightAimRate = 0.25f
 
float TightAimFOV = 45.f
 
float TightAimFocalDistance = 20.f
 
float TightAimFStop = 36.f
 
FVector TightAimRelativeWeaponOffset = FVector::ZeroVector
 
FRotator TightAimRelativeWeaponRotationOffset = FRotator::ZeroRotator
 
bool bTightAimInterruptsReload = false
 
FVector2D TightAimSpreadModifier = FVector2D(1.f, 1.f)
 
TSubclassOf< class UUserWidget > TightAimWidget = NULL
 
UTexture * TightAimReticleTexture = NULL
 
FVector2D TightAimReticleTextureScale = FVector2D(0.05f, 0.05f)
 
FLinearColor TightAimReticleTextureTint = FLinearColor::White
 
TSubclassOf< class UDamageType > BaseDamageType = NULL
 
bool bEnableWeaponMovement = false
 
TSubclassOf< class UAfflictionInstance > WeaponMovementAfflictionClass = NULL
 
float WeaponMovementVelocity = 500.f
 
float MaxWeaponMovementDuration = 0.f
 
ECompressedFlags WeaponMovementFlag = ECompressedFlags::Dash
 
bool bLooksTowardsDashMovement = false
 
bool bBreakAfterDashing = false
 
EFireMode WeaponMovementFireMode = EFireMode::Secondary
 
bool bIsChildWeapon = false
 
TSubclassOf< UWeaponInstanceChildWeaponClass = NULL
 
EFireMode ChildWeaponFireMode = EFireMode::Secondary
 
FName KeyChainSocketName = "KeyChainSocket"
 
FVector KeyChainScale = FVector(1.0f, 1.0f, 1.0f)
 
EDesignatorTeamView DesignatorTeamView
 
TSubclassOf< class ADesignatorMarkerDesignatorMarkerClass = NULL
 
bool bDesignatorRequiresTarget = true
 
float WeaponMeshRecoilTime = 0.5f
 
float WeaponMeshRecoilDistance = 0.0f
 
float WeaponMeshRecoilDistanceTightAimed = 0.0f
 
UCurveFloat * WeaponMeshRecoilCurve = nullptr
 
TSoftObjectPtr< USkeletalMesh > DisplayMesh1P
 
TSoftObjectPtr< USkeletalMesh > DisplayMesh3P
 
TArray< FWeaponAttachmentAttachments
 
FName SocketAttach1P
 
FName SocketAttach3P
 
FVector Mesh3PScale = FVector(1.f, 1.f, 1.f)
 
TSubclassOf< UAnimInstance > AnimationClass1P
 
UAnimMontage * FireAnimation1P
 
UAnimMontage * TightAimFireAnimation1P
 
UAnimMontage * ReloadAnimation1P
 
UAnimMontage * ReloadAnimation1PStart
 
UAnimMontage * ReloadAnimation1PEnd
 
bool bPlayFireAnimationImmediately = false
 
UAnimMontage * SwapWeaponIn1P
 
UAnimMontage * SwapWeaponOut1P
 
TSubclassOf< UAnimInstance > WeaponAnimationClass
 
TSubclassOf< UAnimInstance > WeaponAnimationClass3P
 
UAnimMontage * WeaponFireAnimation
 
UAnimMontage * WeaponFireAnimation3P
 
UAnimMontage * WeaponReloadAnimation1P
 
UAnimMontage * WeaponReloadAnimation1PStart
 
UAnimMontage * WeaponReloadAnimation1PEnd
 
UAnimMontage * WeaponEquipAnimation
 
TSubclassOf< UAnimInstance > AnimationClass3P
 
UAnimMontage * FireAnimation3P
 
UAnimMontage * TightAimFireAnimation3P
 
UAnimMontage * ReloadAnimation3P
 
UAnimMontage * SwapWeaponIn3P
 
UAnimMontage * SwapWeaponOut3P
 
UAnimMontage * WeaponReloadAnimation3P
 
USoundBase * FireSingleSound
 
USoundBase * FireAutoSound
 
USoundBase * FireAutoLoopSound
 
USoundBase * FireAutoLoopTail
 
USoundBase * WeaponMagEmptySound
 
float AutoFireClipShotsPerSec = 10.0f
 
bool bPlaySingleSoundForBursts = true
 
bool bStartLoopingSoundOnFirstShotRemote = true
 
bool bStartLoopingSoundOnFirstShotLocal = true
 
bool bSyncLoopingSoundToFireRate = true
 
FVector Mesh1PScale = FVector(1.f, 1.f, 1.f)
 
float Mesh1PScaleMultiplier = 2.0f
 
FVector RelativePositionOffset = FVector(30.0f, -22.0f, -152.0f)
 
FRotator RelativeRotationOffset = FRotator(16.0f, 0.0f, 10.0f)
 
FText WeaponName
 
FText WeaponDescription
 
float ReticleSpreadMultiplier = 1.f
 
TSubclassOf< UReticleWidgetReticleWidget = NULL
 
TSubclassOf< UUserWidget > AmmoCounterWidget = NULL
 
FName AmmoCounterSocket = "CounterAttachmentPoint"
 
TAssetPtr< UTexture2D > WeaponIcon = NULL
 
TAssetPtr< UTexture2D > WeaponKillFeedIcon = NULL
 
TSubclassOf< class UAfflictionInstance > WeaponAffliction = NULL
 
TArray< EPerkTypePerkSlots = { EPerkType::WEAPON,EPerkType::WEAPON,EPerkType::WEAPON }
 
bool bAppliesUltimateDamageMultiplier = false
 
FName DisplaySocketName = "DisplaySocket"
 
float DisplayFocalDistance = -1.0f
 
EWeaponState WeaponState = EWeaponState::Down
 
UWeaponInstanceParentWeapon = NULL
 
uint8 FireCounter = 0
 
bool bHoldingFire = false
 
bool bCharging = false
 
bool bIsOverheating = false
 
bool bTightAiming = false
 
UWeaponInstanceChildWeapon = nullptr
 
float TotalAmmo = 0.f
 
float MagazineAmmo = 0.f
 
bool bAwaitingUnEquip = false
 
AProjectXCharacterOwningCharacter = NULL
 
UWeaponComponentOwningComponent = NULL
 
TMap< uint8, UMaterialInstance * > WeaponSkin
 
UParticleSystem * WeaponSkinParticle = nullptr
 
TWeakObjectPtr< class ADesignatorMarkerDesignatorMarker = NULL
 
float ChargeValue
 
bool bValidDesignator = false
 
bool bInitialized = false
 
float GlobalAmmoRestockMultiplier = 1.0f
 

Protected Member Functions

virtual void Server_Reliable_NotifyHitActors (const TArray< FHitResult > &HitList)
 
virtual void Client_Unreliable_UpdateMagazineAmmo (float MagAmmo)
 
virtual void Multicast_Unreliable_SpawnImpactEffect (const FHitResult &Hit)
 
virtual void DamageActor (const FHitResult &HitResult)
 
virtual UPhysicalMaterial * GetPhysicalMaterial (const AActor *Actor) const
 

Protected Attributes

TArray< AActor * > ClientHitBoxIgnoreList
 
TArray< AActor * > ServerHitBoxIgnoreList
 
float AmmoRegenRate = 100.f
 
class UDataTable * ImpactEffectTable = NULL
 
class UPhysicalMaterial * PlayerPhysicalMaterial = NULL
 
class UPhysicalMaterial * DeployablePhysicalMaterial = NULL
 
bool bFireValidated = false
 
bool bDashValidated = false
 
int32 CachedFireMode = 0
 
- Protected Attributes inherited from UWeaponInstance
float WeaponEquippedTimestamp = 0.f
 

Additional Inherited Members

- Static Public Member Functions inherited from UWeaponInstance
static bool IsHeadshotStatic (const FHitResult &HitResult, const TSubclassOf< UDamageType > DamageType)
 
static bool ShouldDisplayHitConfirm (AActor *Target, AActor *Instigator)
 
static float GetMagCapacityFromClass (TSubclassOf< UWeaponInstance > Class)
 
static float GetGlobalRestockTimeFromClass (TSubclassOf< UWeaponInstance > Class)
 
static float GetGlobalRestockAmountFromClass (TSubclassOf< UWeaponInstance > Class)
 
static FVector GetKeyChainScaleStatic (TSubclassOf< UWeaponInstance > Class)
 
static FText GetWeaponNameFromClass (TSubclassOf< UWeaponInstance > Class)
 
static FText GetWeaponDescriptionFromClass (TSubclassOf< UWeaponInstance > Class)
 
static FString GetWeaponIDFromClass (TSubclassOf< UWeaponInstance > Class)
 
static TAssetPtr< UTexture2D > GetWeaponIconFromClass (TSubclassOf< UWeaponInstance > Class)
 
static FName GetWeaponKeyChainSocket (TSubclassOf< UWeaponInstance > Class)
 
static TAssetPtr< UTexture2D > GetWeaponKillFeedIconFromClass (TSubclassOf< UWeaponInstance > Class)
 
static TSoftObjectPtr< USkeletalMesh > Get3rdPersonDisplayMeshFromClass (TSubclassOf< UWeaponInstance > Class)
 
static void GetAllImpactEffectRows (class UDataTable *DataTable, TArray< struct FImpactTableRow * > &ImpactEffectRows)
 
static uint8 StaticGetNumberOfPerksSlots (TSubclassOf< UWeaponInstance > Class)
 
static TArray< EPerkTypeStaticGetPerkSlots (TSubclassOf< UWeaponInstance > Class)
 
static struct FImpactTableRowGetImpactEffectByName (class UDataTable *DataTable, FName RowName)
 
static struct FImpactTableRowGetImpactEffectByPhysicsMaterial (class UDataTable *DataTable, const UPhysicalMaterial *Material)
 
static void SpawnImpactEffects (UObject *WorldContextObject, class UDataTable *DataTable, const FHitResult &Hit, class UParticleSystemComponent *&ParticleSystem, class UAudioComponent *&AudioComponent, class UDecalComponent *&DecalComponent, UNiagaraComponent *&NiagaraParticleSystem)
 

Member Function Documentation

◆ BeginPlay()

void UWeaponInstanceMelee::BeginPlay ( )
overridevirtual

Reimplemented from UWeaponInstance.

Reimplemented in UWeaponInstancePowerSword.

◆ CanReload()

bool UWeaponInstanceMelee::CanReload ( EWeaponError ErrorMessage) const
overridevirtual

Reimplemented from UWeaponInstance.

◆ Client_Unreliable_UpdateMagazineAmmo()

virtual void UWeaponInstanceMelee::Client_Unreliable_UpdateMagazineAmmo ( float  MagAmmo)
protectedvirtual

◆ ConsumeAmmo()

bool UWeaponInstanceMelee::ConsumeAmmo ( float  Amount,
uint8  Mode = 0 
)
overridevirtual

Reimplemented from UWeaponInstance.

◆ DamageActor()

void UWeaponInstanceMelee::DamageActor ( const FHitResult &  HitResult)
protectedvirtual

Reimplemented in UWeaponInstanceGroundPound.

◆ FireComplete()

void UWeaponInstanceMelee::FireComplete ( uint8  Mode = 0)
overridevirtual

Reimplemented from UWeaponInstance.

Reimplemented in UWeaponInstanceGroundPound, and UWeaponInstancePowerSword.

◆ GetImpactEffectTable()

FORCEINLINE class UDataTable * UWeaponInstanceMelee::GetImpactEffectTable ( ) const
inline

◆ GetPhysicalMaterial()

UPhysicalMaterial * UWeaponInstanceMelee::GetPhysicalMaterial ( const AActor *  Actor) const
protectedvirtual

◆ HasEnoughAmmo()

bool UWeaponInstanceMelee::HasEnoughAmmo ( float  Amount,
uint8  Mode = 0 
) const
overridevirtual

Reimplemented from UWeaponInstance.

◆ Multicast_Unreliable_SpawnImpactEffect()

virtual void UWeaponInstanceMelee::Multicast_Unreliable_SpawnImpactEffect ( const FHitResult &  Hit)
protectedvirtual

◆ NotifyMeleeHitbox()

void UWeaponInstanceMelee::NotifyMeleeHitbox ( const FHitBoxInfo HitBox)
virtual

◆ Reload()

bool UWeaponInstanceMelee::Reload ( float  WorldTimeOverride)
overridevirtual

Reimplemented from UWeaponInstance.

◆ Server_Reliable_NotifyHitActors()

virtual void UWeaponInstanceMelee::Server_Reliable_NotifyHitActors ( const TArray< FHitResult > &  HitList)
protectedvirtual

Member Data Documentation

◆ AmmoRegenRate

float UWeaponInstanceMelee::AmmoRegenRate = 100.f
protected

◆ bDashValidated

bool UWeaponInstanceMelee::bDashValidated = false
protected

◆ bFireValidated

bool UWeaponInstanceMelee::bFireValidated = false
protected

◆ CachedFireMode

int32 UWeaponInstanceMelee::CachedFireMode = 0
protected

◆ ClientHitBoxIgnoreList

TArray<AActor*> UWeaponInstanceMelee::ClientHitBoxIgnoreList
protected

◆ DeployablePhysicalMaterial

class UPhysicalMaterial* UWeaponInstanceMelee::DeployablePhysicalMaterial = NULL
protected

◆ ImpactEffectTable

class UDataTable* UWeaponInstanceMelee::ImpactEffectTable = NULL
protected

◆ PlayerPhysicalMaterial

class UPhysicalMaterial* UWeaponInstanceMelee::PlayerPhysicalMaterial = NULL
protected

◆ Range

float UWeaponInstanceMelee::Range = 500.f

◆ ServerHitBoxIgnoreList

TArray<AActor*> UWeaponInstanceMelee::ServerHitBoxIgnoreList
protected

The documentation for this class was generated from the following files: