Code:
[class AavaWeap_BaseGun : public AavaWeapon]
Enums:
enum EGUNS_WAKINGTYPE
{
EGWT_CLASSIC,
EGWT_PATTERN,
EGWT_MAX
};
Consts:
Structs:
struct FRangeTable
{
float StartRange; // 0x0
float EndRange; // 0x4
float DamageRatio; // 0x8
};
struct FDamageTable
{
unsigned char PerRatio; // 0x0
int DamageOffset; // 0x4
};
struct FFireAnimInfo
{
struct FName AnimName; // 0x0
float FirstShotRate; // 0x8
float OtherShotRate; // 0xC
};
struct FSightInfo
{
float FOV; // 0x0
float ChangeTime; // 0x4
};
struct FAccracyPenaltyEntry
{
int iShotFired; // 0x0
float AccuracyPenalty; // 0x4
};
struct FKickbackPenaltyEntry
{
int iShotFired; // 0x0
float UpBase; // 0x4
float UpRandom; // 0x8
float LateralBase; // 0xC
float LateralRandom; // 0x10
};
struct FKickbackRange
{
float Min; // 0x0
float Max; // 0x4
};
struct FSCalcSpread
{
float param1; // 0x0
float param2; // 0x4
};
struct FRifleKickback_Bal
{
float UpBase; // 0x0
float LateralBase; // 0x4
float UpModifier; // 0x8
float LateralModifier; // 0xC
float UpMax; // 0x10
float LateralMax; // 0x14
int DirectionChange; // 0x18
};
struct FRifleKickback
{
float UpBase; // 0x0
float LateralBase; // 0x4
float UpModifier; // 0x8
float LateralModifier; // 0xC
float UpMax; // 0x10
float LateralMax; // 0x14
int DirectionChange; // 0x18
};
Properties:
unsigned char GunsWakingType; // 0x754
unsigned char iShotsFired; // 0x755
unsigned char iDirection; // 0x756
unsigned char Penetration; // 0x757
unsigned char PenetrationS; // 0x758
unsigned char ReloadCnt; // 0x759
unsigned char SightMode; // 0x75A
unsigned char m_byteBeforeStateFireModeNum; // 0x75B
unsigned char iShotsFiredBackUp; // 0x75C
float TimeToIdleAfterFire; // 0x760
float IdleInterval; // 0x764
class UClass* BulletType; // 0x768
unsigned long bAutoFire : 1; // 0x76C [0x00000001]
unsigned long NoDecayAccuracyWhenFiring : 1; // 0x76C [0x00000002]
unsigned long NoPenaltyAccumulatedAccuracy : 1; // 0x76C [0x00000004]
unsigned long UseAimStateSteadyWhenJumpTop : 1; // 0x76C [0x00000008]
unsigned long bDisplaySpreadInfoInSightMode : 1; // 0x76C [0x00000010]
unsigned long bEnableSilencer : 1; // 0x76C [0x00000020]
unsigned long bMountSilencer : 1; // 0x76C [0x00000040]
unsigned long bRequestSilencer : 1; // 0x76C [0x00000080]
unsigned long bForceReload : 1; // 0x76C [0x00000100]
unsigned long bReloadClip : 1; // 0x76C [0x00000200]
unsigned long bEnableFireWhenReload : 1; // 0x76C [0x00000400]
unsigned long bAutoFillAmmo : 1; // 0x76C [0x00000800]
unsigned long bSupportIronSightsAiming : 1; // 0x76C [0x00001000]
unsigned long m_bShowInclinometer : 1; // 0x76C [0x00002000]
unsigned long m_bShowInclinometerA : 1; // 0x76C [0x00004000]
unsigned long m_bBinocularEffect : 1; // 0x76C [0x00008000]
unsigned long m_bBinocularEffectA : 1; // 0x76C [0x00010000]
unsigned long bHideWeaponInSightMode : 1; // 0x76C [0x00020000]
unsigned long bHideCursorInSightMode : 1; // 0x76C [0x00040000]
unsigned long bReleaseZoomAfterFire : 1; // 0x76C [0x00080000]
unsigned long bRecoverZoomAfterFire : 1; // 0x76C [0x00100000]
unsigned long TryAttachBulletPSC : 1; // 0x76C [0x00200000]
unsigned long bEnableLaserSight : 1; // 0x76C [0x00400000]
unsigned long bEjectBulletWhenFire : 1; // 0x76C [0x00800000]
unsigned long bAvailableInstantZoomFire : 1; // 0x76C [0x01000000]
unsigned long bSyncSightMode : 1; // 0x76C [0x02000000]
unsigned long bUseNewPunchAngle : 1; // 0x76C [0x04000000]
unsigned long m_bUseKickBack : 1; // 0x76C [0x08000000]
unsigned long m_bNeedToBalanceMultiplier : 1; // 0x76C [0x10000000]
unsigned long m_bBeforeStateStartFire : 1; // 0x76C [0x20000000]
unsigned long m_bCanSwitchToNextSightMode_InWeaponFiring : 1; // 0x76C [0x40000000]
unsigned long bPrePrimaryWeapon : 1; // 0x76C [0x80000000]
unsigned long UseDamageTable : 1; // 0x770 [0x00000001]
unsigned long bFootstepSilenceOnZoom : 1; // 0x770 [0x00000002]
unsigned long bSkipQVCAnimOnZoom : 1; // 0x770 [0x00000004]
unsigned long bUseWhenMovingA_WhenWalking : 1; // 0x770 [0x00000008]
unsigned long bUse_KickbackWhenSteady_IfWalking : 1; // 0x770 [0x00000010]
unsigned long bDontResetReloadCnt : 1; // 0x770 [0x00000020]
unsigned long bRpgDrawCrossHair : 1; // 0x770 [0x00000040]
unsigned long bConfirmFiring : 1; // 0x770 [0x00000080]
unsigned long BugFixDirectionHold : 1; // 0x770 [0x00000100]
unsigned long SightModebChanged : 1; // 0x770 [0x00000200]
unsigned long bRecentAimedMode : 1; // 0x770 [0x00000400]
unsigned long bIgnoreRand : 1; // 0x770 [0x00000800]
unsigned long bLockedOnTarget : 1; // 0x770 [0x00001000]
unsigned long bUseFullBodyPreFiringAnim : 1; // 0x770 [0x00002000]
int NumFiresPerShot; // 0x774
float LastFire; // 0x778
float LastAccuracy; // 0x77C
float LastSpread; // 0x780
float LastInaccuracy; // 0x784
float CurrentAccuracy; // 0x788
float CurrentSpread; // 0x78C
float CurrentInaccuracy; // 0x790
float HitDamage; // 0x794
float CurrentPenaltyMultiplier; // 0x798
float CurrentAccuracyPenaltyMultiplier; // 0x79C
float DisplayedSpreadMax; // 0x7A0
float SpreadDecayTime; // 0x7A4
float SpreadRestoreRate; // 0x7A8
float SpreadDisperseRatio; // 0x7AC
float AimingSpreadRestoreRate; // 0x7B0
float UpDownSpreadRestoreRate; // 0x7B4
float InaccuracyRestoreRate; // 0x7B8
float AccumulatedAccuracy; // 0x7BC
float AccumulatedAccuracyQueuedTime; // 0x7C0
float AccumulatedAccuracyRemainTime; // 0x7C4
float RangeModifier; // 0x7C8
int iRandForSync10000; // 0x7CC
int iBeforeRandForAddSpread; // 0x7D0
float fServerFireAmmunitionTime; // 0x7D4
TArray<int> arr_iRandForSync10000; // 0x7D8
struct FRifleKickback Kickback_WhenMoving; // 0x7E4
struct FRifleKickback Kickback_WhenFalling; // 0x800
struct FRifleKickback Kickback_WhenDucking; // 0x81C
struct FRifleKickback Kickback_WhenSteady; // 0x838
struct FSCalcSpread Spread_WhenMoving; // 0x854
struct FSCalcSpread Spread_WhenFalling; // 0x85C
struct FSCalcSpread Spread_WhenDucking; // 0x864
struct FSCalcSpread Spread_WhenSteady; // 0x86C
float AccuracyDivisor; // 0x874
float AccuracyOffset; // 0x878
float AccuracyFactor1; // 0x87C
float AccuracyFactor2; // 0x880
float AccuracyFactor3; // 0x884
float MaxInaccuracy; // 0x888
float Kickback_LateralLimit; // 0x88C
float Kickback_UpLimit; // 0x890
float FireIntervalMultiplierA; // 0x894
struct FRifleKickback Kickback_WhenMovingA; // 0x898
struct FRifleKickback Kickback_WhenFallingA; // 0x8B4
struct FRifleKickback Kickback_WhenDuckingA; // 0x8D0
struct FRifleKickback Kickback_WhenSteadyA; // 0x8EC
struct FSCalcSpread Spread_WhenMovingA; // 0x908
struct FSCalcSpread Spread_WhenFallingA; // 0x910
struct FSCalcSpread Spread_WhenDuckingA; // 0x918
struct FSCalcSpread Spread_WhenSteadyA; // 0x920
float AccuracyDivisorA; // 0x928
float AccuracyOffsetA; // 0x92C
float AccuracyFactorA1; // 0x930
float AccuracyFactorA2; // 0x934
float AccuracyFactorA3; // 0x938
float MaxInaccuracyA; // 0x93C
struct FRifleKickback Kickback_WhenPenalty; // 0x940
TArray<struct FKickbackPenaltyEntry> KickbackPenaltyTable; // 0x95C
float KickbackPenaltyAccInterval; // 0x968
float KickbackPenaltyAccMultiplier; // 0x96C
float KickbackPenaltyVerticalMax; // 0x970
float KickbackPenaltyLateralMax; // 0x974
float AccuracyPenalty; // 0x978
float AccuracyPenaltyA; // 0x97C
TArray<struct FAccracyPenaltyEntry> AccuracyPenaltyTable; // 0x980
TArray<struct FAccracyPenaltyEntry> AccuracyPenaltyATable; // 0x98C
float AccuracyPenaltyAccMultiplier; // 0x998
TArray<struct FKickbackRange> KickbackLimiter; // 0x99C
int DirectionHold; // 0x9A8
int CurrentDirectionHold; // 0x9AC
struct FName MountSilencerAnim; // 0x9B0
struct FName UnMountSilencerAnim; // 0x9B8
float MountSilencerTime; // 0x9C0
float UnMountSilencerTime; // 0x9C4
class USoundCue* WeaponSilencerFireSnd; // 0x9C8
struct FString WeaponSilencerFireSndName; // 0x9CC
float RangeModifierS; // 0x9D8
float HitDamageS; // 0x9DC
class UMeshComponent* SilencerMesh; // 0x9E0
struct FString SilencerMeshName; // 0x9E4
struct FName SilencerBoneName; // 0x9F0
TArray<class UClass*> InstantHitDamageTypesS; // 0x9F8
int ClipCnt; // 0xA04
float ReloadTime; // 0xA08
struct FName WeaponReloadAnim; // 0xA0C
struct FName WeaponPreReloadAnim; // 0xA14
float PreReloadTime; // 0xA1C
struct FName WeaponPostReloadAnim; // 0xA20
float PostReloadTime; // 0xA28
float FastReloadTime; // 0xA2C
float FillAmmoDelay; // 0xA30
int FillAmmoCount; // 0xA34
TArray<struct FName> FillAmmoStates; // 0xA38
float LastFillAmmoTime; // 0xA44
float BurstEndTime; // 0xA48
int BurstCount; // 0xA4C
int MaxBurst; // 0xA50
float CoolDownTime; // 0xA54
int PawnMaxBurst; // 0xA58
class UMeshComponent* ScopeComp; // 0xA5C
class UMaterialInstanceConstant* ScopeMIC; // 0xA60
TArray<struct FSightInfo> SightInfos; // 0xA64
struct FName SightInAnim; // 0xA70
struct FName SightOutAnim; // 0xA78
float fov_start; // 0xA80
float fov_target; // 0xA84
float fov_current; // 0xA88
float fov_transitionTime; // 0xA8C
float fov_transitionElapsedTime; // 0xA90
float BobDampingInSight; // 0xA94
class UParticleSystemComponent* InSightMuzzleFlashPSC; // 0xA98
class UParticleSystem* InSightMuzzleFlashPSCTemplate; // 0xA9C
struct FString InSightMuzzleFlashName; // 0xAA0
float fReleaseZoomAfterFireInterval; // 0xAAC
float RecoverZoomTime; // 0xAB0
int ReleasedSightMode; // 0xAB4
TArray<struct FFireAnimInfo> FireAnimInfos; // 0xAB8
TArray<struct FFireAnimInfo> AltFireAnimInfos; // 0xAC4
TArray<struct FFireAnimInfo> IronSightFireAnimInfos; // 0xAD0
float FireAnimFirstShotTotalRate; // 0xADC
float FireAnimOtherShotTotalRate; // 0xAE0
float AltFireAnimFirstShotTotalRate; // 0xAE4
float AltFireAnimOtherShotTotalRate; // 0xAE8
float IronSightFireAnimFirstShotTotalRate; // 0xAEC
float IronSightFireAnimOtherShotTotalRate; // 0xAF0
struct FName LastFireAnim; // 0xAF4
struct FName LastAltFireAnim; // 0xAFC
struct FName IronSightLastFireAnim; // 0xB04
float LastFireInterval; // 0xB0C
class UavaBulletTrailComponent* BulletTrailComponent; // 0xB10
int TrailCount; // 0xB14
int TrailInterval; // 0xB18
class UParticleSystem* BulletTemplete; // 0xB1C
class UParticleSystemComponent* BulletPSC; // 0xB20
struct FString BulletPSName; // 0xB24
class AavaEmitter* BulletEmitter; // 0xB30
class USoundCue* WeaponNoAmmoSnd; // 0xB34
float LastNoAmmoSoundPlayTime; // 0xB38
float NoAmmoSoundInterval; // 0xB3C
float UnZoomPenalty; // 0xB40
float CrossHairMultiflier; // 0xB44
float LastHitTime; // 0xB48
class APawn* LastHitPawn; // 0xB4C
float LastHitDamage; // 0xB50
float UnZoomSpreadAmp; // 0xB54
float ZoomSpreadAmp; // 0xB58
int ReloadableCount; // 0xB5C
float m_fWalkBobZ; // 0xB60
float m_fApplyPunchAngleRatio; // 0xB64
float m_fApplyCrosshairGap; // 0xB68
struct FRifleKickback_Bal Kickback_BalanceMultiplier; // 0xB6C
float BalanceMultiplier_HitDamage; // 0xB88
float BalanceMultiplier_FireInterval; // 0xB8C
float BalanceMultiplier_KickbackUpLimit; // 0xB90
float BalanceMultiplier_KickbackLateralLimit; // 0xB94
float BalanceMultiplier_SpreadParams1; // 0xB98
float BalanceMultiplier_SpreadParams2; // 0xB9C
float BalanceMultiplier_SpreadDecayTime; // 0xBA0
float BalanceMultiplier_MaxInaccuracy; // 0xBA4
float AimInaccuracyOffset; // 0xBA8
float AimInaccuracyTime; // 0xBAC
float AimInaccuracyInitialOffset; // 0xBB0
float AimInaccuracyInitialTime; // 0xBB4
int MultiShoot; // 0xBB8
TArray<struct FDamageTable> DamageTables; // 0xBBC
TArray<struct FRangeTable> RangeTables; // 0xBC8
float RangeBaseNumerator; // 0xBD4
float RangeBaseDemominator; // 0xBD8
float RangeExtender; // 0xBDC
float RangeSilencerModifier; // 0xBE0
float RangeSightModeModifier; // 0xBE4
float BurstEndWaiting; // 0xBE8
int OverrideCrossHairColorType; // 0xBEC
int OverrideCrossHairShapeType; // 0xBF0
float fRatio_MissHeadShot; // 0xBF4
int iHitOtherCharacter; // 0xBF8
TArray<struct FVector2D> Kickbacks; // 0xBFC
int iWeaponKillCount; // 0xC08
float fDamageRatio_ByWeaponKillCount; // 0xC0C
float fMaxValue_ByWeaponKillCount; // 0xC10
float fDamageRatio_ByWeaponKillCount_ForAI; // 0xC14
float fMaxValue_ByWeaponKillCount_ForAI; // 0xC18
float MacroFiringMargin; // 0xC1C
float CeaseToFireAbs; // 0xC20
float SingleShotMultiplier; // 0xC24
class USoundCue* sndCueReserveForFireSound; // 0xC28
float fTimeOf_SndCueReserveForFireSound; // 0xC2C
int nFireOffset; // 0xC30
int nFireOffsetA; // 0xC34
int iFiredBulletCount; // 0xC38
int iFireStartBulletCount; // 0xC3C
float fRecentFiredTime; // 0xC40
float fRecentFiredTimePrev; // 0xC44
int iFireCountInServer; // 0xC48
int iDamageBulletCountPerFire; // 0xC4C
int iSameBulletDamageCount; // 0xC50
float fTime_WarmUpForFire; // 0xC54
float fTime_StartWeaponFiring; // 0xC58
TArray<int> PP_FiringSound2_Queue; // 0xC5C
class AavaPawn* recentDamagedPawn; // 0xC68
float LockCheckTime; // 0xC6C
float LockRange; // 0xC70
float LockAim; // 0xC74
float LockAcquireTime; // 0xC78
float LockTolerance; // 0xC7C
class USoundCue* LockAcquiredSound; // 0xC80
class USoundCue* LockLostSound; // 0xC84
class USoundCue* LockOnWarningSound; // 0xC88
class AActor* LockedTarget; // 0xC8C
class AActor* PendingLockedTarget; // 0xC90
float PendingLockedTargetTime; // 0xC94
float LastValidTargetTime; // 0xC98
float LastLockedOnTime; // 0xC9C
int iPreFiringIdx; // 0xCA0
TArray<float> PreFiringTime; // 0xCA4
TArray<struct FName> PreFiringAnim; // 0xCB0