/* ############################################################################################# # Killing Floor 2 (1.8787) SDK # Generated with TheFeckless UE3 SDK Generator v1.4_Beta-Rev.51 # ========================================================================================= # # File: KFGame_classes.h # ========================================================================================= # # Credits: uNrEaL, Tamimego, SystemFiles, R00T88, _silencer, the1domo, K@N@VEL # Thanks: HOOAH07, lowHertz # Forums: www.uc-forum.com, www.gamedeception.net ############################################################################################# */ #ifdef _MSC_VER #pragma pack(push, 0x4) #endif /* # ========================================================================================= # # Constants # ========================================================================================= # */ #define CONST_AIAirControl 0.35 #define CONST_MAX_GET_RBBONE_CHECKS 3 #define CONST_MAX_ADDED_HITFX 7 #define CONST_bUseAsyncRaycastsForSkipAhead 0 #define CONST_MATCH_EVENT_MAX_EVENTID 0x0000FFFF #define CONST_MATCH_EVENT_HEAL_RECEIVED 5 #define CONST_MATCH_EVENT_HEAL_GIVEN 4 #define CONST_MATCH_EVENT_DAMAGE_TAKEN 3 #define CONST_MATCH_EVENT_DAMAGE_DEALT 2 #define CONST_MATCH_EVENT_DOSH_EARNED 1 #define CONST_MATCH_EVENT_HEADSHOT 0 #define CONST_INCAP_THRESHOLD 100.f #define CONST_DISRUPT_THRESHOLD 25.f #define CONST_LATENT_MOVETO 501 #define CONST_SLOW_SPEED_MOD 0.8f #define CONST_KFID_QuickWeaponSelect 100 #define CONST_KFID_CurrentLayoutIndex 101 #define CONST_KFID_ForceFeedbackEnabled 103 #define CONST_KFID_SavedPerkIndex 105 #define CONST_KFID_AllowBloodSplatterDecals 106 #define CONST_KFID_GoreLevel 107 #define CONST_KFID_StoredCharIndex 111 #define CONST_KFID_MasterVolumeMultiplier 112 #define CONST_KFID_DialogVolumeMultiplier 113 #define CONST_KFID_MusicVolumeMultiplier 114 #define CONST_KFID_SFXVolumeMultiplier 115 #define CONST_KFID_GammaMultiplier 117 #define CONST_KFID_MusicVocalsEnabled 118 #define CONST_KFID_MinimalChatter 119 #define CONST_KFID_ShowCrossHair 121 #define CONST_KFID_FOVOptionsPercentageValue 122 #define CONST_KFID_ShowKillTicker 123 #define CONST_KFID_FriendlyHudScale 125 #define CONST_KFID_FavoriteWeapons 127 #define CONST_KFID_GearLoadouts 128 #define CONST_KFID_SetGamma 129 #define CONST_KFID_RequiresPushToTalk 130 #define CONST_KFID_InvertController 131 #define CONST_KFID_AutoTargetEnabled 132 #define CONST_KFID_GamepadSensitivityScale 133 #define CONST_KFID_ZoomedSensitivityScale 134 #define CONST_KFID_GamepadZoomedSensitivityScale 135 #define CONST_KFID_EnableMouseSmoothing 136 #define CONST_KFID_MouseSensitivity 138 #define CONST_KFID_TargetAdhesionEnabled 139 #define CONST_KFID_TargetFrictionEnabled 140 #define CONST_KFID_InvertMouse 142 #define CONST_KFID_DEPRECATED 143 #define CONST_KFID_SavedSoloModeIndex 144 #define CONST_KFID_SavedSoloMapString 145 #define CONST_KFID_SavedSoloDifficultyIndex 146 #define CONST_KFID_SavedSoloLengthIndex 147 #define CONST_KFID_SavedModeIndex 148 #define CONST_KFID_SavedMapString 149 #define CONST_KFID_SavedDifficultyIndex 150 #define CONST_KFID_SavedLengthIndex 151 #define CONST_KFID_SavedPrivacyIndex 152 #define CONST_KFID_SavedServerTypeIndex 153 #define CONST_KFID_SavedInProgressIndex 154 #define CONST_KFID_ControllerSoundEnabled 155 #define CONST_KFID_MatchmakingRegion 156 #define CONST_KFID_UseAltAimOnDuals 157 #define CONST_KFID_HideBossHealthBar 158 #define CONST_KFID_AntiMotionSickness 159 #define CONST_KFID_ShowWelderInInventory 160 #define CONST_KFID_AutoTurnOff 161 #define CONST_KFID_ReduceHightPitchSounds 162 #define CONST_KFID_ShowConsoleCrossHair 163 #define CONST_KFID_VOIPVolumeMultiplier 164 #define CONST_KFID_WeaponSkinAssociations 165 #define CONST_KFID_SavedEmoteId 166 #define CONST_KFID_DisableAutoUpgrade 167 #define CONST_KFID_SafeFrameScale 168 #define CONST_FXG_MAX 15 #define CONST_NUM_FAVE_WEAPS 8 #define CONST_MAX_AIM_CORRECTION_SIZE 35.f #define CONST_MapObjectiveIndex 4 #define CONST_STATID_ACHIEVE_TragicKingdomCollectibles 4038 #define CONST_STATID_ACHIEVE_NukedCollectibles 4037 #define CONST_STATID_ACHIEVE_DescentCollectibles 4036 #define CONST_STATID_ACHIEVE_ZedLandingCollectibles 4035 #define CONST_STATID_ACHIEVE_HostileGroundsCollectibles 4032 #define CONST_STATID_ACHIEVE_InfernalRealmCollectibles 4031 #define CONST_STATID_ACHIEVE_ContainmentStationCollectibles 4030 #define CONST_STATID_ACHIEVE_BlackForestCollectibles 4029 #define CONST_STATID_ACHIEVE_FarmhouseCollectibles 4028 #define CONST_STATID_ACHIEVE_ParisCollectibles 4027 #define CONST_STATID_ACHIEVE_ManorCollectibles 4026 #define CONST_STATID_ACHIEVE_PrisonCollectibles 4025 #define CONST_STATID_ACHIEVE_OutpostCollectibles 4024 #define CONST_STATID_ACHIEVE_EvacsCollectibles 4023 #define CONST_STATID_ACHIEVE_BioticsCollectibles 4022 #define CONST_STATID_ACHIEVE_CollectCatacolmbs 4021 #define CONST_STATID_ACHIEVE_QuickOnTheTrigger 4033 #define CONST_STATID_ACHIEVE_HealTeam 4020 #define CONST_STATID_ACHIEVE_Benefactor 4019 #define CONST_STATID_ACHIEVE_SirenKill 4018 #define CONST_STATID_ACHIEVE_ShrikeKill 4014 #define CONST_STATID_ACHIEVE_FleshPoundKill 4013 #define CONST_STATID_ACHIEVE_DieVolter 4012 #define CONST_STATID_ACHIEVE_HoldOut 4011 #define CONST_STATID_ACHIEVE_VSHumanWins 4010 #define CONST_STATID_ACHIEVE_VSZedWins 4009 #define CONST_STATID_ACHIEVE_HellWins 4017 #define CONST_STATID_ACHIEVE_SuicidalWins 4016 #define CONST_STATID_ACHIEVE_HardWins 4015 #define CONST_STATID_ACHIEVE_MrPerky25 4005 #define CONST_STATID_ACHIEVE_MrPerky20 4004 #define CONST_STATID_ACHIEVE_MrPerky15 4003 #define CONST_STATID_ACHIEVE_MrPerky10 4002 #define CONST_STATID_ACHIEVE_MrPerky5 4001 #define CONST_STATID_DingoAchievementStart 4000 #define CONST_STATID_MatchWins 3000 #define CONST_STATID_PersonalBest_Dosh 2007 #define CONST_STATID_PersonalBest_LargeZedKill 2006 #define CONST_STATID_PersonalBest_Assists 2005 #define CONST_STATID_PersonalBest_Kills 2004 #define CONST_STATID_PersonalBest_Healing 2003 #define CONST_STATID_PersonalBest_HeadShots 2002 #define CONST_STATID_PersonalBest_PistolKills 2001 #define CONST_STATID_PersonalBest_KnifeKills 2000 #define CONST_STATID_AnalyticsPlaceholder 800 #define CONST_STATID_AchievementPlaceholder 500 #define CONST_STATID_WeeklyEventProgress 301 #define CONST_STATID_SpecialEventProgress 300 #define CONST_STATID_FleshpoundKills 203 #define CONST_STATID_CrawlerKills 202 #define CONST_STATID_StalkerKills 201 #define CONST_STATID_Kills 200 #define CONST_STATID_SWAT_Build 91 #define CONST_STATID_SWAT_Progress 90 #define CONST_STATID_Guns_Build 81 #define CONST_STATID_Guns_Progress 80 #define CONST_STATID_Surv_Build 71 #define CONST_STATID_Surv_Progress 70 #define CONST_STATID_Demo_Build 61 #define CONST_STATID_Demo_Progress 60 #define CONST_STATID_Shrp_Build 51 #define CONST_STATID_Shrp_Progress 50 #define CONST_STATID_Medic_HealPoints 42 #define CONST_STATID_Medic_Build 41 #define CONST_STATID_Medic_Progress 40 #define CONST_STATID_Fire_Build 31 #define CONST_STATID_Fire_Progress 30 #define CONST_STATID_Sup_WeldPoints 22 #define CONST_STATID_Sup_Build 21 #define CONST_STATID_Sup_Progress 20 #define CONST_STATID_Bsrk_Build 11 #define CONST_STATID_Bsrk_Progress 10 #define CONST_STATID_Cmdo_Build 2 #define CONST_STATID_Cmdo_Progress 1 #define CONST_STATID_None 0 #define CONST_VIEWID_KFGameStats 1 #define CONST_KFMAX_Perks 10 #define CONST_SkeletalMesh_Width 256 #define CONST_KActorOffset 25 #define CONST_HIT_DIRECTION_FLAG 0x80 #define CONST_DoorWidth 200 #define CONST_HumanPushDistance 40 #define CONST_SlidingPushForce 750 #define CONST_VerticalPushForce 100 #define CONST_BashHingedAnim_F 'DoorBash_A' #define CONST_BashHingedAnim_B 'DoorBash_B' #define CONST_BashSlidingAnim_F 'DoorBashSliding_A' #define CONST_BashSlidingAnim_B 'DoorBashSliding_B' #define CONST_MAX_WAYPOINTS 24 #define CONST_OverMaxPlayers_MaxLerpedPlayers 128.f #define CONST_OverMaxPlayers_MaxHealthMod 20.f #define CONST_TeamDeathPenaltyPerc 0.05f #define CONST_GBE_Inventory 'Inventory' #define CONST_GBE_TraderOpen 'TraderOpen' #define CONST_GBE_WaveStart 'WaveStart' #define CONST_GBE_Buy 'Buy' #define CONST_GBE_Sell 'Sell' #define CONST_GBE_Pickup 'Pickup' #define CONST_GBE_Respawn 'Respawn' #define CONST_GBE_Kills 'Kills' #define CONST_GBE_Deaths 'Deaths' #define CONST_NUM_CONTROLLER_BINDINGS 20 #define CONST_NUM_LAYOUTS 4 #define CONST_NUM_OVERRIDDEN_BUTTONS 12 #define CONST_GAMEEVENT_ZED_DIED 1010 #define CONST_GAMEEVENT_ZED_SPAWNED 1011 #define CONST_GAMEEVENT_SPAWNVOLUME_RATING 2002 #define CONST_GAMEEVENT_SPAWNVOLUME_PLAYERS 2003 #define CONST_GAMEEVENT_SPAWNVOLUME_BESTRATING 2004 #define CONST_GAMEEVENT_AI_MOVEFAILURE 2100 #define CONST_GAMEEVENT_AI_BUMP 2101 #define CONST_GAMEEVENT_AI_JUMPSPOT 2102 #define CONST_GAMEEVENT_AI_HITWALL 2103 #define CONST_GAMEEVENT_AI_JUMPOVERWALL 2104 #define CONST_GAMEEVENT_AI_WAITFORDOOR 2105 #define CONST_GAMEEVENT_AI_FINISHEDWAITFORDOOR 2106 #define CONST_GAMEEVENT_AI_FAILEDADJUSTFROMWALL 2107 #define CONST_GAMEEVENT_AI_CHARGEATTACK 2108 #define CONST_GAMEEVENT_AI_CHANGEDENEMY 2109 #define CONST_GAMEEVENT_AI_GETNEXTMOVEGOALFAILURE 2110 #define CONST_GAMEEVENT_AI_REDIRECTEDPATH 2111 #define CONST_GAMEEVENT_AI_BLOCKEDPATH 2112 #define CONST_GAMEEVENT_AI_PATHOBSTRUCTION_FAIL 2113 #define CONST_GAMEEVENT_AI_PATHOBSTRUCTION_REPATH 2114 #define CONST_GAMEEVENT_AI_MOVE_TIMEOUT 2115 #define CONST_GAMEEVENT_AI_INVALIDATE_ANCHOR 2116 #define CONST_GAMEEVENT_AI_ANCHOR_FALLBACK_FAILED 2117 #define CONST_GAMEEVENT_AI_FAILED_ANCHOR 2118 #define CONST_GAMEEVENT_AI_BASED_ON_PAWN 2119 #define CONST_GAMEEVENT_AI_HEADLESS_WANDER 2120 #define CONST_GAMEEVENT_AI_DESTROYED_DOOR 2121 #define CONST_GAMEEVENT_AI_PATHGOALEVAL_ABORT 2122 #define CONST_GAMEEVENT_AI_PATH_FAILURE 2123 #define CONST_MAX_SECTIONS 5 #define CONST_TraderPing_LeftSide -1.0f #define CONST_TraderPing_RightSide 1.0f #define CONST_PingMinRenderDistSq 100000.f #define CONST_MAX_WEAPON_GROUPS 4 #define CONST_SKILLFLAG 0x1 #define CONST_SKILLFLAG01 0x2 #define CONST_SKILLFLAG02 0x4 #define CONST_SKILLFLAG03 0x8 #define CONST_SKILLFLAG04 0x10 #define CONST_SKILLFLAG05 0x20 #define CONST_SKILLFLAG06 0x40 #define CONST_SKILLFLAG07 0x80 #define CONST_SKILLFLAG08 0x100 #define CONST_SKILLFLAG09 0x200 #define CONST_SKILL_NONE 0 #define CONST_Skill 1 #define CONST_Skill01 2 #define CONST_RANK_1_LEVEL 5 #define CONST_RANK_2_LEVEL 10 #define CONST_RANK_3_LEVEL 15 #define CONST_RANK_4_LEVEL 20 #define CONST_RANK_5_LEVEL 25 #define CONST_UNLOCK_INTERVAL 5 #define CONST_WeaponStatMax_Damage 820.f #define CONST_WeaponStatMax_FireRate 800.f #define CONST_WeaponStatMax_Penetration 4.f #define CONST_WeaponStatMax_Range 100.f #define CONST_WeaponStatMax_Block 1.f #define CONST_WeaponStatMax_Parry 10.f #define CONST_WeaponStatMax_HealAmount 50.f #define CONST_WeaponStatMax_HealRechargeSpeed 10.f #define CONST_WeldingPointsRequired 510 #define CONST_HealingPointsRequired 10 #define CONST_MaxPerkLevel 25 #define CONST_MaxPrestigeLevel 10 #define CONST_SpecialEventObjectiveCountMax 8 #define CONST_KFACHID_ParisNormal 0 #define CONST_KFACHID_ParisHard 1 #define CONST_KFACHID_ParisSuicidal 2 #define CONST_KFACHID_ParisHellOnEarth 3 #define CONST_KFACHID_OutpostNormal 4 #define CONST_KFACHID_OutpostHard 5 #define CONST_KFACHID_OutpostSuicidal 6 #define CONST_KFACHID_OutpostHellOnEarth 7 #define CONST_KFACHID_BioticsNormal 8 #define CONST_KFACHID_BioticsHard 9 #define CONST_KFACHID_BioticsSuicidal 10 #define CONST_KFACHID_BioticsHellOnEarth 11 #define CONST_KFACHID_ManorNormal 12 #define CONST_KFACHID_ManorHard 13 #define CONST_KFACHID_ManorSuicidal 14 #define CONST_KFACHID_ManorHellOnEarth 15 #define CONST_KFACHID_ParisCollectibles 16 #define CONST_KFACHID_OutpostCollectibles 17 #define CONST_KFACHID_BioticsCollectibles 18 #define CONST_KFACHID_ManorCollectibles 19 #define CONST_KFACHID_EvacNormal 20 #define CONST_KFACHID_EvacHard 21 #define CONST_KFACHID_EvacSuicidal 22 #define CONST_KFACHID_EvacHellOnEarth 23 #define CONST_KFACHID_CatacombsNormal 24 #define CONST_KFACHID_CatacombsHard 25 #define CONST_KFACHID_CatacombsSuicidal 26 #define CONST_KFACHID_CatacombsHellOnEarth 27 #define CONST_KFACHID_EvacsCollectibles 28 #define CONST_KFACHID_CatacombsCollectibles 29 #define CONST_KFACHID_Berserker_Lvl5 30 #define CONST_KFACHID_Berserker_Lvl10 31 #define CONST_KFACHID_Berserker_Lvl15 32 #define CONST_KFACHID_Berserker_Lvl20 33 #define CONST_KFACHID_Berserker_Lvl25 34 #define CONST_KFACHID_FieldMedic_Lvl5 35 #define CONST_KFACHID_FieldMedic_Lvl10 36 #define CONST_KFACHID_FieldMedic_Lvl15 37 #define CONST_KFACHID_FieldMedic_Lvl20 38 #define CONST_KFACHID_FieldMedic_Lvl25 39 #define CONST_KFACHID_Commando_Lvl5 40 #define CONST_KFACHID_Commando_Lvl10 41 #define CONST_KFACHID_Commando_Lvl15 42 #define CONST_KFACHID_Commando_Lvl20 43 #define CONST_KFACHID_Commando_Lvl25 44 #define CONST_KFACHID_Support_Lvl5 45 #define CONST_KFACHID_Support_Lvl10 46 #define CONST_KFACHID_Support_Lvl15 47 #define CONST_KFACHID_Support_Lvl20 48 #define CONST_KFACHID_Support_Lvl25 49 #define CONST_KFACHID_Firebug_Lvl5 50 #define CONST_KFACHID_Firebug_Lvl10 51 #define CONST_KFACHID_Firebug_Lvl15 52 #define CONST_KFACHID_Firebug_Lvl20 53 #define CONST_KFACHID_Firebug_Lvl25 54 #define CONST_KFACHID_Demolitionist_Lvl5 55 #define CONST_KFACHID_Demolitionist_Lvl10 56 #define CONST_KFACHID_Demolitionist_Lvl15 57 #define CONST_KFACHID_Demolitionist_Lvl20 58 #define CONST_KFACHID_Demolitionist_Lvl25 59 #define CONST_KFACHID_Gunslinger_Lvl5 60 #define CONST_KFACHID_Gunslinger_Lvl10 61 #define CONST_KFACHID_Gunslinger_Lvl15 62 #define CONST_KFACHID_Gunslinger_Lvl20 63 #define CONST_KFACHID_Gunslinger_Lvl25 64 #define CONST_KFACHID_BerserkerNormal 65 #define CONST_KFACHID_BerserkerHard 66 #define CONST_KFACHID_BerserkerSuicidal 67 #define CONST_KFACHID_BerserkerHellOnEarth 68 #define CONST_KFACHID_FieldMedicNormal 69 #define CONST_KFACHID_FieldMedicHard 70 #define CONST_KFACHID_FieldMedicSuicidal 71 #define CONST_KFACHID_FieldMedicHellOnEarth 72 #define CONST_KFACHID_CommandoNormal 73 #define CONST_KFACHID_CommandoHard 74 #define CONST_KFACHID_CommandoSuicidal 75 #define CONST_KFACHID_CommandoHellOnEarth 76 #define CONST_KFACHID_SupportNormal 77 #define CONST_KFACHID_SupportHard 78 #define CONST_KFACHID_SupportSuicidal 79 #define CONST_KFACHID_SupportHellOnEarth 80 #define CONST_KFACHID_FirebugNormal 81 #define CONST_KFACHID_FirebugHard 82 #define CONST_KFACHID_FirebugSuicidal 83 #define CONST_KFACHID_FirebugHellOnEarth 84 #define CONST_KFACHID_DemolitionistNormal 85 #define CONST_KFACHID_DemolitionistHard 86 #define CONST_KFACHID_DemolitionistSuicidal 87 #define CONST_KFACHID_DemolitionistHellOnEarth 88 #define CONST_KFACHID_GunslingerNormal 89 #define CONST_KFACHID_GunslingerHard 90 #define CONST_KFACHID_GunslingerSuicidal 91 #define CONST_KFACHID_GunslingerHellOnEarth 92 #define CONST_KFACHID_All_Lvl25 93 #define CONST_KFACHID_BlackForestNormal 94 #define CONST_KFACHID_BlackForestHard 95 #define CONST_KFACHID_BlackForestSuicidal 96 #define CONST_KFACHID_BlackForestHellOnEarth 97 #define CONST_KFACHID_BlackForestCollectibles 98 #define CONST_KFACHID_FarmhouseNormal 99 #define CONST_KFACHID_FarmhouseHard 100 #define CONST_KFACHID_FarmhouseSuicidal 101 #define CONST_KFACHID_FarmhouseHellOnEarth 102 #define CONST_KFACHID_FarmhouseCollectibles 103 #define CONST_KFACHID_PrisonNormal 104 #define CONST_KFACHID_PrisonHard 105 #define CONST_KFACHID_PrisonSuicidal 106 #define CONST_KFACHID_PrisonHellOnEarth 107 #define CONST_KFACHID_PrisonCollectibles 108 #define CONST_KFACHID_TutorialComplete 109 #define CONST_KFACHID_Sharpshooter_Lvl5 110 #define CONST_KFACHID_Sharpshooter_Lvl10 111 #define CONST_KFACHID_Sharpshooter_Lvl15 112 #define CONST_KFACHID_Sharpshooter_Lvl20 113 #define CONST_KFACHID_Sharpshooter_Lvl25 114 #define CONST_KFACHID_SharpshooterNormal 115 #define CONST_KFACHID_SharpshooterHard 116 #define CONST_KFACHID_SharpshooterSuicidal 117 #define CONST_KFACHID_SharpshooterHellOnEarth 118 #define CONST_KFACHID_ContainmentStationNormal 119 #define CONST_KFACHID_ContainmentStationHard 120 #define CONST_KFACHID_ContainmentStationSuicidal 121 #define CONST_KFACHID_ContainmentStationHellOnEarth 122 #define CONST_KFACHID_ContainmentStationCollectibles 123 #define CONST_KFACHID_HostileGroundsNormal 124 #define CONST_KFACHID_HostileGroundsHard 125 #define CONST_KFACHID_HostileGroundsSuicidal 126 #define CONST_KFACHID_HostileGroundsHellOnEarth 127 #define CONST_KFACHID_HostileGroundsCollectibles 128 #define CONST_KFACHID_DeadSilence 129 #define CONST_KFACHID_QuickOnTheTrigger 130 #define CONST_KFACHID_ItsOnlyAFleshWound 131 #define CONST_KFACHID_HackAndSlash 132 #define CONST_KFACHID_DieVolter 133 #define CONST_KFACHID_WinHard 134 #define CONST_KFACHID_WinSuicidal 135 #define CONST_KFACHID_WinHellOnEarth 136 #define CONST_KFACHID_MrPerky5 137 #define CONST_KFACHID_MrPerky10 138 #define CONST_KFACHID_MrPerky15 139 #define CONST_KFACHID_MrPerky20 140 #define CONST_KFACHID_MrPerky25 141 #define CONST_KFACHID_Win1 142 #define CONST_KFACHID_Win10 143 #define CONST_KFACHID_Win25 144 #define CONST_KFACHID_VsZedWin 145 #define CONST_KFACHID_VsHumanWin 146 #define CONST_KFACHID_HoldOut 147 #define CONST_KFACHID_IGotYourBack 148 #define CONST_KFACHID_Benefactor 149 #define CONST_KFACHID_InfernalRealmNormal 150 #define CONST_KFACHID_InfernalRealmHard 151 #define CONST_KFACHID_InfernalRealmSuicidal 152 #define CONST_KFACHID_InfernalRealmHellOnEarth 153 #define CONST_KFACHID_InfernalRealmCollectibles 154 #define CONST_KFACHID_SWAT_Lvl5 155 #define CONST_KFACHID_SWAT_Lvl10 156 #define CONST_KFACHID_SWAT_Lvl15 157 #define CONST_KFACHID_SWAT_Lvl20 158 #define CONST_KFACHID_SWAT_Lvl25 159 #define CONST_KFACHID_SWATNormal 160 #define CONST_KFACHID_SWATHard 161 #define CONST_KFACHID_SWATSuicidal 162 #define CONST_KFACHID_SWATHellOnEarth 163 #define CONST_KFACHID_Surv_Lvl5 164 #define CONST_KFACHID_Surv_Lvl10 165 #define CONST_KFACHID_Surv_Lvl15 166 #define CONST_KFACHID_Surv_Lvl20 167 #define CONST_KFACHID_Surv_Lvl25 168 #define CONST_KFACHID_SurvNormal 169 #define CONST_KFACHID_SurvHard 170 #define CONST_KFACHID_SurvSuicidal 171 #define CONST_KFACHID_SurvHellOnEarth 172 #define CONST_KFACHID_ZedLandingNormal 173 #define CONST_KFACHID_ZedLandingHard 174 #define CONST_KFACHID_ZedLandingSuicidal 175 #define CONST_KFACHID_ZedLandingHellOnEarth 176 #define CONST_KFACHID_ZedLandingCollectibles 177 #define CONST_KFACHID_DescentNormal 178 #define CONST_KFACHID_DescentHard 179 #define CONST_KFACHID_DescentSuicidal 180 #define CONST_KFACHID_DescentHellOnEarth 181 #define CONST_KFACHID_DescentCollectibles 182 #define CONST_KFACHID_NukedNormal 183 #define CONST_KFACHID_NukedHard 184 #define CONST_KFACHID_NukedSuicidal 185 #define CONST_KFACHID_NukedHellOnEarth 186 #define CONST_KFACHID_NukedCollectibles 187 #define CONST_KFACHID_TragicKingdomNormal 188 #define CONST_KFACHID_TragicKingdomHard 189 #define CONST_KFACHID_TragicKingdomSuicidal 190 #define CONST_KFACHID_TragicKingdomHellOnEarth 191 #define CONST_KFACHID_TragicKingdomCollectibles 192 #define CONST_NUM_COSMETIC_ATTACHMENTS 3 #define CONST_MAXDEBUGWINDOWS 1 #define CONST_FLAG_SpecialMoveButtonPressed 253 #define CONST_FLAG_SpecialMoveButtonReleased 254 #define CONST_MAX_SPRAY_FX_INFOS 20 #define CONST_ACKINDEXSTART 600 #define CONST_FRIENDLYFIREINDEXSTART 700 #define CONST_GOTYOURBACKINDEXSTART 800 #define CONST_NEEDOURFLAGINDEXSTART 900 #define CONST_SNIPERINDEXINDEXSTART 1000 #define CONST_LOCATIONUPDATEINDEXSTART 1100 #define CONST_INPOSITIONINDEXSTART 1200 #define CONST_ENEMYSTATUSINDEXSTART 1300 #define CONST_KILLEDVEHICLEINDEXSTART 1400 #define CONST_ENEMYFLAGCARRIERINDEXSTART 1500 #define CONST_HOLDINGFLAGINDEXSTART 1600 #define CONST_AREASECUREINDEXSTART 1700 #define CONST_GOTOURFLAGINDEXSTART 1900 #define CONST_NODECONSTRUCTEDINDEXSTART 2000 #define CONST_DEFAULT_FIREMODE 0 #define CONST_ALTFIRE_FIREMODE 1 #define CONST_RELOAD_FIREMODE 2 #define CONST_BASH_FIREMODE 3 #define CONST_GRENADE_FIREMODE 4 #define CONST_FIREMODE_NONE 255 #define CONST_PRIMARY_AMMO 0 #define CONST_SECONDARY_AMMO 1 #define CONST_ReloadEmptyMagAnim 'Reload_Empty' #define CONST_ReloadNonEmptyMagAnim 'Reload_Half' #define CONST_ReloadEmptyMagEliteAnim 'Reload_Empty_Elite' #define CONST_ReloadNonEmptyMagEliteAnim 'Reload_Half_Elite' #define CONST_ReloadOpenAnim 'Reload_Open' #define CONST_ReloadSingleAnim 'Reload_Insert' #define CONST_ReloadOpenInsertAnim 'Reload_Open_Shell' #define CONST_ReloadCloseAnim 'Reload_Close' #define CONST_ReloadOpenEliteAnim 'Reload_Open_Elite' #define CONST_ReloadSingleEliteAnim 'Reload_Insert_Elite' #define CONST_ReloadOpenInsertEliteAnim 'Reload_Open_Shell_Elite' #define CONST_ReloadCloseEliteAnim 'Reload_Close_Elite' #define CONST_GrenadeThrowAnim 'Nade_Throw' #define CONST_SprintStartAnim 'Sprint_In' #define CONST_SprintLoopAnim 'Sprint_Loop' #define CONST_SprintEndAnim 'Sprint_Out' #define CONST_FireOneHandAnim 'Shoot_OneHand' #define CONST_FireOneHandLastAnim 'Shoot_OneHand_Last' #define CONST_BloodParamName 'Scalar_Blood_Contrast' #define CONST_MinBloodParamValue 0.20f #define CONST_MaxAimAdjust_Angle 0.1f #define CONST_MaxAimAdjust_Cos 0.995f #define CONST_CYLINDERSTATE_READY 0 #define CONST_CYLINDERSTATE_PENDING 1 #define CONST_CYLINDERSTATE_ROTATING 2 #define CONST_ReloadOneEmptyAnim 'Reload_Empty_Half' #define CONST_ReloadOneEmptyEliteAnim 'Reload_Empty_Half_Elite' #define CONST_IdleReadyAnim 'Idle_Ready' #define CONST_HealSelfAnim 'Heal_Self' #define CONST_HealSelfReloadAnim 'Heal_Self_Reload' #define CONST_HealTeamAnim 'Heal_Team' #define CONST_HealTeamReloadAnim 'Heal_Team_Reload' #define CONST_QuickHealAnim 'Heal_Quick' #define CONST_BLOCK_FIREMODE 1 #define CONST_HEAVY_ATK_FIREMODE 5 #define CONST_CUSTOM_FIREMODE 6 #define CONST_MeleeAttackAnim_F 'Atk_F' #define CONST_MeleeAttackAnim_B 'Atk_B' #define CONST_MeleeAttackAnim_L 'Atk_L' #define CONST_MeleeAttackAnim_R 'Atk_R' #define CONST_MeleeHeavyAttackAnim_F 'Atk_H_F' #define CONST_MeleeHeavyAttackAnim_B 'Atk_H_B' #define CONST_MeleeHeavyAttackAnim_L 'Atk_H_L' #define CONST_MeleeHeavyAttackAnim_R 'Atk_H_R' #define CONST_MeleeComboChainAnim_F 'Combo_F' #define CONST_MeleeComboChainAnim_FL 'Combo_FL' #define CONST_MeleeComboChainAnim_FR 'Combo_FR' #define CONST_MeleeComboChainAnim_B 'Combo_B' #define CONST_MeleeComboChainAnim_BL 'Combo_BL' #define CONST_MeleeComboChainAnim_BR 'Combo_BR' #define CONST_MeleeComboChainAnim_L 'Combo_L' #define CONST_MeleeComboChainAnim_R 'Combo_R' #define CONST_MeleeDrawStrikeAnim 'Atk_Draw' #define CONST_MeleeBlockStartAnim 'Brace_in' #define CONST_MeleeBlockLoopAnim 'Brace_loop' #define CONST_MeleeBlockEndAnim 'Brace_out' #define CONST_CleanBloodyAnim 'Clean_Blood' #define CONST_CleanNonBloodyAnim 'Clean_NoBlood' #define CONST_MeleeSustainedLoopAnim 'Atk_F_Loop' #define CONST_MeleeSustainedStartAnim 'Atk_F_In' #define CONST_MeleeSUstainedEndAnim 'Atk_F_Out' #define CONST_THROW_FIREMODE 0 #define CONST_SprintInLastAnim 'Sprint_In_Last' #define CONST_SprintLoopLastAnim 'Sprint_Loop_Last' #define CONST_SprintOutLastAnim 'Sprint_Out_Last' #define CONST_NadeThrowLastAnim 'Nade_Throw_Last' #define CONST_MeleeBasic 'Melee' #define CONST_CH_MeleeBasic 'Melee_CH' #define CONST_MeleeAnim_F 'Atk_F' #define CONST_MeleeAnim_B 'Atk_B' #define CONST_MeleeAnim_L 'Atk_L' #define CONST_MeleeAnim_R 'Atk_R' #define CONST_CH_MeleeAnim_F 'Atk_F_CH' #define CONST_CH_MeleeAnim_B 'Atk_B_CH' #define CONST_CH_MeleeAnim_L 'Atk_L_CH' #define CONST_CH_MeleeAnim_R 'Atk_R_CH' #define CONST_MeleeHeavy_F 'Atk_H_F' #define CONST_MeleeHeavy_B 'Atk_H_B' #define CONST_MeleeHeavy_L 'Atk_H_L' #define CONST_MeleeHeavy_R 'Atk_H_R' #define CONST_CH_MeleeHeavy_F 'Atk_H_F_CH' #define CONST_CH_MeleeHeavy_B 'Atk_H_B_CH' #define CONST_CH_MeleeHeavy_L 'Atk_H_L_CH' #define CONST_CH_MeleeHeavy_R 'Atk_H_R_CH' #define CONST_MeleeLoopAnim 'Atk_F_Loop' #define CONST_MeleeStartAnim 'Atk_F_In' #define CONST_MeleeEndAnim 'Atk_F_Out' #define CONST_CH_MeleeLoopAnim 'Atk_F_Loop_CH' #define CONST_CH_MeleeStartAnim 'Atk_F_In_CH' #define CONST_CH_MeleeEndAnim 'Atk_F_Out_CH' #define CONST_BlockLoopAnim 'Brace_Loop' #define CONST_BlockStartAnim 'Brace_In' #define CONST_BlockEndAnim 'Brace_Out' #define CONST_CH_BlockLoopAnim 'Brace_Loop_CH' #define CONST_CH_BlockStartAnim 'Brace_In_CH' #define CONST_CH_BlockEndAnim 'Brace_Out_CH' #define CONST_CleanWeaponAnim 'Clean_NoBlood' #define CONST_CH_CleanWeaponAnim 'Clean_NoBlood_CH' #define CONST_GrenadeAnim 'Nade_Throw' #define CONST_EquipAnim 'Equip' #define CONST_PutAwayAnim 'PutAway' #define CONST_CH_GrenadeAnim 'Nade_Throw_CH' #define CONST_CH_EquipAnim 'Equip_CH' #define CONST_CH_PutAwayAnim 'PutAway_CH' #define CONST_ReloadEmptyAnim 'Reload_Empty' #define CONST_ReloadHalfAnim 'Reload_Half' #define CONST_ReloadEmptyEliteAnim 'Reload_Empty_Elite' #define CONST_ReloadHalfEliteAnim 'Reload_Half_Elite' #define CONST_ReloadDualsOneEmptyAnim 'Reload_Empty_Half' #define CONST_ReloadDualsOneEmptyEliteAnim 'Reload_Empty_Half_Elite' #define CONST_CH_ReloadEmptyAnim 'Reload_Empty_CH' #define CONST_CH_ReloadHalfAnim 'Reload_Half_CH' #define CONST_CH_ReloadEmptyEliteAnim 'Reload_Empty_Elite_CH' #define CONST_CH_ReloadHalfEliteAnim 'Reload_Half_Elite_CH' #define CONST_CH_ReloadDualsOneEmptyAnim 'Reload_Empty_Half_CH' #define CONST_CH_ReloadDualsOneEmptyEliteAnim 'Reload_Empty_Half_Elite_CH' #define CONST_ReloadInsertAnim 'Reload_Insert' #define CONST_ReloadInsertEliteAnim 'Reload_Insert_Elite' #define CONST_ReloadOpenEmptyAnim 'Reload_Open_Shell' #define CONST_ReloadOpenEmptyEliteAnim 'Reload_Open_Shell_Elite' #define CONST_CH_ReloadOpenAnim 'Reload_Open_CH' #define CONST_CH_ReloadInsertAnim 'Reload_Insert_CH' #define CONST_CH_ReloadCloseAnim 'Reload_Close_CH' #define CONST_CH_ReloadOpenEliteAnim 'Reload_Open_Elite_CH' #define CONST_CH_ReloadInsertEliteAnim 'Reload_Insert_Elite_CH' #define CONST_CH_ReloadCloseEliteAnim 'Reload_Close_Elite_CH' #define CONST_CH_ReloadOpenEmptyAnim 'Reload_Open_Shell_CH' #define CONST_CH_ReloadOpenEmptyEliteAnim 'Reload_Open_Shell_Elite_CH' #define CONST_HealSelfAnim01 'Healer_Self' #define CONST_HealOtherAnim 'Healer_F' #define CONST_CH_HealSelfAnim 'Healer_Self_CH' #define CONST_CH_HealOtherAnim 'Healer_F_CH' #define CONST_CH_QuickHealAnim 'Heal_Quick_CH' #define CONST_WeldStartAnim 'Welder_Start' #define CONST_WeldLoopAnim 'Welder_Loop' #define CONST_WeldEndAnim 'Welder_End' #define CONST_CH_WeldStartAnim 'Welder_Start_CH' #define CONST_CH_WeldLoopAnim 'Welder_Loop_CH' #define CONST_CH_WeldEndAnim 'Welder_End_CH' #define CONST_ShootAnim 'ADD_Shoot' #define CONST_CrouchShootAnim 'ADD_CH_Shoot' #define CONST_IronShootAnim 'ADD_Iron_Shoot' #define CONST_WeaponFireAnim 'Shoot' #define CONST_WeaponAltFireAnim 'Shoot' #define CONST_WeaponIronFireAnim 'Iron_Shoot' #define CONST_ShootLeftAnim 'ADD_Shoot_LW' #define CONST_ShootRightAnim 'ADD_Shoot_RW' #define CONST_CrouchShootLeftAnim 'ADD_CH_Shoot_LW' #define CONST_CrouchShootRightAnim 'ADD_CH_Shoot_RW' #define CONST_IronShootLeftAnim 'ADD_Iron_Shoot_LW' #define CONST_IronShootRightAnim 'ADD_Iron_Shoot_RW' #define CONST_WeaponFireAnim_R 'Shoot_RW' #define CONST_WeaponFireAnim_L 'Shoot_LW' #define CONST_WeaponAltFireAnim_R 'Shoot_RW' #define CONST_WeaponAltFireAnim_L 'Shoot_LW' #define CONST_LeftWeaponSocket 'LW_Weapon' /* # ========================================================================================= # # Enums # ========================================================================================= # */ // Enum KFGame.KFPawn.EAnimSlotStance /*enum EAnimSlotStance { EAS_FullBody = 0, EAS_UpperBody = 1, EAS_LowerBody = 2, EAS_Additive = 3, EAS_CH_UpperBody = 4, EAS_CH_LowerBody = 5, EAS_Face = 6, EAS_MAX = 7 };*/ // Enum KFGame.KFPawn.EPawnOctant /*enum EPawnOctant { DIR_Forward = 0, DIR_Backward = 1, DIR_Left = 2, DIR_Right = 3, DIR_ForwardLeft = 4, DIR_ForwardRight = 5, DIR_BackwardLeft = 6, DIR_BackwardRight = 7, DIR_None = 8, DIR_MAX = 9 };*/ // Enum KFGame.KFAfflictionManager.EAfflictionType /*enum EAfflictionType { AF_EMP = 0, AF_FirePanic = 1, AF_MeleeHit = 2, AF_GunHit = 3, AF_Stumble = 4, AF_Stun = 5, AF_Poison = 6, AF_Snare = 7, AF_Knockdown = 8, AF_Freeze = 9, AF_Microwave = 10, AF_Bleed = 11, AF_Custom1 = 12, AF_Custom2 = 13, AF_Custom3 = 14, EAfflictionType_Blank = 15, EAfflictionType_MAX = 16 };*/ // Enum KFGame.KFAfflictionManager.EAfflictionVulnerabilityType /*enum EAfflictionVulnerabilityType { AV_Default = 0, AV_Head = 1, AV_Legs = 2, AV_Arms = 3, AV_Special = 4, AV_MAX = 5 };*/ // Enum KFGame.KFAfflictionManager.EHitZoneBodyPart /*enum EHitZoneBodyPart { BP_Torso = 0, BP_Head = 1, BP_LeftArm = 2, BP_RightArm = 3, BP_LeftLeg = 4, BP_RightLeg = 5, BP_Special = 6, BP_MAX = 7 };*/ // Enum KFGame.KFPawnAnimInfo.EHitReactionAnimType /*enum EHitReactionAnimType { HIT_Light = 0, HIT_Medium = 1, HIT_Heavy = 2, HIT_MAX = 3 };*/ // Enum KFGame.KFPawnAnimInfo.EAttackRating /*enum EAttackRating { AR_Weak = 0, AR_Medium = 1, AR_Strong = 2, AR_MAX = 3 };*/ // Enum KFGame.KFPawn.ESpecialMove /*enum ESpecialMove { SM_None = 0, SM_MeleeAttack = 1, SM_MeleeAttackDoor = 2, SM_GrappleAttack = 3, SM_Stumble = 4, SM_RecoverFromRagdoll = 5, SM_Knockdown = 6, SM_DeathAnim = 7, SM_Stunned = 8, SM_Frozen = 9, SM_Emerge = 10, SM_Jump = 11, SM_Taunt = 12, SM_WalkingTaunt = 13, SM_Evade = 14, SM_Evade_Fear = 15, SM_Block = 16, SM_Heal = 17, SM_Rally = 18, SM_SonicAttack = 19, SM_StandAndShootAttack = 20, SM_HoseWeaponAttack = 21, SM_Suicide = 22, SM_PlayerZedMove_LMB = 23, SM_PlayerZedMove_RMB = 24, SM_PlayerZedMove_V = 25, SM_PlayerZedMove_MMB = 26, SM_PlayerZedMove_Q = 27, SM_PlayerZedMove_G = 28, SM_GrappleVictim = 29, SM_DisabledGrappleVictim = 30, SM_HansGrappleVictim = 31, SM_SirenVortexVictim = 32, SM_Emote = 33, SM_BossTheatrics = 34, SM_ChangeStance = 35, SM_Hans_ThrowGrenade = 36, SM_Hans_GrenadeHalfBarrage = 37, SM_Hans_GrenadeBarrage = 38, SM_Custom1 = 39, SM_Custom2 = 40, SM_Custom3 = 41, SM_Custom4 = 42, SM_Custom5 = 43, ESpecialMove_Blank = 44, ESpecialMove_MAX = 45 };*/ // Enum KFGame.KFWeaponAmbientEchoHandler.EEchoDirection /*enum EEchoDirection { EED_Front = 0, EED_Right = 1, EED_Left = 2, EED_Rear = 3, EED_Max = 4 };*/ // Enum KFGame.KFPawn.EHitZoneIndex /*enum EHitZoneIndex { HZI_HEAD = 0, HZI_MAX = 1 };*/ // Enum KFGame.KFAiBehaviorTypes.MOVE_FAILURE_TYPE /*enum MOVE_FAILURE_TYPE { MOVE_FAILURE_TYPE_NONE = 0, MOVE_FAILURE_TYPE_NO_NAV_MESH_PATH = 1, MOVE_FAILURE_TYPE_SAME_INTERMEDIATE_POINT_TOO_MANY_TIMES = 2, MOVE_FAILURE_TYPE_TARGET_OFF_NAV_MESH_AND_CAN_NOT_FIND_LOCAITON_NEAR_THEM_I_CAN_MOVE_TO = 3, MOVE_FAILURE_TYPE_LOOKING_FOR_BETTER_INTERMEDIATE_LOCATION = 4, MOVE_FAILURE_TYPE_MOVING_TO_BETTER_INTERMEDIATE_LOCATION = 5, MOVE_FAILURE_TYPE_MAX = 6 };*/ // Enum KFGame.KFAiBehaviorTypes.MOVEMENT_PHASE_TYPE /*enum MOVEMENT_PHASE_TYPE { MOVEMENT_PHASE_TYPE_NONE = 0, MOVEMENT_PHASE_TYPE_NAV_MESH_NORMAL_MOVE_TO = 1, MOVEMENT_PHASE_TYPE_PATHNODE_NORMAL_MOVE_TO = 2, MOVEMENT_PHASE_TYPE_PATHNODE_POINT_MOVE_TO = 3, MOVEMENT_PHASE_TYPE_PATHNODE_DELAY_MOVE = 4, MOVEMENT_PHASE_TYPE_PATHNODE_ROTATE_TO_FOCUS = 5, MOVEMENT_PHASE_TYPE_PATHNODE_FAILED_MOVE = 6, MOVEMENT_PHASE_TYPE_FINAL_DEST_MOVE_TOWARDS = 7, MOVEMENT_PHASE_TYPE_EMT_LOS_MOVE_TOWARDS = 8, MOVEMENT_PHASE_TYPE_MOVE_TOO_MESH_USING_PATH_NODES = 9, MOVEMENT_PHASE_TYPE_FALLBACK_FIND_NEARBY_MESH_POINT_MOVE_TO_DIRECT_NON_PATH_POS = 10, MOVEMENT_PHASE_TYPE_FALLBACK_REFUSED_TO_BE_EXPLOTIED_FIND_NEARBY_MESH_POINT_MOVE_TO_DIRECT_NON_PATH_POS = 11, MOVEMENT_PHASE_TYPE_STUCK = 12, MOVEMENT_PHASE_TYPE_MAX = 13 };*/ // Enum KFGame.EphemeralMatchStats.ETeamAwards /*enum ETeamAwards { ETA_MedicineMaster = 0, ETA_ZedSlayer = 1, ETA_Enforcer = 2, ETA_Destroyer = 3, ETA_GiantSlayer = 4, ETA_MoneyBags = 5, ETA_HeadPopper = 6, ETA_Dominator = 7, ETA_Carnage = 8, ETA_Closer = 9, ETA_ComboMaker = 10, ETA_Grabby = 11, ETA_ZedSupport = 12, ETA_Zednnihilation = 13, ETA_Max = 14 };*/ // Enum KFGame.EphemeralMatchStats.EPersonalBests /*enum EPersonalBests { EPB_KnifeKills = 0, EPB_PistolKills = 1, EPB_HeadShots = 2, EPB_Healing = 3, EPB_Kills = 4, EPB_Assists = 5, EPB_LargeZedKill = 6, EPB_Dosh = 7, EPB_DoorWelding = 8, EPB_MAX = 9 };*/ // Enum KFGame.KFAffliction_Bleed.DeflateState /*enum DeflateState { EDS_None = 0, EDS_Inflate = 1, EDS_Deflate = 2, EDS_MAX = 3 };*/ // Enum KFGame.KFAiBehaviorTypes.EThrowImpulseType /*enum EThrowImpulseType { TIT_Impulse = 0, TIT_Spin = 1, TIT_MAX = 2 };*/ // Enum KFGame.KFAiBehaviorTypes.PATH_FIND_STATUS /*enum PATH_FIND_STATUS { PATH_FIND_STATUS_NO_SEARCH = 0, PATH_FIND_STATUS_NO_PATH = 1, PATH_FIND_STATUS_FOUND_PATH = 2, PATH_FIND_STATUS_MAX = 3 };*/ // Enum KFGame.KFAiBehaviorTypes.EThrowType /*enum EThrowType { THROW_None = 0, THROW_Scripted = 1, THROW_Death = 2, THROW_Explosion = 3, THROW_RBCollision = 4, THROW_MeleeHit = 5, THROW_HitReaction = 6, THROW_Lavagun = 7, THROW_Flailgun = 8, THROW_Flaregun = 9, THROW_Driller = 10, THROW_DrillerOvercharge = 11, THROW_Shotgun = 12, THROW_ShotgunOvercharge = 13, THROW_SniperRifle = 14, THROW_SniperRifleOvercharge = 15, THROW_Thumper = 16, THROW_ThumperHorizontal = 17, THROW_Leash = 18, THROW_Kick = 19, THROW_Slide = 20, THROW_Any = 21, THROW_MAX = 22 };*/ // Enum KFGame.KFAiBehaviorTypes.EBodyStance /*enum EBodyStance { BS_FullBody = 0, BS_FullBody_AI = 1, BS_UpperBody = 2, BS_Nor_Stopped = 3, BS_Nor_Arms = 4, BS_Crd_Stopped = 5, BS_Crd_Arms = 6, BS_Std_Cov_InCover = 7, BS_Std_LCov_InCover = 8, BS_Mid_Cov_InCover = 9, BS_Mid_LCov_InCover = 10, BS_Std_Cov_Arms = 11, BS_Std_LCov_Arms = 12, BS_Mid_Cov_Arms = 13, BS_Mid_LCov_Arms = 14, BS_Additive_Hits = 15, BS_MAX = 16 };*/ // Enum KFGame.KFAiBehaviorTypes.EBTGoal /*enum EBTGoal { BTG_None = 0, BTG_Hide = 1, BTG_Guard = 2, BTG_Banzai = 3, BTG_Support = 4, BTG_MAX = 5 };*/ // Enum KFGame.KFSpawnVolume.ESquadType /*enum ESquadType { EST_Boss = 0, EST_Large = 1, EST_Medium = 2, EST_Small = 3, EST_Crawler = 4, EST_MAX = 5 };*/ // Enum KFGame.KFPawn_Monster.EPlayerZedGamepadMove /*enum EPlayerZedGamepadMove { ZGM_Attack_R2 = 0, ZGM_Block_R1 = 1, ZGM_Melee_Square = 2, ZGM_Special_R3 = 3, ZGM_Explosive_Ll = 4, ZGM_Attack_L2 = 5, ZGM_Melee_Triangle = 6, ZGM_MAX = 7 };*/ // Enum KFGame.KFPawn_ZedHansBase.EHansNadeType /*enum EHansNadeType { HNT_None = 0, HNT_HEGrenade = 1, HNT_NerveGas = 2, HNT_Smoke = 3, HNT_HEGrenadeBarrage = 4, HNT_NerveGasBarrage = 5, HNT_SmokeBarrage = 6, HNT_MAX = 7 };*/ // Enum KFGame.KFAISpawnManager.EAIType /*enum EAIType { AT_Clot = 0, AT_SlasherClot = 1, AT_AlphaClot = 2, AT_Crawler = 3, AT_GoreFast = 4, AT_Stalker = 5, AT_Scrake = 6, AT_FleshPound = 7, AT_FleshpoundMini = 8, AT_Bloat = 9, AT_Siren = 10, AT_Husk = 11, AT_BossRandom = 12, AT_MAX = 13 };*/ // Enum KFGame.KFAISpawnManager.EBossAIType /*enum EBossAIType { BAT_Hans = 0, BAT_Patriarch = 1, BAT_MAX = 2 };*/ // Enum KFGame.KFAISteering.ESteeringFlags /*enum ESteeringFlags { STEERING_Default = 0, STEERING_Separate = 1, STEERING_MAX = 2 };*/ // Enum KFGame.KFAnim_AimOffset.EAimInput /*enum EAimInput { AI_PawnAimOffset = 0, AI_VehicleAimOffset = 1, AI_BasePawn = 2, AI_CustomAimOffset = 3, AI_MAX = 4 };*/ // Enum KFGame.KFAnim_BlendByTargetingMode.ETargetingBlendChild /*enum ETargetingBlendChild { ETBC_Idle = 0, ETBC_Aiming = 1, ETBC_DownSights = 2, ETBC_MAX = 3 };*/ // Enum KFGame.KFAnim_PhysFalling.EJumpBlendChild /*enum EJumpBlendChild { EJBC_Walk = 0, EJBC_Jump = 1, EJBC_Fall = 2, EJBC_Land = 3, EJBC_MAX = 4 };*/ // Enum KFGame.KFAnimSeq_Directional.EDirectionInterpType /*enum EDirectionInterpType { EDIT_None = 0, EDIT_Circular = 1, EDIT_Linear = 2, EDIT_MAX = 3 };*/ // Enum KFGame.KFGFxObject_TraderItems.EFilterTypeUI /*enum EFilterTypeUI { FT_Pistol = 0, FT_Shotgun = 1, FT_Rifle = 2, FT_Projectile = 3, FT_Flame = 4, FT_Electric = 5, FT_Explosive = 6, FT_Assault = 7, FT_Melee = 8, FT_SMG = 9, FT_None = 10, FT_MAX = 11 };*/ // Enum KFGame.KFGFxObject_TraderItems.TraderWeaponStat /*enum TraderWeaponStat { TWS_Damage = 0, TWS_Range = 1, TWS_Penetration = 2, TWS_RateOfFire = 3, TWS_Block = 4, TWS_Parry = 5, TWS_MagazineSize = 6, TWS_AmmoCapacity = 7, TWS_HealAmount = 8, TWS_RechargeTime = 9, TWS_MAX = 10 };*/ // Enum KFGame.KFGFxMenu_Trader.EItemType /*enum EItemType { EIT_Weapon = 0, EIT_Armor = 1, EIT_NonSellable = 2, EIT_Grenade = 3, EIT_MAX = 4 };*/ // Enum KFGame.KFSkinTypeEffects.EEffectDamageGroup /*enum EEffectDamageGroup { FXG_Ballistic = 0, FXG_Bludgeon = 1, FXG_Piercing = 2, FXG_Slashing = 3, FXG_Fire = 4, FXG_Toxic = 5, FXG_Healing = 6, FXG_Sawblade = 7, FXG_DrainLife = 8, FXG_IncendiaryRound = 9, FXG_UnexplodedGrenade = 10, FXG_MicrowaveBlast = 11, FXG_ShieldBash = 12, FXG_MetalMace = 13, FXG_Flare = 14, FXG_MAX = 15 };*/ // Enum KFGame.KFDamageType.EDamageOverTimeGroup /*enum EDamageOverTimeGroup { DOT_None = 0, DOT_Fire = 1, DOT_Toxic = 2, DOT_Bleeding = 3, DOT_MAX = 4 };*/ // Enum KFGame.KFDamageType.EGoreDamageGroup /*enum EGoreDamageGroup { DGT_None = 0, DGT_AssaultRifle = 1, DGT_Rifle = 2, DGT_Submachinegun = 3, DGT_Shotgun = 4, DGT_Handgun = 5, DGT_Explosive = 6, DGT_MeleeSlash = 7, DGT_MeleeBludgeon = 8, DGT_Fire = 9, DGT_EMP = 10, DGT_Obliteration = 11, DGT_MAX = 12 };*/ // Enum KFGame.KFPlayerController.KFSpectateModes /*enum KFSpectateModes { SMODE_PawnFreeCam = 0, SMODE_PawnThirdPerson = 1, SMODE_PawnFirstPerson = 2, SMODE_Roaming = 3, SMODE_MAX = 4 };*/ // Enum KFGame.KFPlayerController.ETrackingRangeMode /*enum ETrackingRangeMode { ETR_Custom = 0, ETR_10Meters = 1, ETR_25Meters = 2, ETR_50Meters = 3, ETR_100Meters = 4, ETR_250Meters = 5, ETR_MAX = 6 };*/ // Enum KFGame.KFPlayerController.ETrackingMode /*enum ETrackingMode { ETM_All = 0, ETM_AllButTargeting = 1, ETM_PawnsOnly = 2, ETM_PawnsAndTargetingOnly = 3, ETM_SpawnsOnly = 4, ETM_FailedSpawnsOnly = 5, ETM_HumansAndSpawnsOnly = 6, ETM_PickupsOnly = 7, ETM_MAX = 8 };*/ // Enum KFGame.KFPlayerController.EGameConductorDebugMode /*enum EGameConductorDebugMode { EGCDM_OverallRankAndSkill = 0, EGCDM_Skill = 1, EGCDM_OverallAccuracy = 2, EGCDM_LifeSpan = 3, EGCDM_ZedSpawning = 4, EGCDM_GameplayAdjustments = 5, EGCDM_Status = 6, EGCDM_MAX = 7 };*/ // Enum KFGame.KFPlayerController.EVoiceChannel /*enum EVoiceChannel { EVC_ALL = 0, EVC_TEAM = 1, EVC_MAX = 2 };*/ // Enum KFGame.KFPlayerController.EAnalogMovementSpeed /*enum EAnalogMovementSpeed { AMOVESPEED = 0, AMOVESPEED01 = 1, AMOVESPEED02 = 2, AMOVESPEED03 = 3, AMOVESPEED_MAX = 4 };*/ // Enum KFGame.KFPlayerController.ETextChatChannel /*enum ETextChatChannel { ETCC_ALL = 0, ETCC_TEAM = 1, ETCC_MAX = 2 };*/ // Enum KFGame.KFDestructibleActor.EDestructibleRepType /*enum EDestructibleRepType { RT_ServerDefault = 0, RT_ServerOptimized = 1, RT_ClientSide = 2, RT_MAX = 3 };*/ // Enum KFGame.KFDialogEnvironmentVolume.EDialogEnvironment /*enum EDialogEnvironment { DENV_DarkOutside = 0, DENV_DarkInside = 1, DENV_Raining = 2, DENV_ColdInside = 3, DENV_ColdOutside = 4, DENV_HotInside = 5, DENV_HotOutside = 6, DENV_Foggy = 7, DENV_Snow = 8, DENV_Gross = 9, DENV_Smelly = 10, DENV_HighTech = 11, DENV_OldSchoolHighTech = 12, DENV_Cloning = 13, DENV_Experiments = 14, DENV_Torture = 15, DENV_BioMatter = 16, DENV_Aftermath = 17, DENV_Cave = 18, DENV_Underground = 19, DENV_MAX = 20 };*/ // Enum KFGame.KFPawnVoiceGroupEventData.ECooldownCategory /*enum ECooldownCategory { ECC_Act = 0, ECC_KillEnemy = 1, ECC_DamEnemy = 2, ECC_DamFriendly = 3, ECC_SpotEnemy = 4, ECC_Situ = 5, ECC_Resp = 6, ECC_TTime = 7, ECC_HighZ = 8, ECC_MAX = 9 };*/ // Enum KFGame.KFDoorActor.EDoorMaterialType /*enum EDoorMaterialType { EDMT_Metal = 0, EDMT_Wood = 1, EDMT_MAX = 2 };*/ // Enum KFGame.KFDoorActor.EDoorMechanism /*enum EDoorMechanism { EDM_Hinge = 0, EDM_Slide = 1, EDM_Lift = 2, EDM_MAX = 3 };*/ // Enum KFGame.KFDoorActor.EDoorFastening /*enum EDoorFastening { EDF_ArcWelding = 0, EDF_Rivets = 1, EDF_MAX = 2 };*/ // Enum KFGame.KFLightPool.LightPoolPriority /*enum LightPoolPriority { LPP_Low = 0, LPP_High = 1, LPP_GameplayUsed = 2, LPP_MAX = 3 };*/ // Enum KFGame.KFGameConductor.EGameConductorStatus /*enum EGameConductorStatus { GCS_Normal = 0, GCS_ForceLull = 1, GCS_MAX = 2 };*/ // Enum KFGame.KFGameEngine.EConnectionError /*enum EConnectionError { CE_None = 0, CE_Generic = 1, CE_WrongPassword = 2, CE_NeedPassword = 3, CE_MAX = 4 };*/ // Enum KFGame.KFGameEngine.SupportedPlatform /*enum SupportedPlatform { PLATFORM_PC_DX11 = 0, PLATFORM_PC_DX10 = 1, PLATFORM_PC_MAX = 2 };*/ // Enum KFGame.KFGameEngine.SeasonalEventIndex /*enum SeasonalEventIndex { SEI_None = 0, SEI_Summer = 1, SEI_MAX = 2 };*/ // Enum KFGame.KFGameInfo.EGameLength /*enum EGameLength { GL_Short = 0, GL_Normal = 1, GL_Long = 2, GL_MAX = 3 };*/ // Enum KFGame.KFGameInfo.EForcedMusicType /*enum EForcedMusicType { EFM_MainMenu = 0, EFM_Credits = 1, EFM_Boss1 = 2, EFM_Boss2 = 3, EFM_Boss3 = 4, EFM_MAX = 5 };*/ // Enum KFGame.KFGamepadLayoutManager.EGamepadLayoutType /*enum EGamepadLayoutType { LAYOUT_Default = 0, LAYOUT_JUMPER = 1, LAYOUT_QUICKDRAW = 2, LAYOUT_SOUTHPAW = 3, LAYOUT_MAX = 4 };*/ // Enum KFGame.KFGameplayPoolManager.eProjectilePoolType /*enum eProjectilePoolType { PPT_C4 = 0, PPT_PukeMine = 1, PPT_MAX = 2 };*/ // Enum KFGame.KFGFxMenu_Exit.ExitOptions /*enum ExitOptions { EO_TO_Main_Menu = 0, EO_TO_OS = 1, EO_TO_MAX = 2 };*/ // Enum KFGame.KFGFxMenu_Gear.ECustomizationOption /*enum ECustomizationOption { CO_Character = 0, CO_Head = 1, CO_Body = 2, CO_Attachment = 3, CO_MAX = 4 };*/ // Enum KFGame.KFGFxMenu_Inventory.EINventory_Filter /*enum EINventory_Filter { EInv_All = 0, EInv_WeaponSkins = 1, EInv_Cosmetics = 2, EInv_Consumables = 3, EInv_Items = 4, EInv_CraftingMats = 5, EInv_Emotes = 6, EInv_MAX = 7 };*/ // Enum KFGame.KFGFxMenu_Store.ETitleStoreIconLocation /*enum ETitleStoreIconLocation { ETSIL_BottomLeft = 0, ETSIL_BottomCenter = 1, ETSIL_BottomRight = 2, ETSIL_MAX = 3 };*/ // Enum KFGame.KFGFxMenu_Trader.TabIndices /*enum TabIndices { TI_Perks = 0, TI_Type = 1, TI_Favorites = 2, TI_All = 3, TI_MAX = 4 };*/ // Enum KFGame.KFGFxMenu_Trader.TraderList /*enum TraderList { TL_Shop = 0, TL_Player = 1, TL_MAX = 2 };*/ // Enum KFGame.KFGFxMoviePlayer_Manager.EStartMenuState /*enum EStartMenuState { EMatchmaking = 0, EServerBrowser = 1, ESoloGame = 2, EOverview = 3, EServerBrowserOverview = 4, EStartMenuState_MAX = 5 };*/ // Enum KFGame.KFGFxMoviePlayer_Manager.EPopUpType /*enum EPopUpType { EConfirmation = 0, EGamma = 1, ENotification = 2, EPopUpMax = 3, EInputPrompt = 4, EPopUpType_MAX = 5 };*/ // Enum KFGame.KFGFxMoviePlayer_Manager.EDelayedPopupPriorityId /*enum EDelayedPopupPriorityId { EDPPID_Misc = 0, EDPPID_SwitchTeams = 1, EDPPID_RegionWait = 2, EDPPID_RegionBest = 3, EDPPID_Gamma = 4, EDPPID_ExitToMainMenu = 5, EDPPID_JoinFailure = 6, EDPPID_ControllerDisconnect = 7, EDPPID_MAX = 8 };*/ // Enum KFGame.KFGFxMoviePlayer_Manager.EUIIndex /*enum EUIIndex { UI_Start = 0, UI_Perks = 1, UI_Gear = 2, UI_Inventory = 3, UI_Store = 4, UI_OptionsSelection = 5, UI_Exit_Menu = 6, UI_OptionsControls = 7, UI_OptionsAudio = 8, UI_OptionsGraphics = 9, UI_OptionsGameSettings = 10, UI_Achievements = 11, UI_Extras = 12, UI_PostGame = 13, UI_Trader = 14, UI_ServerBrowserMenu = 15, UI_IIS = 16, UI_MAX = 17 };*/ // Enum KFGame.KFGFxOptionsMenu_Graphics.SupportedAspectRatio /*enum SupportedAspectRatio { KFASPECTRATIO_All = 0, KFASPECTRATIO_Standard_4 = 1, KFASPECTRATIO_Standard_5 = 2, KFASPECTRATIO_Standard_3 = 3, KFASPECTRATIO_Wide_16 = 4, KFASPECTRATIO_Wide_1601 = 5, KFASPECTRATIO_ExtraWide_2 = 6, KFASPECTRATIO_ExtraWide_21 = 7, KFASPECTRATIO_MultiMonitor = 8, KFASPECTRATIO_MAX = 9 };*/ // Enum KFGame.KFGFxOptionsMenu_Graphics.GraphicsLevelPreset /*enum GraphicsLevelPreset { GRAPHICS_LOW = 0, GRAPHICS_MEDIUM = 1, GRAPHICS_HIGH = 2, GRAPHICS_ULTRA = 3, GRAPHICS_CUSTOM = 4, GRAPHICS_MAX = 5 };*/ // Enum KFGame.KFGFxOptionsMenu_Graphics.PerfWarning /*enum PerfWarning { PerfWarning_None = 0, PerfWarning_Normal = 1, PerfWarning_Severe = 2, PerfWarning_MAX = 3 };*/ // Enum KFGame.KFGFxOptionsMenu_Selection.OptionMenus /*enum OptionMenus { OM_Video = 0, OM_Audio = 1, OM_Controls = 2, OM_Gameplay = 3, OM_Credits = 4, OM_Max = 5 };*/ // Enum KFGame.KFGFxServerBrowser_Filters.EFilter_Key /*enum EFilter_Key { NO_PASSWORD = 0, NO_MUTATORS = 1, NOT_FULL = 2, NOT_EMPTY = 3, Custom = 4, DEDICATED = 5, IN_LOBBY = 6, IN_PROGRESS = 7, LIMIT_SERVER_RESULTS = 8, FILTERS_MAX = 9, EFilter_Key_MAX = 10 };*/ // Enum KFGame.KFGFxServerBrowser_ServerList.EQueryCompletionAction /*enum EQueryCompletionAction { QUERYACTION_None = 0, QUERYACTION_Default = 1, QUERYACTION_CloseScene = 2, QUERYACTION_JoinServer = 3, QUERYACTION_RefreshAll = 4, QUERYACTION_MAX = 5 };*/ // Enum KFGame.KFGFxServerBrowser_ServerList.ESearch_Tab /*enum ESearch_Tab { TAB_ALL = 0, TAB_FAVORITES = 1, TAB_FRIENDS = 2, TAB_HISTORY = 3, TAB_LAN = 4, TAB_MAX = 5 };*/ // Enum KFGame.KFGFxStartGameContainer_Options.EServerType /*enum EServerType { ES_Maps = 0, ES_Stock = 1, ES_Custom = 2, ES_Unranked = 3, ES_MAX = 4 };*/ // Enum KFGame.KFGFxStartGameContainer_Options.EInProgess /*enum EInProgess { EIP_Allow_In_Progress = 0, EIP_Not_Started = 1, EIP_Create_New = 2, EIP_MAX = 3 };*/ // Enum KFGame.KFGFxStartGameContainer_Options.EServerPrivacy /*enum EServerPrivacy { ESPr_Public = 0, ESPr_FriendsOnly = 1, ESPr_PasswordProtected = 2, ESPr_MAX = 3 };*/ // Enum KFGame.KFGFxStoreContainer_Main.EStore_Filter /*enum EStore_Filter { EStore_All = 0, EStore_WeaponSkins = 1, EStore_Cosmetics = 2, EStore_Consumables = 3, EStore_Emotes = 4, EStore_Market_WeaponSkins = 5, EStore_Market_Cosmetics = 6, EStore_Market_Consumables = 7, EStore_Market_Emotes = 8, EStore_Max = 9 };*/ // Enum KFGame.KFGFxTraderContainer_PlayerInventory.EButtonStates /*enum EButtonStates { BS_Enabled = 0, BS_MaxCapacity = 1, BS_CantAfford = 2, BS_MAX = 3 };*/ // Enum KFGame.KFInventoryCatalog.EItemDisplayContainerType /*enum EItemDisplayContainerType { IDT_None = 0, IDT_Crate = 1, IDT_USB = 2, IDT_MAX = 3 };*/ // Enum KFGame.KFInventoryCatalog.ECrateSeries /*enum ECrateSeries { ECrate_ZedKiller = 0, ECrate_StoriesOfWar = 1, ECrate_CyberBone = 2, ECrate_HorzineIssue = 3, ECrate_DragonFire = 4, ECrate_StreetPunks = 5, ECrate_FirstEncounter = 6, ECrate_Predator = 7, Ecrate_TacticalHorzine = 8, Ecrate_EmergencyIssue = 9, Ecrate_Swat = 10, Ecrate_Exhibit = 11, Ecrate_EliteMedic = 12, Ecrate_Victorian = 13, Ecrate_MaceShield = 14, ECrate_HorzineSupply_S1 = 15, ECrate_HorzineSupply_S2 = 16, ECrate_HorzineSupply_S3 = 17, ECrate_HorzineSupply_S4 = 18, ECrate_HorzineSupply_S5 = 19, ECrate_HorzineSupply_S6 = 20, ECrate_HorzineSupply_S7 = 21, ECrate_HorzineSupply_S8 = 22, ECrate_HorzineSupply_S9 = 23, ECrate_PSNHorzineSupply_CS1 = 24, ECrate_PSNHorzineSupply_CS2 = 25, ECrate_PSNHorzineSupply_WS1 = 26, ECrate_PSNHorzineSupply_WS2 = 27, ECrate_PSNHorzineSupply_WS3 = 28, ECrate_PSNHorzineSupply_WS4 = 29, ECrate_HorzineSupply_S10 = 30, ECrate_HorzineSupply_S11 = 31, ECrate_Emote_S1 = 32, Ecrate_TacticalHorzineMKII = 33, ECrate_HorzineSupply_S12 = 34, ECrate_Deepstrike = 35, ECrate_HorzineSupply_S13 = 36, ECrate_HighVoltage = 37, ECrate_Flare = 38, ECrate_HorzineSupply_S14 = 39, ECrate_Junkyard = 40, ECrate_Vietnam = 41, ECrateSeries_MAX = 42 };*/ // Enum KFGame.KFKActor.EKActorNetworkType /*enum EKActorNetworkType { NT_Auto = 0, NT_ClientSide = 1, NT_Replicated = 2, NT_MAX = 3 };*/ // Enum KFGame.KFLocalMessage.ELocalMessageType /*enum ELocalMessageType { LMT_AdminLogin = 0, LMT_AdminLogout = 1, LMT_MustLoginToCheat = 2, LMT_CheatsEnabled = 3, LMT_ServerMaintenance = 4, LMT_KickVoteStarted = 5, LMT_KickVoteFailed = 6, LMT_KickVoteSucceeded = 7, LMT_KickVoteRejected = 8, LMT_KickVoteInProgress = 9, LMT_KickVoteDisabled = 10, LMT_KickVoteYesReceived = 11, LMT_KickVoteNoReceived = 12, LMT_KickVoteAdmin = 13, LMT_KickVoteActiveTime = 14, LMT_KickVoteMatchNotStarted = 15, LMT_KickVoteMaxKicksReached = 16, LMT_KickVoteNotEnoughPlayers = 17, LMT_KickVoteNoSpectators = 18, LMT_MAX = 19 };*/ // Enum KFGame.KFLocalMessage_Game.EGameMessageType /*enum EGameMessageType { GMT_GaveAmmoTo = 0, GMT_GaveArmorTo = 1, GMT_GaveAmmoAndArmorTo = 2, GMT_ReceivedAmmoFrom = 3, GMT_ReceivedArmorFrom = 4, GMT_ReceivedAmmoAndArmorFrom = 5, GMT_HealedBy = 6, GMT_HealedPlayer = 7, GMT_HealedSelf = 8, GMT_Equipped = 9, GMT_PickedupArmor = 10, GMT_FullArmor = 11, GMT_Ammo = 12, GMT_PickedupWeaponAmmo = 13, GMT_AmmoIsFull = 14, GMT_AmmoAndArmorAreFull = 15, GMT_AlreadyCarryingWeapon = 16, GMT_PickedupItem = 17, GMT_TooMuchWeight = 18, GMT_PendingPerkChangesSet = 19, GMT_PendingPerkChangesApplied = 20, GMT_FailedDropInventory = 21, GMT_ReceivedGrenadesFrom = 22, GMT_GaveGrenadesTo = 23, GMT_FoundCollectible = 24, GMT_FoundAllCollectibles = 25, GMT_UserSharingContent = 26, KMT_Killed = 27, KMT_Suicide = 28, EGameMessageType_MAX = 29 };*/ // Enum KFGame.KFLocalMessage_Interaction.EInteractionMessageType /*enum EInteractionMessageType { IMT_None = 0, IMT_AcceptObjective = 1, IMT_ReceiveAmmo = 2, IMT_ReceiveGrenades = 3, IMT_UseTrader = 4, IMT_UseDoor = 5, IMT_UseDoorWelded = 6, IMT_RepairDoor = 7, IMT_UseMinigame = 8, IMT_UseMinigameGenerator = 9, IMT_GamepadWeaponSelectHint = 10, IMT_HealSelfWarning = 11, IMT_ClotGrabWarning = 12, IMT_PlayerClotGrabWarning = 13, IMT_MAX = 14 };*/ // Enum KFGame.KFLocalMessage_PlayerKills.EKillMessageType /*enum EKillMessageType { KMT_PlayerKillPlayer = 0, KMT_PLayerKillZed = 1, KMT_AIKillPlayer = 2, KMT_MAX = 3 };*/ // Enum KFGame.KFLocalMessage_Priority.EGameMessageType /*enum EGameMessageType { GMT_WaveStart = 0, GMT_WaveEnd = 1, GMT_MatchWon = 2, GMT_MatchLost = 3, GMT_ObjectiveStart = 4, GMT_ObjectiveWon = 5, GMT_ObjectiveLost = 6, GMT_ObjEndPlayerNeeded = 7, GMT_ObjEndTimeLimit = 8, GMT_LevelUp = 9, GMT_TierUnlocked = 10, GMT_Died = 11, GMT_ZedsWin = 12, GMT_HumansWin = 13, GMT_AttackHumanPlayers = 14, GMT_NextRoundBegin = 15, GMT_MAX = 16 };*/ // Enum KFGame.KFLocalMessage_ServerNotification.EServerMessageType /*enum EServerMessageType { SMT_None = 0, SMT_TeamsPendingBalance = 1, SMT_MAX = 2 };*/ // Enum KFGame.KFLocalMessage_VoiceComms.EVoiceCommsType /*enum EVoiceCommsType { VCT_REQUEST_HEALING = 0, VCT_REQUEST_DOSH = 1, VCT_REQUEST_HELP = 2, VCT_TAUNT_ZEDS = 3, VCT_FOLLOW_ME = 4, VCT_GET_TO_THE_TRADER = 5, VCT_AFFIRMATIVE = 6, VCT_NEGATIVE = 7, VCT_EMOTE = 8, VCT_MAX = 9 };*/ // Enum KFGame.KFMapInfo.ECollectibleType /*enum ECollectibleType { ECT_DoshBling = 0, ECT_ClotMotherBaby = 1, ECT_MAX = 2 };*/ // Enum KFGame.KFMapInfo.ESubGameType /*enum ESubGameType { ESGT_Normal = 0, ESGT_Descent = 1, ESGT_MAX = 2 };*/ // Enum KFGame.KFMapSummary.EAssociationIdentifier /*enum EAssociationIdentifier { EAI_Custom = 0, EAI_OfficialCustom = 1, EAI_TripwireOfficial = 2, EAI_MAX = 3 };*/ // Enum KFGame.KFMeleeHelperWeapon.EMeleeAttackType /*enum EMeleeAttackType { ATK_Normal = 0, ATK_Combo = 1, ATK_DrawStrike = 2, ATK_MAX = 3 };*/ // Enum KFGame.KFOnlineGameSearch.ESortType /*enum ESortType { SORTTYPE_None = 0, SORTTYPE_Name = 1, SORTTYPE_Mode = 2, SORTTYPE_Difficulty = 3, SORTTYPE_Map = 4, SORTTYPE_PlayerCount = 5, SORTTYPE_WaveCount = 6, SORTTYPE_Ping = 7, SORTTYPE_MAX = 8 };*/ // Enum KFGame.KFOnlineGameSearch.ESortOrder /*enum ESortOrder { SORTORDER_None = 0, SORTORDER_ACENDING = 1, SORTORDER_DECENDING = 2, SORTORDER_MAX = 3 };*/ // Enum KFGame.KFPerk_Berserker.EBerserkPerkSkills /*enum EBerserkPerkSkills { EBerserkerFortitude = 0, EBerserkerNinja = 1, EBerserkerVampire = 2, EBerserkerSpeed = 3, EBerserkerResistance = 4, EBerserkerParry = 5, EBerserkerSmash = 6, EBerserkerFury = 7, EBerserkerRage = 8, EBerserkerSpartan = 9, EBerserkPerkSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Commando.ECommandoSkills /*enum ECommandoSkills { ECommandoTacticalReload = 0, ECommandoLargeMags = 1, ECommandoBackup = 2, ECommandoImpact = 3, ECommandoHealthIncrease = 4, ECommandoAmmoVest = 5, ECommandoHollowPoints = 6, ECommandoEatLead = 7, ECommandoProfessional = 8, ECommandoRapidFire = 9, ECommandoSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Demolitionist.EDemoSkills /*enum EDemoSkills { EDemoDamage = 0, EDemoTacticalReload = 1, EDemoDirectHit = 2, EDemoAmmo = 3, EDemoSirenResistance = 4, EDemoAoE = 5, EDemoCriticalHit = 6, EDemoConcussiveForce = 7, EDemoNuke = 8, EDemoProfessional = 9, EDemoSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_FieldMedic.EMedicPerkSkills /*enum EMedicPerkSkills { EMedicHealingSurge = 0, EMedicSurvivalist = 1, EMedicHealingSpeedBoost = 2, EMedicCombatant = 3, EMedicHealingDamageBoost = 4, EMedicAcidicCompound = 5, EMedicHealingShield = 6, EMedicEnforcer = 7, EMedicAirborneAgent = 8, EMedicSlug = 9, EMedicPerkSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Firebug.EFirebugSkills /*enum EFirebugSkills { EFirebugBringTheHeat = 0, EFirebugHighCapFuelTank = 1, EFirebugFuse = 2, EFirebugGroundFire = 3, EFirebugNapalm = 4, EFirebugZedShrapnel = 5, EFirebugSplashDamage = 6, EFirebugRange = 7, EFirebugScorch = 8, EFirebugInferno = 9, EFirebugSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Gunslinger.EGunslingerSkills /*enum EGunslingerSkills { EGunslingerShootnMove = 0, EGunslingerQuickSwitch = 1, EGunslingerRhythmMethod = 2, EGunslingerBoneBreaker = 3, EGunslingerPenetration = 4, EGunslingerSpeedReload = 5, EGunslingerSkullCracker = 6, EGunslingerKnockEmDown = 7, EGunslingerUberAmmo = 8, EGunslingerFanfare = 9, EGunslingerSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Sharpshooter.ESharpshooterPerkSkills /*enum ESharpshooterPerkSkills { ESharpshooterStationaryAim = 0, ESharpshooterTrigger = 1, ESharpshooterCrouchAim = 2, ESharpshooterStun = 3, ESharpshooterRhythmMethod = 4, ESharpshooterTacticalReload = 5, ESharpshooterScoped = 6, ESharpshooterAmmoPouch = 7, ESharpshooterZTKnockdown = 8, ESharpshooterZTStun = 9, ESharpshooterPerkSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Support.ESupportPerkSkills /*enum ESupportPerkSkills { ESupportHighCapMags = 0, ESupportTacticalReload = 1, ESupportFortitude = 2, ESupportSalvo = 3, ESupportAPShot = 4, ESupportTightChoke = 5, ESupportResupply = 6, ESupportConcussionRounds = 7, ESupportPerforate = 8, ESupportBarrage = 9, ESupportPerkSkills_MAX = 10 };*/ // Enum KFGame.KFPerk_Survivalist.ESurvivalistPerkSkills /*enum ESurvivalistPerkSkills { ESurvivalist_TacticalReload = 0, ESurvivalist_HeavyWeaponsReload = 1, ESurvivalist_FieldMedic = 2, ESurvivalist_MeleeExpert = 3, ESurvivalist_AmmoVest = 4, ESurvivalist_BigPockets = 5, ESurvivalist_Shrapnel = 6, ESurvivalist_MakeThingsGoBoom = 7, ESurvivalist_MadMan = 8, ESurvivalist_IncapMaster = 9, ESurvivalist_MAX = 10 };*/ // Enum KFGame.KFPerk_SWAT.ESWATPerkSkills /*enum ESWATPerkSkills { ESWAT_HeavyArmor = 0, ESWAT_TacticalMovement = 1, ESWAT_Backup = 2, ESWAT_TacticalReload = 3, ESWAT_SpecialAmmunition = 4, ESWAT_AmmoVest = 5, ESWAT_BodyArmor = 6, ESWAT_Cripple = 7, ESWAT_SWATEnforcer = 8, ESWAT_RapidAssault = 9, ESWAT_MAX = 10 };*/ // Enum KFGame.KFProjectile.FracturedMeshGlassShatterType /*enum FracturedMeshGlassShatterType { FMGS_ShatterNone = 0, FMGS_ShatterDamaged = 1, FMGS_ShatterAll = 2, FMGS_MAX = 3 };*/ // Enum KFGame.KFSeqAct_ShowPath.eVolumeCheckType /*enum eVolumeCheckType { VCT_None = 0, VCT_InVolume = 1, VCT_NotInVolume = 2, VCT_MAX = 3 };*/ // Enum KFGame.KFSpawner.EEmergeAnim /*enum EEmergeAnim { EMERGE_Floor = 0, EMERGE_Wall248UU = 1, EMERGE_WallHigh = 2, EMERGE_Ceiling = 3, EMERGE_None = 4, EMERGE_MAX = 5 };*/ // Enum KFGame.KFSM_GrappleCombined.EGrappleState /*enum EGrappleState { EGS_GrabAttempt = 0, EGS_GrabSuccess = 1, EGS_GrabMiss = 2, EGS_MAX = 3 };*/ // Enum KFGame.KFSM_PlayerMeleeBase.EPlayerZedAtkType /*enum EPlayerZedAtkType { PZA_Default = 0, PZA_Sprinting = 1, PZA_SprintBackwards = 2, PZA_SprintCloaked = 3, PZA_Cloaked = 4, PZA_Jumping = 5, PZA_Headless = 6, PZA_Left = 7, PZA_Right = 8, PZA_Backwards = 9, PZA_SpecialDefault = 10, PZA_SpecialSprinting = 11, PZA_SpecialBackwards = 12, PZA_MAX = 13 };*/ // Enum KFGame.KFSM_Stumble.EStubmleAnim /*enum EStubmleAnim { ESA_Body_Forward = 0, ESA_Body_Backward = 1, ESA_Body_Left = 2, ESA_Body_Right = 3, ESA_Leg_L_Forward = 4, ESA_Leg_L_Backward = 5, ESA_Leg_L_Left = 6, ESA_Leg_L_Right = 7, ESA_Leg_R_Forward = 8, ESA_Leg_R_Backward = 9, ESA_Leg_R_Left = 10, ESA_Leg_R_Right = 11, ESA_Parry = 12, ESA_MAX = 13 };*/ // Enum KFGame.KFSM_Zed_Boss_Theatrics.ETheatricType /*enum ETheatricType { THEATRIC_Entrance = 0, THEATRIC_Victory = 1, THEATRIC_MAX = 2 };*/ // Enum KFGame.KFSM_Zed_Taunt.ETauntType /*enum ETauntType { TAUNT_Standard = 0, TAUNT_EnemyKilled = 1, TAUNT_Enraged = 2, TAUNT_MAX = 3 };*/ // Enum KFGame.KFUnlockManager.EPlatformRestriction /*enum EPlatformRestriction { PR_All = 0, PR_XboxOne = 1, PR_PC = 2, PR_PS4 = 3, PR_Console = 4, PR_MAX = 5 };*/ // Enum KFGame.KFUnlockManager.ESharedContentUnlock /*enum ESharedContentUnlock { SCU_None = 0, SCU_Zweihander = 1, SCU_MAX = 2 };*/ // Enum KFGame.KFWeapon.EInventoryGroup /*enum EInventoryGroup { IG_Primary = 0, IG_Secondary = 1, IG_Melee = 2, IG_Equipment = 3, IG_None = 4, IG_MAX = 5 };*/ // Enum KFGame.KFWeapon.EReloadStatus /*enum EReloadStatus { RS_None = 0, RS_OpeningBolt = 1, RS_Reloading = 2, RS_ClosingBolt = 3, RS_Complete = 4, RS_MAX = 5 };*/ // Enum KFGame.KFWeaponAttachment.EWeaponState /*enum EWeaponState { WEP_Idle = 0, WEP_Reload = 1, WEP_ReloadEmpty = 2, WEP_Reload_Elite = 3, WEP_ReloadEmpty_Elite = 4, WEP_ReloadSingle = 5, WEP_ReloadSingleEmpty = 6, WEP_ReloadSingle_Elite = 7, WEP_ReloadSingleEmpty_Elite = 8, WEP_ReloadSecondary = 9, WEP_ReloadSecondary_Elite = 10, WEP_ReloadDualsOneEmpty = 11, WEP_ReloadDualsOneEmpty_Elite = 12, WEP_MeleeBasic = 13, WEP_MeleeChain = 14, WEP_MeleeSustained = 15, WEP_Melee_L = 16, WEP_Melee_R = 17, WEP_Melee_F = 18, WEP_Melee_B = 19, WEP_MeleeHeavy_L = 20, WEP_MeleeHeavy_R = 21, WEP_MeleeHeavy_F = 22, WEP_MeleeHeavy_B = 23, WEP_MeleeBlock = 24, WEP_Cleaning = 25, WEP_Equipping = 26, WEP_PutAway = 27, WEP_Grenade = 28, WEP_Heal = 29, WEP_HealQuick = 30, WEP_Weld = 31, WEP_Custom0 = 32, WEP_Custom1 = 33, WEP_Custom2 = 34, WEP_Custom3 = 35, WEP_Custom4 = 36, WEP_Custom5 = 37, WEP_Custom6 = 38, WEP_Custom7 = 39, WEP_Custom8 = 40, WEP_Custom9 = 41, WEP_MAX = 42 };*/ // Enum KFGame.KFWeaponSkinList.EWeaponSkinType /*enum EWeaponSkinType { WST_FirstPerson = 0, WST_ThirdPerson = 1, WST_Pickup = 2, WST_MAX = 3 };*/ /* # ========================================================================================= # # Classes # ========================================================================================= # */ // Class KFGame.KFAnimNotify_AkEvent_IfActiveMGTarget // 0x0000 (0x007C - 0x007C) class UKFAnimNotify_AkEvent_IfActiveMGTarget : public UAnimNotify_AkEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3175]; return pClassPointer; }; void eventCanPlayAkEvent(); }; UClass* UKFAnimNotify_AkEvent_IfActiveMGTarget::pClassPointer = NULL; // Class KFGame.KFCheatManager // 0x0024 (0x00C4 - 0x00A0) class UKFCheatManager : public UGameCheatManager { public: DWORD bDebugSceneEnabled : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUsingSplatterGun : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bRequestedGlobalStats : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000004] class AKFSceneCaptureDebugCam* DebugSceneCamera; // 0x00A4 (0x0008) [0x0000000000000000] class AKFAIController* DebugKFAIC; // 0x00AC (0x0008) [0x0000000000000000] class AKFPawn_Monster* DebugTarget; // 0x00B4 (0x0008) [0x0000000000000000] struct FName CheatType; // 0x00BC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3177]; return pClassPointer; }; void DebugSetSafeFrame(); void DebugEndGameRewards(); void GetTitleDataValueForKey(); void OnTitleDataRead(); void ReadPlayfabTitleData(); void RefreshXboxInventory(); void DumpStoreCatalog(); void DumpFullCatalog(); void DumpSubscriptions(); void DumpConsumables(); void DumpDurables(); void DumpApplicationProducts(); void DumpGameProducts(); void ShowXboxProductDetails(); void DeleteXboxSaveData(); void TestTutorialRewards(); void DebugConsumeEntitlements(); void DebugGrantItem(); void DebugRemoveCurrency(); void DebugAddCurrency(); void DebugRetrieveInternalData(); void DebugUpdateServerData(); void DebugUpdateInternalData(); void DumpExchangeRules(); void DumpInventory(); void DumpItemDefinitions(); void UnlockContainer(); void OnPlayfabInventoryReadComplete(); void ReadPFUserInventory(); void OnPlayfabStoreReadComplete(); void ReadPFStoreData(); void SetMatchmakingRegion(); void OnServerStarted(); void StartupServer(); void OnQueryServerInfoComplete(); void TestServerInfoQuery(); void OnFindOnlinePlayfabGamesComplete(); void TestPlayfabGameSearch(); void OnLoginComplete(); void TestLogin(); void LoginSelf(); void Hats(); void ShowPostRoundMenu(); void SpawnHumanPawnV(); void TestGrapple(); void DemiGod(); void SetWeaponSkin(); void WeaponGotoState(); void RespawnSpectators(); void LogServerMovementVars(); void ToggleVisibilityView(); void ToggleRelevancyView(); void LogStatValue(); void LogItemPickups(); void LogAmmoPickups(); void ShowKFGameVersion(); void DBJump(); void ClearFakeDramaEvent(); void FakeDramaEvent(); void ZedTimeTest(); void TestFalloffDamage(); void GetCurrentPerkXP(); void ShowLevelUpPopUp(); void TestGameSearch(); void Chris(); void ShowMeleeCollision(); void LaunchChunks(); void SetNadeRadiusDebug(); void TurnOnAIArenaLight(); void ConvertFOV(); void SetLivingPlayers(); void ToggleAIDefaultsLog(); void DisableAtkAnimDifficultyScaling(); void EnableAtkAnimDifficultyScaling(); void CameraPuke(); void HeadShotPing(); void CameraBlood(); void EndRound(); void ClearCorpses(); void ClearSplatters(); void SplatterFire(); void ToggleSplatterGun(); void SetDebugSceneView(); void SetDebugSceneViewMode(); void PauseDebugSceneUpdate(); void ToggleDebugSceneOrbit(); void DestroyDebugScene(); void FocusOff(); void AISetFocus(); void AILockDesiredRotation(); void AIUnlockDesiredRotation(); void AIClearFocus(); void AISetFocalPoint(); void ResetDoors(); void ResetLevel(); void DestroyDoors(); void WeldDoors(); void InitDebugScene(); void FocusOn(); void FocusOnZed(); void SpawnBloatTest(); void SpawnTest(); void SetSpawnVolumeMinDebug(); void SetSpawnVolumeDebug(); void TestSpawnVolume(); void TestPortalActive(); void TestPortalAll(); void TestPortalNearby(); void GetRandomClotType(); void SpawnZedLODs(); void SpawnZedGroup(); void SpawnZed(); void KillBots(); void SpawnHumanPawn(); void LoadMonsterByName(); void SetBossNum(); void GoHumanV(); void SpawnZedV(); void SpawnZedVC(); void SpawnAIZed(); void AIShowAttackAnims(); void SpawnDebugAI(); void SpawnAIV(); void SpawnAI(); void BurnValTest(); void EMPValTest(); void EMPWander(); void PlayStunned(); void PlayKnockdown(); void PlayTaunt(); void PlayRandomStumble(); void EnableLivingGore(); void CrippleZed(); void CrippleZeds(); void InjureZedArm(); void AILookAtMe(); void AISetInUseCost(); void BigZedMode(); void BigHeadMode(); void TestSpecDist(); void DumpAICommands(); void AIDebugLOS(); void ShowCrawlerPath(); void AIRage(); void KillZeds(); void KillOtherZeds(); void DumpReachSpecs(); void AIDebugEnemy(); void AISetDebugColorA(); void AISetDebugColorB(); void AISetDebugColorG(); void AISetDebugColorR(); void AISetDebugColor(); void AITestHansGrab(); void AIHansGrenade(); void AIHansTestGrenadeTrajectory(); void AITestGrab(); void AITestCrawlerAttack(); void AITestCrawlers(); void AITestCrawler(); void AIDebugCrawler(); void AIPathTo(); void AIDisableMeleeEvents(); void AIEnableMeleeEvents(); void AIMoveToMeAsEnemy(); void ShowPathnodes(); void ShowBlockedPathnodes(); void AISummonZeds(); void HansGas(); void HansNextPhase(); void DebugNextPhase(); void AIPlayTaunt(); void AIShowLitNodes(); void AIShowForcedSpecs(); void AIShowFloorToWallNodes(); void AIShowDropDowns(); void ClearDebugLines(); void KFDL(); void ToggleKFDebugLines(); void AIToggleTurnInPlace(); void AIDebugTurnInPlace(); void GetDebugAIController(); void TestScreamEffect(); void AIToggleHeadTracking(); void AIEnableBump(); void AIDisableBump(); void GetYawRate(); void AISetCanAttack(); void AISetEnemyToMe(); void MarkLocation(); void GetDebugAICommand(); void AIShowDebug(); void AIShowNames(); void ShowAiDebugText(); void TAND(); void SetNPCDebugCategory(); void SetAllNPCDebug(); void ToggleAllNPCDebug(); void ShowAIInfo(); void AIStepAside(); void ToggleNPCDebug(); void AIScream(); void AIFPEnrage(); void FlushAILogs(); void RemoveAIFilter(); void AddAIFilter(); void EnterZedVictoryState(); void AIFPRoam(); void AIHide_Debug(); void AIMoveForward(); void TeleportPawnToCamera(); void ViewZed(); void ViewSelf(); void DumpInfoForAI(); void EnableDebugCamera(); void TDC(); void ToggleDebugCamera(); void GetKFMPFromAim(); void GetKFAICFromAim(); void CheckReachSpecs(); void ToggleShowDestructibleNavigationDebugArtifacts(); void ToggleShowDoorNavigationDebugArtifacts(); void ToggleShowLeapDownDebugArtifacts(); void ToggleShowHighDetailCombatMovementDebugInfo(); void ToggleShowCollisionRadiusForReducedZedOnZedPinchPointCollisionState(); void ToggleShowMovePointsDebugInfo(); void ToggleShowVisualStuckZedDebugInfo(); void ShowAIStuckNpcsToggle(); void AIDebugStepAside(); void AIDebugSteering(); void AIWander(); void AIFlee(); void AIDebug(); void HideDebugStrikeRanges(); void ShowDebugStrikeRanges(); void AIDebugMode(); void PathInfo(); void AISetSightRadius(); void AIDebugVision(); void AISetPeriph(); void ShowDebugNodes(); void GotoDebugNode(); void DumpDebugNodes(); void ShowReachSpecsFor(); void ShowBlockedPaths(); void AIHeadlessWander(); void Puke(); void AIDebugFloor(); void AIShowAnchor(); void SlasherTauntTimer(); void SlasherTaunt(); void DrawLineFromNPC(); void AIHuskFlamethrower(); void AIHelp(); void GoToActor(); void FPDL(); void OpenTraderMenu(); void OpenTraderNext(); void OpenTrader(); void HideTraderPath(); void ShowTraderPath(); void GoRecoil(); void NoRecoil(); void SetISMeshCompScale(); void SetIronIdleAnims(); void SetDebugRecoil3d(); void ToggleWeapCanPause(); void NoAmmo(); void UberAmmo(); void AllAmmo(); void KillFlares(); void SpawnFlare(); void TestHitZones(); void SpamShellEject(); void PlayShellEject(); void PlayMuzzleFlash(); void ArmorMe(); void HealMe(); void DoTMe(); void HurtMe(); void DoshMe(); void ImRich(); void TestCheat(); void DramaEvent(); void RestoreWeaponCameraAnimScale(); void SetWeaponCameraAnimScale(); void RestoreShootCameraAnims(); void ScaleShootCameraAnims(); void ShowHands(); void BackgroundBlur(); void ShowDownloadPopup(); void CustomDOF(); void QuickDOF(); void WeapFOV(); void KillRecoil(); void AllWeapons(); void Surv(); void SMG(); void Swat(); void Sharpshooter(); void Rifle(); void Firebug(); void Flame(); void Medic(); void Demo(); void ScopeFOV(); void Scope(); void Assault(); void Melee(); void Nails(); void Berserk(); void DummyWeapon(); void Singles(); void Dualies(); void Pistols(); void MKB(); void Shotty(); void GiveWeapon(); void SetPadVolume(); void SetMusicVolume(); void NextTrack(); void FlameDebugDamage3P(); void FlameDebugFX3P(); void FlameDebugFX(); void FlameDebugDamage(); void FlameSetComplex(); void ToggleCrosshair(); void ToggleForceCrosshair(); void DebugShowVoteKick(); void HideMenus(); void GoSpread(); void NoSpread(); void SetPauseMonsterAnims(); void TestWeaponAnim(); void FreezeWeapAnimUpdate(); void WeapForceIdle(); void HansGunsAway(); void HansGunsOut(); void SpawnGunModel(); void LogAllWaves(); void LogCurrentWave(); void ZedStuck(); void ZedTeleport(); void ToggleFrustration(); void ToggleZedsIgnoreMe(); void SetChar(); void SetInflate(); void StopBurnFX(); void BurnFX(); void TestNukeGrenade(); void TestConcussiveGrenade(); void TestGrenade(); void FireAgain(); void StopAutoFire(); void AutoFire(); void TestLocalMessage(); void PrintOutCharacterCosmeticInfo(); void SetCharacterAttachment(); void MakeFakePopUp(); void TestNumbPrompts(); void TestSongInfoWidget(); void SetIISText(); void OpenIIS(); void CloseScreenSizeMovie(); void OpenScreenSizeMovie(); void SetFakeDownloadProgress(); void GetMyPawn(); void MakeEmptyPackage(); void FindTranslucencyInheritDominantShadowMaterials(); void ReadGlobalStat(); void FixupCharacterAttachmentLocalization(); void AnalyzeCharacterAttachments(); void ResetPerkLevels(); void SetPerkLevel(); }; UClass* UKFCheatManager::pClassPointer = NULL; // Class KFGame.KFDebugLines // 0x003C (0x0280 - 0x0244) class AKFDebugLines : public AActor { public: TArray ActiveLines; // 0x0244 (0x0010) [0x0000000000000000] int MaxLines; // 0x0254 (0x0004) [0x0000000000000000] TArray ActiveSpheres; // 0x0258 (0x0010) [0x0000000000000000] int MaxSpheres; // 0x0268 (0x0004) [0x0000000000000000] TArray ActiveText3D; // 0x026C (0x0010) [0x0000000000000000] int MaxText3D; // 0x027C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3179]; return pClassPointer; }; void KFDebug_ClearText(); void KFDebug_ClearSpheres(); void KFDebug_ClearLines(); void GetDebugLines(); void NewDebugSphere(); void NewDebugLineToOwner(); void NewDebugLineFromOwner(); void eventDestroyed(); void RemoveFromPostRenderList(); void AddToPostRenderList(); void eventPostBeginPlay(); void ClearAll(); void RemoveOwnedDebugText3D(); void RemoveOwnedDebugSpheres(); void RemoveOwnedDebugLines(); void AddDebugText3D(); void AddDebugSphere(); void AddDebugLineToOwner(); void AddDebugLineFromOwner(); void AddDebugLine(); void AddPawnDebugLine(); void NativePostRenderFor(); }; UClass* AKFDebugLines::pClassPointer = NULL; // Class KFGame.KFDestructibleActor // 0x0134 (0x0378 - 0x0244) class AKFDestructibleActor : public AActor { public: unsigned char ReplicationMode; // 0x0244 (0x0001) [0x0000000000000000] unsigned char ReplicatedDamageFlags; // 0x0245 (0x0001) [0x0000000000000000] unsigned char VulnerableMultiplier; // 0x0246 (0x0001) [0x0000000000000000] unsigned char SubObjectLimit; // 0x0247 (0x0001) [0x0000000000000000] unsigned char DamageModLimit; // 0x0248 (0x0001) [0x0000000000000000] struct FReplicatedDamageModInfo ReplicatedDamageMods[0x10]; // 0x024C (0x0080) [0x0000000000150000] ( // CPF_Travel | CPF_GlobalConfig ) DWORD bShutDown : 1; // 0x02CC (0x0004) [0x0000000000250000] [0x00000001] ( // CPF_Travel | CPF_GlobalConfig ) DWORD bIgnoreAllDamage : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000002] DWORD bIgnorePlayerDamage : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAllowBumpDamageFromAI : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000008] DWORD bComponentsSetUp : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000010] DWORD bInitRBPhysCalled : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000020] DWORD bIsRadiusDamage : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000040] DWORD bAnyDamageModApplied : 1; // 0x02CC (0x0004) [0x0000000000000000] // [0x00000080] int INSTAKILL_DAMAGE; // 0x02D0 (0x0004) [0x0000000000000000] TArray InstaKillDamageType; // 0x02D4 (0x0010) [0x0000000000000000] TArray IgnoreDamageType; // 0x02E4 (0x0010) [0x0000000000000000] TArray VulnerableDamageType; // 0x02F4 (0x0010) [0x0000000000000000] float LastBumpCheckTime; // 0x0304 (0x0004) [0x0000000000000000] float SelfDestructAllDelay; // 0x0308 (0x0004) [0x0000000000000000] class ABlockingVolume* BlockingVolumeToDisable; // 0x030C (0x0008) [0x0000000000000000] TArray DamageOtherActors; // 0x0314 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* AmbientSoundCue; // 0x0324 (0x0008) [0x0000000000000000] class UAkComponent* AmbientSoundComponent; // 0x032C (0x0008) [0x0000000000000000] float ClosestLocalPlayerSqDist; // 0x0334 (0x0004) [0x0000000000000000] TArray SubObjects; // 0x0338 (0x0010) [0x0000000000000000] TArray DamagedSubObjects; // 0x0348 (0x0010) [0x0000000000000000] class AActor* PreviewOffsetActor; // 0x0358 (0x0008) [0x0000000000000000] struct FVector PreviewRelativeLocation; // 0x0360 (0x000C) [0x0000000000000000] struct FRotator PreviewRelativeRotation; // 0x036C (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3181]; return pClassPointer; }; void ToggleAllDamage(); void Reset(); void MoveCollidingPawns(); void eventUnShutDownObject(); void eventShutDownSubObject(); void ShutDownObject(); void eventDelayedShutDownObject(); void UnDestroy(); void eventExplosion(); void RemoveDecals(); void ApplyDamageMod(); void SetSubObjectStaticMesh(); void BumpedByMonster(); void eventTriggerDestroyedEvent(); void eventApplySplashDamage(); void ValidateHitComponent(); void eventInstaKillFromStandardNPCBumpDamage(); void eventInstaKillFromLargeNPCBumpDamage(); void IsVulnerableTo(); void AdjustDamage(); void eventTakeDamage(); void TakeRadiusDamage(); void GetMaxHealth(); void GetCurrentHealth(); void HasAnyHealth(); void DamageSubObject(); void eventPostBeginPlay(); void OneTimeInit(); void SetupComponents(); void UnPackDamageMod(); void PackDamageMod(); void eventReplicateDamageMod(); void eventReplicatedEvent(); }; UClass* AKFDestructibleActor::pClassPointer = NULL; // Class KFGame.KFDoorActor // 0x01D8 (0x041C - 0x0244) class AKFDoorActor : public AActor { public: struct FPointer VfTable_IInterface_NavigationHandle; // 0x0244 (0x0008) // [0x0000000000000000] class AKFDoorTrigger* DoorTrigger; // 0x024C (0x0008) [0x0000000000000000] TArray MeshAttachments; // 0x0254 (0x0010) [0x0000000000000000] class UStaticMeshComponent* CenterWeldComponent; // 0x0264 (0x0008) [0x0000000000000000] class USkeletalMeshComponent* SkeletalMeshComp; // 0x026C (0x0008) [0x0000000000000000] TArray HealthMICs; // 0x0274 (0x0010) [0x0000000000000000] class UMaterialInstanceConstant* IntegrityMIC; // 0x0284 (0x0008) [0x0000000000000000] unsigned char DoorMaterial; // 0x028C (0x0001) [0x0000000000000000] unsigned char DoorMechanism; // 0x028D (0x0001) [0x0000000000000000] unsigned char FastenerType; // 0x028E (0x0001) [0x0000000000000000] unsigned char HitCount; // 0x028F (0x0001) [0x0000000000150000] ( // CPF_Travel | CPF_GlobalConfig ) unsigned char RepairProgress; // 0x0290 (0x0001) [0x000000000016002A] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_EditConst | CPF_GlobalConfig ) float CoolDownTime; // 0x0294 (0x0004) [0x0000000000000000] float OpenBlendTime; // 0x0298 (0x0004) [0x0000000000000000] int HingedRotation; // 0x029C (0x0004) [0x0000000000000000] int SlideTranslation; // 0x02A0 (0x0004) [0x0000000000000000] int LiftTranslation; // 0x02A4 (0x0004) [0x0000000000000000] DWORD bAutomaticDoor : 1; // 0x02A8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDoorMoveCompleted : 1; // 0x02A8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bStartDoorOpen : 1; // 0x02A8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bIsDoorOpen : 1; // 0x02A8 (0x0004) [0x0000000000170000] [0x00000008] // ( CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) DWORD bLocalIsDoorOpen : 1; // 0x02A8 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bReverseHinge : 1; // 0x02A8 (0x0004) [0x000000000018000A] [0x00000020] // ( CPF_Const | CPF_ExportObject | CPF_Component ) DWORD bHasBeenDirtied : 1; // 0x02A8 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bStartWelded : 1; // 0x02A8 (0x0004) [0x0000000000000000] [0x00000080] DWORD bShouldExplode : 1; // 0x02A8 (0x0004) [0x0000000000190000] // [0x00000100] ( CPF_Travel | CPF_Component ) DWORD bIsDestroyed : 1; // 0x02A8 (0x0004) [0x00000000001A0000] // [0x00000200] ( CPF_EditConst | CPF_Component ) DWORD bWasRepaired : 1; // 0x02A8 (0x0004) [0x00000000001B0000] [0x00000400] // ( CPF_Travel | CPF_EditConst | CPF_Component ) DWORD bMonitorDoor : 1; // 0x02A8 (0x0004) [0x0000000000000000] [0x00000800] float LastUsedTime; // 0x02AC (0x0004) [0x0000000000000000] int MaxHealth; // 0x02B0 (0x0004) [0x0000000000000000] int Health; // 0x02B4 (0x0004) [0x00000000001C0000] ( // CPF_GlobalConfig | CPF_Component ) int MaxWeldIntegrity; // 0x02B8 (0x0004) [0x0000000000000000] int WeldIntegrity; // 0x02BC (0x0004) [0x00000000001D0000] ( // CPF_Travel | CPF_GlobalConfig | CPF_Component ) int DemoWeldRequired; // 0x02C0 (0x0004) [0x0000000000000000] int DemoWeld; // 0x02C4 (0x0004) [0x00000000001E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) class AKFPlayerController* ExplosionInstigatorController; // 0x02C8 (0x0008) [0x0000000000000000] float MinWeldScalar; // 0x02D0 (0x0004) [0x0000000000000000] float CombatWeldModifier; // 0x02D4 (0x0004) [0x0000000000000000] float CombatLength; // 0x02D8 (0x0004) [0x0000000000000000] float LastHitTime; // 0x02DC (0x0004) [0x0000000000000000] float LastWeldTime; // 0x02E0 (0x0004) [0x0000000000000000] float LastUnweldTime; // 0x02E4 (0x0004) [0x0000000000000000] class AKFPawn* WelderPawn; // 0x02E8 (0x0008) [0x0000000000000000] class USkelControlSingleBone* MovementControl; // 0x02F0 (0x0008) [0x0000000000000000] class UAnimNodeSlot* BashSlot; // 0x02F8 (0x0008) [0x0000000000000000] float FrameSizeOfTwoDoors; // 0x0300 (0x0004) [0x0000000000000000] class UParticleSystem* RepairFXTemplate; // 0x0304 (0x0008) [0x0000000000000000] class UAkEvent* RepairSound; // 0x030C (0x0008) [0x0000000000000000] class ANavigationPoint* MyMarker; // 0x0314 (0x0008) [0x0000000000000000] float BrokenDoorImpulse; // 0x031C (0x0004) [0x0000000000000000] float MaxAngularVelocity; // 0x0320 (0x0004) [0x0000000000000000] TArray BrokenDoorPhysicsActors; // 0x0324 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* OpenSound; // 0x0334 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* OpeningAmbientSound; // 0x033C (0x0008) [0x0000000000000000] class UAkBaseSoundObject* OpenedSound; // 0x0344 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* CloseSound; // 0x034C (0x0008) [0x0000000000000000] class UAkBaseSoundObject* ClosingAmbientSound; // 0x0354 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* ClosedSound; // 0x035C (0x0008) [0x0000000000000000] class UAkBaseSoundObject* DestroyedSound; // 0x0364 (0x0008) [0x0000000000000000] class UAkComponent* AmbientSoundComponent; // 0x036C (0x0008) [0x0000000000000000] struct FVector SoundOrigin; // 0x0374 (0x000C) [0x0000000000000000] struct FDestroyedEffectParams DamageEmitter; // 0x0380 (0x002C) [0x0000000000000000] TArray DestroyedEmitters; // 0x03AC (0x0010) [0x0000000000000000] TArray BrokenDoorParticleEffects; // 0x03BC (0x0010) [0x0000000000000000] class UTexture2D* WelderIcon; // 0x03CC (0x0008) [0x0000000000000000] struct FVector WeldUILocation; // 0x03D4 (0x000C) [0x0000000000000000] struct FVector VisualDoorLocation; // 0x03E0 (0x000C) [0x0000000000000000] struct FString WeldIntegrityString; // 0x03EC (0x0010) [0x0000000000000000] struct FString RepairProgressString; // 0x03FC (0x0010) [0x0000000000000000] struct FString ExplosiveString; // 0x040C (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3183]; return pClassPointer; }; void Reset(); void GetAIDoorDamageScale(); void GetQueuedDoorAICounts(); void DrawRepairHUD(); void DrawWeldHUD(); void eventDrawDoorHUD(); void NotifyAIDoorOpened(); void WeldedShut(); void eventNotifyPathChanged(); void BeingUnwelded(); void BeingWelded(); void UnderAttack(); void GetSoundEffectFromType(); void PlayMovingSound(); void ResetHingedDoor(); void SpawnBrokenDoors(); void DestroyHingedDoor(); void SetRBCollideWithDeadPawn(); void UpdateIntegrityMIC(); void UpdateHealthScalars(); void UpdateHealthMICs(); void ResetDoor(); void DestroyNonPhysicsDoor(); void PlayExplosion(); void PlayDestroyed(); void SpawnParticlesFromEffectParam(); void GetBashAnimName(); void PlayTakeHitEffects(); void IncrementHitCount(); void AddExplosiveWeld(); void Timer_ResetRepairFlag(); void RepairDoor(); void FastenDoor(); void AllowDamageFrom(); void DestroyDoor(); void eventTakeDamage(); void TryPushPawns(); void GetPushDirection(); void OnCloseFinish(); void OnOpenFinish(); void eventNotifyDoorMoveCompleted(); void CloseDoor(); void OpenSwingingDoor(); void OpenDoor(); void eventBump(); void UseDoor(); void OnToggle(); void IsCompletelyOpen(); void InitSkelControl(); void InitializeDoorMIC(); void eventPostBeginPlay(); void eventPostInitAnimTree(); void InitBrokenAttachment(); void eventReplicatedEvent(); }; UClass* AKFDoorActor::pClassPointer = NULL; // Class KFGame.KFDroppedPickup // 0x0074 (0x02D4 - 0x0260) class AKFDroppedPickup : public ADroppedPickup { public: struct FRigidBodyState RBState; // 0x0260 (0x0040) [0x0000000000170000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) float AngErrorAccumulator; // 0x02A0 (0x0004) [0x0000000000000000] DWORD bCollisionSoundsEnabled : 1; // 0x02A4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bEnableStaticMeshRBPhys : 1; // 0x02A4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bIgnoreBlockingVolumes : 1; // 0x02A4 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUseLowHealthDelay : 1; // 0x02A4 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bUseAuthorityRBUpdate : 1; // 0x02A4 (0x0004) [0x0000000000180000] // [0x00000010] ( CPF_Component ) DWORD bEmptyPickup : 1; // 0x02A4 (0x0004) [0x0000000000190011] // [0x00000020] ( CPF_Edit | CPF_OptionalParm | // CPF_Travel | CPF_Component ) class UMeshComponent* MyMeshComp; // 0x02A8 (0x0008) [0x0000000000000000] class UCylinderComponent* MyCylinderComp; // 0x02B0 (0x0008) [0x0000000000000000] int SkinItemId; // 0x02B8 (0x0004) [0x00000000001A0011] ( // CPF_Edit | CPF_OptionalParm | CPF_EditConst | // CPF_Component ) float PostAuthorityChangeLifeSpan; // 0x02BC (0x0004) [0x0000000000000000] float PickupDelay; // 0x02C0 (0x0004) [0x0000000000000000] struct FLinearColor EmptyPickupColor; // 0x02C4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3185]; return pClassPointer; }; void TryFadeOut(); void DisableAuthorityRBSim(); void Reset(); void IsTouchBlockedBy(); void ValidTouch(); void NotifyHUDofWeapon(); void eventDestroyed(); void GiveTo(); void ReenableCollisionSounds(); void PlayCollisionSound(); void eventLanded(); void eventRigidBodyCollision(); void AlignCollisionCylinder(); void eventOnSleepRBPhysics(); void AlignMeshToCylinder(); void GetDisplayName(); void SetEmptyMaterial(); void SetPickupMesh(); }; UClass* AKFDroppedPickup::pClassPointer = NULL; // Class KFGame.KFEmoteList // 0x0018 (0x0078 - 0x0060) class UKFEmoteList : public UObject { public: TArray Emotes; // 0x0060 (0x0010) [0x0000000000000000] int EquippedEmoteId; // 0x0070 (0x0004) [0x0000000000000000] DWORD bDebugEmotes : 1; // 0x0074 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3187]; return pClassPointer; }; void GetEmoteArray(); void RefreshCachedEmoteId(); void SaveEquippedEmote(); void GetEquippedEmoteId(); void IsEmoteEquipped(); void GetEmoteFromIndex(); void GetEmoteIndex(); void GetUnlockedEmote(); }; UClass* UKFEmoteList::pClassPointer = NULL; // Class KFGame.KFExportSteamItemsCommandlet // 0x0000 (0x00B4 - 0x00B4) class UKFExportSteamItemsCommandlet : public UCommandlet { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3189]; return pClassPointer; }; void eventMain(); }; UClass* UKFExportSteamItemsCommandlet::pClassPointer = NULL; // Class KFGame.KFGameEngine // 0x00C4 (0x0C14 - 0x0B50) class UKFGameEngine : public UGameEngine { public: int LastFocusedGameStateID; // 0x0B50 (0x0004) [0x0000000000000000] class UFont* KFCanvasFont; // 0x0B54 (0x0008) [0x0000000000000000] float KFFontScale; // 0x0B5C (0x0004) [0x0000000000000000] DWORD bReadingPlayfabStoreData : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bMusicVocalsEnabled : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bMinimalChatter : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bShowWelderInInv : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bUseAltAimOnDual : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bAntiMotionSickness : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bShowCrossHair : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bShowCrossHairConsole : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bMuteOnLossOfFocus : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bEnableAdvDebugLines : 1; // 0x0B60 (0x0004) [0x0000000000000000] // [0x00000200] int SeasonalEventId; // 0x0B64 (0x0004) [0x0000000000000000] int WeeklyEventIndex; // 0x0B68 (0x0004) [0x0000000000000000] float DefaultGammaMult; // 0x0B6C (0x0004) [0x0000000000000000] float MusicVolumeMultiplier; // 0x0B70 (0x0004) [0x0000000000000000] float SFxVolumeMultiplier; // 0x0B74 (0x0004) [0x0000000000000000] float DialogVolumeMultiplier; // 0x0B78 (0x0004) [0x0000000000000000] float MasterVolumeMultiplier; // 0x0B7C (0x0004) [0x0000000000000000] float PadVolumeMultiplier; // 0x0B80 (0x0004) [0x0000000000000000] float VOIPVolumeMultiplier; // 0x0B84 (0x0004) [0x0000000000000000] float GammaMultiplier; // 0x0B88 (0x0004) [0x0000000000000000] float FOVOptionsPercentageValue; // 0x0B8C (0x0004) [0x0000000000000000] TArray CachedStatRows; // 0x0B90 (0x0010) [0x0000000000000000] struct FScriptDelegate OnHandshakeComplete; // 0x0BA0 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0BA4 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY unsigned char LastConnectionError; // 0x0BB0 (0x0001) [0x0000000000000000] unsigned char LocalLoginStatus; // 0x0BB1 (0x0001) [0x0000000000000000] struct FString ConsoleGameSessionGuid; // 0x0BB4 (0x0010) [0x0000000000000000] class UOnlineGameSettings* GameSettingsForPendingInvite; // 0x0BC4 (0x0008) [0x0000000000000000] struct FString ReturnToIISConnectionErrorTitle; // 0x0BCC (0x0010) // [0x0000000000000000] struct FString ReturnToIISConnectionErrorMessage; // 0x0BDC (0x0010) // [0x0000000000000000] TArray AILogFilter; // 0x0BEC (0x0010) [0x0000000000000000] class AKFDebugLines* KFDebugLines; // 0x0BFC (0x0008) [0x0000000000000000] struct FScriptDelegate __HandshakeCompleteCallback__Delegate; // 0x0C04 (0x0010) // [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x0C08 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3191]; return pClassPointer; }; void SetCrosshairEnabled(); void IsCrosshairEnabled(); void GetKFFontScale(); void GetKFCanvasFont(); void FastTrace_PhysX(); void KillPendingServerConnection(); void UnlockServer(); void IsLockedServer(); void CancelPendingLevel(); void eventCheckHandshakeComplete(); void HandshakeCompleteCallback(); void SetLastConnectionError(); void GetConnectionErrorForMessage(); void SetGamma(); void IsFullScreenMoviePlaying(); void PlayFullScreenMovie(); void GetVoIPVolumeRange(); void SetVoIPRecieveVolume(); void SetWWisePADVolume(); void SetWWiseMasterVolume(); void SetWWiseVoiceVolume(); void SetWWiseMusicVolume(); void SetWWiseSFXVolume(); void InitGamma(); void InitAudioOptions(); void GetWeeklyEventIndex(); void GetSeasonalEventID(); void ClearOnlineDelegates(); void RegisterOnlineDelegates(); void PerformLogout(); void KickBackToIIS(); void OnLoginStatusChanged(); void OnLoginChange(); void OnConnectionStatusChanged(); void OnLinkStatusChange(); void OnPlayfabInventoryReadComplete(); void OnStoreDataRead(); void OnReadInventoryItemsComplete(); void OnReadAdditionalProductDetailsComplete(); void OnReadAvailableProductsComplete(); void OnPlayfabStoreReadComplete(); void ReadPFStoreData(); void IsFreeConsolePlayOver(); void IsSoloPlayDisabled(); void ApplyTweaks(); void RefreshOnlineGameData(); void RefreshEventContent(); void InitEventContent(); void GetPlatform(); void GetAppID(); void GetKFGameVersion(); void GetGameVersion(); void GetDebugLines(); void GetClassCountAndSize(); void CheckNoRandomStart(); void CheckNoMusic(); void CheckNoAutoStart(); void CheckSkipGammaCheck(); void CheckSkipLobby(); }; UClass* UKFGameEngine::pClassPointer = NULL; // Class KFGame.KFGameInfo // 0x026C (0x0714 - 0x04A8) class AKFGameInfo : public AFrameworkGame { public: int POINTS_FOR_BOSS_KILL; // 0x04A8 (0x0004) [0x0000000000000000] int POINTS_FOR_WAVE_COMPLETION; // 0x04AC (0x0004) [0x0000000000000000] int POINTS_PENALTY_FOR_DEATH; // 0x04B0 (0x0004) [0x0000000000000000] class AKFGameReplicationInfo* MyKFGRI; // 0x04B4 (0x0008) [0x0000000000000000] class UClass* CustomizationPawnClass; // 0x04BC (0x0008) [0x0000000000000000] float FriendlyFireScale; // 0x04C4 (0x0004) [0x0000000000000000] class AKFTeamInfo_Human* Teams[0x2]; // 0x04C8 (0x0010) [0x0000000000000000] DWORD bOnePlayerAtStart : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bStartFinalCount : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bWaitForNetPlayers : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bDisableKickVote : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bDisablePublicTextChat : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bDisableVOIP : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00000020] DWORD bPartitionSpectators : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bDisablePickups : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bDisableMapVote : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bEnableMapObjectives : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bDisableTeamCollision : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bEnableDeadToVOIP : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bDisablePublicVOIPChannel : 1; // 0x04D8 (0x0004) // [0x0000000000000000] [0x00001000] DWORD bCanPerkAlwaysChange : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bZedTimeBlendingOut : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bEnableGameAnalytics : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00008000] DWORD bRecordGameStatsFile : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bUseMapList : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00020000] DWORD bLogScoring : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00040000] DWORD bLogAIDefaults : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bLogReservations : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x00100000] DWORD bLogAnalytics : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00200000] DWORD bLogAICount : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00400000] DWORD bIsCustomGame : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x00800000] DWORD bIsUnrankedGame : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bEnableServerVersionCheck : 1; // 0x04D8 (0x0004) // [0x0000000000000000] [0x02000000] DWORD bIsVersusGame : 1; // 0x04D8 (0x0004) [0x0000000000000000] [0x04000000] DWORD bNVAlwaysDramatic : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x08000000] DWORD bNVBlockDramatic : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x10000000] DWORD bNVAlwaysHeadshot : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bNVDebugDamage : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x40000000] DWORD bLogGroupTeamBalance : 1; // 0x04D8 (0x0004) [0x0000000000000000] // [0x80000000] int HumanDeaths; // 0x04DC (0x0004) [0x0000000000000000] class UClass* KFGFxManagerClass; // 0x04E0 (0x0008) [0x0000000000000000] int GameLength; // 0x04E8 (0x0004) [0x0000000000000000] int MinNetPlayers; // 0x04EC (0x0004) [0x0000000000000000] int ReadyUpDelay; // 0x04F0 (0x0004) [0x0000000000000000] int GameStartDelay; // 0x04F4 (0x0004) [0x0000000000000000] int EndOfGameDelay; // 0x04F8 (0x0004) [0x0000000000000000] TArray GameModes; // 0x04FC (0x0010) [0x0000000000000000] float KickVotePercentage; // 0x050C (0x0004) [0x0000000000000000] float TimeBetweenFailedVotes; // 0x0510 (0x0004) [0x0000000000000000] float MapVotePercentage; // 0x0514 (0x0004) [0x0000000000000000] float MapVoteDuration; // 0x0518 (0x0004) [0x0000000000000000] struct FString ServerMOTD; // 0x051C (0x0010) [0x0000000000000000] struct FColor ServerMOTDColor; // 0x052C (0x0004) [0x0000000000000000] struct FString BannerLink; // 0x0530 (0x0010) [0x0000000000000000] struct FString WebsiteLink; // 0x0540 (0x0010) [0x0000000000000000] struct FColor WebLinkColor; // 0x0550 (0x0004) [0x0000000000000000] struct FString ClanMotto; // 0x0554 (0x0010) [0x0000000000000000] struct FColor ClanMottoColor; // 0x0564 (0x0004) [0x0000000000000000] float ServerExpirationForKillWhenEmpty; // 0x0568 (0x0004) // [0x0000000000000000] int ReconnectRespawnTime; // 0x056C (0x0004) [0x0000000000000000] float XPMultiplier; // 0x0570 (0x0004) [0x0000000000000000] class UKFGameDifficultyInfo* DifficultyInfo; // 0x0574 (0x0008) [0x0000000000000000] class UClass* DifficultyInfoClass; // 0x057C (0x0008) [0x0000000000000000] class UClass* DifficultyInfoConsoleClass; // 0x0584 (0x0008) [0x0000000000000000] TArray TraderList; // 0x058C (0x0010) [0x0000000000000000] class AKFTraderTrigger* ScriptedTrader; // 0x059C (0x0008) [0x0000000000000000] TArray ItemPickups; // 0x05A4 (0x0010) [0x0000000000000000] TArray AmmoPickups; // 0x05B4 (0x0010) [0x0000000000000000] TArray AllPickupFactories; // 0x05C4 (0x0010) [0x0000000000000000] unsigned char NumWeaponPickups; // 0x05D4 (0x0001) [0x0000000000000000] unsigned char NumAmmoPickups; // 0x05D5 (0x0001) [0x0000000000000000] unsigned char ForcedNumLivingPlayers; // 0x05D6 (0x0001) [0x0000000000000000] TArray DeathPenaltyModifiers; // 0x05D8 (0x0010) [0x0000000000000000] TArray MaxRespawnDosh; // 0x05E8 (0x0010) [0x0000000000000000] int MaxGameDifficulty; // 0x05F8 (0x0004) [0x0000000000000000] int MinGameDifficulty; // 0x05FC (0x0004) [0x0000000000000000] TArray GameLengthDoshScale; // 0x0600 (0x0010) [0x0000000000000000] TArray SpawnManagerClasses; // 0x0610 (0x0010) [0x0000000000000000] class UKFGameConductor* GameConductor; // 0x0620 (0x0008) [0x0000000000000000] class UClass* GameConductorClass; // 0x0628 (0x0008) [0x0000000000000000] class UKFAIDirector* AIDirector; // 0x0630 (0x0008) [0x0000000000000000] int AIAliveCount; // 0x0638 (0x0004) [0x0000000000000000] int NumAISpawnsQueued; // 0x063C (0x0004) [0x0000000000000000] int NumAlwaysRelevantZeds; // 0x0640 (0x0004) [0x0000000000000000] class UKFAISpawnManager* SpawnManager; // 0x0644 (0x0008) [0x0000000000000000] TArray AIClassList; // 0x064C (0x0010) [0x0000000000000000] TArray AIBossClassList; // 0x065C (0x0010) [0x0000000000000000] float ZedTimeSlomoScale; // 0x066C (0x0004) [0x0000000000000000] float ZedTimeBlendOutTime; // 0x0670 (0x0004) [0x0000000000000000] float ZedTimeRemaining; // 0x0674 (0x0004) [0x0000000000000000] int ZedTimeExtensionsUsed; // 0x0678 (0x0004) [0x0000000000000000] float LastZedTimeEvent; // 0x067C (0x0004) [0x0000000000000000] class UClass* GameplayEventsWriterClass; // 0x0680 (0x0008) [0x0000000000000000] class UKFGameplayEventsWriter* GameplayEventsWriter; // 0x0688 (0x0008) [0x0000000000000000] TArray GameMapCycles; // 0x0690 (0x0010) [0x0000000000000000] int ActiveMapCycle; // 0x06A0 (0x0004) [0x0000000000000000] int MapCycleIndex; // 0x06A4 (0x0004) [0x0000000000000000] TArray InValidMaps; // 0x06A8 (0x0010) [0x0000000000000000] class AKFDialogManager* DialogManager; // 0x06B8 (0x0008) [0x0000000000000000] class UClass* DialogManagerClass; // 0x06C0 (0x0008) [0x0000000000000000] class UClass* TraderVoiceGroupClass; // 0x06C8 (0x0008) [0x0000000000000000] float ActionMusicDelay; // 0x06D0 (0x0004) [0x0000000000000000] TArray ForcedMusicTracks; // 0x06D4 (0x0010) [0x0000000000000000] TArray PlayerReservations; // 0x06E4 (0x0010) [0x0000000000000000] int ReservationTimeout; // 0x06F4 (0x0004) [0x0000000000000000] TArray PlayerGroups; // 0x06F8 (0x0010) [0x0000000000000000] float LastUpToDateCheckTime; // 0x0708 (0x0004) [0x0000000000000000] class UKFSteamWebUpToDateCheck* UpToDateChecker; // 0x070C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3193]; return pClassPointer; }; void OnAIChangeEnemy(); void CheckNextMap(); void UpdateCurrentMapVoteTime(); void IsPlayerReady(); void AnyPlayerReady(); void MajorityPlayersReady(); void CheckAllPlayersReady(); void ShouldStartMatch(); void StartMatch(); void StripPasswordFromLastURL(); void CheckServerUnlock(); void LobbyCountdownComplete(); void ResetCountDown(); void SetCountdown(); void LogPlayersKillCount(); void LogPlayersDosh(); void LogPlayersInventory(); void AllowAnalyticsLogging(); void AllowBalanceLogging(); void GetAvailableReservations(); void eventSeatPlayer(); void eventConfirmReservation(); void ReadReservations(); void TimeReservations(); void AddPlayerReservations(); void AddPlayerMatchmakingGroup(); void StripFromMatchmakingGroups(); void RemoveDuplicates(); void UniqueReservationAdd(); void eventSendServerMaintenanceMessage(); void eventLogin(); void eventMakeReservations(); void AtCapacity(); void UniqueIdAdd(); void ReservationPresent(); void UniqueIdPresent(); void FindInactivePRI(); void AddInactivePRI(); void UnregisterPlayer(); void MaintenanceRestart(); void GetCurrentMapCycleIndex(); void GetNextMap(); void ForceMatriarchMusicTrack(); void ForcePatriarchMusicTrack(); void ForceHansMusicTrack(); void ForceCreditsMusicTrack(); void ForceMenuMusicTrack(); void ShouldPlayMusicAtStart(); void ShouldPlayActionMusicTrack(); void GetGameIntensityForMusic(); void NotifyNavigationChanged(); void NotifyHeadshotKill(); void CheckZedTimeOnKill(); void SetZedTimeDilation(); void IsZedTimeActive(); void TickZedTime(); void Tick(); void DramaticEvent(); void AddPlayerXP(); void DistributeMoneyAndXP(); void GetNumHumanTeamPlayers(); void GetNumPlayers(); void ModifyAIDoshValueForPlayerCount(); void GetAdjustedAIDoshValue(); void CheckForBerserkerSmallRadiusKill(); void NotifyIgnoredScream(); void NotifyRally(); void ScoreMonsterKill(); void ScoreKill(); void PassiveHeal(); void ScoreDamage(); void GetBossKillScore(); void BossDied(); void GetAdjustedTeamDeathPenalty(); void GetAdjustedDeathPenalty(); void BroadcastDeathMessage(); void GetLastHitByDamageType(); void Killed(); void ReduceDamage(); void CanSpectate(); void ChangeTeam(); void PickTeam(); void CreateTeam(); void SetTeam(); void SetMonsterDefaults(); void AdjustStartingGrenadeCount(); void AllowPrimaryWeapon(); void GetGameInfoSpawnRateMod(); void eventPrePossessAdjustments(); void GetBossAISpawnType(); void GetAISpawnType(); void GetNumAlwaysRelevantZeds(); void GetTotalWaveCountScale(); void IsWaveActive(); void ModifySprintSpeed(); void ModifyGroundSpeed(); void SetPlayerDefaults(); void IsInitialSpawnPointSelection(); void CheckSpawnProximity(); void FindCustomizationStart(); void ShouldSpawnAtStartSpot(); void RatePlayerStart(); void RestartPlayer(); void StartHumans(); void SpawnCustomizationPawn(); void SpawnDefaultPawnFor(); void CustomizationPointsInitialized(); void ActivateNextPickup(); void DetermineNextPickup(); void EnableNewPickup(); void ResetPickups(); void ResetAllPickups(); void InitAllPickups(); void SetupNextTrader(); void InitTraderList(); void AllowCheats(); void InitGRIVariables(); void InitGameConductor(); void eventInitAIDirector(); void CheckPopulation(); void ProcessServerTravel(); void Logout(); void eventPostLogin(); void GametypeChecksWaveLength(); void GametypeChecksDifficulty(); void eventPreLogin(); void ReplicateWelcomeScreen(); void InitGameplayEventWriter(); void eventPostBeginPlay(); void eventPreBeginPlay(); void CheckForCustomSettings(); void GetFloatOption(); void CreateDifficultyInfo(); void eventInitGame(); void StaticSetNeedsRestart(); void SetNeedsReload(); void DisableServerTakeover(); void SetNeedsRestart(); void GetFullGameModePath(); void GetGameModeNum(); void GetFriendlyNameForCurrentGameMode(); void IsGameModeSoloPlayAllowed(); void GetLocalizeIDFromFriendlyName(); void GetGameModeClassFromNum(); void GetGameModeNumFromClass(); void GetGameModeFriendlyNameFromClass(); void GetGameModeFriendlyNameFromNum(); void PreloadContentClasses(); void StripPlayOnPrefix(); void eventSetGameType(); void IsUnrankedGame(); void SetGameUnranked(); void MapCycleNeedsInit(); void IsMapAllowedInCycle(); void GetAIDirector(); void RefreshMonsterAliveCount(); void ForceLivingPlayerCount(); void GetLivingPlayerCount(); void GetMonsterAliveCount(); }; UClass* AKFGameInfo::pClassPointer = NULL; // Class KFGame.KFGamepadLayoutManager // 0x0560 (0x05C0 - 0x0060) class UKFGamepadLayoutManager : public UObject { public: struct FGamepadLayout GamepadLayouts[0x4]; // 0x0060 (0x04C0) [0x0000000000000000] struct FName GamepadButtonNames[0x14]; // 0x0520 (0x00A0) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3195]; return pClassPointer; }; void GetNumLayouts(); void GetLayoutName(); void GetGamepadButtonNames(); void GetGamepadLayout(); }; UClass* UKFGamepadLayoutManager::pClassPointer = NULL; // Class KFGame.KFHTTPImageDownloader // 0x0048 (0x00A8 - 0x0060) class UKFHTTPImageDownloader : public UObject { public: struct FPointer VfTable_FTickableObject; // 0x0060 (0x0008) [0x0000000000000000] struct FScriptDelegate DownloadCompleteDelegate; // 0x0068 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x006C (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FPointer HttpDownloader; // 0x0078 (0x0008) [0x0000000000000000] class UTexture2D* TheTexture; // 0x0080 (0x0008) [0x0000000000000000] struct FString ImageURL; // 0x0088 (0x0010) [0x0000000000000000] struct FScriptDelegate __OnDownloadComplete__Delegate; // 0x0098 (0x0010) [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x009C (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3197]; return pClassPointer; }; void DownloadImageFromURL(); void OnDownloadComplete(); }; UClass* UKFHTTPImageDownloader::pClassPointer = NULL; // Class KFGame.KFInventoryManager // 0x0094 (0x0304 - 0x0270) class AKFInventoryManager : public AInventoryManager { public: class AWeapon* PreviousEquippedWeapons[0x2]; // 0x0270 (0x0010) [0x0000000000000000] class AKFWeap_HealerBase* HealerWeapon; // 0x0280 (0x0008) [0x0000000000160019] ( // CPF_Edit | CPF_ExportObject | CPF_OptionalParm | // CPF_EditConst | CPF_GlobalConfig ) struct FString FullHealthMsg; // 0x0288 (0x0010) [0x0000000000000000] unsigned char GrenadeCount; // 0x0298 (0x0001) [0x0000000000170000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) unsigned char CurrentCarryBlocks; // 0x0299 (0x0001) [0x0000000000180000] // ( CPF_Component ) unsigned char MaxCarryBlocks; // 0x029A (0x0001) [0x0000000000190000] ( // CPF_Travel | CPF_Component ) unsigned char SelectedGroup; // 0x029B (0x0001) [0x0000000000000000] unsigned char SelectedIndex; // 0x029C (0x0001) [0x0000000000000000] DWORD bInfiniteWeight : 1; // 0x02A0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSuppressPickupMessages : 1; // 0x02A0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bServerTraderMenuOpen : 1; // 0x02A0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAutoswitchWeapon : 1; // 0x02A0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bLogInventory : 1; // 0x02A0 (0x0004) [0x0000000000000000] [0x00000010] class UAkEvent* AmmoPickupSound; // 0x02A4 (0x0008) [0x0000000000000000] class UAkEvent* ItemPickupSound; // 0x02AC (0x0008) [0x0000000000000000] class UAkEvent* ArmorPickupSound; // 0x02B4 (0x0008) [0x0000000000000000] class UAkEvent* SwitchFireModeEvent; // 0x02BC (0x0008) [0x0000000000000000] float LastCreatedWeaponTime; // 0x02C4 (0x0004) [0x0000000000000000] TArray OpticsUIMovies; // 0x02C8 (0x0010) [0x0000000000000000] float StartedWithWeaponPriceModifier; // 0x02D8 (0x0004) [0x0000000000000000] float SellPriceModifier; // 0x02DC (0x0004) [0x0000000000000000] float OffPerkCostScale; // 0x02E0 (0x0004) [0x00000000001A0000] ( // CPF_EditConst | CPF_Component ) TArray TransactionItems; // 0x02E4 (0x0010) [0x0000000000000000] int SelectedGroupIndicies[0x4]; // 0x02F4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3199]; return pClassPointer; }; void eventDiscardInventory(); void GetIsOwned(); void GetDisplayedBlocksRequiredFor(); void GetAdjustedSellPriceFor(); void GetAdjustedBuyPriceFor(); void GetTraderItemFromWeaponLists(); void ProcessArmorDosh(); void ProcessGrenadeDosh(); void ProcessAmmoDosh(); void ProcessWeaponDosh(); void GetWeaponFromClass(); void GetTransactionItemIndex(); void ServerRemoveTransactionItem(); void RemoveTransactionItem(); void ServerSellWeapon(); void ServerAddTransactionItem(); void AddTransactionItem(); void AddCurrentCarryBlocks(); void ServerBuyWeapon(); void ServerBuyGrenade(); void ServerBuyArmor(); void eventServerAddTransactionAmmo(); void ServerBuyAmmo(); void BuyAmmo(); void ServerCloseTraderMenu(); void CombineWeaponsOnPickup(); void GetEncumbranceSpeedMod(); void PlayGiveInventorySound(); void AddArmorFromPickup(); void GiveWeaponsAmmo(); void GiveWeaponAmmo(); void AddAmmoFromPickup(); void IsTransactionWeapon(); void CheckForExcessRemoval(); void CanCarryWeapon(); void ServerThrowMoney(); void ThrowMoney(); void eventHasGrenadeAmmo(); void ConsumeGrenades(); void AddGrenades(); void GiveInitialGrenadeCount(); void QuickWeld(); void AttemptQuickHeal(); void SelectCurrentWeapon(); void UpdateHUD(); void ShowAllHUDGroups(); void eventShowOnlyHUDGroup(); void ClientWeaponSet(); void IsUsingIronsightHoldKey(); void SetCurrentWeapon(); void ServerSetCurrentWeapon(); void HighlightWeapon(); void HighlightNextWeapon(); void ShouldSkipCycleWeapon(); void InternalNextWeapon(); void InternalPrevWeapon(); void GamepadNextWeapon(); void NextWeapon(); void PrevWeapon(); void HighlightPrevWeapon(); void GetNextGroupedWeapon(); void GetBestPerkWeaponWithAmmo(); void SwitchToLastWeapon(); void ClassIsInInventory(); void ItemIsInInventory(); void ClientRemoveFromInventory(); void ServerRemoveFromInventory(); void RemoveFromInventory(); void CreateInventory(); void CreateInventoryArchetype(); void AddInventory(); void InitFOV(); void RemoveOpticsUIMovie(); void GetOpticsUIMovie(); void GetPrimaryAmmoPercentage(); void DumpInventory(); void AddWeaponToGroup(); }; UClass* AKFInventoryManager::pClassPointer = NULL; // Class KFGame.KFMapInfo // 0x01F4 (0x0258 - 0x0064) class UKFMapInfo : public UMapInfo { public: float WaveSpawnPeriod; // 0x0064 (0x0004) [0x0000000000000000] TArray DestructibleActors; // 0x0068 (0x0010) [0x0000000000000000] TArray ActionMusicTracks; // 0x0078 (0x0010) [0x0000000000000000] TArray ShuffledActionMusicTrackIdxes; // 0x0088 (0x0010) [0x0000000000000000] unsigned char CurrShuffledActionMusicTrackIdx; // 0x0098 (0x0001) // [0x0000000000000000] unsigned char CurrShuffledAmbientMusicTrackIdx; // 0x0099 (0x0001) // [0x0000000000000000] unsigned char CollectibleType; // 0x009A (0x0001) [0x0000000000000000] unsigned char SubGameType; // 0x009B (0x0001) [0x0000000000000000] TArray AmbientMusicTracks; // 0x009C (0x0010) [0x0000000000000000] TArray ShuffledAmbientMusicTrackIdxes; // 0x00AC (0x0010) [0x0000000000000000] int CollectiblesToFind; // 0x00BC (0x0004) [0x0000000000000000] int CollectiblesFound; // 0x00C0 (0x0004) [0x0000000000000000] DWORD bUsePresetObjectives : 1; // 0x00C4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUseRandomObjectives : 1; // 0x00C4 (0x0004) [0x0000000000000000] // [0x00000002] struct FPresetWavePairs PresetWaveObjectives; // 0x00C8 (0x0180) [0x0000000000000000] TArray RandomWaveObjectives; // 0x0248 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3201]; return pClassPointer; }; void OnCollectibleFound(); void StaticGetRandomTrack(); void ShuffleTracks(); void GetRandomTrack(); void GetNextMusicTrackByGameIntensity(); void StaticGetNextMusicTrackStruct(); void GetNextMusicTrackStruct(); }; UClass* UKFMapInfo::pClassPointer = NULL; // Class KFGame.KFMapTravelData // 0x0044 (0x00A4 - 0x0060) class UKFMapTravelData : public UObject { public: struct FString LastGameMap; // 0x0060 (0x0010) [0x0000000000000000] float LastTravelTime; // 0x0070 (0x0004) [0x0000000000000000] TArray PlayerData; // 0x0074 (0x0010) [0x0000000000000000] TArray TeamScores; // 0x0084 (0x0010) [0x0000000000000000] int RoundCount; // 0x0094 (0x0004) [0x0000000000000000] int SurvivorDeaths; // 0x0098 (0x0004) [0x0000000000000000] int BossDamageDone; // 0x009C (0x0004) [0x0000000000000000] int BossSurvivorDamageTaken; // 0x00A0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3203]; return pClassPointer; }; void ClearAllMapTravelData(); void GetBossSurvivorDamageTaken(); void SetBossSurvivorDamageTaken(); void GetBossDamageDone(); void SetBossDamageDone(); void GetSurvivorDeaths(); void SetSurvivorDeaths(); void GetRoundCount(); void SetRoundCount(); void GetTeamScore(); void SetTeamScore(); void ClearPlayerData(); void GetPlayer(); void RemovePlayer(); void AddPlayer(); void GetLastTravelTime(); void SetLastTravelTime(); void GetLastGameMap(); void SetLastGameMap(); }; UClass* UKFMapTravelData::pClassPointer = NULL; // Class KFGame.KFMeleeHelperBase // 0x0060 (0x00C0 - 0x0060) class UKFMeleeHelperBase : public UObject { public: float MaxHitRange; // 0x0060 (0x0004) [0x0000000000000000] float DefaultFOVCosine; // 0x0064 (0x0004) [0x0000000000000000] TArray HitboxChain; // 0x0068 (0x0010) [0x0000000000000000] struct FVector HitboxExtent; // 0x0078 (0x000C) [0x0000000000000000] float HitboxSpacing; // 0x0084 (0x0004) [0x0000000000000000] struct FName HitboxBoneName; // 0x0088 (0x0008) [0x0000000000000000] unsigned char HitboxBoneAxis; // 0x0090 (0x0001) [0x0000000000000000] DWORD bHitboxCollideComplex : 1; // 0x0094 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bOnlyUseHitboxExtentAtHead : 1; // 0x0094 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bDoHitboxObstructionTrace : 1; // 0x0094 (0x0004) // [0x0000000000000000] [0x00000004] DWORD bHitboxPawnsOnly : 1; // 0x0094 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bAllowMeleeToFracture : 1; // 0x0094 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bHasAlreadyHit : 1; // 0x0094 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bLogMelee : 1; // 0x0094 (0x0004) [0x0000000000000000] [0x00000040] DWORD bDebugShowCollision : 1; // 0x0094 (0x0004) [0x0000000000000000] // [0x00000080] TArray ActorsCollidedWith; // 0x0098 (0x0010) [0x0000000000000000] class UCameraShake* MeleeVictimCamShake; // 0x00A8 (0x0008) [0x0000000000000000] class UCameraShake* MeleeImpactCamShake; // 0x00B0 (0x0008) [0x0000000000000000] class UKFImpactEffectInfo* WorldImpactEffects; // 0x00B8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3205]; return pClassPointer; }; void MeleeFractureMeshImpact(); void PlayMeleeHitEffects(); void eventInitWorldTraceForHitboxCollision(); void eventProcessHitboxCollision(); void HasCollidedWithHitbox(); void SetHitboxChain(); void CreateHitboxChain(); void BeginHitboxCollisionDetection(); void TickHitboxCollisionDetection(); void TraceMeleeAttackHitZones(); void GetMeleeHitTestLocation(); void RateMeleeVictim(); void FindVictimByFOV(); void TraceNoPawns(); void DoWeaponInstantTrace(); void MeleeAttackDestructibles(); void GetMeleeRange(); void SetMeleeRange(); void GetMeleeAimRotation(); void GetMeleeStartTraceLocation(); }; UClass* UKFMeleeHelperBase::pClassPointer = NULL; // Class KFGame.KFMeleeHelperAI // 0x0048 (0x0108 - 0x00C0) class UKFMeleeHelperAI : public UKFMeleeHelperBase { public: float BaseDamage; // 0x00C0 (0x0004) [0x0000000000000000] class UClass* MyDamageType; // 0x00C4 (0x0008) [0x0000000000000000] float MomentumTransfer; // 0x00CC (0x0004) [0x0000000000000000] TArray SwipedActors; // 0x00D0 (0x0010) [0x0000000000000000] DWORD bTrackSwipeHits : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000001] float PlayerDoorDamageMultiplier; // 0x00E4 (0x0004) [0x0000000000000000] float PlayerControlledFOV; // 0x00E8 (0x0004) [0x0000000000000000] float MeleeImpactCamScale; // 0x00EC (0x0004) [0x0000000000000000] TArray PendingDamage; // 0x00F0 (0x0010) [0x0000000000000000] int MaxPingCompensation; // 0x0100 (0x0004) [0x0000000000000000] float PingCompensationScale; // 0x0104 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3207]; return pClassPointer; }; void eventApplyDelayedPawnDamage(); void ResolvePawnMeleeDamage(); void ProcessSwipeHit(); void GetSwipeVector(); void DoSwipeImpact(); void CheckEnemyImpact(); void MeleeImpactNotify(); void PlayMeleeHitEffects(); void DoPlayerWorldTrace(); void DoPlayerControlledImpact(); void DoAreaImpact(); void ShouldDealDamageToEnemy(); void ApplyMeleeDamage(); }; UClass* UKFMeleeHelperAI::pClassPointer = NULL; // Class KFGame.KFMusicTrackInfo // 0x0038 (0x0098 - 0x0060) class UKFMusicTrackInfo : public UObject { public: class UAkEvent* StandardTrack; // 0x0060 (0x0008) [0x0000000000000000] class UAkEvent* InstrumentalTrack; // 0x0068 (0x0008) [0x0000000000000000] class UAkEvent* StopEvent; // 0x0070 (0x0008) [0x0000000000000000] unsigned char MinGameIntensityLevel; // 0x0078 (0x0001) [0x0000000000000000] unsigned char MaxGameIntensityLevel; // 0x0079 (0x0001) [0x0000000000000000] DWORD bLoop : 1; // 0x007C (0x0004) [0x0000000000000000] [0x00000001] struct FName TrackName; // 0x0080 (0x0008) [0x0000000000000000] struct FName ArtistName; // 0x0088 (0x0008) [0x0000000000000000] struct FName AlbumName; // 0x0090 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3209]; return pClassPointer; }; }; UClass* UKFMusicTrackInfo::pClassPointer = NULL; // Class KFGame.KFOnlineGameSearch // 0x0008 (0x0174 - 0x016C) class UKFOnlineGameSearch : public UOnlineGameSearch { public: unsigned char SortOrder; // 0x016C (0x0001) [0x0000000000000000] unsigned char SortType; // 0x016D (0x0001) [0x0000000000000000] int LastResultsSize; // 0x0170 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3211]; return pClassPointer; }; void SortIfChanged(); void SortResults(); void MakeFakeServerResults(); }; UClass* UKFOnlineGameSearch::pClassPointer = NULL; // Class KFGame.KFOnlineGameSettings // 0x0030 (0x01C8 - 0x0198) class UKFOnlineGameSettings : public UOnlineGameSettings { public: int NumWaves; // 0x0198 (0x0004) [0x0000000000000000] int CurrentWave; // 0x019C (0x0004) [0x0000000000000000] DWORD bInProgress : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bMutators : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000002] DWORD bCustom : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000004] DWORD bAvailableForTakeover : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00000008] int ZedCount; // 0x01A4 (0x0004) [0x0000000000000000] int MaxZedCount; // 0x01A8 (0x0004) [0x0000000000000000] struct FString MapName; // 0x01AC (0x0010) [0x0000000000000000] int Difficulty; // 0x01BC (0x0004) [0x0000000000000000] int Mode; // 0x01C0 (0x0004) [0x0000000000000000] int NumSpectators; // 0x01C4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3213]; return pClassPointer; }; }; UClass* UKFOnlineGameSettings::pClassPointer = NULL; // Class KFGame.KFOnlineGameSettingsVersus // 0x0000 (0x01C8 - 0x01C8) class UKFOnlineGameSettingsVersus : public UKFOnlineGameSettings { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3215]; return pClassPointer; }; }; UClass* UKFOnlineGameSettingsVersus::pClassPointer = NULL; // Class KFGame.KFOnlineStatsRead // 0x0018 (0x00D8 - 0x00C0) class UKFOnlineStatsRead : public UOnlineStatsRead { public: class UKFOnlineStatsWrite* LinkedWriteObject; // 0x00C0 (0x0008) [0x0000000000000000] struct FUniqueNetId OwningUniqueID; // 0x00C8 (0x0008) [0x0000000000000000] unsigned char UserStatsReceivedState; // 0x00D0 (0x0001) [0x0000000000000000] DWORD bLogStatsRead : 1; // 0x00D4 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3217]; return pClassPointer; }; void eventOnReadComplete(); void NativeOnReadComplete(); void OnStatsInitialized(); }; UClass* UKFOnlineStatsRead::pClassPointer = NULL; // Class KFGame.KFOnlineStatsWrite // 0x0170 (0x0234 - 0x00C4) class UKFOnlineStatsWrite : public UOnlineStatsWrite { public: class AKFPlayerController* MyKFPC; // 0x00C4 (0x0008) [0x0000000000000000] int Kills; // 0x00CC (0x0004) [0x0000000000000000] int StalkerKills; // 0x00D0 (0x0004) [0x0000000000000000] int CrawlerKills; // 0x00D4 (0x0004) [0x0000000000000000] int FleshPoundKills; // 0x00D8 (0x0004) [0x0000000000000000] int WeldingPoints; // 0x00DC (0x0004) [0x0000000000000000] int HealingPoints; // 0x00E0 (0x0004) [0x0000000000000000] int CommandoXP; // 0x00E4 (0x0004) [0x0000000000000000] int CommandoLVL; // 0x00E8 (0x0004) [0x0000000000000000] int CommandoPSG; // 0x00EC (0x0004) [0x0000000000000000] int CommandoBuild; // 0x00F0 (0x0004) [0x0000000000000000] int BerserkerXP; // 0x00F4 (0x0004) [0x0000000000000000] int BerserkerLVL; // 0x00F8 (0x0004) [0x0000000000000000] int BerserkerPSG; // 0x00FC (0x0004) [0x0000000000000000] int BerserkerBuild; // 0x0100 (0x0004) [0x0000000000000000] int SupportXP; // 0x0104 (0x0004) [0x0000000000000000] int SupportLVL; // 0x0108 (0x0004) [0x0000000000000000] int SupportPSG; // 0x010C (0x0004) [0x0000000000000000] int SupportBuild; // 0x0110 (0x0004) [0x0000000000000000] int MedicXP; // 0x0114 (0x0004) [0x0000000000000000] int MedicLVL; // 0x0118 (0x0004) [0x0000000000000000] int MedicPSG; // 0x011C (0x0004) [0x0000000000000000] int MedicBuild; // 0x0120 (0x0004) [0x0000000000000000] int FirebugXP; // 0x0124 (0x0004) [0x0000000000000000] int FirebugLVL; // 0x0128 (0x0004) [0x0000000000000000] int FirebugPSG; // 0x012C (0x0004) [0x0000000000000000] int FirebugBuild; // 0x0130 (0x0004) [0x0000000000000000] int DemoXP; // 0x0134 (0x0004) [0x0000000000000000] int DemoLVL; // 0x0138 (0x0004) [0x0000000000000000] int DemoPSG; // 0x013C (0x0004) [0x0000000000000000] int DemoBuild; // 0x0140 (0x0004) [0x0000000000000000] int GunslingerXP; // 0x0144 (0x0004) [0x0000000000000000] int GunslingerLVL; // 0x0148 (0x0004) [0x0000000000000000] int GunslingerPSG; // 0x014C (0x0004) [0x0000000000000000] int GunslingerBuild; // 0x0150 (0x0004) [0x0000000000000000] int SharpshooterXP; // 0x0154 (0x0004) [0x0000000000000000] int SharpshooterLVL; // 0x0158 (0x0004) [0x0000000000000000] int SharpshooterPSG; // 0x015C (0x0004) [0x0000000000000000] int SharpshooterBuild; // 0x0160 (0x0004) [0x0000000000000000] int SwatXP; // 0x0164 (0x0004) [0x0000000000000000] int SwatLVL; // 0x0168 (0x0004) [0x0000000000000000] int SwatPSG; // 0x016C (0x0004) [0x0000000000000000] int SwatBuild; // 0x0170 (0x0004) [0x0000000000000000] int SurvXP; // 0x0174 (0x0004) [0x0000000000000000] int SurvLVL; // 0x0178 (0x0004) [0x0000000000000000] int SurvPSG; // 0x017C (0x0004) [0x0000000000000000] int SurvBuild; // 0x0180 (0x0004) [0x0000000000000000] int PersonalBest_KnifeKills; // 0x0184 (0x0004) [0x0000000000000000] int PersonalBest_PistolKills; // 0x0188 (0x0004) [0x0000000000000000] int PersonalBest_HeadShots; // 0x018C (0x0004) [0x0000000000000000] int PersonalBest_Healing; // 0x0190 (0x0004) [0x0000000000000000] int PersonalBest_Kills; // 0x0194 (0x0004) [0x0000000000000000] int PersonalBest_Assists; // 0x0198 (0x0004) [0x0000000000000000] int PersonalBest_LargeZedKil; // 0x019C (0x0004) [0x0000000000000000] int PersonalBest_Dosh; // 0x01A0 (0x0004) [0x0000000000000000] int SpecialEventInfo; // 0x01A4 (0x0004) [0x0000000000000000] int InitialSpecialEventInfo; // 0x01A8 (0x0004) [0x0000000000000000] int WeeklyEventInfo; // 0x01AC (0x0004) [0x0000000000000000] int InitialWeeklyEventInfo; // 0x01B0 (0x0004) [0x0000000000000000] int PerRoundWeldXP; // 0x01B4 (0x0004) [0x0000000000000000] int PerRoundHealXP; // 0x01B8 (0x0004) [0x0000000000000000] TArray Achievements; // 0x01BC (0x0010) [0x0000000000000000] int XPTable[0x19]; // 0x01CC (0x0064) [0x0000000000000000] DWORD bFailedToRead : 1; // 0x0230 (0x0004) [0x0000000000000000] [0x00000001] DWORD bReadSuccessful : 1; // 0x0230 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAllowPerkCheats : 1; // 0x0230 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bDisabled : 1; // 0x0230 (0x0004) [0x0000000000000000] [0x00000008] DWORD bLogStatsWrite : 1; // 0x0230 (0x0004) [0x0000000000000000] // [0x00000010] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3219]; return pClassPointer; }; void GetWeeklyOutbreakRewards(); void IsWeeklyEventComplete(); void WeeklyEventComplete(); void UpdateWeeklyEventState(); void CacheWeeklyEventState(); void CanCacheWeeklyEvent(); void IsEventObjectiveComplete(); void UpdateSpecialEvent(); void UpdateSpecialEventState(); void CacheSpecialEventState(); void CanCacheSpecialEvent(); void CheckForRoundTeamWinAchievements(); void UnlockTutorialAchievement(); void CheckAllPerksLvl25(); void CheckPerkDifficultyAchievements(); void CheckPerkLvlAchievement(); void CheckMapEndAchievements(); void OnRoundEnd(); void OnGameWon(); void UnlockDingoAchievement(); void OnUnlockAchievement(); void IsAchievementUnlocked(); void GetAchievements(); void IsSharpshooterHeadshot(); void IsGunslingerHeadshot(); void AddSharpshooterHeadshot(); void AddGunslingerHeadshot(); void eventAddToHeadshots(); void eventAddHealingPoints(); void ComputeHealingXP(); void eventDoorRepaired(); void eventAddWeldingPoints(); void ComputeWeldingXP(); void IsBloatKill(); void IsClotKill(); void IsFleshPoundKill(); void IsStalkerKill(); void IsCrawlerKill(); void AddBloatKill(); void AddClotKill(); void AddFleshpoundKill(); void AddCrawlerKill(); void eventAddSmallRadiusKill(); void AddStalkerKill(); void eventAddToKills(); void SavePersonalBest(); void GetPersonalBest(); void eventGetPerkLVLByClass(); void eventGetPerkPSG(); void eventGetPerkLVLInternal(); void eventGetPerkXP(); void eventNotifyLevelUp(); void eventAddXP(); void GetPSGFromProgress(); void GetLVLFromProgress(); void GetXPFromProgress(); void IncrementXPStat(); void GetXPNeededAt(); void GetPerkBuild(); void GetPerkLevel(); void eventSaveBuildToStats(); void eventGetPerkBuildFromStats(); void eventCacheStatsValue(); void LogStatValue(); void LogStats(); void LogSubsystemIntStat(); void NotifyReadSucceeded(); void HasReadStats(); void NotifyReadFailure(); void HasReadFailure(); void NotifyCheats(); void HasCheated(); void SetFloatStat(); void SetIntStat(); void IncrementFloatStat(); void IncrementIntStat(); }; UClass* UKFOnlineStatsWrite::pClassPointer = NULL; // Class KFGame.KFPerk // 0x0248 (0x048C - 0x0244) class AKFPerk : public AReplicationInfo { public: int ProgressStatID; // 0x0244 (0x0004) [0x0000000000000000] int PerkBuildStatID; // 0x0248 (0x0004) [0x0000000000000000] int SecondaryXPModifier[0x4]; // 0x024C (0x0010) [0x0000000000000000] struct FString PerkName; // 0x025C (0x0010) [0x0000000000000000] TArray Passives; // 0x026C (0x0010) [0x0000000000000000] struct FString SkillCatagories[0x5]; // 0x027C (0x0050) [0x0000000000000000] struct FString EXPAction1; // 0x02CC (0x0010) [0x0000000000000000] struct FString EXPAction2; // 0x02DC (0x0010) [0x0000000000000000] struct FString LevelString; // 0x02EC (0x0010) [0x0000000000000000] class UTexture2D* PerkIcon; // 0x02FC (0x0008) [0x0000000000000000] TArray ColumnOneIcons; // 0x0304 (0x0010) [0x0000000000000000] TArray ColumnTwoIcons; // 0x0314 (0x0010) [0x0000000000000000] class UTexture2D* InteractIcon; // 0x0324 (0x0008) [0x0000000000000000] struct FString WeaponDroppedMessage; // 0x032C (0x0010) [0x0000000000000000] float AssistDoshModifier; // 0x033C (0x0004) [0x0000000000000000] TArray PerkSkills; // 0x0340 (0x0010) [0x0000000000000000] unsigned char SelectedSkills[0x5]; // 0x0350 (0x0005) [0x0000000000000000] unsigned char MaxAbilityPoints; // 0x0355 (0x0001) [0x0000000000000000] unsigned char CurrentLevel; // 0x0356 (0x0001) [0x0000000000150000] ( // CPF_Travel | CPF_GlobalConfig ) unsigned char CurrentPrestigeLevel; // 0x0357 (0x0001) [0x0000000000000000] float RegenerationInterval; // 0x0358 (0x0004) [0x0000000000000000] int RegenerationAmount; // 0x035C (0x0004) [0x0000000000000000] float TimeUntilNextRegen; // 0x0360 (0x0004) [0x0000000000000000] float BarrageDamageModifier; // 0x0364 (0x0004) [0x0000000000000000] float FormidableDamageModifier; // 0x0368 (0x0004) [0x0000000000000000] float VaccinationDuration; // 0x036C (0x0004) [0x0000000000000000] TArray BuffedPlayerInfos; // 0x0370 (0x0010) [0x0000000000000000] class AKFUsablePerkTrigger* InteractionTrigger; // 0x0380 (0x0008) [0x0000000000000000] TArray ZedTimeModifyingStates; // 0x0388 (0x0010) [0x0000000000000000] TArray BodyPartsCanStumble; // 0x0398 (0x0010) [0x0000000000000000] TArray BodyPartsCanKnockDown; // 0x03A8 (0x0010) [0x0000000000000000] DWORD bCanSeeCloakedZeds : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHasTempSkill_TacticalReload : 1; // 0x03B8 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bInitialized : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00000004] DWORD bLogPerk : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00000008] float SignatureDamageScale; // 0x03BC (0x0004) [0x0000000000000000] float SignatureRecoilScale; // 0x03C0 (0x0004) [0x0000000000000000] int CurrentAbilityPoints; // 0x03C4 (0x0004) [0x0000000000000000] struct FPerkSkill TacticalReload; // 0x03C8 (0x0038) [0x0000000000000000] class UClass* ToxicDmgTypeClass; // 0x0400 (0x0008) [0x0000000000000000] int SavedBuild; // 0x0408 (0x0004) [0x0000000000000000] class UClass* PrimaryWeaponDef; // 0x040C (0x0008) [0x0000000000000000] class UClass* SecondaryWeaponDef; // 0x0414 (0x0008) [0x0000000000000000] class UClass* KnifeWeaponDef; // 0x041C (0x0008) [0x0000000000000000] class UClass* GrenadeWeaponDef; // 0x0424 (0x0008) [0x0000000000000000] class UClass* GrenadeClass; // 0x042C (0x0008) [0x0000000000000000] int InitialGrenadeCount; // 0x0434 (0x0004) [0x0000000000000000] int MaxGrenadeCount; // 0x0438 (0x0004) [0x0000000000000000] TArray BackupWeaponDamageTypeNames; // 0x043C (0x0010) [0x0000000000000000] TArray AutoBuyLoadOutPath; // 0x044C (0x0010) [0x0000000000000000] float HitAccuracyHandicap; // 0x045C (0x0004) [0x0000000000000000] float HeadshotAccuracyHandicap; // 0x0460 (0x0004) [0x0000000000000000] class AKFPlayerReplicationInfo* MyPRI; // 0x0464 (0x0008) [0x0000000000000000] class AKFGameInfo* MyKFGI; // 0x046C (0x0008) [0x0000000000000000] class AKFGameReplicationInfo* MyKFGRI; // 0x0474 (0x0008) [0x0000000000000000] class AKFPlayerController* OwnerPC; // 0x047C (0x0008) [0x0000000000000000] class AKFPawn_Human* OwnerPawn; // 0x0484 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3221]; return pClassPointer; }; void PlayerDied(); void FormatPerkSkills(); void LogPerkSkills(); void ClientLogPerks(); void ServerLogPerks(); void GetPercentage(); void GetGrenadeWeaponDef(); void GetGrenadeImagePath(); void GetInteractIcon(); void GetPerkLensEffect(); void TickRegen(); void ShouldAutosellWeapon(); void HitShouldKnockdown(); void HitShouldStumble(); void eventGetOwnerPawn(); void NotifyZedTimeEnded(); void NotifyZedTimeStarted(); void DrawSpecialPerkHUD(); void GetUsingTactialReload(); void OnWaveEnded(); void GetOwnerWeapon(); void ModifyBloatBileDoT(); void GetModifierString(); void GetAssistDoshModifer(); void ModifyAssistDosh(); void GetArmorDamageAmount(); void ShouldKnockDownOnBump(); void HasHeavyArmor(); void eventGetCrouchSpeedModifier(); void IgnoresPenetrationDmgReduction(); void eventGetCameraViewShakeModifier(); void ModifyWeaponBopDamping(); void ShouldInstantlySwitchWeapon(); void ModifyWeaponSwitchTime(); void eventGetIronSightSpeedModifier(); void ModifyRateOfFire(); void eventServerResetHeadShotCombo(); void eventGetIsHeadShotComboActive(); void ResetHeadShotCombo(); void AddToHeadShotCombo(); void UpdatePerkHeadShots(); void GetIsUberAmmoActive(); void GetLastHX25NukeTime(); void SetLastHX25NukeTime(); void ShouldNeverDud(); void GetDaZedEMPPower(); void ShouldGetDaZeD(); void DoorShouldNuke(); void GetAoEDamageModifier(); void GetAoERadiusModifier(); void CanExplosiveWeld(); void ShouldRandSirenResist(); void ShouldSacrifice(); void IsSharedExplosiveResistaneActive(); void IsOnContactActive(); void IsRangeActive(); void GetSplashDamageModifier(); void ShouldShrapnel(); void CouldBeZedShrapnel(); void CanSpreadNapalm(); void GetFireStumble(); void ModifyDoTScaler(); void IsFlarotovActive(); void IsSlugActive(); void GetHealingShieldActive(); void GetHealingDamageBoostActive(); void GetHealingSpeedBoostActive(); void GetSelfHealingSurgePct(); void IsHealingSurgeActive(); void GetSirenScreamStrength(); void ModifyToxicDmg(); void GetToxicDmgTypeClass(); void IsToxicDmgActive(); void RepairArmor(); void CanRepairDoors(); void GetArmorDiscountMod(); void ModifyArmor(); void ModifyHealAmount(); void ModifyHealerRechargeTime(); void eventShouldUseFastInstigatorDilation(); void IsUnAffectedByZedTime(); void ShouldKnockdown(); void AddVampireHealth(); void SetSuccessfullParry(); void SetSuccessfullBlock(); void ModifyLightAttackDamage(); void ModifyHardAttackDamage(); void CanEarnSmallRadiusKillXP(); void CanNotBeGrabbed(); void ModifyScreamEffectDuration(); void ModifyMeleeAttackSpeed(); void ModifySpread(); void GetZedTimeModifier(); void IsRapidFireActive(); void HasNightVision(); void IsShootAndMoveActive(); void IsCallOutActive(); void GetTightChokeModifier(); void GetBarrageDamageModifier(); void GetPenetrationModifier(); void Interact(); void CanInteract(); void ModifyWeldingRate(); void ShouldGetAllTheXP(); void GetExplosionTemplate(); void GetSnarePowerModifier(); void GetReactionModifier(); void GetStunPowerModifier(); void GetStumblePowerModifier(); void GetKnockdownPowerModifier(); void GetZedTimeExtension(); void ModifyHealth(); void ShouldMagSizeModifySpareAmmo(); void ModifyMaxSpareAmmoAmount(); void MaximizeSpareAmmoAmount(); void ModifySpareAmmoAmount(); void ModifyMagSizeAndNumber(); void ModifyDamageTaken(); void ModifyDamageGiven(); void ModifyRecoil(); void FinalizeSpeedVariables(); void ModifySprintSpeed(); void ModifySpeed(); void GetReloadRateScale(); void GetSuppressingFireSnareScale(); void GetAwarenessDamageScale(); void GetCloakDetectionRange(); void BuildDroppedMessageString(); void CheckForOverWeight(); void PerkNeedsTick(); void GetKnifeWeaponClassPath(); void GetSecondaryWeaponClassPath(); void GetPrimaryWeaponClassPath(); void GetGrenadeClass(); void AddDefaultInventory(); void eventPostLevelUp(); void NotifyPawnTeamChanged(); void ApplyWeightLimits(); void ApplySkillsToPawn(); void PerkSetOwnerHealthAndArmor(); void eventNotifyPerkModified(); void SetPlayerDefaults(); void eventPreBeginPlay(); void GetSavedBuild(); void eventGetPerkIconPath(); void GetPassiveValue(); void GetSkillValue(); void GetPassiveStrings(); void eventPostSkillUpdate(); void UnpackSkill(); void eventGetUnpackedSkillsArray(); void eventSetPerkBuild(); void eventPackSkill(); void eventPackPerkBuild(); void eventUpdatePerkBuild(); void eventUpdateSkills(); void eventPerkLevelUpdated(); void IsPerkLevelAllowed(); void SetLevel(); void GetLevel(); void IsBackupWeapon(); void MultiplySecondaryXPPoints(); void IsDamageTypeOnThisPerk(); void IsBackupDamageTypeOnPerk(); void IsDamageTypeOnPerk(); void IsWeaponOnPerk(); void GetPerkFromProjectile(); void GetPerkFromDamageCauser(); void GetWeaponFromDamageCauser(); void DumpPerkLoadout(); void GetPerkClass(); void GetPerkBuildStatID(); void GetProgressStatID(); void eventClientACK(); void eventServerSetPerkBuild(); void SavePerkDataToConfig(); void SaveBuildToStats(); void SaveTierUnlockToConfig(); void LoadPerkData(); void LoadTierUnlockFromConfig(); void LoadPerk(); void CheckOwnerPawn(); }; UClass* AKFPerk::pClassPointer = NULL; // Class KFGame.KFPerk_Berserker // 0x00FC (0x0588 - 0x048C) class AKFPerk_Berserker : public AKFPerk { public: struct FPerkSkill BerserkerDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill DamageResistance; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill NightVision; // 0x04FC (0x0038) [0x0000000000000000] float NinjaSprintModifer; // 0x0534 (0x0004) [0x0000000000000000] float SmashStumbleModifier; // 0x0538 (0x0004) [0x0000000000000000] int SmallRadiusSizeSQ; // 0x053C (0x0004) [0x0000000000000000] DWORD bParryActive : 1; // 0x0540 (0x0004) [0x0000000000000000] [0x00000001] float ParryDuration; // 0x0544 (0x0004) [0x0000000000000000] float ParrySpeed; // 0x0548 (0x0004) [0x0000000000000000] float FurySpeed; // 0x054C (0x0004) [0x0000000000000000] float SmashKnockdownMultiplier; // 0x0550 (0x0004) [0x0000000000000000] float SpartanZedTimeResistance; // 0x0554 (0x0004) [0x0000000000000000] float SpeedDamageModifier; // 0x0558 (0x0004) [0x0000000000000000] float SmashHeadDamageModifier; // 0x055C (0x0004) [0x0000000000000000] float VampireAttackSpeedModifier; // 0x0560 (0x0004) [0x0000000000000000] float ParryDamageReduction; // 0x0564 (0x0004) [0x0000000000000000] int RageRadius; // 0x0568 (0x0004) [0x0000000000000000] float RageFleeDuration; // 0x056C (0x0004) [0x0000000000000000] int RageFleeDistance; // 0x0570 (0x0004) [0x0000000000000000] int RageDialogEvent; // 0x0574 (0x0004) [0x0000000000000000] class UAkEvent* ParrySkillSoundModeStart; // 0x0578 (0x0008) [0x0000000000000000] class UAkEvent* ParrySkillSoundModeStop; // 0x0580 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3223]; return pClassPointer; }; void LogPerkSkills(); void GetPerkLensEffect(); void eventShouldUseFastInstigatorDilation(); void IsFastInZedTime(); void eventCouldSpartanBeActive(); void eventIsSpartanActive(); void eventIsRageActive(); void CanNotBeGrabbed(); void IsFuryActive(); void eventIsSmashActive(); void HasNightVision(); void eventGetParryActive(); void IsResistanceActive(); void IsParryActive(); void SetSuccessfullParry(); void PerkNeedsTick(); void IsSpeedActive(); void IsVampireActive(); void IsNinjaActive(); void IsFortitudeActive(); void GetParryDamageModifier(); void GetVampireAttackSpeedModifier(); void GetSmashHeadDamageModifier(); void GetSpeedDamageModifier(); void GetZedTimeModifier(); void GetRageFleeDistance(); void GetRageFleeDuration(); void GetRageRadius(); void NotifyZedTimeStarted(); void GetSirenScreamStrength(); void CanEarnSmallRadiusKillXP(); void GetSmallRadiusKillDistanceSQ(); void GetSmallRadiusKillXP(); void GetSmashStumbleModifier(); void GetStumblePowerModifier(); void ModifyScreamEffectDuration(); void ParryTimer(); void ModifyLightAttackDamage(); void ModifyHardAttackDamage(); void AddVampireHealth(); void ModifyHealth(); void GetPassiveStrings(); void ModifyBloatBileDoT(); void GetPassiveDamageResistance(); void ModifyDamageTaken(); void GetNinjaSprintModifier(); void ModifySprintSpeed(); void ModifySpeed(); void GetFurySpeed(); void ModifyMeleeAttackSpeed(); void ModifyDamageGiven(); void eventTick(); void eventPostSkillUpdate(); void ApplySkillsToPawn(); }; UClass* AKFPerk_Berserker::pClassPointer = NULL; // Class KFGame.KFPerk_Commando // 0x0168 (0x05F4 - 0x048C) class AKFPerk_Commando : public AKFPerk { public: struct FPerkSkill WeaponDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill CloakedEnemyDetection; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill ZedTimeExtension; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill ReloadSpeed; // 0x0534 (0x0038) [0x0000000000000000] struct FPerkSkill CallOut; // 0x056C (0x0038) [0x0000000000000000] struct FPerkSkill NightVision; // 0x05A4 (0x0038) [0x0000000000000000] float RapidFireFiringRate; // 0x05DC (0x0004) [0x0000000000000000] float BackupWeaponSwitchModifier; // 0x05E0 (0x0004) [0x0000000000000000] float HollowPointRecoilModifier; // 0x05E4 (0x0004) [0x0000000000000000] float HealthArmorModifier; // 0x05E8 (0x0004) [0x0000000000000000] class UTexture2D* WhiteMaterial; // 0x05EC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3225]; return pClassPointer; }; void LogPerkSkills(); void LogTacticalReload(); void DrawZedHealthbar(); void DrawSpecialPerkHUD(); void GetStalkerKillXP(); void GetPassiveStrings(); void IsProfessionalActive(); void IsAmmoVestActive(); void IsEatLeadActive(); void IsHealthIncreaseActive(); void IsImpactActive(); void IsTacticalReloadActive(); void IsHollowPointsActive(); void IsBackupActive(); void IsLargeMagActive(); void CouldRapidFireActive(); void IsRapidFireActive(); void HasNightVision(); void IsCallOutActive(); void GetHealthArmorModifier(); void GetHollowPointRecoilModifier(); void ModifyRecoil(); void GetBackupWeaponSwitchModifier(); void ModifyWeaponSwitchTime(); void GetStumblePowerModifier(); void GetZedTimeModifier(); void Is9mm(); void ModifyMaxSpareAmmoAmount(); void ModifyMagSizeAndNumber(); void GetUsingTactialReload(); void ModifyArmor(); void ModifyHealth(); void GetReloadRateScale(); void GetExtraReloadSpeed(); void GetZedTimeExtension(); void GetCloakDetectionRange(); void ModifyDamageGiven(); void SetPlayerDefaults(); }; UClass* AKFPerk_Commando::pClassPointer = NULL; // Class KFGame.KFPerk_Demolitionist // 0x0158 (0x05E4 - 0x048C) class AKFPerk_Demolitionist : public AKFPerk { public: struct FPerkSkill ExplosiveDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill ExplosiveResistance; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill ExplosiveAmmo; // 0x04FC (0x0038) [0x0000000000000000] TArray SuppliedPawnList; // 0x0534 (0x0010) [0x0000000000000000] float SharedExplosiveResistance; // 0x0544 (0x0004) [0x0000000000000000] class UClass* ExplosiveResistableDamageTypeSuperClass; // 0x0548 (0x0008) // [0x0000000000000000] float ExplosiveResistanceRadius; // 0x0550 (0x0004) [0x0000000000000000] class UKFGameExplosion* SacrificeExplosionTemplate; // 0x0554 (0x0008) [0x0000000000000000] class UKFGameExplosion* NukeExplosionTemplate; // 0x055C (0x0008) [0x0000000000000000] class UKFGameExplosion* DoorTrapExplosionTemplate; // 0x0564 (0x0008) [0x0000000000000000] class UClass* NukeExplosionActorClass; // 0x056C (0x0008) [0x0000000000000000] float NukeDamageModifier; // 0x0574 (0x0004) [0x0000000000000000] float NukeRadiusModifier; // 0x0578 (0x0004) [0x0000000000000000] class UAkEvent* ConcussiveExplosionSound; // 0x057C (0x0008) [0x0000000000000000] float AoeDamageModifier; // 0x0584 (0x0004) [0x0000000000000000] int LingeringNukePoisonDamage; // 0x0588 (0x0004) [0x0000000000000000] TArray PassiveExtraAmmoIgnoredClassNames; // 0x058C (0x0010) // [0x0000000000000000] TArray ExtraAmmoIgnoredClassNames; // 0x059C (0x0010) [0x0000000000000000] TArray OnlySecondaryAmmoWeapons; // 0x05AC (0x0010) [0x0000000000000000] TArray DamageIgnoredDTs; // 0x05BC (0x0010) [0x0000000000000000] float DaZedEMPPower; // 0x05CC (0x0004) [0x0000000000000000] float ProfessionalAoEModifier; // 0x05D0 (0x0004) [0x0000000000000000] DWORD bUsedSacrifice : 1; // 0x05D4 (0x0004) [0x0000000000000000] // [0x00000001] class UClass* LingeringNukeDamageType; // 0x05D8 (0x0008) [0x0000000000000000] float LastHX25NukeTime; // 0x05E0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3227]; return pClassPointer; }; void LogPerkSkills(); void GetPassiveStrings(); void GetFleshpoundKillXP(); void GetConcussiveExplosionSound(); void IsConcussiveForceActive(); void GetLingeringDamageType(); void GetLingeringPoisonDamage(); void GetNukeRadiusModifier(); void GetNukeDamageModifier(); void GetNukeExplosionActorClass(); void GetNukeExplosionTemplate(); void IsNukeActive(); void IsSirenResistanceActive(); void GetDoorTrapsExplosionTemplate(); void IsSacrificeActive(); void IsDoorTrapsActive(); void GetSacrificeExplosionTemplate(); void IsDmgTypeExplosiveResistable(); void GetExplosiveResistanceRadius(); void GetSharedExplosiveResistance(); void IsProfessionalActive(); void IsCriticalHitActive(); void IsAoEActive(); void IsAmmoActive(); void IsDirectHitActive(); void IsTacticalReloadActive(); void IsDamageActive(); void GetZedTimeModifier(); void ShouldNeverDud(); void DoorShouldNuke(); void ProjectileShouldNuke(); void GetReactionModifier(); void GetStunPowerModifier(); void GetStumblePowerModifier(); void GetKnockdownPowerModifier(); void ShouldRandSirenResist(); void CanExplosiveWeld(); void ModifyExplosiveDamage(); void NotifyPerkSacrificeExploded(); void ShouldSacrifice(); void CanInteract(); void Interact(); void ResetSupplier(); void GetUsingTactialReload(); void GetAmmoExtraAmmo(); void GetAoEDamageModifier(); void GetAoERadiusModifier(); void GetLastHX25NukeTime(); void SetLastHX25NukeTime(); void PrepareExplosive(); void GetExtraAmmo(); void ModifyMaxSpareAmmoAmount(); void ShouldGiveOnlySecondaryAmmo(); void GiveAmmoExtraAmmo(); void GivePassiveExtraAmmo(); void ModifySpareAmmoAmount(); void ModifyDamageTaken(); void IsDamageTypeOnPerk(); void IsCriticalHitZone(); void IsDamageIgnoredDT(); void ModifyDamageGiven(); void OnWaveEnded(); void ApplySkillsToPawn(); }; UClass* AKFPerk_Demolitionist::pClassPointer = NULL; // Class KFGame.KFPerk_FieldMedic // 0x0158 (0x05E4 - 0x048C) class AKFPerk_FieldMedic : public AKFPerk { public: struct FPerkSkill HealerRecharge; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill HealPotency; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill BloatBileResistance; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill MovementSpeed; // 0x0534 (0x0038) [0x0000000000000000] struct FPerkSkill Armor; // 0x056C (0x0038) [0x0000000000000000] float SelfHealingSurgePct; // 0x05A4 (0x0004) [0x0000000000000000] float MaxSurvivalistResistance; // 0x05A8 (0x0004) [0x0000000000000000] float CombatantSpeedModifier; // 0x05AC (0x0004) [0x0000000000000000] float MaxHealingSpeedBoost; // 0x05B0 (0x0004) [0x0000000000000000] float HealingSpeedBoostDuration; // 0x05B4 (0x0004) [0x0000000000000000] float MaxHealingDamageBoost; // 0x05B8 (0x0004) [0x0000000000000000] float HealingDamageBoostDuration; // 0x05BC (0x0004) [0x0000000000000000] float MaxHealingShield; // 0x05C0 (0x0004) [0x0000000000000000] float HealingShieldDuration; // 0x05C4 (0x0004) [0x0000000000000000] class UParticleSystem* AAParticleSystem; // 0x05C8 (0x0008) [0x0000000000000000] float SnarePower; // 0x05D0 (0x0004) [0x0000000000000000] class UKFGameExplosion* AAExplosionTemplate; // 0x05D4 (0x0008) [0x0000000000000000] class UClass* AAExplosionDamageType; // 0x05DC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3229]; return pClassPointer; }; void LogPerkSkills(); void GetPassiveStrings(); void GetPerkLensEffect(); void IsSlugActive(); void IsSurvivalistActive(); void IsHealingSurgeActive(); void IsEnforcerActive(); void IsCombatantActive(); void IsHealingShieldActive(); void IsHealingDamageBoostActive(); void IsHealingSpeedBoostActive(); void IsToxicDmgActive(); void IsAcidicCompoundActive(); void IsAirborneAgentActive(); void GetSnarePowerModifier(); void GetAAEffect(); void GetAAExplosionActorClass(); void GetAADamageTypeClass(); void GetAAExplosionTemplate(); void NotifyZedTimeStarted(); void ModifyToxicDmg(); void ModifyDamageGiven(); void GetHealingShieldDuration(); void GetMaxHealingShield(); void GetHealingShield(); void GetHealingShieldActive(); void GetHealingDamageBoostDuration(); void GetMaxHealingDamageBoost(); void GetHealingDamageBoost(); void GetHealingDamageBoostActive(); void GetHealingSpeedBoostDuration(); void GetMaxHealingSpeedBoost(); void GetHealingSpeedBoost(); void GetHealingSpeedBoostActive(); void ModifyMagSizeAndNumber(); void GetSelfHealingSurgePct(); void ModifyHealth(); void ModifyArmor(); void GetComabatantSpeedModifier(); void ModifySpeed(); void ModifyDamageTaken(); void ModifyHealAmount(); void ModifyHealerRechargeTime(); }; UClass* AKFPerk_FieldMedic::pClassPointer = NULL; // Class KFGame.KFPerk_Firebug // 0x013C (0x05C8 - 0x048C) class AKFPerk_Firebug : public AKFPerk { public: struct FPerkSkill WeaponDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill WeaponReload; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill FireResistance; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill OwnFireResistance; // 0x0534 (0x0038) [0x0000000000000000] struct FPerkSkill StartingAmmo; // 0x056C (0x0038) [0x0000000000000000] int HeatWaveRadiusSQ; // 0x05A4 (0x0004) [0x0000000000000000] float ShrapnelChance; // 0x05A8 (0x0004) [0x0000000000000000] class UGameExplosion* ExplosionTemplate; // 0x05AC (0x0008) [0x0000000000000000] float SnarePower; // 0x05B4 (0x0004) [0x0000000000000000] class UClass* SnareCausingDmgTypeClass; // 0x05B8 (0x0008) [0x0000000000000000] int NapalmDamage; // 0x05C0 (0x0004) [0x0000000000000000] float NapalmCheckCollisionScale; // 0x05C4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3231]; return pClassPointer; }; void LogPerkSkills(); void GetPassiveStrings(); void GetBloatKillXP(); void GetCrawlerKillXP(); void IsScorchActive(); void GetScorchActive(); void IsInfernoActive(); void IsSplashDamageActive(); void IsRangeActive(); void IsNapalmActive(); void IsZedShrapnelActive(); void IsHeatWaveActive(); void IsFlarotovActive(); void IsGroundFireActive(); void IsFuseActive(); void IsHighCapFuelTankActive(); void IsBringTheHeatActive(); void GetIsUberAmmoActive(); void GetSnarePowerModifier(); void GetStumblePowerModifier(); void GetZedTimeModifier(); void GetExplosionTemplate(); void ShouldShrapnel(); void GetSplashDamageModifier(); void CouldBeZedShrapnel(); void GetNapalmCheckCollisionScale(); void CanSpreadNapalm(); void ModifyMagSizeAndNumber(); void InHeatRange(); void GetNapalmDamage(); void ModifyDoTScaler(); void GetStartingAmmoPercent(); void MaximizeSpareAmmoAmount(); void ModifySpareAmmoAmount(); void ModifyDamageTaken(); void GetReloadRateScale(); void ModifyDamageGiven(); void ApplySkillsToPawn(); }; UClass* AKFPerk_Firebug::pClassPointer = NULL; // Class KFGame.KFPerk_Gunslinger // 0x019C (0x0628 - 0x048C) class AKFPerk_Gunslinger : public AKFPerk { public: struct FPerkSkill WeaponDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill BulletResistance; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill MovementSpeed; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill Recoil; // 0x0534 (0x0038) [0x0000000000000000] struct FPerkSkill ZedTimeReload; // 0x056C (0x0038) [0x0000000000000000] TArray SpecialZedClassNames; // 0x05A4 (0x0010) [0x0000000000000000] TArray AdditionalOnPerkWeaponNames; // 0x05B4 (0x0010) [0x0000000000000000] TArray AdditionalOnPerkDTNames; // 0x05C4 (0x0010) [0x0000000000000000] class UAkEvent* RhythmMethodSoundReset; // 0x05D4 (0x0008) [0x0000000000000000] class UAkEvent* RhythmMethodSoundHit; // 0x05DC (0x0008) [0x0000000000000000] class UAkEvent* RhythmMethodSoundTop; // 0x05E4 (0x0008) [0x0000000000000000] struct FName RhytmMethodRTPCName; // 0x05EC (0x0008) [0x0000000000000000] float QuickSwitchSpeedModifier; // 0x05F4 (0x0004) [0x0000000000000000] float QuickSwitchRecoilModifier; // 0x05F8 (0x0004) [0x0000000000000000] float ShootnMooveBobDamp; // 0x05FC (0x0004) [0x0000000000000000] TArray BoneBreakerBodyParts; // 0x0600 (0x0010) [0x0000000000000000] float BoneBreakerDamage; // 0x0610 (0x0004) [0x0000000000000000] float SnarePower; // 0x0614 (0x0004) [0x0000000000000000] int HeadShotComboCount; // 0x0618 (0x0004) [0x0000000000000000] int HeadShotComboCountDisplay; // 0x061C (0x0004) [0x0000000000000000] int MaxHeadShotComboCount; // 0x0620 (0x0004) [0x0000000000000000] float HeadShotCountdownIntervall; // 0x0624 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3233]; return pClassPointer; }; void LogPerkSkills(); void GetPassiveStrings(); void GetMaxHeadShotsValue(); void PlayerDied(); void eventDestroyed(); void GetQuickSwitychSpeedModifier(); void IsDamageTypeOnPerk(); void IsWeaponOnPerk(); void IsSkullCrackerActive(); void IsUberAmmoActive(); void GetFanfareActive(); void IsFanfareActive(); void IsKnockEmDownActive(); void IsPenetrationActive(); void IsSpeedReloadActive(); void IsBoneBreakerActive(); void IsRhythmMethodActive(); void IsQuickSwitchActive(); void IsShootnMooveActive(); void GetSnarePowerModifier(); void IgnoresPenetrationDmgReduction(); void GetBoneBreakerDamage(); void HitShouldGiveBodyPartDamage(); void ModifyWeaponSwitchTime(); void ModifyWeaponBopDamping(); void eventGetIronSightSpeedModifier(); void GetPenetrationModifier(); void eventGetIsHeadShotComboActive(); void ServerClearHeadShotsCombo(); void SubstractHeadShotCombo(); void HeadShotMessage(); void UpdatePerkHeadShots(); void AddToHeadShotCombo(); void GetIsUberAmmoActive(); void GetZedTimeModifier(); void CheckSpecialZedBodyPart(); void GetStumblePowerModifier(); void GetKnockdownPowerModifier(); void GetUsingTactialReload(); void IsZedTimeReloadAllowed(); void GetReloadRateScale(); void GetQuickSwitchRecoilModifier(); void ModifyRecoil(); void ModifyDamageTaken(); void ModifyDamageGiven(); void GetHeadshotXP(); void eventPostSkillUpdate(); void ModifySpeed(); }; UClass* AKFPerk_Gunslinger::pClassPointer = NULL; // Class KFGame.KFPerk_Monster // 0x0000 (0x048C - 0x048C) class AKFPerk_Monster : public AKFPerk { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3235]; return pClassPointer; }; void eventPostBeginPlay(); }; UClass* AKFPerk_Monster::pClassPointer = NULL; // Class KFGame.KFPerk_Sharpshooter // 0x010C (0x0598 - 0x048C) class AKFPerk_Sharpshooter : public AKFPerk { public: struct FPerkSkill HeadshotDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill Recoil; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill WeaponSwitchSpeed; // 0x04FC (0x0038) [0x0000000000000000] class UAkEvent* RhythmMethodSoundReset; // 0x0534 (0x0008) [0x0000000000000000] class UAkEvent* RhythmMethodSoundHit; // 0x053C (0x0008) [0x0000000000000000] class UAkEvent* RhythmMethodSoundTop; // 0x0544 (0x0008) [0x0000000000000000] struct FName RhytmMethodRTPCName; // 0x054C (0x0008) [0x0000000000000000] int HeadShotComboCount; // 0x0554 (0x0004) [0x0000000000000000] int HeadShotComboCountDisplay; // 0x0558 (0x0004) [0x0000000000000000] float HeadShotCountdownIntervall; // 0x055C (0x0004) [0x0000000000000000] int MaxHeadShotComboCount; // 0x0560 (0x0004) [0x0000000000000000] float CameraViewShakeScale; // 0x0564 (0x0004) [0x0000000000000000] float TriggerMovementSpeedModifier; // 0x0568 (0x0004) [0x0000000000000000] float CrouchAimMovementSpeedModifier; // 0x056C (0x0004) [0x0000000000000000] float CrouchAimReloadSpeedModifier; // 0x0570 (0x0004) [0x0000000000000000] TArray AdditionalOnPerkWeaponNames; // 0x0574 (0x0010) [0x0000000000000000] TArray AdditionalOnPerkDTNames; // 0x0584 (0x0010) [0x0000000000000000] float SkillZedTimeChance; // 0x0594 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3237]; return pClassPointer; }; void IsWeaponOnPerk(); void IsDamageTypeOnPerk(); void GetCrouchAimReloadSpeedModifier(); void GetCrouchAimMovementSpeedModifier(); void GetTriggerMovementSpeedModifier(); void eventGetIsHeadShotComboActive(); void ServerClearHeadShotsCombo(); void SubstractHeadShotCombo(); void HeadShotMessage(); void UpdatePerkHeadShots(); void AddToHeadShotCombo(); void GetMaxHeadShotComboCount(); void GetZTStunActive(); void IsZTStunActive(); void GetZTKnockdownActive(); void IsZTKnockdownActive(); void IsAmmoPouchActive(); void GetScopedActive(); void IsScopedActive(); void IsTacticalReloadActive(); void IsRhythmMethodActive(); void IsStunActive(); void IsCrouchAimActive(); void IsTriggerActive(); void IsStationaryAimActive(); void GetStunPowerModifier(); void GetUsingTactialReload(); void eventDestroyed(); void eventPostSkillUpdate(); void ModifyMaxSpareAmmoAmount(); void GetCameraViewShakeScale(); void eventGetCameraViewShakeModifier(); void ModifyRecoil(); void GetReloadRateScale(); void ModifyRateOfFire(); void ModifyDamageGiven(); void ModifyWeaponSwitchTime(); void ModifySpeed(); void GetHeadshotXP(); void GetPassiveStrings(); }; UClass* AKFPerk_Sharpshooter::pClassPointer = NULL; // Class KFGame.KFPerk_Support // 0x0170 (0x05FC - 0x048C) class AKFPerk_Support : public AKFPerk { public: struct FPerkSkill Ammo; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill WeldingProficiency; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill ShotgunDamage; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill ShotgunPenetration; // 0x0534 (0x0038) [0x0000000000000000] struct FPerkSkill Strength; // 0x056C (0x0038) [0x0000000000000000] TArray SuppliedPawnList; // 0x05A4 (0x0010) [0x0000000000000000] float BarrageFiringRate; // 0x05B4 (0x0004) [0x0000000000000000] float ResupplyMaxSpareAmmoModifier; // 0x05B8 (0x0004) [0x0000000000000000] class UAkEvent* ReceivedAmmoSound; // 0x05BC (0x0008) [0x0000000000000000] class UAkEvent* ReceivedArmorSound; // 0x05C4 (0x0008) [0x0000000000000000] class UAkEvent* ReceivedAmmoAndArmorSound; // 0x05CC (0x0008) [0x0000000000000000] struct FName BoomstickClassName; // 0x05D4 (0x0008) [0x0000000000000000] TArray AdditionalOnPerkDTNames; // 0x05DC (0x0010) [0x0000000000000000] int DoorRepairXP[0x4]; // 0x05EC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3239]; return pClassPointer; }; void PlayerDied(); void LogPerkSkills(); void LogTacticalReload(); void GetDoorRepairXP(); void CanRepairDoors(); void IsPerforateActive(); void IsResupplyActive(); void IsConcussionRoundsActive(); void IsTacticalReloadActive(); void IsTightChokeActive(); void IsAPShotActive(); void IsSalvoActive(); void IsFortitudeActive(); void IsHighCapMagsMagActive(); void CouldBarrageActive(); void IsBarrageActive(); void IsSupplierActive(); void IsDamageTypeOnPerk(); void GetPassiveStrings(); void OnWaveEnded(); void GetZedTimeModifier(); void GetReceivedAmmoAndArmorSound(); void GetReceivedArmorSound(); void GetReceivedAmmoSound(); void CanInteract(); void Interact(); void GetStumblePowerModifier(); void GetTightChokeModifier(); void ModifyHealth(); void GetUsingTactialReload(); void GetResupplyMaxSpareAmmoModifier(); void ModifyMaxSpareAmmoAmount(); void ModifySpareAmmoAmount(); void ModifyMagSizeAndNumber(); void IgnoresPenetrationDmgReduction(); void GetPenetrationModifier(); void ModifyWeldingRate(); void ModifyDamageGiven(); void ResetSupplier(); void GetExtraStrength(); void ApplyWeightLimits(); void ApplySkillsToPawn(); }; UClass* AKFPerk_Support::pClassPointer = NULL; // Class KFGame.KFPerk_Survivalist // 0x0130 (0x05BC - 0x048C) class AKFPerk_Survivalist : public AKFPerk { public: struct FPerkSkill WeaponDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill DamageResistance; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill HeavyBodyArmor; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill ZedTimeReload; // 0x0534 (0x0038) [0x0000000000000000] float InjectionPotencyModifier; // 0x056C (0x0004) [0x0000000000000000] float MeleeExpertAttackSpeedModifier; // 0x0570 (0x0004) [0x0000000000000000] class UGameExplosion* ShrapnelExplosionTemplate; // 0x0574 (0x0008) [0x0000000000000000] float ShrapnelChance; // 0x057C (0x0004) [0x0000000000000000] float SnarePower; // 0x0580 (0x0004) [0x0000000000000000] float MeleeExpertMovementSpeedModifier; // 0x0584 (0x0004) // [0x0000000000000000] class UClass* HealingGrenadeWeaponDef; // 0x0588 (0x0008) [0x0000000000000000] class UClass* MolotovGrenadeWeaponDef; // 0x0590 (0x0008) [0x0000000000000000] TArray PrimaryWeaponPaths; // 0x0598 (0x0010) [0x0000000000000000] TArray KnifeWeaponPaths; // 0x05A8 (0x0010) [0x0000000000000000] int StartingWeaponClassIndex; // 0x05B8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3241]; return pClassPointer; }; void GetGrenadeWeaponDef(); void GetGrenadeImagePath(); void GetPassiveStrings(); void IsIncapMasterActive(); void GetIncapMasterActive(); void IsMadManActive(); void GetMadManActive(); void IsMakeThingsGoBoomActive(); void IsZedShrapnelActive(); void IsBigPocketsActive(); void IsAmmoVestActive(); void IsMeleeExpertActive(); void IsFieldMedicActive(); void IsHeavyReloadActive(); void IsTacticalReloadActive(); void GetGrenadeClass(); void GetSnarePowerModifier(); void GetStunPowerModifier(); void GetStumblePowerModifier(); void GetKnockdownPowerModifier(); void GetZedTimeModifier(); void GetAoERadiusModifier(); void ShouldShrapnel(); void GetExplosionTemplate(); void CouldBeZedShrapnel(); void ModifyMaxSpareAmmoAmount(); void GetInjectionPotencyModifier(); void ModifyHealAmount(); void ModifyHealerRechargeTime(); void IsWeaponOnPerkHeavy(); void IsWeaponOnPerkLight(); void GetUsingTactialReload(); void ModifyArmor(); void IsZedTimeReloadAllowed(); void GetReloadRateScale(); void HasHeavyArmor(); void GetMeleeExpertAttackSpeedModifier(); void GetMeleeExpertMovementSpeedModifier(); void ModifySpeed(); void ModifyMeleeAttackSpeed(); void ModifyDamageTaken(); void ModifyDamageGiven(); void ShouldAutosellWeapon(); void GetPrimaryWeaponClassPath(); void ShouldGetAllTheXP(); void ApplyWeightLimits(); void SetPlayerDefaults(); }; UClass* AKFPerk_Survivalist::pClassPointer = NULL; // Class KFGame.KFPerk_SWAT // 0x00FC (0x0588 - 0x048C) class AKFPerk_SWAT : public AKFPerk { public: struct FPerkSkill WeaponDamage; // 0x048C (0x0038) [0x0000000000000000] struct FPerkSkill BulletResistance; // 0x04C4 (0x0038) [0x0000000000000000] struct FPerkSkill MagSize; // 0x04FC (0x0038) [0x0000000000000000] struct FPerkSkill WeaponSwitchSpeed; // 0x0534 (0x0038) [0x0000000000000000] float RapidAssaultFiringRate; // 0x056C (0x0004) [0x0000000000000000] float SnarePower; // 0x0570 (0x0004) [0x0000000000000000] float TacticalMovementBobDamp; // 0x0574 (0x0004) [0x0000000000000000] class UClass* BackupSecondaryWeaponDef; // 0x0578 (0x0008) [0x0000000000000000] float HeavyArmorAbsorptionPct; // 0x0580 (0x0004) [0x0000000000000000] float CurrentHealthPenalty; // 0x0584 (0x0004) [0x0000000000160000] ( // CPF_EditConst | CPF_GlobalConfig ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3243]; return pClassPointer; }; void GetPassiveStrings(); void GetClotKillXP(); void IsRapidAssaultActive(); void IsSWATEnforcerActive(); void IsCrippleActive(); void IsBodyArmorActive(); void IsAmmoVestActive(); void IsSpecialAmmunitionActive(); void GetUsingTactialReload(); void IsTacticalReloadActive(); void IsBackupActive(); void IsTacticalMovementActive(); void IsHeavyArmorActive(); void GetArmorDamageAmount(); void ShouldKnockDownOnBump(); void GetIsUberAmmoActive(); void GetStumblePowerModifier(); void GetZedTimeModifier(); void ModifyArmor(); void GetSnarePowerModifier(); void GetSnareSpeedModifier(); void ModifyMaxSpareAmmoAmount(); void ModifyDamageGiven(); void ModifyWeaponBopDamping(); void eventGetCrouchSpeedModifier(); void FinalizeSpeedVariables(); void eventGetIronSightSpeedModifier(); void Is9mm(); void HasHeavyArmor(); void CanNotBeGrabbed(); void ModifyWeaponSwitchTime(); void ModifyMagSizeAndNumber(); void ModifyDamageTaken(); void GetSecondaryWeaponClassPath(); void ApplySkillsToPawn(); void SetPlayerDefaults(); }; UClass* AKFPerk_SWAT::pClassPointer = NULL; // Class KFGame.KFPickupFactory // 0x0008 (0x03B0 - 0x03A8) class AKFPickupFactory : public APickupFactory { public: DWORD bToBeActivated : 1; // 0x03A8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bKismetDriven : 1; // 0x03A8 (0x0004) [0x0000000000000000] [0x00000002] DWORD bUseRespawnTimeOverride : 1; // 0x03A8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bEnabledAtStart : 1; // 0x03A8 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bKismetEnabled : 1; // 0x03A8 (0x0004) [0x0000000000000000] // [0x00000010] float RespawnTime; // 0x03AC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3245]; return pClassPointer; }; void SetPickupVisible(); void SetPickupHidden(); void CurrentPickupIsAmmo(); void CurrentPickupIsArmor(); void CurrentPickupIsWeapon(); void DelayRespawn(); void StartSleeping(); void GetRespawnTime(); void SetRespawn(); void OnToggle(); void eventSetInitialState(); void Reset(); }; UClass* AKFPickupFactory::pClassPointer = NULL; // Class KFGame.KFPickupFactory_Item // 0x0019 (0x03C9 - 0x03B0) class AKFPickupFactory_Item : public AKFPickupFactory { public: TArray ItemPickups; // 0x03B0 (0x0010) [0x0000000000000000] struct FName ArmorClassName; // 0x03C0 (0x0008) [0x0000000000000000] unsigned char PickupIndex; // 0x03C8 (0x0001) [0x0000000000170000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3247]; return pClassPointer; }; void CurrentPickupIsArmor(); void CurrentPickupIsWeapon(); void ActivateNewPickup(); void GiveWeapon(); void GiveArmor(); void GiveTo(); void SetPickupMesh(); void ChooseWeaponPickup(); void SetRespawn(); void Reset(); void eventSetInitialState(); void InitializePickup(); void eventReplicatedEvent(); }; UClass* AKFPickupFactory_Item::pClassPointer = NULL; // Class KFGame.KFProfileSettings // 0x0034 (0x00F8 - 0x00C4) class UKFProfileSettings : public UOnlineProfileSettings { public: TArray Characters; // 0x00C4 (0x0010) [0x0000000000000000] TArray FavoriteWeapons; // 0x00D4 (0x0010) [0x0000000000000000] TArray ActiveSkins; // 0x00E4 (0x0010) [0x0000000000000000] DWORD Dirty : 1; // 0x00F4 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3249]; return pClassPointer; }; void ExpandExtraFromProfileSettings(); void FlattenExtraToProfileSettings(); void eventSetToDefaults(); void PushProfileSettingsToClasses(); void SetCharacterGear(); void GetDefaultFloat(); void GetDefaultBool(); void GetDefaultInt(); void eventGetProfileString(); void eventGetProfileFloat(); void eventGetProfileBool(); void eventGetProfileInt(); void SetProfileSettingValueFloat(); void SetProfileSettingValueBool(); void SetProfileSettingValueInt(); void HasSafeFrameSet(); void eventApplyWeaponSkin(); void ClearWeaponSkin(); void SaveWeaponSkin(); void eventSave(); void eventUnFavoriteWeapon(); void eventFavoriteWeapon(); }; UClass* UKFProfileSettings::pClassPointer = NULL; // Class KFGame.KFProjectile // 0x00FC (0x039C - 0x02A0) class AKFProjectile : public AProjectile { public: struct FVector OriginalLocation; // 0x02A0 (0x000C) [0x0000000000150019] ( CPF_Edit | // CPF_ExportObject | CPF_OptionalParm | CPF_Travel | // CPF_GlobalConfig ) DWORD bSyncToOriginalLocation : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSyncToThirdPersonMuzzleLocation : 1; // 0x02AC (0x0004) // [0x0000000000000000] // [0x00000002] DWORD bFiredFromLeftHandWeapon : 1; // 0x02AC (0x0004) [0x0000000000160032] // [0x00000004] ( CPF_Const | // CPF_OptionalParm | CPF_Net | // CPF_EditConst | CPF_GlobalConfig ) DWORD bNoReplicationToInstigator : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00000008] DWORD bUseClientSideHitDetection : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00000010] DWORD bReplicateClientHitsAsFragments : 1; // 0x02AC (0x0004) // [0x0000000000000000] // [0x00000020] DWORD bDamageDestructiblesOnTouch : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00000040] DWORD bHasExploded : 1; // 0x02AC (0x0004) [0x000000000017004B] // [0x00000080] ( CPF_Edit | CPF_Const | // CPF_ExportObject | CPF_EditConstArray | // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) DWORD bWasTimeDilated : 1; // 0x02AC (0x0004) [0x000000000018004B] // [0x00000100] ( CPF_Edit | CPF_Const | // CPF_ExportObject | CPF_EditConstArray | // CPF_Component ) DWORD bReplicateLocationOnExplosion : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00000200] DWORD bValidateExplosionNormalOnClient : 1; // 0x02AC (0x0004) // [0x0000000000000000] // [0x00000400] DWORD bHasDisintegrated : 1; // 0x02AC (0x0004) [0x0000000000190000] // [0x00000800] ( CPF_Travel | CPF_Component ) DWORD bAlwaysReplicateDisintegration : 1; // 0x02AC (0x0004) // [0x0000000000000000] // [0x00001000] DWORD bAlwaysReplicateExplosion : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00002000] DWORD bAttachExplosionToHitMover : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00004000] DWORD bCanDisintegrate : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00008000] DWORD bAltExploEffects : 1; // 0x02AC (0x0004) [0x00000000001A0064] // [0x00010000] ( CPF_Input | CPF_Net | // CPF_EditConstArray | CPF_EditConst | // CPF_Component ) DWORD bFadingOutProjEffects : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00020000] DWORD bWaitForEffects : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00040000] DWORD bShuttingDown : 1; // 0x02AC (0x0004) [0x0000000000000000] [0x00080000] DWORD bSuppressSounds : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00100000] DWORD bAutoStartAmbientSound : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00200000] DWORD bStopAmbientSoundOnExplode : 1; // 0x02AC (0x0004) // [0x0000000000000000] [0x00400000] DWORD bImportantAmbientSound : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x00800000] DWORD bAmbientSoundZedTimeOnly : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x01000000] DWORD bIsAIProjectile : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x02000000] DWORD bWarnAIWhenFired : 1; // 0x02AC (0x0004) [0x0000000000000000] // [0x04000000] float AlwaysRelevantDistanceSquared; // 0x02B0 (0x0004) [0x0000000000000000] unsigned char WeaponFireMode; // 0x02B4 (0x0001) [0x00000000001B006E] ( // CPF_Const | CPF_Input | CPF_ExportObject | // CPF_Net | CPF_EditConstArray | CPF_Travel // | CPF_EditConst | CPF_Component ) unsigned char GlassShatterType; // 0x02B5 (0x0001) [0x0000000000000000] unsigned char ProjFlightLightPriority; // 0x02B6 (0x0001) [0x0000000000000000] float InitialPenetrationPower; // 0x02B8 (0x0004) [0x00000000001C0064] ( // CPF_Input | CPF_Net | CPF_EditConstArray // | CPF_GlobalConfig | CPF_Component ) float PenetrationPower; // 0x02BC (0x0004) [0x0000000000000000] struct FTouchInfo LastTouched; // 0x02C0 (0x000C) [0x0000000000000000] struct FTouchInfo LastBounced; // 0x02CC (0x000C) [0x0000000000000000] float TouchTimeThreshhold; // 0x02D8 (0x0004) [0x0000000000000000] float TossZ; // 0x02DC (0x0004) [0x0000000000000000] float GravityScale; // 0x02E0 (0x0004) [0x0000000000000000] class UPrimitiveComponent* LastTouchComponent; // 0x02E4 (0x0008) [0x0000000000000000] TArray ExtraLineCollisionOffsets; // 0x02EC (0x0010) [0x0000000000000000] float TerminalVelocity; // 0x02FC (0x0004) [0x0000000000000000] class UClass* ExplosionActorClass; // 0x0300 (0x0008) [0x0000000000000000] class UKFGameExplosion* ExplosionTemplate; // 0x0308 (0x0008) [0x0000000000000000] class UAkEvent* DisintegrateSound; // 0x0310 (0x0008) [0x0000000000000000] class UParticleSystem* ProjDisintegrateTemplate; // 0x0318 (0x0008) [0x0000000000000000] class UParticleSystemComponent* ProjDisintegrateEffects; // 0x0320 (0x0008) [0x0000000000000000] struct FRotator DisintegrateEffectRotation; // 0x0328 (0x000C) [0x00000000001D0000] ( // CPF_Travel | CPF_GlobalConfig | // CPF_Component ) class AGameExplosionActor* ExplosionActor; // 0x0334 (0x0008) [0x0000000000000000] float PostExplosionLifetime; // 0x033C (0x0004) [0x0000000000000000] class UKFImpactEffectInfo* AltExploEffects; // 0x0340 (0x0008) [0x0000000000000000] class UParticleSystemComponent* ProjEffects; // 0x0348 (0x0008) [0x0000000000000000] class UParticleSystem* ProjFlightTemplate; // 0x0350 (0x0008) [0x0000000000000000] float ProjEffectsFadeOutDuration; // 0x0358 (0x0004) [0x0000000000000000] class UPointLightComponent* ProjFlightLight; // 0x035C (0x0008) [0x0000000000000000] class UParticleSystem* ProjFlightTemplateZedTime; // 0x0364 (0x0008) [0x0000000000000000] class UAkEvent* AmbientSoundPlayEvent; // 0x036C (0x0008) [0x0000000000000000] class UAkEvent* AmbientSoundStopEvent; // 0x0374 (0x0008) [0x0000000000000000] class UAkComponent* AmbientComponent; // 0x037C (0x0008) [0x0000000000000000] class UKFImpactEffectInfo* ImpactEffects; // 0x0384 (0x0008) [0x0000000000000000] class UClass* AssociatedPerkClass; // 0x038C (0x0008) [0x0000000000000000] float MaxAIWarningDistSQ; // 0x0394 (0x0004) [0x0000000000000000] float MaxAIWarningDistFromPointSQ; // 0x0398 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3251]; return pClassPointer; }; void SpawnResidualFlame(); void CalculateResidualFlameVelocity(); void OnInstigatorControllerLeft(); void Timer_Explode(); void Detonate(); void StopFlightEffects(); void SpawnFlightEffects(); void GetGravityZ(); void Destroyed(); void DeferredDestroy(); void StopSimulating(); void ShutDown(); void SetExplosionActorClass(); void PrepareExplosionActor(); void GetExplosionDirection(); void GetRadialDamageValues(); void PrepareExplosionTemplate(); void AllowNuke(); void TriggerExplosion(); void Disintegrate(); void AdjustCanDisintigrate(); void Explode(); void eventLanded(); void TraceProjHitZones(); void CallExplode(); void ProcessBulletTouch(); void ProcessDestructibleTouchOnBounce(); void Bounce(); void CheckRepeatingTouch(); void ProcessTouch(); void eventTouch(); void NotifyHitDestructible(); void eventHitWall(); void CalculateStickOrientation(); void GetPredictedHitLocation(); void SyncOriginalLocation(); void ValidateExplosionNormal(); void eventReplicatedEvent(); void IsAIProjectile(); void ShouldWarnAIWhenFired(); void WarnAI(); void Init(); void PostBeginPlay(); void eventPreBeginPlay(); void StopAmbientSound(); void GetTerminalVelocity(); }; UClass* AKFProjectile::pClassPointer = NULL; // Class KFGame.KFProj_Bullet // 0x0004 (0x03A0 - 0x039C) class AKFProj_Bullet : public AKFProjectile { public: float ProjEffectsScale; // 0x039C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3253]; return pClassPointer; }; void TriggerExplosion(); void PassThroughDamage(); void ProcessTouch(); void Init(); }; UClass* AKFProj_Bullet::pClassPointer = NULL; // Class KFGame.KFProj_Grenade // 0x002D (0x03C9 - 0x039C) class AKFProj_Grenade : public AKFProjectile { public: float FuseTime; // 0x039C (0x0004) [0x0000000000000000] class UKFImpactEffectInfo* GrenadeBounceEffectInfo; // 0x03A0 (0x0008) [0x0000000000000000] float DampenFactor; // 0x03A8 (0x0004) [0x0000000000000000] float DampenFactorParallel; // 0x03AC (0x0004) [0x0000000000000000] struct FVector LandedTranslationOffset; // 0x03B0 (0x000C) [0x0000000000000000] DWORD bAllowTossDuringZedGrabRotation : 1; // 0x03BC (0x0004) // [0x0000000000000000] // [0x00000001] class UTexture2D* WeaponSelectTexture; // 0x03C0 (0x0008) [0x0000000000000000] unsigned char TeamNum; // 0x03C8 (0x0001) [0x00000000001E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3255]; return pClassPointer; }; void ProcessTouch(); void eventGrenadeIsAtRest(); void Bounce(); void eventHitWall(); void GetExplodeEffectLocation(); void Destroyed(); void ExplodeTimer(); void GetTeamNum(); void EnableGrenadeWarning(); void SpawnFlightEffects(); void eventPostBeginPlay(); void eventPreBeginPlay(); void eventReplicatedEvent(); }; UClass* AKFProj_Grenade::pClassPointer = NULL; // Class KFGame.KFPruneSkeletalMeshCommandlet // 0x0000 (0x00B4 - 0x00B4) class UKFPruneSkeletalMeshCommandlet : public UCommandlet { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3257]; return pClassPointer; }; void eventMain(); }; UClass* UKFPruneSkeletalMeshCommandlet::pClassPointer = NULL; // Class KFGame.KFRealtimeTimerHelper // 0x0000 (0x0244 - 0x0244) class AKFRealtimeTimerHelper : public AActor { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3259]; return pClassPointer; }; void eventDestroyed(); void ClientStopNetworkedVoice(); }; UClass* AKFRealtimeTimerHelper::pClassPointer = NULL; // Class KFGame.KFSkeletalMeshComponent // 0x0038 (0x0858 - 0x0820) class UKFSkeletalMeshComponent : public USkeletalMeshComponent { public: struct FBoneAtom CachedExtractedRootMotionDelta; // 0x0820 (0x0020) [0x0000000000000000] int bCachedHasRootMotion; // 0x0840 (0x0004) [0x0000000000000000] DWORD bNeedsProcessRootMotion : 1; // 0x0844 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bForceLoadTextures : 1; // 0x0844 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bPendingDeferredWork : 1; // 0x0844 (0x0004) [0x0000000000000000] // [0x00000004] float FOV; // 0x0848 (0x0004) [0x0000000000000000] float ClearStreamingTime; // 0x084C (0x0004) [0x0000000000000000] float MinTickTimeStep; // 0x0850 (0x0004) [0x0000000000000000] float HeadBoneScale; // 0x0854 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3261]; return pClassPointer; }; void GetAnimNotifyTime(); void GetReloadAmmoTime(); void GetAnimInterruptTime(); void eventPlayParticleEffect(); void SetFOV(); void eventPreloadTextures(); }; UClass* UKFSkeletalMeshComponent::pClassPointer = NULL; // Class KFGame.KFSpawner // 0x005C (0x02A0 - 0x0244) class AKFSpawner : public AActor { public: DWORD bIsTriggeredSpawner : 1; // 0x0244 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bRandomizeSpawnYawRot : 1; // 0x0244 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bRequiredZedAmountTouching : 1; // 0x0244 (0x0004) // [0x0000000000000000] [0x00000004] DWORD bIsActive : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000008] DWORD bIsSpawning : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000010] DWORD bDebugSpawning : 1; // 0x0244 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bIgnoreChildren : 1; // 0x0244 (0x0004) [0x0000000000000000] // [0x00000040] unsigned char LargestSquadType; // 0x0248 (0x0001) [0x0000000000000000] unsigned char LastAnimDirection; // 0x0249 (0x0001) [0x0000000000000000] unsigned char EmergeAnim; // 0x024A (0x0001) [0x0000000000000000] float MaxStayActiveTime; // 0x024C (0x0004) [0x0000000000000000] float CoolDownTime; // 0x0250 (0x0004) [0x0000000000000000] float SpawnInterval; // 0x0254 (0x0004) [0x0000000000000000] int LastSpawnYawRot; // 0x0258 (0x0004) [0x0000000000000000] class AActor* ActorToReacquirePlayerTouch; // 0x025C (0x0008) [0x0000000000000000] float MinReacquireTouchTime; // 0x0264 (0x0004) [0x0000000000000000] float ReacquireTouchTimeLeft; // 0x0268 (0x0004) [0x0000000000000000] int NumTouchingZedsRequired; // 0x026C (0x0004) [0x0000000000000000] TArray ChildSpawners; // 0x0270 (0x0010) [0x0000000000000000] TArray PendingSpawns; // 0x0280 (0x0010) [0x0000000000000000] float LastActivationTime; // 0x0290 (0x0004) [0x0000000000000000] float LastSpawnTime; // 0x0294 (0x0004) [0x0000000000000000] class AKFDestructibleActor* DestructibleToBreak; // 0x0298 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3263]; return pClassPointer; }; void TestSpawn(); void eventHandleFailedSpawn(); void eventHandleSpawn(); void AddPendingSpawns(); void SpawnSquad(); void ReacquireZedTouch(); void ReacquirePlayerTouch(); void CanSpawnHere(); void DeactivateSpawner(); void ActivateSpawner(); void OnToggle(); }; UClass* AKFSpawner::pClassPointer = NULL; // Class KFGame.KFSpawnRenderingComponent // 0x0000 (0x0238 - 0x0238) class UKFSpawnRenderingComponent : public UPrimitiveComponent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3265]; return pClassPointer; }; }; UClass* UKFSpawnRenderingComponent::pClassPointer = NULL; // Class KFGame.KFSpawnVolume // 0x00A4 (0x0324 - 0x0280) class AKFSpawnVolume : public AVolume { public: TArray SpawnMarkerInfoList; // 0x0280 (0x0010) [0x0000000000000000] int MaxSpawnMarkers; // 0x0290 (0x0004) [0x0000000000000000] TArray DoorList; // 0x0294 (0x0010) [0x0000000000000000] struct FRotator SpawnRotation; // 0x02A4 (0x000C) [0x0000000000000000] DWORD bCanUseForSpawning : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bNoCollisionFailForSpawn : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUsePredictiveVisibilityChecks : 1; // 0x02B0 (0x0004) // [0x0000000000000000] // [0x00000004] DWORD bDebugVisibilityChecks : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bDebugRatingChecks : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bMinimalDebugRatingChecks : 1; // 0x02B0 (0x0004) // [0x0000000000000000] [0x00000020] DWORD bDebugSpawning : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bNoPlayers : 1; // 0x02B0 (0x0004) [0x0000000000000000] [0x00000080] DWORD bNoZAxisDistPenalty : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bOutOfSight : 1; // 0x02B0 (0x0004) [0x0000000000000000] [0x00000200] DWORD bCachedVisibility : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bExclusiveBossVolumes : 1; // 0x02B0 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bDisabled : 1; // 0x02B0 (0x0004) [0x0000000000000000] [0x00001000] struct FColor DefaultSpawnMarkerColor; // 0x02B4 (0x0004) [0x0000000000000000] struct FColor SpawnInteriorBoxColor; // 0x02B8 (0x0004) [0x0000000000000000] struct FBoxSphereBounds VisibilityBounds; // 0x02BC (0x001C) [0x0000000000000000] struct FVector SpawnBoundsScale; // 0x02D8 (0x000C) [0x0000000000000000] unsigned char LargestSquadType; // 0x02E4 (0x0001) [0x0000000000000000] float DesirabilityMod; // 0x02E8 (0x0004) [0x0000000000000000] float MaxHeightDiffToPlayers; // 0x02EC (0x0004) [0x0000000000000000] float MinDistanceToPlayer; // 0x02F0 (0x0004) [0x0000000000000000] float MaxDistanceToPlayer; // 0x02F4 (0x0004) [0x0000000000000000] float CurrentRating; // 0x02F8 (0x0004) [0x0000000000000000] float CachedVisibilityTime; // 0x02FC (0x0004) [0x0000000000000000] float SpawnDerateTime; // 0x0300 (0x0004) [0x0000000000000000] float TeleportDerateTime; // 0x0304 (0x0004) [0x0000000000000000] float LastSpawnTime; // 0x0308 (0x0004) [0x0000000000000000] float NextSpawnTime; // 0x030C (0x0004) [0x0000000000000000] float UnTouchCoolDownTime; // 0x0310 (0x0004) [0x0000000000000000] float LastUnTouchTime; // 0x0314 (0x0004) [0x0000000000000000] class UKFSpawnRenderingComponent* DebugComponent; // 0x0318 (0x0008) [0x0000000000000000] int VolumeChosenCount; // 0x0320 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3267]; return pClassPointer; }; void HandleTeleportedTo(); void SetLastSpawnTime(); void eventRateVolume(); void IsValidForSpawn(); void OnToggle(); void eventUnTouch(); void IsTouchingAlivePawn(); void IsVisibleFrom(); void IsVisible(); void RateDistance(); void FindSpawnLocation(); void FindTeleportLocation(); void SpawnWave(); }; UClass* AKFSpawnVolume::pClassPointer = NULL; // Class KFGame.KFSteamWebAPICall // 0x0048 (0x00A8 - 0x0060) class UKFSteamWebAPICall : public UObject { public: struct FPointer VfTable_FTickableObject; // 0x0060 (0x0008) [0x0000000000000000] float RequestTimeout; // 0x0068 (0x0004) [0x0000000000000000] struct FString steamAPIAddr; // 0x006C (0x0010) [0x0000000000000000] struct FString Format; // 0x007C (0x0010) [0x0000000000000000] struct FPointer Downloader; // 0x008C (0x0008) [0x0000000000000000] DWORD bDebug : 1; // 0x0094 (0x0004) [0x0000000000000000] [0x00000001] struct FString APICall; // 0x0098 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3269]; return pClassPointer; }; void ProcessResponse(); void eventFinished(); void SendHTTPGet(); void CallWebProcedure(); }; UClass* UKFSteamWebAPICall::pClassPointer = NULL; // Class KFGame.KFSteamWebUpToDateCheck // 0x0004 (0x00AC - 0x00A8) class UKFSteamWebUpToDateCheck : public UKFSteamWebAPICall { public: int APIAppID; // 0x00A8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3271]; return pClassPointer; }; void ProcessResponse(); void eventSendUpToDateCheck(); }; UClass* UKFSteamWebUpToDateCheck::pClassPointer = NULL; // Class KFGame.KFTraderTrigger // 0x0030 (0x0284 - 0x0254) class AKFTraderTrigger : public ATrigger_PawnsOnly { public: class ASkeletalMeshActor* TraderMeshActor; // 0x0254 (0x0008) [0x0000000000000000] struct FName OpenAnimName; // 0x025C (0x0008) [0x0000000000000000] struct FName IdleLoopAnimName; // 0x0264 (0x0008) [0x0000000000000000] class UAkEvent* TraderOpenSound; // 0x026C (0x0008) [0x0000000000000000] class UAkEvent* TraderCloseSound; // 0x0274 (0x0008) [0x0000000000000000] DWORD bOpened : 1; // 0x027C (0x0004) [0x0000000000000000] [0x00000001] DWORD bLogTrader : 1; // 0x027C (0x0004) [0x0000000000000000] [0x00000002] float DistanceOffNavMeshTheTragerIsAllowedToBe; // 0x0280 (0x0004) // [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3273]; return pClassPointer; }; void HideTraderPath(); void CloseTrader(); void ShowTraderPath(); void StartTraderLoopAnim(); void OpenTrader(); void UsedBy(); void eventUnTouch(); void eventTouch(); void GetInteractionIndex(); void GetIsUsable(); }; UClass* AKFTraderTrigger::pClassPointer = NULL; // Class KFGame.KFTrigger_ChokePoint // 0x0008 (0x025C - 0x0254) class AKFTrigger_ChokePoint : public ATrigger_PawnsOnly { public: DWORD bReduceCollisionRadius : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bReduceTeammateCollision : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000002] float MaxCollisionRadius; // 0x0258 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3275]; return pClassPointer; }; void PartialReduceTeammateCollision(); void CanReduceTeammateCollision(); void CanRestoreChokeCollision(); void eventUnTouch(); void eventTouch(); }; UClass* AKFTrigger_ChokePoint::pClassPointer = NULL; // Class KFGame.KFDoorTrigger // 0x0008 (0x0264 - 0x025C) class AKFDoorTrigger : public AKFTrigger_ChokePoint { public: class AKFDoorActor* DoorActor; // 0x025C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3277]; return pClassPointer; }; void PartialReduceTeammateCollision(); void CanReduceTeammateCollision(); void CanRestoreChokeCollision(); void UsedBy(); void GetInteractionIndex(); void GetIsUsable(); void OnDestroyOrReset(); void eventUnTouch(); void eventTouch(); void eventPostBeginPlay(); }; UClass* AKFDoorTrigger::pClassPointer = NULL; // Class KFGame.KFTrigger_MinigameButton // 0x0038 (0x028C - 0x0254) class AKFTrigger_MinigameButton : public ATrigger_PawnsOnly { public: DWORD bActiveGame : 1; // 0x0254 (0x0004) [0x0000000000000000] [0x00000001] DWORD bDeactivateOnPress : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bInProgress : 1; // 0x0254 (0x0004) [0x0000000000000000] [0x00000004] DWORD bAllowActivation : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000008] float DeactivationTime; // 0x0258 (0x0004) [0x0000000000000000] float ReactivationTime; // 0x025C (0x0004) [0x0000000000000000] TArray MinigameActors; // 0x0260 (0x0010) [0x0000000000000000] TArray LinkedButtons; // 0x0270 (0x0010) [0x0000000000000000] float ActivationDelay; // 0x0280 (0x0004) [0x0000000000000000] class APawn* LastActivatingUser; // 0x0284 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3279]; return pClassPointer; }; void MinigameStateUpdated(); void SetMinigameInactive(); void SetMinigameActive(); void DeActivate(); void LinkedButtonsAllowActivation(); void ActorsAllowActivation(); void AllowReactivation(); void ActivateGame(); void UsedBy(); void eventUnTouch(); void eventTouch(); void GetInteractionIndex(); void ReadyToActivate(); void GetIsUsable(); }; UClass* AKFTrigger_MinigameButton::pClassPointer = NULL; // Class KFGame.KFTrigger_MinigameCash // 0x0000 (0x028C - 0x028C) class AKFTrigger_MinigameCash : public AKFTrigger_MinigameButton { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3281]; return pClassPointer; }; void eventTouch(); void GetIsUsable(); }; UClass* AKFTrigger_MinigameCash::pClassPointer = NULL; // Class KFGame.KFUnlockManager // 0x001C (0x007C - 0x0060) class UKFUnlockManager : public UObject { public: TArray SharedContentList; // 0x0060 (0x0010) [0x0000000000000000] class UOnlineSubsystem* MyOnlineSubsystem; // 0x0070 (0x0008) [0x0000000000000000] DWORD bDebugUnlocks : 1; // 0x0078 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3283]; return pClassPointer; }; void TestSteamAPI(); void ClearCharacterCustomization(); void eventCheckCustomizationOwnership(); void GetAvailableAttachment(); void GetAvailableOutfit(); void GetAvailableSkin(); void GetAvailable(); void eventGetAvailableCharacterArchetype(); void eventGetEmoteAvailable(); void GetWeaponSkinAvailable(); void GetIDAvailable(); void IsPlatformRestricted(); void GetSharedContentPlayerList(); void IsSharedContentUnlocked(); void InitSharedUnlocksFor(); }; UClass* UKFUnlockManager::pClassPointer = NULL; // Class KFGame.KFUsablePerkTrigger // 0x0004 (0x0258 - 0x0254) class AKFUsablePerkTrigger : public ATrigger_PawnsOnly { public: int InteractionIndex; // 0x0254 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3285]; return pClassPointer; }; void UsedBy(); void DestroyTrigger(); void GetCanInteract(); void eventUnTouch(); void eventTouch(); void GetInteractionIndex(); void SetInteractionIndex(); void GetIsUsable(); }; UClass* AKFUsablePerkTrigger::pClassPointer = NULL; // Class KFGame.KFVersusNoGoVolume // 0x0028 (0x04D8 - 0x04B0) class AKFVersusNoGoVolume : public APostProcessVolume { public: TArray NoGoWallActors; // 0x04B0 (0x0010) [0x0000000000000000] DWORD bIsActive : 1; // 0x04C0 (0x0004) [0x0000000000000000] [0x00000001] float LastTouchingCheckTime; // 0x04C4 (0x0004) [0x0000000000000000] float NoGoHurtStartDelay; // 0x04C8 (0x0004) [0x0000000000000000] class UClass* NoGoDamageType; // 0x04CC (0x0008) [0x0000000000000000] float NoGoHurtInterval; // 0x04D4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3287]; return pClassPointer; }; void GetNoGoHurtInterval(); void GetNoGoDTClass(); void eventTick(); void SetActive(); void IsLocalPlayerTouching(); void CheckActivate(); void eventTouch(); void NotifyNoGoActive(); }; UClass* AKFVersusNoGoVolume::pClassPointer = NULL; // Class KFGame.KFWeapon // 0x0538 (0x08C0 - 0x0388) class AKFWeapon : public AWeapon { public: class UMeshComponent* OverlayMesh; // 0x0388 (0x0008) [0x0000000000000000] class UKFSkeletalMeshComponent* MySkelMesh; // 0x0390 (0x0008) [0x0000000000000000] TArray FireModeIconPaths; // 0x0398 (0x0010) [0x0000000000000000] unsigned char SingleFireSoundIndex; // 0x03A8 (0x0001) [0x0000000000000000] unsigned char BurstAmount; // 0x03A9 (0x0001) [0x0000000000000000] unsigned char InventoryGroup; // 0x03AA (0x0001) [0x0000000000000000] unsigned char InventorySize; // 0x03AB (0x0001) [0x0000000000000000] unsigned char AmmoCount[0x2]; // 0x03AC (0x0002) [0x0000000000170000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) unsigned char MagazineCapacity[0x2]; // 0x03AE (0x0002) [0x000000000019002A] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_Travel | CPF_Component ) unsigned char ReloadStatus; // 0x03B0 (0x0001) [0x0000000000000000] unsigned char ReloadAmountLeft; // 0x03B1 (0x0001) [0x0000000000000000] unsigned char InitialReloadAmount; // 0x03B2 (0x0001) [0x0000000000000000] DWORD bUseAltFireMode : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bStopAltFireOnNextRelease : 1; // 0x03B4 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bGamepadFireEntry : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bTargetFrictionEnabled : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bTargetAdhesionEnabled : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bUsingSights : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x00000020] DWORD bHasIronSights : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bIronSightOnBringUp : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bForceHidden : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x00000100] DWORD bZoomingIn : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x00000200] DWORD bZoomingOut : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x00000400] DWORD bDoingQuickDownZoom : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bSkipZoomInRotation : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bZoomInInterrupted : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bZoomOutInterrupted : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bFastZoomOut : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x00008000] DWORD bHasScopePosition : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bUsingScopePosition : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00020000] DWORD DOF_bOverrideEnvironmentDOF : 1; // 0x03B4 (0x0004) // [0x0000000000000000] [0x00040000] DWORD bWeaponNeedsServerPosition : 1; // 0x03B4 (0x0004) // [0x0000000000000000] [0x00080000] DWORD bFollowAnimSeqCamera : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00100000] DWORD bWarnAIWhenAiming : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00200000] DWORD bCanRefillSecondaryAmmo : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bGivenAtStart : 1; // 0x03B4 (0x0004) [0x00000000001B002A] [0x00800000] // ( CPF_Const | CPF_ExportObject | CPF_Net | // CPF_Travel | CPF_EditConst | CPF_Component ) DWORD bNoMagazine : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x01000000] DWORD bCanBeReloaded : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bReloadFromMagazine : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x04000000] DWORD bInfiniteSpareAmmo : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x08000000] DWORD bInfiniteAmmo : 1; // 0x03B4 (0x0004) [0x0000000000000000] [0x10000000] DWORD bAllowClientAmmoTracking : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bPlayingLoopingFireSnd : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x40000000] DWORD bPlayingLoopingFireAnim : 1; // 0x03B4 (0x0004) [0x0000000000000000] // [0x80000000] DWORD bUseAnimLenEquipTime : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHasFireLastAnims : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUseAdditiveMoveAnim : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bEnableTiltSkelControl : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bCheckBoltLockPostReload : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bSuppressSounds : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bPendingAutoSwitchOnDryFire : 1; // 0x03B8 (0x0004) // [0x0000000000000000] [0x00000040] DWORD bPendingShow : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00000080] DWORD bHasFlashlight : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bHasLaserSight : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bIsBackupWeapon : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bLogAnimation : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00000800] DWORD bLogStates : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00001000] DWORD bPauseWithPlayersOnly : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bDebugRecoilPosition : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bLogAmmo : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00008000] float MinFiringPutDownPct; // 0x03BC (0x0004) [0x0000000000000000] TArray PenetrationPower; // 0x03C0 (0x0010) [0x0000000000000000] TArray PenetrationDamageReductionCurve; // 0x03D0 (0x0010) // [0x0000000000000000] float PenetrationPowerRemaining; // 0x03E0 (0x0004) [0x0000000000000000] float ZedTimeResistance; // 0x03E4 (0x0004) [0x0000000000000000] float GrenadeTossWeakZedGrabCooldown; // 0x03E8 (0x0004) [0x0000000000000000] float ZedGrabGrenadeTossCooldown; // 0x03EC (0x0004) [0x0000000000000000] float TargetFrictionDistanceMax; // 0x03F0 (0x0004) [0x0000000000000000] float TargetAdhesionDistanceMax; // 0x03F4 (0x0004) [0x0000000000000000] struct FInterpCurveFloat TargetAdhesionOffsetScaleCurve; // 0x03F8 (0x0014) [0x0000000000000000] struct FInterpCurveFloat TargetAdhesionDistanceScaleCurve; // 0x040C (0x0014) // [0x0000000000000000] struct FInterpCurveFloat TargetFrictionOffsetScaleCurve; // 0x0420 (0x0014) [0x0000000000000000] struct FInterpCurveFloat TargetFrictionDistanceScaleCurve; // 0x0434 (0x0014) // [0x0000000000000000] float AimCorrectionSize; // 0x0448 (0x0004) [0x0000000000000000] class AKFPlayerController* KFPlayer; // 0x044C (0x0008) [0x0000000000000000] struct FVector HiddenWeaponsOffset; // 0x0454 (0x000C) [0x0000000000000000] float MeshFOV; // 0x0460 (0x0004) [0x0000000000000000] float MeshIronSightFOV; // 0x0464 (0x0004) [0x0000000000000000] float PlayerIronSightFOV; // 0x0468 (0x0004) [0x0000000000000000] float PlayerSprintFOV; // 0x046C (0x0004) [0x0000000000000000] struct FVector IronSightPosition; // 0x0470 (0x000C) [0x0000000000000000] float ZoomTime; // 0x047C (0x0004) [0x0000000000000000] float ZoomInTime; // 0x0480 (0x0004) [0x0000000000000000] float ZoomOutTime; // 0x0484 (0x0004) [0x0000000000000000] struct FRotator ZoomInRotation; // 0x0488 (0x000C) [0x0000000000000000] struct FRotator QuickWeaponDownRotation; // 0x0494 (0x000C) [0x0000000000000000] float QuickWeaponDownTime; // 0x04A0 (0x0004) [0x0000000000000000] float QuickWeaponDownFinishTime; // 0x04A4 (0x0004) [0x0000000000000000] struct FRotator ZoomRotInterp; // 0x04A8 (0x000C) [0x0000000000000000] struct FVector ZoomStartOffset; // 0x04B4 (0x000C) [0x0000000000000000] float ZoomPartialTime; // 0x04C0 (0x0004) [0x0000000000000000] struct FRotator ZoomRotStartOffset; // 0x04C4 (0x000C) [0x0000000000000000] float ZoomWeaponFOVStart; // 0x04D0 (0x0004) [0x0000000000000000] float LastZoomOutTime; // 0x04D4 (0x0004) [0x0000000000000000] float FastZoomOutTime; // 0x04D8 (0x0004) [0x0000000000000000] struct FVector ZoomTargetOffset; // 0x04DC (0x000C) [0x0000000000000000] struct FVector ScopePosition; // 0x04E8 (0x000C) [0x0000000000000000] float DOF_SharpRadius; // 0x04F4 (0x0004) [0x0000000000000000] float DOF_FocalRadius; // 0x04F8 (0x0004) [0x0000000000000000] float DOF_MinBlurSize; // 0x04FC (0x0004) [0x0000000000000000] float DOF_MaxNearBlurSize; // 0x0500 (0x0004) [0x0000000000000000] float DOF_MaxFarBlurSize; // 0x0504 (0x0004) [0x0000000000000000] float DOF_ExpFalloff; // 0x0508 (0x0004) [0x0000000000000000] float DOF_MaxFocalDistance; // 0x050C (0x0004) [0x0000000000000000] float DOF_BlendInSpeed; // 0x0510 (0x0004) [0x0000000000000000] float DOF_BlendOutSpeed; // 0x0514 (0x0004) [0x0000000000000000] float DOF_FG_SharpRadius; // 0x0518 (0x0004) [0x0000000000000000] float DOF_FG_FocalRadius; // 0x051C (0x0004) [0x0000000000000000] float DOF_FG_MinBlurSize; // 0x0520 (0x0004) [0x0000000000000000] float DOF_FG_MaxNearBlurSize; // 0x0524 (0x0004) [0x0000000000000000] float DOF_FG_ExpFalloff; // 0x0528 (0x0004) [0x0000000000000000] struct FVector GrenadeFireOffset; // 0x052C (0x000C) [0x0000000000000000] float MaxAIWarningDistSQ; // 0x0538 (0x0004) [0x0000000000000000] float MaxAIWarningDistFromPointSQ; // 0x053C (0x0004) [0x0000000000000000] struct FVector2D AimWarningDelay; // 0x0540 (0x0008) [0x0000000000000000] float AimWarningCooldown; // 0x0548 (0x0004) [0x0000000000000000] struct FRotator LastAimRotation; // 0x054C (0x000C) [0x0000000000000000] float LastAimWarningTime; // 0x0558 (0x0004) [0x0000000000000000] float CurrentAimSettledTime; // 0x055C (0x0004) [0x0000000000000000] float GroupPriority; // 0x0560 (0x0004) [0x0000000000000000] class UTexture2D* WeaponSelectTexture; // 0x0564 (0x0008) [0x0000000000000000] class UTexture2D* SecondaryAmmoTexture; // 0x056C (0x0008) [0x0000000000000000] float EquipAbortTime; // 0x0574 (0x0004) [0x0000000000000000] class UClass* DualClass; // 0x0578 (0x0008) [0x0000000000000000] TArray AmmoCost; // 0x0580 (0x0010) [0x0000000000000000] int SpareAmmoCount[0x2]; // 0x0590 (0x0008) [0x00000000001C002A] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_GlobalConfig | CPF_Component ) int SpareAmmoCapacity[0x2]; // 0x0598 (0x0008) [0x00000000001E002A] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_EditConst | CPF_GlobalConfig | // CPF_Component ) int InitialSpareMags[0x2]; // 0x05A0 (0x0008) [0x0000000000000000] float AmmoPickupScale[0x2]; // 0x05A8 (0x0008) [0x0000000000000000] int InitialReloadSpareAmmo; // 0x05B0 (0x0004) [0x0000000000000000] float LastReloadAbortTime; // 0x05B4 (0x0004) [0x0000000000000000] TArray FireCameraAnim; // 0x05B8 (0x0010) [0x0000000000000000] float ShakeScaleSighted; // 0x05C8 (0x0004) [0x0000000000000000] float ShakeScaleStandard; // 0x05CC (0x0004) [0x0000000000000000] class UForceFeedbackWaveform* WeaponFireWaveForm; // 0x05D0 (0x0008) [0x0000000000000000] class UKFAnimSeq_Tween* WeaponAnimSeqNode; // 0x05D8 (0x0008) [0x0000000000000000] class UAnimNodeAdditiveBlending* IdleBobBlendNode; // 0x05E0 (0x0008) [0x0000000000000000] class UAnimNodeBlendPerBone* EmptyMagBlendNode; // 0x05E8 (0x0008) [0x0000000000000000] TArray bLoopingFireAnim; // 0x05F0 (0x0010) [0x0000000000000000] TArray bLoopingFireSnd; // 0x0600 (0x0010) [0x0000000000000000] float FireTweenTime; // 0x0610 (0x0004) [0x0000000000000000] struct FName FireAnim; // 0x0614 (0x0008) [0x0000000000000000] struct FName FireLoopAnim; // 0x061C (0x0008) [0x0000000000000000] struct FName FireLastAnim; // 0x0624 (0x0008) [0x0000000000000000] struct FName PutDownAnim; // 0x062C (0x0008) [0x0000000000000000] struct FName EquipAnim; // 0x0634 (0x0008) [0x0000000000000000] TArray IdleAnims; // 0x063C (0x0010) [0x0000000000000000] TArray IdleFidgetAnims; // 0x064C (0x0010) [0x0000000000000000] float LastIdleFidgetAnimTime; // 0x065C (0x0004) [0x0000000000000000] TArray FireSightedAnims; // 0x0660 (0x0010) [0x0000000000000000] struct FName FireLoopSightedAnim; // 0x0670 (0x0008) [0x0000000000000000] struct FName FireLastSightedAnim; // 0x0678 (0x0008) [0x0000000000000000] TArray IdleSightedAnims; // 0x0680 (0x0010) [0x0000000000000000] struct FName FireLoopStartAnim; // 0x0690 (0x0008) [0x0000000000000000] struct FName FireLoopStartSightedAnim; // 0x0698 (0x0008) [0x0000000000000000] struct FName FireLoopEndAnim; // 0x06A0 (0x0008) [0x0000000000000000] struct FName FireLoopEndSightedAnim; // 0x06A8 (0x0008) [0x0000000000000000] struct FName FireScopedAnim; // 0x06B0 (0x0008) [0x0000000000000000] struct FName FireLoopScopedAnim; // 0x06B8 (0x0008) [0x0000000000000000] struct FName FireLastScopedAnim; // 0x06C0 (0x0008) [0x0000000000000000] TArray MeleeAttackAnims; // 0x06C8 (0x0010) [0x0000000000000000] class UCameraAnim* SprintCameraAnim; // 0x06D8 (0x0008) [0x0000000000000000] class UCameraAnimInst* SprintCameraAnimInst; // 0x06E0 (0x0008) [0x0000000000000000] float SprintAnimRate; // 0x06E8 (0x0004) [0x0000000000000000] TArray BonesToLockOnEmpty; // 0x06EC (0x0010) [0x0000000000000000] TArray WeaponFireSnd; // 0x06FC (0x0010) [0x0000000000000000] TArray WeaponFireLoopEndSnd; // 0x070C (0x0010) [0x0000000000000000] TArray WeaponDryFireSnd; // 0x071C (0x0010) [0x0000000000000000] float BobDamping; // 0x072C (0x0004) [0x0000000000000000] float JumpDamping; // 0x0730 (0x0004) [0x0000000000000000] struct FVector PlayerViewOffset; // 0x0734 (0x000C) [0x0000000000000000] TArray WeaponMICs; // 0x0740 (0x0010) [0x0000000000000000] int NumBloodMapMaterials; // 0x0750 (0x0004) [0x0000000000000000] float BloodParamValue; // 0x0754 (0x0004) [0x0000000000000000] int SkinItemId; // 0x0758 (0x0004) [0x0000000000000000] struct FVector WeaponLag; // 0x075C (0x000C) [0x0000000000000000] float LagHorizontal; // 0x0768 (0x0004) [0x0000000000000000] float LagVertical; // 0x076C (0x0004) [0x0000000000000000] float LagVelocityHorizontal; // 0x0770 (0x0004) [0x0000000000000000] float LagVelocityVertical; // 0x0774 (0x0004) [0x0000000000000000] float LagTensionHorizontal; // 0x0778 (0x0004) [0x0000000000000000] float LagVerticalTension; // 0x077C (0x0004) [0x0000000000000000] float LagResistanceHorizontal; // 0x0780 (0x0004) [0x0000000000000000] float LagResistanceVertical; // 0x0784 (0x0004) [0x0000000000000000] float LagLimit; // 0x0788 (0x0004) [0x0000000000000000] float LagYawCoefficient; // 0x078C (0x0004) [0x0000000000000000] float LagStrengthIronSights; // 0x0790 (0x0004) [0x0000000000000000] float LagStrengthCrouch; // 0x0794 (0x0004) [0x0000000000000000] float LagStrengthWalk; // 0x0798 (0x0004) [0x0000000000000000] float LagStrengthJog; // 0x079C (0x0004) [0x0000000000000000] float LagStrengthSprint; // 0x07A0 (0x0004) [0x0000000000000000] float StrafeLag; // 0x07A4 (0x0004) [0x0000000000000000] float StrafeLagVelocity; // 0x07A8 (0x0004) [0x0000000000000000] float StrafeLagLimit; // 0x07AC (0x0004) [0x0000000000000000] float StrafeLagRate; // 0x07B0 (0x0004) [0x0000000000000000] float StrafeLagReturnRate; // 0x07B4 (0x0004) [0x0000000000000000] int AimYawSpeed; // 0x07B8 (0x0004) [0x0000000000000000] int AimPitchSpeed; // 0x07BC (0x0004) [0x0000000000000000] class AKFWeaponAttachment* AttachmentArchetype; // 0x07C0 (0x0008) [0x0000000000000000] class UKFMeleeHelperWeapon* MeleeAttackHelper; // 0x07C8 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* MuzzleFlash; // 0x07D0 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* MuzzleFlashTemplate; // 0x07D8 (0x0008) [0x0000000000000000] float EjectedShellForegroundDuration; // 0x07E0 (0x0004) [0x0000000000000000] class UKFLaserSightAttachment* LaserSight; // 0x07E4 (0x0008) [0x0000000000000000] class UKFLaserSightAttachment* LaserSightTemplate; // 0x07EC (0x0008) [0x0000000000000000] float LastPelletFireTime; // 0x07F4 (0x0004) [0x0000000000000000] float MovingSpreadMod; // 0x07F8 (0x0004) [0x0000000000000000] float IronSightsSpreadMod; // 0x07FC (0x0004) [0x0000000000000000] float CrouchSpreadMod; // 0x0800 (0x0004) [0x0000000000000000] int maxRecoilPitch; // 0x0804 (0x0004) [0x0000000000000000] int minRecoilPitch; // 0x0808 (0x0004) [0x0000000000000000] int maxRecoilYaw; // 0x080C (0x0004) [0x0000000000000000] int minRecoilYaw; // 0x0810 (0x0004) [0x0000000000000000] float RecoilRate; // 0x0814 (0x0004) [0x0000000000000000] float RecoilBlendOutRatio; // 0x0818 (0x0004) [0x0000000000000000] float RecoilViewRotationScale; // 0x081C (0x0004) [0x0000000000000000] float RecoilCompensationScale; // 0x0820 (0x0004) [0x0000000000000000] float FullRecoilPitchPct; // 0x0824 (0x0004) [0x0000000000000000] float FullRecoilYawPct; // 0x0828 (0x0004) [0x0000000000000000] int RecoilMaxYawLimit; // 0x082C (0x0004) [0x0000000000000000] int RecoilMinYawLimit; // 0x0830 (0x0004) [0x0000000000000000] int RecoilMaxPitchLimit; // 0x0834 (0x0004) [0x0000000000000000] int RecoilMinPitchLimit; // 0x0838 (0x0004) [0x0000000000000000] int RecoilISMaxYawLimit; // 0x083C (0x0004) [0x0000000000000000] int RecoilISMinYawLimit; // 0x0840 (0x0004) [0x0000000000000000] int RecoilISMaxPitchLimit; // 0x0844 (0x0004) [0x0000000000000000] int RecoilISMinPitchLimit; // 0x0848 (0x0004) [0x0000000000000000] struct FRotator RecoilRotator; // 0x084C (0x000C) [0x0000000000000000] struct FRotator TotalRecoilRotator; // 0x0858 (0x000C) [0x0000000000000000] float RecoilTimeLeft; // 0x0864 (0x0004) [0x0000000000000000] float RecoilSpeed; // 0x0868 (0x0004) [0x0000000000000000] int RecoilYawBlendOutRate; // 0x086C (0x0004) [0x0000000000000000] int RecoilPitchBlendOutRate; // 0x0870 (0x0004) [0x0000000000000000] float RecoilPitchPercentage; // 0x0874 (0x0004) [0x0000000000000000] float RecoilYawPercentage; // 0x0878 (0x0004) [0x0000000000000000] struct FRotator SuppressRecoilRotator; // 0x087C (0x000C) [0x0000000000000000] float SuppressRecoilTimeLeft; // 0x0888 (0x0004) [0x0000000000000000] float SuppressRecoilSpeed; // 0x088C (0x0004) [0x0000000000000000] float SuppressRecoilViewRotationScale; // 0x0890 (0x0004) // [0x0000000000000000] float HippedRecoilModifier; // 0x0894 (0x0004) [0x0000000000000000] float JoggingRecoilModifier; // 0x0898 (0x0004) [0x0000000000000000] float WalkingRecoilModifier; // 0x089C (0x0004) [0x0000000000000000] float FallingRecoilModifier; // 0x08A0 (0x0004) [0x0000000000000000] float StanceCrouchedRecoilModifier; // 0x08A4 (0x0004) [0x0000000000000000] float LastRecoilModifier; // 0x08A8 (0x0004) [0x0000000000000000] float IronSightMeshFOVCompensationScale; // 0x08AC (0x0004) // [0x0000000000000000] TArray AssociatedPerkClasses; // 0x08B0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3289]; return pClassPointer; }; void eventGetAltTraderFilter(); void eventGetTraderFilter(); void CalculateTraderWeaponStatFireRate(); void CalculateTraderWeaponStatDamage(); void eventSetTraderWeaponStats(); void ServerSyncWeaponFiring(); void GetForceReloadDelay(); void GetMeleeDamage(); void PlayMeleeAnimation(); void NotifyMeleeCollision(); void ShouldContinueMelee(); void IsMeleeing(); void GetSprintAnimRate(); void GetSprintEndAnimName(); void PlaySprintEnd(); void GetSprintLoopAnimName(); void PlaySprintLoop(); void GetSprintStartAnimName(); void PlaySprintStart(); void SprintRetryTimer(); void SprintLoopTimer(); void CheckBoltLockPostReload(); void PerformReload(); void GetReloadAnimName(); void GetNextReloadStatus(); void UseTacticalReload(); void GetReloadRateScale(); void TimeWeaponReloading(); void CanOverrideMagReload(); void ServerSendToReload(); void InitializeReload(); void AbortReload(); void ReloadComplete(); void ReloadAmmoTimer(); void ReloadStatusTimer(); void GetGrenadeThrowAnim(); void PlayGrenadeThrow(); void SetWeakZedGrabCooldownOnPawn(); void ServerGotoGrenadeFiring(); void GetBurstAmount(); void TimeWeaponFiring(); void FiringPutDownWeapon(); void TryPutDown(); void GetWeaponPutDownAnimName(); void PlayWeaponPutDown(); void TimeWeaponPutDown(); void CanSwitchWeapons(); void SetSimplePutDown(); void GetEquipAnimName(); void PlayWeaponEquip(); void WeaponEquipped(); void TimeWeaponEquipping(); void CheckPendingIronsights(); void ANIMNOTIFY_EnableAdditiveBob(); void PlayIdleFidgetAnim(); void CanPlayIdleFidget(); void IdleFidgetTimer(); void StartIdleFidgetTimer(); void PlayIdleAnim(); void Activate(); void ServerSyncReload(); void NotifyEndState(); void NotifyBeginState(); void UpdateWeaponAttachmentAnimRate(); void GetThirdPersonAnimRate(); void GetWeaponStateId(); void IsMultiPerkWeapn(); void eventGetWeaponPerkClassByIndex(); void eventGetAssociatedPerkClasses(); void AllowedForAllPerks(); void eventGetWeaponPerkClass(); void DisplayDebug(); void GetWeaponDebug(); void SetMeshLightingChannels(); void ServerPlayDryFireSound(); void ShouldAutoReloadGunslinger(); void ShouldAutoReload(); void CanReload(); void ForceReload(); void GetSecondaryAmmoForHUD(); void GetSpareAmmoForHUD(); void GetAmmoPercentage(); void eventGetMissingSpareAmmoAmount(); void eventGetMaxAmmoAmount(); void eventGetTotalAmmoAmount(); void eventHasSpareAmmo(); void HasAnyAmmo(); void eventHasAmmo(); void NotifyHUDofWeapon(); void ClientForceSecondaryAmmoUpdate(); void ClientForceAmmoUpdate(); void AddSecondaryAmmo(); void AddTransactionAmmo(); void AddAmmo(); void ConsumeAmmo(); void ReInitializeAmmoCounts(); void InitializeAmmo(); void eventCanRefillSecondaryAmmo(); void eventUsesSecondaryAmmo(); void eventUsesAmmo(); void GetAmmoType(); void eventRecieveClientImpactList(); void HandleClientProjectileExplosion(); void eventRecieveClientProjectileExplosion(); void eventRecieveClientImpact(); void InstantFireClient(); void InstantFireClient_AddImpacts(); void GetSafeStartTraceLocation(); void SendClientFragmentImpact(); void SendClientProjectileExplosion(); void SendClientProjectileImpact(); void SendClientImpactList(); void eventServerRegisterFragmentImpact(); void eventServerRegisterProjectileExplosion(); void eventServerRegisterProjectileImpact(); void eventServerRegisterImpact8(); void eventServerRegisterImpact7(); void eventServerRegisterImpact6(); void eventServerRegisterImpact5(); void eventServerRegisterImpact4(); void eventServerRegisterImpact3(); void eventServerRegisterImpact2(); void eventServerRegisterImpact1(); void IsHeavyWeapon(); void ProcessGrenadeProjectileImpact(); void HandleGrenadeProjectileImpact(); void eventRecieveClientFragmentImpact(); void HandleProjectileImpact(); void ProcessInstantHitEx(); void eventGetInitialPenetrationPower(); void SpawnProjectile(); void ShouldIncrementFlashCountOnFire(); void ProjectileFire(); void GetKFProjectileClass(); void SetRecoil(); void eventHandleRecoil(); void ModifyRecoil(); void AddSpread(); void PassThroughDamage(); void TraceImpactHitZones(); void CalcWeaponFire(); void HandleWeaponShotTaken(); void FireAmmunition(); void CacheKFPlayerController(); void GetCurrentMuzzleID(); void eventGetMuzzleLoc(); void SendToFiringState(); void AltFireModeRelease(); void AltFireMode(); void StopFire(); void BeginFire(); void StartFire(); void AddBlood(); void ShakeView(); void Timer_RestoreShellEjectDepth(); void SetShellEjectsToForeground(); void AttachMuzzleFlash(); void ANIMNOTIFY_ShellEject(); void CauseMuzzleFlash(); void WeaponPlaySound(); void WeaponPlayFireSound(); void PlayFiringSound(); void StopLoopingFireSound(); void StartLoopingFireSound(); void ShouldForceSingleFireSound(); void StopLoopingFireEffects(); void StartLoopingFireEffects(); void StopFireEffects(); void PlayFireEffects(); void ChangeVisibility(); void eventSetPosition(); void GetAnimSeqCameraPosition(); void UpdateOutOfAmmoEffects(); void ToggleAdditiveBobAnim(); void ANIMNOTIFY_UnLockBolt(); void ANIMNOTIFY_LockBolt(); void GetArmAnimNodeSeq(); void GetMeleeAnimName(); void GetLoopEndFireAnim(); void GetLoopStartFireAnim(); void GetLoopingFireAnim(); void GetWeaponFireAnim(); void ShouldPlayFireLast(); void PlayCameraAnim(); void WeaponIsAnimating(); void GetWeaponAnimNodeSeq(); void PlayWeaponAnimation(); void PlayAnimation(); void PlayTakeHitEffects(); void AdjustDamage(); void GotoWeaponSprinting(); void AllowSprinting(); void StopPawnSprint(); void SetWeaponSprint(); void IsGrappleBlocked(); void ShouldOwnerWalk(); void Timer_CheckForAIWarning(); void IsWarningAI(); void eventOnZoomOutFinished(); void eventOnZoomInFinished(); void ServerZoomOut(); void ZoomOut(); void ServerZoomIn(); void ZoomIn(); void PerformZoom(); void EnablePlayerZoom(); void EnableIronSightsDoF(); void AllowIronSights(); void SetIronSights(); void eventSetFOV(); void eventTick(); void GetWeaponRating(); void IsMeleeWeapon(); void DenyPerkResupply(); void ClientNotifyPickedUp(); void NotifyPickedUp(); void DenyPickupQuery(); void SetOriginalValuesFromPickup(); void SetupDroppedPickup(); void DropFrom(); void AttachLaserSight(); void DetachMuzzleFlash(); void DetachWeapon(); void AttachThirdPersonWeapon(); void AttachWeaponTo(); void ClientWeaponSet(); void ItemRemovedFromInvManager(); void GivenTo(); void ClearSkinItemId(); void eventServerUpdateWeaponSkin(); void ClientSetFirstPersonSkin(); void InitFOV(); void InitializeEquipTime(); void BuildEmptyMagNodeWeightList(); void eventPostInitAnimTree(); void SetShownInInventory(); void eventPreBeginPlay(); void HasAlwaysOnZedTimeResist(); void ClearZedTimeResist(); void SetZedTimeResist(); void GetPerk(); void WeaponProcessViewRotation(); void EnsureWeaponOverlayComponentLast(); }; UClass* AKFWeapon::pClassPointer = NULL; // Class KFGame.KFWeap_MeleeBase // 0x0098 (0x0958 - 0x08C0) class AKFWeap_MeleeBase : public AKFWeapon { public: DWORD bIsBloody : 1; // 0x08C0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bMoveAtWalkingSpeed : 1; // 0x08C0 (0x0004) [0x0000000000000000] // [0x00000002] unsigned char MaxChainAtkCount; // 0x08C4 (0x0001) [0x0000000000000000] unsigned char ParryStrength; // 0x08C5 (0x0001) [0x0000000000000000] unsigned char EstimatedFireRate; // 0x08C6 (0x0001) [0x0000000000000000] float MinMeleeSustainedTime; // 0x08C8 (0x0004) [0x0000000000000000] float MeleeSustainedWarmupTime; // 0x08CC (0x0004) [0x0000000000000000] TArray BlockTypes; // 0x08D0 (0x0010) [0x0000000000000000] float BlockDamageMitigation; // 0x08E0 (0x0004) [0x0000000000000000] float ParryDamageMitigationPercent; // 0x08E4 (0x0004) [0x0000000000000000] float BlockHitAnimCooldownTime; // 0x08E8 (0x0004) [0x0000000000000000] float LastBlockHitAnimTime; // 0x08EC (0x0004) [0x0000000000000000] TArray MeleeAttackSettleAnims; // 0x08F0 (0x0010) [0x0000000000000000] TArray MeleeBlockHitAnims; // 0x0900 (0x0010) [0x0000000000000000] class UParticleSystem* DistortTrailParticle; // 0x0910 (0x0008) [0x0000000000000000] class UParticleSystem* WhiteTrailParticle; // 0x0918 (0x0008) [0x0000000000000000] class UParticleSystem* BlueTrailParticle; // 0x0920 (0x0008) [0x0000000000000000] class UParticleSystem* RedTrailParticle; // 0x0928 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* BlockSound; // 0x0930 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* ParrySound; // 0x0938 (0x0008) [0x0000000000000000] class UParticleSystem* BlockParticleSystem; // 0x0940 (0x0008) [0x0000000000000000] class UParticleSystem* ParryParticleSystem; // 0x0948 (0x0008) [0x0000000000000000] struct FName BlockEffectsSocketName; // 0x0950 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3291]; return pClassPointer; }; void eventGetTraderFilter(); void CalculateTraderWeaponStatFireRate(); void CalculateTraderWeaponStatDamage(); void eventSetTraderWeaponStats(); void AttemptDrawStrike(); void ANIMNOTIFY_DrawAtk(); void BlockCooldownTimer(); void GetParryEffects(); void GetBlockEffects(); void CanBlockDamageType(); void PlayLocalBlockEffects(); void PlayBlockStart(); void ClientPlayParryEffects(); void ClientPlayBlockEffects(); void ParryCheckTimer(); void BlockLoopTimer(); void SustainedWarmupEndTimer(); void SustainedMinFireTimer(); void IsHeavyAttack(); void PlayMeleeSettleAnim(); void IsLightAttack(); void CanReload(); void UpkeepComplete(); void PlayMeleeAnimation(); void PlayWeaponAnimation(); void ANIMNOTIFY_CleanBlood(); void ServerSetBloody(); void AddBlood(); void GetMeleeDamage(); void eventRecieveClientImpact(); void SendToFiringState(); void SetIronSights(); void AltFireMode(); void ServerStartMeleeFire(); void StartMeleeFire(); void StartFire(); void ServerSetSlowMovement(); void SetSlowMovement(); void ShouldOwnerWalk(); }; UClass* AKFWeap_MeleeBase::pClassPointer = NULL; // Class KFGame.KFWeap_PistolBase // 0x0054 (0x0914 - 0x08C0) class AKFWeap_PistolBase : public AKFWeapon { public: DWORD bRevolver : 1; // 0x08C0 (0x0004) [0x0000000000000000] [0x00000001] class USkeletalMesh* UnusedBulletMeshTemplate; // 0x08C4 (0x0008) [0x0000000000000000] class USkeletalMesh* UsedBulletMeshTemplate; // 0x08CC (0x0008) [0x0000000000000000] TArray BulletFXSocketNames; // 0x08D4 (0x0010) [0x0000000000000000] TArray BulletMeshComponents; // 0x08E4 (0x0010) [0x0000000000000000] struct FCylinderRotationInfo CylinderRotInfo; // 0x08F4 (0x0020) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3293]; return pClassPointer; }; void eventGetTraderFilter(); void eventSetFOV(); void ShouldAutoReload(); void ProcessInstantHitEx(); void ResetBulletMeshes(); void ResetCylinder(); void ANIMNOTIFY_ResetBulletMeshes(); void InitializeReload(); void SetCylinderRotation(); void eventOnCylinderRotationFinished(); void ResetCylinderInfo(); void IncrementCylinderRotation(); void RotateCylinder(); void ANIMNOTIFY_RotateCylinder(); void CheckCylinderRotation(); void ConsumeAmmoRevolver(); void eventPostInitAnimTreeRevolver(); void ConsumeAmmo(); void eventPostInitAnimTree(); void eventPreBeginPlay(); }; UClass* AKFWeap_PistolBase::pClassPointer = NULL; // Class KFGame.KFWeap_DualBase // 0x00E0 (0x09F4 - 0x0914) class AKFWeap_DualBase : public AKFWeap_PistolBase { public: struct FName LeftFireAnim; // 0x0914 (0x0008) [0x0000000000000000] TArray LeftFireSightedAnims; // 0x091C (0x0010) [0x0000000000000000] class UKFMuzzleFlash* LeftMuzzleFlash; // 0x092C (0x0008) [0x0000000000000000] struct FVector LeftFireOffset; // 0x0934 (0x000C) [0x0000000000000000] DWORD bFireFromRightWeapon : 1; // 0x0940 (0x0004) [0x0000000000000000] // [0x00000001] class UClass* SingleClass; // 0x0944 (0x0008) [0x0000000000000000] class UAnimNodeBlendPerBone* EmptyMagBlendNode_L; // 0x094C (0x0008) [0x0000000000000000] TArray BonesToLockOnEmpty_L; // 0x0954 (0x0010) [0x0000000000000000] struct FName IdleToIronSightAnim; // 0x0964 (0x0008) [0x0000000000000000] struct FName IdleToIronSightAnim_Alt; // 0x096C (0x0008) [0x0000000000000000] struct FName IronSightToIdleAnim; // 0x0974 (0x0008) [0x0000000000000000] struct FName IronSightToIdleAnim_Alt; // 0x097C (0x0008) [0x0000000000000000] TArray IdleSightedAnims_Alt; // 0x0984 (0x0010) [0x0000000000000000] struct FName FireSightedAnim_Alt; // 0x0994 (0x0008) [0x0000000000000000] struct FName LeftFireSightedAnim_Alt; // 0x099C (0x0008) [0x0000000000000000] struct FName EquipAnimIS; // 0x09A4 (0x0008) [0x0000000000000000] struct FName EquipAnimISAlt; // 0x09AC (0x0008) [0x0000000000000000] struct FName LeftFireLastAnim; // 0x09B4 (0x0008) [0x0000000000000000] struct FName LeftFireLastSightedAnim; // 0x09BC (0x0008) [0x0000000000000000] struct FName FireLastSightedAnim_Alt; // 0x09C4 (0x0008) [0x0000000000000000] struct FName LeftFireLastSightedAnim_Alt; // 0x09CC (0x0008) [0x0000000000000000] struct FCylinderRotationInfo CylinderRotInfo_L; // 0x09D4 (0x0020) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3295]; return pClassPointer; }; void StartFire(); void AltFireMode(); void ShouldAutoReload(); void AddAmmoToSingleOnSell(); void ResetBulletMeshesLeft(); void ResetBulletMeshes(); void RepositionUsedBullets(); void ResetCylinderLeft(); void ResetCylinder(); void ANIMNOTIFY_ResetBulletMeshesLeft(); void InitializeReload(); void ANIMNOTIFY_RotateCylinder(); void ConsumeAmmoRevolver(); void eventPostInitAnimTreeRevolver(); void UpdateOutOfAmmoEffects(); void ANIMNOTIFY_UnLockBolt(); void ANIMNOTIFY_LockBolt(); void PerformReload(); void SetupDroppedPickup(); void GetCurrentMuzzleID(); void StopFireEffects(); void eventSetFOV(); void DetachMuzzleFlash(); void CauseMuzzleFlash(); void eventGetLeftMuzzleLoc(); void eventGetMuzzleLoc(); void GetLeftWeaponFireAnim(); void GetWeaponFireAnim(); void ShouldPlayFireLast(); void IncrementFlashCount(); void GetReloadAnimName(); void GetIronToIdleAnim(); void GetIdleToIronAnim(); void GetEquipAnimName(); void AttachMuzzleFlash(); void eventPostInitAnimTree(); }; UClass* AKFWeap_DualBase::pClassPointer = NULL; // Class KFGame.KFWeaponAttachment // 0x01A4 (0x03E8 - 0x0244) class AKFWeaponAttachment : public AActor { public: class USkeletalMesh* SkelMesh; // 0x0244 (0x0008) [0x0000000000000000] class UAnimSet* CharacterAnimSet; // 0x024C (0x0008) [0x0000000000000000] class UAnimSet* WeaponAnimSet; // 0x0254 (0x0008) [0x0000000000000000] class USkeletalMeshComponent* WeapMesh; // 0x025C (0x0008) [0x0000000000000000] DWORD bWeapMeshIsPawnMesh : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHasLaserSight : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bPlayIKRecoil : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000004] DWORD bSynchronizeWeaponAnim : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bSyncAnimCheckRelevance : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bLoopSynchedWeaponAnim : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bIsReloading : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000040] class UKFLaserSightAttachment* LaserSightArchetype; // 0x0268 (0x0008) [0x0000000000000000] class UKFLaserSightAttachment* LaserSight; // 0x0270 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* MuzzleFlash; // 0x0278 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* MuzzleFlashTemplate; // 0x0280 (0x0008) [0x0000000000000000] float MaxFireEffectDistance; // 0x0288 (0x0004) [0x0000000000000000] TArray TracerInfos; // 0x028C (0x0010) [0x0000000000000000] class UMaterialInstanceConstant* WeaponMIC; // 0x029C (0x0008) [0x0000000000000000] float BloodParamValue; // 0x02A4 (0x0004) [0x0000000000000000] float ThirdPersonAnimRate; // 0x02A8 (0x0004) [0x0000000000000000] struct FRecoilDef Recoil_Hand; // 0x02AC (0x0070) [0x0000000000000000] struct FRecoilDef Recoil_Spine; // 0x031C (0x0070) [0x0000000000000000] float DefaultBlendInTime; // 0x038C (0x0004) [0x0000000000000000] float DefaultBlendOutTime; // 0x0390 (0x0004) [0x0000000000000000] float ShootBlendInTime; // 0x0394 (0x0004) [0x0000000000000000] float ShootBlendOutTime; // 0x0398 (0x0004) [0x0000000000000000] unsigned char LastMeleeAnimIdx; // 0x039C (0x0001) [0x0000000000000000] class UAnimNodeSlot* SyncPawnNode; // 0x03A0 (0x0008) [0x0000000000000000] struct FName SyncAnimName; // 0x03A8 (0x0008) [0x0000000000000000] struct FName LoopingAnim; // 0x03B0 (0x0008) [0x0000000000000000] struct FName LoopIntroAnim; // 0x03B8 (0x0008) [0x0000000000000000] struct FName LoopOutroAnim; // 0x03C0 (0x0008) [0x0000000000000000] class UAnimNodeSequence* WeapAnimNode; // 0x03C8 (0x0008) [0x0000000000000000] struct FName AimOffsetProfileName; // 0x03D0 (0x0008) [0x0000000000000000] struct FScriptDelegate __OnWeaponStateChanged__Delegate; // 0x03D8 (0x0010) // [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x03DC (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3297]; return pClassPointer; }; void PlayLoopAnim(); void StartLoopingAnim(); void HasOutdoorLighting(); void HasIndoorLighting(); void SetMeshLightingChannels(); void InterruptWeaponAnim(); void eventTick(); void PlayWeaponMeshAnim(); void PlayWeldAnim(); void PlayHealAnim(); void PlayReloadSingleAnim(); void PlayReloadMagazineAnim(); void PlayMeleeSustainedAnim(); void PlayMeleeBlockAnim(); void LoopWeaponMeleeAnim(); void GetRandomDirectionalMeleeAnim(); void PlayMeleeAtkAnim(); void UpdateThirdPersonWeaponAction(); void DecodeThirdPersonAnimRate(); void PlayCharacterMeshAnim(); void OnWeaponStateChanged(); void AddBattleBlood(); void ANIMNOTIFY_ShellEject(); void CauseMuzzleFlash(); void SpawnTracer(); void GetMuzzleLocation(); void StopThirdPersonFireEffects(); void PlayPawnFireAnim(); void PlayWeaponFireAnim(); void ThirdPersonFireEffects(); void StopFirstPersonFireEffects(); void FirstPersonFireEffects(); void ActorEffectIsRelevant(); void eventSetWeaponSkin(); void AttachLaserSight(); void AttachMuzzleFlash(); void DetachFrom(); void AttachTo(); void eventPreBeginPlay(); void eventChangeVisibility(); }; UClass* AKFWeaponAttachment::pClassPointer = NULL; // Class KFGame.KFWeaponDefinition // 0x0043 (0x00A3 - 0x0060) class UKFWeaponDefinition : public UObject { public: struct FString WeaponClassPath; // 0x0060 (0x0010) [0x0000000000000000] struct FString AttachmentArchtypePath; // 0x0070 (0x0010) [0x0000000000000000] struct FString ImagePath; // 0x0080 (0x0010) [0x0000000000000000] int BuyPrice; // 0x0090 (0x0004) [0x0000000000000000] int AmmoPricePerMag; // 0x0094 (0x0004) [0x0000000000000000] int SecondaryAmmoMagSize; // 0x0098 (0x0004) [0x0000000000000000] int SecondaryAmmoMagPrice; // 0x009C (0x0004) [0x0000000000000000] unsigned char SharedUnlockId; // 0x00A0 (0x0001) [0x0000000000000000] unsigned char PlatformRestriction; // 0x00A1 (0x0001) [0x0000000000000000] unsigned char EffectiveRange; // 0x00A2 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3299]; return pClassPointer; }; void UsesSecondaryAmmo(); void UsesAmmo(); void GetItemLocalization(); void GetItemDescription(); void GetItemCategory(); void GetItemName(); void GetImagePath(); }; UClass* UKFWeaponDefinition::pClassPointer = NULL; // Class KFGame.KFWeaponSkinList // 0x0010 (0x0070 - 0x0060) class UKFWeaponSkinList : public UObject { public: TArray Skins; // 0x0060 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3301]; return pClassPointer; }; void IsSkinEquip(); void SaveWeaponSkin(); void GetWeaponSkin(); }; UClass* UKFWeaponSkinList::pClassPointer = NULL; // Class KFGame.KFAIController // 0x0554 (0x0AA0 - 0x054C) class AKFAIController : public ABaseAIController { public: DWORD bAllowScriptTeamCheck : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bIdleMoveToNearestEnemy : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bReachedMoveGoal : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000004] DWORD bReevaluatePath : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000008] DWORD bMovingToGoal : 1; // 0x054C (0x0004) [0x0000000000000000] [0x00000010] DWORD bMovingToEnemy : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000020] DWORD bDirectMoveToGoal : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000040] DWORD bMoveGoalInterruptable : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000080] DWORD bSkipRouteCacheUpdates : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000100] DWORD bFailedToMoveToEnemy : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000200] DWORD bAvoidChokePoints : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000400] DWORD bProbeNotifyOnAddToRouteCache : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x00000800] DWORD bPlannedJump : 1; // 0x054C (0x0004) [0x0000000000000000] [0x00001000] DWORD CachedLOSCheck : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00002000] DWORD bIgnoreBlockedPathList : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00004000] DWORD bShouldUsePathLanes : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00008000] DWORD bShouldOffsetCorners : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00010000] DWORD bAlwaysAcceptPartialPaths : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x00020000] DWORD bCanSprint : 1; // 0x054C (0x0004) [0x0000000000000000] [0x00040000] DWORD bCanSprintWhenDamaged : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00080000] DWORD bSprintingDisabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00100000] DWORD bConfigShowMovePointsDebugInfo : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x00200000] DWORD bShowMovePointsDebugInfo : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00400000] DWORD bConfigShowHighDetailCombatMovementDebugInfo : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x00800000] DWORD bShowHighDetailCombatMovementDebugInfo : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x01000000] DWORD bConfigShowVisualStuckZedDebugInfo : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x02000000] DWORD bShowVisualStuckZedDebugInfo : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x04000000] DWORD bConfigShowCollisionRadiusForReducedZedOnZedPinchPointCollisionState : 1; // 0x054C (0x0004) [0x0000000000000000] [0x08000000] DWORD bShowCollisionRadiusForReducedZedOnZedPinchPointCollisionState : 1; // 0x054C (0x0004) [0x0000000000000000] [0x10000000] DWORD bShowLeapDownDebugArtifacts : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x20000000] DWORD bConfigShowLeapDownDebugArtifacts : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x40000000] DWORD bShowDoorNavigationDebugArtifacts : 1; // 0x054C (0x0004) // [0x0000000000000000] // [0x80000000] DWORD bConfigShowDoorNavigationDebugArtifacts : 1; // 0x0550 (0x0004) // [0x0000000000000000] // [0x00000001] DWORD bShowDestructibleNavigationDebugArtifacts : 1; // 0x0550 (0x0004) // [0x0000000000000000] // [0x00000002] DWORD bConfigShowDestructibleNavigationDebugArtifacts : 1; // 0x0550 (0x0004) // [0x0000000000000000] // [0x00000004] DWORD bMindLeader : 1; // 0x0550 (0x0004) [0x0000000000000000] [0x00000008] DWORD LastPathFailTime : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00000010] DWORD IsRotationLocked : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bSpawnedByEmergeSpecialMove : 1; // 0x0550 (0x0004) // [0x0000000000000000] [0x00000040] DWORD bUseTargetedByPlayerEvent : 1; // 0x0550 (0x0004) // [0x0000000000000000] [0x00000080] DWORD bBumpedThisFrame : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bDoNotBlockFriendlyAI : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bSuperSpeedDoNotBlockFriendlyAI : 1; // 0x0550 (0x0004) // [0x0000000000000000] // [0x00000400] DWORD bSpecialBumpHandling : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bTryingToGetUnstuck : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bCanTeleportCloser : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bIgnoreStepAside : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bCanStrikeThroughEnemies : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00008000] DWORD bIsBodyBlocked : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bEnemyIsVisible : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00020000] DWORD bIsVisibleToEnemy : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00040000] DWORD bWasVisibleToEnemy : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bUseDesiredRotationForMelee : 1; // 0x0550 (0x0004) // [0x0000000000000000] [0x00100000] DWORD bIamAsClosesToTheEnemyAsICanGet : 1; // 0x0550 (0x0004) // [0x0000000000000000] // [0x00200000] DWORD bForceFrustration : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bDefaultCanSprint : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x00800000] DWORD bCanDoHeavyBump : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bAllowCombatTransitions : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bIsProbingMeleeRangeEvents : 1; // 0x0550 (0x0004) // [0x0000000000000000] [0x04000000] DWORD bDebug_DrawAIDebug : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x08000000] DWORD bDebug_DrawAnchor : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x10000000] DWORD bDebug_ShowPreparingMove : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bDebug_ShowStrikeRange : 1; // 0x0550 (0x0004) [0x0000000000000000] // [0x40000000] DWORD bDebug_ShowAllStrikeRange : 1; // 0x0550 (0x0004) // [0x0000000000000000] [0x80000000] DWORD bDebug_LogToProfiler : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDebug_DrawPath : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDebug_DrawOverheadInfo : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUseUniqueAILogFile : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bDebug_PostRenderInfo : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bDebug_DrawSeparationSteering : 1; // 0x0554 (0x0004) // [0x0000000000000000] [0x00000020] DWORD bHasDebugCommand : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bForceDebugCommand : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bDebug_DrawAttackAnimInfo : 1; // 0x0554 (0x0004) // [0x0000000000000000] [0x00000100] DWORD bDebug_ShowViewCone : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bDisablePartialPaths : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bIsSimulatedPlayerController : 1; // 0x0554 (0x0004) // [0x0000000000000000] [0x00000800] DWORD bDebugCommandHistory : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bDumpCommandHistoryOnExit : 1; // 0x0554 (0x0004) // [0x0000000000000000] [0x00002000] DWORD bDumpedCommandHistory : 1; // 0x0554 (0x0004) [0x0000000000000000] // [0x00004000] class AKFGameInfo* MyKFGameInfo; // 0x0558 (0x0008) [0x0000000000000000] class AKFPawn_Monster* MyKFPawn; // 0x0560 (0x0008) [0x0000000000000000] class UKFAIDirector* MyAIDirector; // 0x0568 (0x0008) [0x0000000000000000] class UKFAISteering* Steering; // 0x0570 (0x0008) [0x0000000000000000] class UClass* DefaultCommandClass; // 0x0578 (0x0008) [0x0000000000000000] class UClass* MeleeCommandClass; // 0x0580 (0x0008) [0x0000000000000000] class AActor* IntermediateMoveGoal; // 0x0588 (0x0008) [0x0000000000000000] int FailedMoveToEnemyCount; // 0x0590 (0x0004) [0x0000000000000000] float MoveOffset; // 0x0594 (0x0004) [0x0000000000000000] class AActor* MoveGoal; // 0x0598 (0x0008) [0x0000000000000000] struct FBasedPosition MovePosition; // 0x05A0 (0x0038) [0x0000000000000000] class AActor* MoveFocus; // 0x05D8 (0x0008) [0x0000000000000000] float LastDetourCheckTime; // 0x05E0 (0x0004) [0x0000000000000000] float LastObstructionTime; // 0x05E4 (0x0004) [0x0000000000000000] float LastSprintChangeTime; // 0x05E8 (0x0004) [0x0000000000000000] struct FRotator LockedRotation; // 0x05EC (0x000C) [0x0000000000000000] class UAICommand* CachedAICommandList; // 0x05F8 (0x0008) [0x0000000000000000] float NextDirectPathCheckTime; // 0x0600 (0x0004) [0x0000000000000000] float DirectPathCheckFrequency_Min; // 0x0604 (0x0004) [0x0000000000000000] float DirectPathCheckFrequency_Max; // 0x0608 (0x0004) [0x0000000000000000] float DirectPathExtentModifier; // 0x060C (0x0004) [0x0000000000000000] struct FVector2D SprintWithinEnemyRange; // 0x0610 (0x0008) [0x0000000000000000] float RotationRateMultiplier; // 0x0618 (0x0004) [0x0000000000000000] class AKFDoorActor* PendingDoor; // 0x061C (0x0008) [0x0000000000000000] float LastLOSCheckTime; // 0x0624 (0x0004) [0x0000000000000000] float MinTimeBetweenLOSChecks; // 0x0628 (0x0004) [0x0000000000000000] class AKFPathnode* BlockedPath; // 0x062C (0x0008) [0x0000000000000000] float MaxBlockedPathDuration; // 0x0634 (0x0004) [0x0000000000000000] struct FColor PathNodeShowRouteCacheColor; // 0x0638 (0x0004) [0x0000000000000000] struct FVector PathNodeShowRouteCacheCrossOffset; // 0x063C (0x000C) // [0x0000000000000000] float PathNodeShowRouteCacheCrossSize; // 0x0648 (0x0004) // [0x0000000000000000] struct FVector PathNodeShowRouteCacheNumberLabelOffset; // 0x064C (0x000C) // [0x0000000000000000] float PathNodeShowRouteCacheNumberLabelDuration; // 0x0658 (0x0004) // [0x0000000000000000] class UAIPluginMovement* KfMovementPlugin; // 0x065C (0x0008) [0x0000000000000000] class UAIPluginLeap* KfLeapPlugin; // 0x0664 (0x0008) [0x0000000000000000] class UAIPluginStuckFix* KfStuckFixPlugin; // 0x066C (0x0008) [0x0000000000000000] class UAIPluginMovement* KfWallWalkingPlugIn; // 0x0674 (0x0008) [0x0000000000000000] unsigned char CurrentMovementPhase; // 0x067C (0x0001) [0x0000000000000000] unsigned char TypeOfMovementStuckOn; // 0x067D (0x0001) [0x0000000000000000] unsigned char AIRemainingTeleportThreshold; // 0x067E (0x0001) [0x0000000000000000] unsigned char PendingAnimStrikeIndex; // 0x067F (0x0001) [0x0000000000000000] unsigned char FrustrationThreshold; // 0x0680 (0x0001) [0x0000000000000000] unsigned char CurrentEnemysHistoryIndex; // 0x0681 (0x0001) [0x0000000000000000] unsigned char DebugCurrentStrikeIndex; // 0x0682 (0x0001) [0x0000000000000000] struct FColor Move_failure_type_none_color; // 0x0684 (0x0004) [0x0000000000000000] struct FColor Move_failure_type_no_nav_mesh_path_color; // 0x0688 (0x0004) // [0x0000000000000000] struct FColor Move_failure_type_same_intermediate_point_too_many_times_color; // 0x068C // (0x0004) // [0x0000000000000000] struct FColor MoveFailureTypeTargetOffNavMeshAndCanNotFindLocaitonNearThemICanMoveTo; // 0x0690 (0x0004) [0x0000000000000000] float DefaultMaxTimeAllowedToStayStuckBeforeSuicide; // 0x0694 (0x0004) // [0x0000000000000000] float NoNavMeshPathMaxTimeAllowedToStayStuckBeforeSuicide; // 0x0698 (0x0004) // [0x0000000000000000] float SameIntermediatePointToManyTimesMaxTimeAllowedToStayStuckBeforeSuicide; // 0x069C (0x0004) [0x0000000000000000] float TargetOffNavMeshAndCanNotFindLocaitonNearThemICanMoveTooMaxTimeAllowedToStayStuckBeforeSuicide; // 0x06A0 (0x0004) [0x0000000000000000] float SameIntermediatePointToManyTimesDurationAfterStartedMovingAgaintToStopStuckCheck; // 0x06A4 (0x0004) [0x0000000000000000] float DefaultMinDistaceToHaveToMoveToBeConcideredStuckBeforeSuicide; // 0x06A8 // (0x0004) // [0x0000000000000000] float NoNavMeshPathMinDistaceToHaveToMoveToBeConcideredStuckBeforeSuicide; // 0x06AC (0x0004) [0x0000000000000000] float SameIntermediatePointToManyTimesMinDistaceToHaveToMoveToBeConcideredStuckBeforeSuicide; // 0x06B0 (0x0004) [0x0000000000000000] class UTexture2D* MovementPhaseTypePathNodeNormalMoveToIcon; // 0x06B4 (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypePathNodeMoveFailedIcon; // 0x06BC (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypePathNodeMoveToPointIcon; // 0x06C4 (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypePathNodeRotateToFocusIcon; // 0x06CC (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypePathNodeDelayMoveIcon; // 0x06D4 (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypeUnknownIcon; // 0x06DC (0x0008) [0x0000000000000000] class UTexture2D* MovementPhaseTypeNavMeshNormalMoveToIcon; // 0x06E4 (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypeFinalDestMoveTowardsIcon; // 0x06EC (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypeEMT_LOS_MoveTowardsIcon; // 0x06F4 (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypeMovingToNavMeshUsingPathNodesIcon; // 0x06FC (0x0008) // [0x0000000000000000] class UTexture2D* MovementPhaseTypeFALLBACK_REFUSED_TO_BE_EXPLOTIED_FIND_NEARBY_MESH_POINT_MOVE_TO_DIRECT_NON_PATH_POSIcon; // 0x0704 (0x0008) [0x0000000000000000] class UTexture2D* MovementPhaseTypeFALLBACK_FIND_NEARBY_MESH_POINT_MOVE_TO_DIRECT_NON_PATH_POSIcon; // 0x070C (0x0008) [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnUnknownWhyIcon; // 0x0714 (0x0008) // [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnMOVE_FAILURE_TYPE_NO_NAV_MESH_PATHIcon; // 0x071C // (0x0008) // [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnMOVE_FAILURE_TYPE_SAME_INTERMEDIATE_POINT_TOO_MANY_TIMESIcon; // 0x0724 (0x0008) [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnMOVE_FAILURE_TYPE_TARGET_OFF_NAV_MESH_AND_CAN_NOT_FIND_LOCAITON_NEAR_THEM_I_CAN_MOVE_TOIcon; // 0x072C (0x0008) [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnLookingForBetterIntermediateLoc; // 0x0734 // (0x0008) // [0x0000000000000000] class UTexture2D* TypeOfMovementStuckOnMoveToBetterIntermediate; // 0x073C (0x0008) // [0x0000000000000000] struct FColor ColorForCollisionRadiusForReducedZedOnZedPinchPointCollisionStateOff; // 0x0744 (0x0004) [0x0000000000000000] struct FColor ColorForCollisionRadiusForReducedZedOnZedPinchPointCollisionStateOn; // 0x0748 (0x0004) [0x0000000000000000] float DistanceToCheckForClearPathOnNavMeshLocWhenOffNavMesh; // 0x074C // (0x0004) // [0x0000000000000000] float DistanceToCheckForNonExploitedOnNavMeshLocWhenOffNavMesh; // 0x0750 // (0x0004) // [0x0000000000000000] float DistanceToCheckForNonExploitedOnNavMeshLocWhenOnDeadEndOfNavMesh; // 0x0754 // (0x0004) // [0x0000000000000000] struct FColor DefaultColorOfValidLocationWhenLookingForLocationsOnNavMesh; // 0x0758 // (0x0004) // [0x0000000000000000] struct FColor DefaultColorOfSearchSphereWhenNoValidLocationsFoundWhenLookingForLocationsOnNavMesh; // 0x075C (0x0004) [0x0000000000000000] struct FColor ColorOfValidLocationFoundFor1stTryLookingForLocationsOnNavMesh; // 0x0760 // (0x0004) // [0x0000000000000000] struct FColor ColorOfSearchSphereWhenNoValidLocationsFoundFor1stTryLookingForLocationsOnNavMesh; // 0x0764 (0x0004) [0x0000000000000000] struct FColor ColorOfValidLocationFoundFor2ndTryLookingForLocationsOnNavMesh; // 0x0768 // (0x0004) // [0x0000000000000000] struct FColor ColorOfSearchSphereWhenNoValidLocationsFoundFor2ndTryLookingForLocationsOnNavMesh; // 0x076C (0x0004) [0x0000000000000000] struct FColor ColorOfValidLocationFoundFor3rdTryLookingForLocationsOnNavMesh; // 0x0770 // (0x0004) // [0x0000000000000000] struct FColor ColorOfSearchSphereWhenNoValidLocationsFoundFor3rdTryLookingForLocationsOnNavMesh; // 0x0774 (0x0004) [0x0000000000000000] struct FColor ColorOfValidLocationFoundForLookingForLocationsOnNavMeshWhenOnDeadEndOfNavMesh; // 0x0778 (0x0004) [0x0000000000000000] struct FColor ColorOfSearchSphereWhenNoValidLocationsFoundForTryLookingForLocationsOnNavMeshWhenOnDeadEndOfNavMesh; // 0x077C (0x0004) [0x0000000000000000] float DistanceToCheckForClearPathOnNavMeshLocWhenEnemyIsOffNavMesh; // 0x0780 // (0x0004) // [0x0000000000000000] float DistanceToCheckForNonExploitedOnNavMeshLocWhenEnemyIsOffNavMesh; // 0x0784 // (0x0004) // [0x0000000000000000] float GeneralGoalDistanceForMovingToDoor; // 0x0788 (0x0004) // [0x0000000000000000] float RecastEnemyRepathDistance; // 0x078C (0x0004) [0x0000000000000000] struct FVector DropEdgeLeapVelocity; // 0x0790 (0x000C) [0x0000000000000000] float MaxRangeToDropEdgeAllowedToLeadFrom; // 0x079C (0x0004) // [0x0000000000000000] float DistanceDownRangeToFocusForDropEdgeLeap; // 0x07A0 (0x0004) // [0x0000000000000000] float TimeToShowEdgeTypeForNavMeshPathting; // 0x07A4 (0x0004) // [0x0000000000000000] struct FVector LastLeaderPosOffset; // 0x07A8 (0x000C) [0x0000000000000000] float LastNotifyHitWallTime; // 0x07B4 (0x0004) [0x0000000000000000] class AActor* LastHitWall; // 0x07B8 (0x0008) [0x0000000000000000] struct FVector LastWallHitNormal; // 0x07C0 (0x000C) [0x0000000000000000] int HitWallCount; // 0x07CC (0x0004) [0x0000000000000000] TArray BlockedPathList; // 0x07D0 (0x0010) [0x0000000000000000] class AKFPawn* LastBumper; // 0x07E0 (0x0008) [0x0000000000000000] float CurBumpVal; // 0x07E8 (0x0004) [0x0000000000000000] float BumpThreshold; // 0x07EC (0x0004) [0x0000000000000000] float BumpDecayRate; // 0x07F0 (0x0004) [0x0000000000000000] float BumpGrowthRate; // 0x07F4 (0x0004) [0x0000000000000000] float LastStuckCheckTime; // 0x07F8 (0x0004) [0x0000000000000000] float TotalStuckCheckCloseRangeTime; // 0x07FC (0x0004) [0x0000000000000000] float LastStuckCheckCloseRangeTime; // 0x0800 (0x0004) [0x0000000000000000] float StuckCheckInterval; // 0x0804 (0x0004) [0x0000000000000000] float StuckVelocityThreshholdSquared; // 0x0808 (0x0004) [0x0000000000000000] float StuckPossiblity; // 0x080C (0x0004) [0x0000000000000000] float StuckPossiblityThreshhold; // 0x0810 (0x0004) [0x0000000000000000] float LastStuckTime; // 0x0814 (0x0004) [0x0000000000000000] float LastTeleportCheckTime; // 0x0818 (0x0004) [0x0000000000000000] float LastTeleportTime; // 0x081C (0x0004) [0x0000000000000000] float TeleportCheckInterval; // 0x0820 (0x0004) [0x0000000000000000] float TeleportCooldown; // 0x0824 (0x0004) [0x0000000000000000] float HiddenRelocateTeleportThreshold; // 0x0828 (0x0004) // [0x0000000000000000] float PostSpawnRelocateTeleportCooldown; // 0x082C (0x0004) // [0x0000000000000000] struct FVector LastTeleportLocation; // 0x0830 (0x000C) [0x0000000000000000] float LastSpecialMoveEndTime; // 0x083C (0x0004) [0x0000000000000000] struct FVector LastStuckCheckLocation; // 0x0840 (0x000C) [0x0000000000000000] float XYMoveStuckThresholdSquared; // 0x084C (0x0004) [0x0000000000000000] float ZMoveStuckThresholdSquared; // 0x0850 (0x0004) [0x0000000000000000] float StuckCheckEnemyDistThreshholdSquared; // 0x0854 (0x0004) // [0x0000000000000000] float NavigationBumpTeamCollisionThreshholdSquared; // 0x0858 (0x0004) // [0x0000000000000000] float FallingStuckNoZVelocityTime; // 0x085C (0x0004) [0x0000000000000000] int NumFailedLatentWalkMoves; // 0x0860 (0x0004) [0x0000000000000000] class APawn* StepAsideGoal; // 0x0864 (0x0008) [0x0000000000000000] float MaxStepAsideDist; // 0x086C (0x0004) [0x0000000000000000] float LastFailedToFindStepAsideLocation; // 0x0870 (0x0004) // [0x0000000000000000] class APawn* LastBumpedPawn; // 0x0874 (0x0008) [0x0000000000000000] float LastBumpTime; // 0x087C (0x0004) [0x0000000000000000] float AttackRange; // 0x0880 (0x0004) [0x0000000000000000] float StrikeRange; // 0x0884 (0x0004) [0x0000000000000000] float StrikeRangePercentage; // 0x0888 (0x0004) [0x0000000000000000] float DoorMeleeDistance; // 0x088C (0x0004) [0x0000000000000000] float MaxMeleeHeightAngle; // 0x0890 (0x0004) [0x0000000000000000] float LastAttackTime_Melee; // 0x0894 (0x0004) [0x0000000000000000] float LastMeleeAttackDecisionTime; // 0x0898 (0x0004) [0x0000000000000000] float LastSelectEnemyTime; // 0x089C (0x0004) [0x0000000000000000] float LastSetEnemyTime; // 0x08A0 (0x0004) [0x0000000000000000] float MinTimeBetweenStatusUpdates; // 0x08A4 (0x0004) [0x0000000000000000] float MaxTimeBetweenStatusUPdates; // 0x08A8 (0x0004) [0x0000000000000000] float LastMoveFinishTime; // 0x08AC (0x0004) [0x0000000000000000] float MinTimeBetweenEnemyChanges; // 0x08B0 (0x0004) [0x0000000000000000] float LastDestructibleBumpTime; // 0x08B4 (0x0004) [0x0000000000000000] class AActor* ActorEnemy; // 0x08B8 (0x0008) [0x0000000000000000] class AKFDoorActor* DoorEnemy; // 0x08C0 (0x0008) [0x0000000000000000] class AKFPawn* MeleeTarget; // 0x08C8 (0x0008) [0x0000000000000000] float EnemyVisibilityTime; // 0x08D0 (0x0004) [0x0000000000000000] float LastEnemySwitchTime; // 0x08D4 (0x0004) [0x0000000000000000] class APawn* CachedVisibleEnemy; // 0x08D8 (0x0008) [0x0000000000000000] class AProjectile* PendingEvadeProjectile; // 0x08E0 (0x0008) [0x0000000000000000] float EvadeGrenadeChance; // 0x08E8 (0x0004) [0x0000000000000000] float LastGetStrikeTime; // 0x08EC (0x0004) [0x0000000000000000] float MaxGetStrikeTime; // 0x08F0 (0x0004) [0x0000000000000000] float FrustrationDelay; // 0x08F4 (0x0004) [0x0000000000000000] float LastFrustrationCheckTime; // 0x08F8 (0x0004) [0x0000000000000000] float GoalDistanceWhenMovingToLocationForMeleeStrikeWhenEnemyIsOffNavMesh; // 0x08FC (0x0004) [0x0000000000000000] TArray CooldownTimers; // 0x0900 (0x0010) [0x0000000000000000] struct FCooldownData OverallAttackCooldownTimer; // 0x0910 (0x0010) [0x0000000000000000] float LowIntensityAttackCooldown; // 0x0920 (0x0004) [0x0000000000000000] class UKFAiDirectProjectileFireBehavior* DirectProjectileFireBehavior; // 0x0924 (0x0008) [0x0000000000000000] class UKFAiLeapBehavior* LeapBehavior; // 0x092C (0x0008) [0x0000000000000000] struct FVector BaseShapeOfProjectileForCalc; // 0x0934 (0x000C) [0x0000000000000000] float LastShotTime; // 0x0940 (0x0004) [0x0000000000000000] int ZedBumpEffectThreshold; // 0x0944 (0x0004) [0x0000000000000000] float ZedBumpObliterationEffectChance; // 0x0948 (0x0004) // [0x0000000000000000] TArray DangerEvadeSettings; // 0x094C (0x0010) [0x0000000000000000] struct FsEvadeOnDamageInfo EvadeOnDamageSettings; // 0x095C (0x0010) [0x0000000000000000] int AccumulatedEvadeDamage; // 0x096C (0x0004) [0x0000000000000000] int AccumulatedBlockDamage; // 0x0970 (0x0004) [0x0000000000000000] TArray FriendlyDamageHistory; // 0x0974 (0x0010) [0x0000000000000000] float AggroPlayerHealthPercentage; // 0x0984 (0x0004) [0x0000000000000000] float AggroPlayerResetTime; // 0x0988 (0x0004) [0x0000000000000000] float MinDistanceToAggroZed; // 0x098C (0x0004) [0x0000000000000000] float AggroZedResetTime; // 0x0990 (0x0004) [0x0000000000000000] float AggroZedHealthPercentage; // 0x0994 (0x0004) [0x0000000000000000] float AggroEnemySwitchWaitTime; // 0x0998 (0x0004) [0x0000000000000000] float LastTauntTime; // 0x099C (0x0004) [0x0000000000000000] float RepeatWalkingTauntTime; // 0x09A0 (0x0004) [0x0000000000000000] float NextTauntTime; // 0x09A4 (0x0004) [0x0000000000000000] float NextRandomTauntTime; // 0x09A8 (0x0004) [0x0000000000000000] float TauntTeamFactor; // 0x09AC (0x0004) [0x0000000000000000] struct FVector2D TauntTimeDelay; // 0x09B0 (0x0008) [0x0000000000000000] struct FVector2D RandomTauntTimeDelay; // 0x09B8 (0x0008) [0x0000000000000000] TArray InvalidAnchorList; // 0x09C0 (0x0010) [0x0000000000000000] float TimeFirstSawPlayer; // 0x09D0 (0x0004) [0x0000000000000000] struct FVector ChargeLocation; // 0x09D4 (0x000C) [0x0000000000000000] struct FString RecentActionInfo; // 0x09E0 (0x0010) [0x0000000000000000] struct FRotator Debug_StepRot; // 0x09F0 (0x000C) [0x0000000000000000] struct FBasedPosition Debug_StepLoc; // 0x09FC (0x0038) [0x0000000000000000] class AKFPawn* ChargeTarget; // 0x0A34 (0x0008) [0x0000000000000000] struct FString AIActionStatus; // 0x0A3C (0x0010) [0x0000000000000000] struct FColor Debug_TextColorOverride; // 0x0A4C (0x0004) [0x0000000000000000] TArray EnabledDebugTextCategories; // 0x0A50 (0x0010) [0x0000000000000000] class AKFSpawnVolume* MySpawnVolume; // 0x0A60 (0x0008) [0x0000000000000000] struct FVector LocationAtStartOfStuckCheck; // 0x0A68 (0x000C) [0x0000000000000000] struct FVector LocationAtLastStuckCheck; // 0x0A74 (0x000C) [0x0000000000000000] class UAICommand* CmdTriggeringHardCoreStuckChecking; // 0x0A80 (0x0008) // [0x0000000000000000] class UAITickablePlugin* PlugInTriggeringTriggeringHardCoreStuckChecking; // 0x0A88 (0x0008) // [0x0000000000000000] TArray KFAICommandHistory; // 0x0A90 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3303]; return pClassPointer; }; void GetCommandStack(); void DrawMaxHitRange(); void DrawAttackRangeText(); void eventDrawStrikeRangeLines(); void DrawStrikeRange(); void eventDrawStrikeRanges(); void eventEvaluateThreatFrom(); void eventGetPlayerViewPoint(); void EnterZedVictoryState(); void GetIsInZedVictoryState(); void ResetKFAIC(); void SpawnEnraged(); void NotifyEnRaged(); void GetMinDistanceToAnyPlayer(); void DebugLogRoute(); void CanAttackDestructibles(); void NotifyAttackActor(); void NotifyAttackDoor(); void DoorFinished(); void Timer_WaitingForDoor(); void eventWaitForDoor(); void CanReachEvadeLocation(); void GetBestEvadeDir(); void CanEvade(); void Timer_DoProjectileEvade(); void CanEvadeGrenade(); void HandleProjectileWarning(); void DoProjectileWarning(); void UpdateFriendlyDamageHistory(); void NotifyFriendlyAIDamageTaken(); void NotifyTakeHit(); void ReceiveLocationalWarning(); void ReceiveProjectileWarning(); void ReceiveMeleeWarning(); void GetDangerEvadeDelay(); void DrawBehaviorTreeIconOverhead(); void DrawDebugOverheadMovementPhaseData(); void IsAggroEnemySwitchAllowed(); void DoDebugTurnInPlace(); void BeginDebugCommand(); void DrawDebug(); void IsDebugTextCategoryEnabled(); void DrawAttackInfo(); void eventPostRenderFor(); void SetPostRendering(); void DumpStack(); void eventDebug_AIPaused(); void Debug_CheckRecentMoveTime(); void AmIAllowedToStillUsePathNodes(); void AmIAllowedToSuicideWhenStuck(); void HardCoreCheckStuckTimer(); void GetMinDistaceToHaveToMoveToBeConcideredStuckByStuckType(); void ToggleHardCoreStuckNpcs(); void GetMaxTimeAllowedToStayStuckBasedOnStuckType(); void Debug_CheckStuckTimer(); void ShowStuckNpcsToggle(); void LogToProfiler(); void KFDebug_DrawPathGoal(); void KFDebug_DrawPathTo(); void KFDebug_DrawMyPath(); void KFDebug_DrawPath(); void KFDebug_ClearDebugText(); void KFDebug_ClearSpheres(); void KFDebug_ClearLines(); void GetDebugLines(); void ScreenMessagePlayer(); void eventPauseAndShowMsg(); void AIBugItStringCreator(); void eventAILog_Internal(); void eventmsg(); void OnDestroy(); void eventSetRecentActionInfo(); void IsInDebugMode(); void SetupDebug(); void DrawDebugTextToHud(); void DrawDebugText(); void DumpCommandHistory(); void StartSteering(); void NotifySpecialMoveStarted(); void NotifySpecialMoveEnded(); void SpecialMoveTimeout(); void NotifyMeleeDamageDealt(); void DrawFireAttackDebug(); void eventNotifyBump(); void eventHearNoise(); void eventEnemyNotVisible(); void eventSeePlayer(); void RestoreCollisionCylinderReducedPercentForSameTeamIgnoreBlockingBy(); void ReduceCollisionCylinderReducedPercentForSameTeamIgnoreBlockingBy(); void SpecialBumpHandling(); void ShouldReduceZedOnZedCollisionOnBumpForNavigating(); void RelocateTeleport(); void StuckTeleportToPathNode(); void StuckTeleportToSpawnVolume(); void StuckSuicide(); void HandleStuck(); void EvaluateStuckPossibility(); void EvaluateTeleportPossibility(); void Tick(); void eventTouch(); void eventDisableBump(); void eventEnableBump(); void RecordBump(); void eventDisableHearNoise(); void eventEnableHearNoise(); void IsPawnVisibleViaTrace(); void eventDisableEnemyNotVisible(); void eventEnableEnemyNotVisible(); void eventDisableSeePlayer(); void eventEnableSeePlayer(); void eventNotifyFallingHitWall(); void eventNotifyHitWall(); void DisableNotifyHitWall(); void EnableNotifyHitWall(); void NotifyHuskSuicide(); void eventEnemyIsSurrounded(); void eventNotifyLanded(); void NotifyBaseChange(); void RecordHitWall(); void RecordLeapToWall(); void GetDropEdgeLeapVelocity(); void Timer_EnableJumpOverWalls(); void eventJumpedOverWall(); void eventMayFall(); void eventNotifyOnAddToRouteCache(); void IsNavInRouteCache(); void FailedToFindFallbackAnchor(); void GetFallbackAnchor(); void InvalidateAnchor(); void NotifyNeedRepath(); void eventForcePauseAndRepath(); void eventMoveUnreachable(); void eventFailMove(); void HandleZedBlockedPath(); void eventHandlePathObstruction(); void eventFindDirectPath(); void eventAllowDetourTo(); void SetFailedPathToEnemy(); void IsValidDirectMoveGoal(); void eventNotifyPathChanged(); void eventNotifyFailMove(); void eventNotifyLatentPostPhysWalking(); void NotifyReachedLatentMoveGoal(); void NotifyFleeFinished(); void NotifyCommandFinished(); void IsFrustrated(); void UpdateSprintFrustration(); void ShouldSprint(); void CanSetSprinting(); void SetCanSprintWhenDamaged(); void SetSprintingDisabled(); void SetCanSprint(); void GetMoveTimeOutDuration(); void GetEstimatedGroundSpeedForMoveTimout(); void MoveToEnemy_GetMoveFocus(); void eventFailedMove(); void ShouldDelayStepAside(); void eventStepAsideFor(); void eventAttitudeStateChanged(); void EndPanicWander(); void DoPanicWander(); void DoHeadlessWander(); void DoStumble(); void DoEvade(); void PreMoveToEnemy(); void DoProjectileEvade(); void eventRunOverWarning(); void CanDoStrike(); void DoStrike(); void eventSetEnemyMoveGoal(); void eventSetMovePoint(); void eventSetMoveGoal(); void DoFleeFrom(); void DoWander(); void DoPauseAI(); void ShowAdvancedRouteEdgeDebugInfo(); void AddBlockedReachSpec(); void eventGenerateDoorlessPathTo(); void eventGenerateNavMeshPathToLocation(); void eventGenerateNavMeshPathTo(); void eventGeneratePathTo(); void MovePointIsValid(); void MoveGoalIsValid(); void MoveIsInterruptable(); void ReachedIntermediateMoveGoal(); void eventReachedMoveGoal(); void eventAllowedToMove(); void eventStoppingMovement(); void eventStartingMovement(); void StopMovement(); void AIZeroMovementVariables(); void eventAbortMovementPlugIns(); void eventAbortMovementCommands(); void ClearMovementInfo(); void eventStopAllLatentMovement(); void IsDoingLatentMove(); void SetDirectPathCheckTime(); void CalcClosestPointTime(); void GetRouteCacheDistance(); void GetSteering(); void InitSteering(); void IsMovingToJumpPoint(); void ActorReachableNoAnchorCheck(); void CheckInterruptCombatTransitions(); void CheckOverallCooldownTimer(); void SetOverallCooldownTimer(); void AddCooldownTimer(); void CheckCooldownTimer(); void AreZedsNear(); void CanSeeByPointsEx(); void GetZedCount(); void OtherZedsTargetingMyEnemy(); void NumberOfZedsTargetingPawn(); void eventDoGrabAttack(); void eventCanGrabAttack(); void ChooseStrikeByName(); void UpdateLastMeleeTime(); void NotifyCommandMeleeAttackAborted(); void EndOfMeleeAttackNotification(); void WithinMeleeHeightDifference(); void IsWithinAttackRange(); void IsValidAttackTarget(); void BeginMeleeCommand(); void NotifyMeleeAttackFinished(); void DoHeavyZedBump(); void SelectTarget(); void SelectEnemy(); void HasValidEnemy(); void NotifyKilled(); void CheckCombatTransition(); void eventIsDoingAttackSpecialMove(); void GetClosestEnemy(); void CleanOutCommandListOnCombatTransition(); void InitalizeBaseCommand(); void BeginCombatCommand(); void CanTargetBeGrabbed(); void IsDoingGrabSpecialMove(); void IsSuicidal(); void eventReadyToMelee(); void ResetProbingMeleeRangeEvents(); void EnableProbingMeleeRangeEvents(); void GetAggroRating(); void CheckForEnemiesInFOV(); void ChangeEnemy(); void eventSetEnemy(); void eventSetEnemyToZed(); void GetHasAcceptableEnemyCount(); void eventFindNewEnemy(); void IsTargetedByPlayer(); void StopAllLatentMoveExecution(); void IsMeleeRangeEventProbingEnabled(); void DisableMeleeRangeEventProbing(); void EnableMeleeRangeEventProbing(); void InChargeRange(); void InAnyAttackTagRange(); void InAttackTagRange(); void InMeleeRange(); void IsCloseEnoughToEnemy(); void GetClosestTimeAndDistToPawn(); void HasEnemyWithinDistance(); void eventDestroyed(); void eventTeleportToLocation(); void AttemptToTeleport(); void PawnDied(); void GetHealthPercentage(); void AddBasePathConstraints(); void ReturnToIdle(); void SetBestAnchor(); void ShouldReturnToIdle(); void GetDefaultCommand(); void eventSetInitialState(); void Timer_EvaluateStatus(); void CreateTemporaryBlockedReach(); void eventCreateTemporaryBlockedPath(); void UpdateStrikeRange(); void UpdatePendingStrike(); void eventPossess(); void eventPostBeginPlay(); void eventTargetedByPlayer(); void eventSetChargeLocation(); void CleanUpOnDestroy(); void IsLookingAtWall(); void GetTeamNum(); void SuggestNewWanderPoint(); void IsPawnInFireLine(); void TestTrace(); void ActorBlockTest(); void FastActorTrace(); void EstimateProjectileTimeToTarget(); void CalcAimLocToHit(); void IsFriendlyBlockingFireLine(); void UnlockPawnRotation(); void LockPawnRotationTo(); void GetPawnBlockingPathTo(); void IsPawnMovingAwayFromMe(); void IgnoreNotifies(); void PopCommand(); void PushCommand(); void AbortCommand(); void Cleanup(); void ComputeTrajectoryByTime(); void IsPawnBlockingLine(); void LineBlockedByActor(); void BumperSomewhereToGo(); }; UClass* AKFAIController::pClassPointer = NULL; // Class KFGame.AICommand // 0x0024 (0x00B8 - 0x0094) class UAICommand : public UGameAICommand { public: class AKFAIController* AIOwner; // 0x0094 (0x0008) [0x0000000000000000] class UAICommand* CachedChildCommand; // 0x009C (0x0008) [0x0000000000000000] DWORD bAllowedToAttack : 1; // 0x00A4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bInterruptPauseCommand : 1; // 0x00A4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDisableMovementPluginOnPushed : 1; // 0x00A4 (0x0004) // [0x0000000000000000] // [0x00000004] struct FString OverrideLogCategory; // 0x00A8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3305]; return pClassPointer; }; void CanInterruptPauseCommand(); void eventGetDebugVerboseText(); void eventDrawDebug(); void UpdateHistoryString(); void UpdateCommandHistory(); void NotifyNeedRepath(); void MoveUnreachable(); void FindDirectPath(); void AdjustEnemyRating(); void ShouldSelectTarget(); void IsControllerAlive(); void IsPawnAlive(); void IsAllowedToAttack(); void ShouldIgnoreTimeTransitions(); void NotifyNpcInGrannyMode(); void NotifyNpcTerminallyStuck(); void NotifyMovingOnToDestructibleEdge(); void NotifyTouch(); void NotifyLatentPostPhysWalking(); void NotifyBump(); void NotifyHuskSuicide(); void NotifyFallingHitWall(); void NotifyHitWall(); void EnemyIsSurrounded(); void NotifyLanded(); void NotifyBaseChange(); void NotifyEnemyNotVisible(); void NotifyPlayerBecameVisible(); void NotifyDoorOpened(); void NotifyEnemyChanged(); void CanChangeEnemy(); void NotifyCombatBehaviorChange(); void NotifyHearNoise(); void GetParentCommand(); void AllowPushOfDefaultCommandForSpecialMove(); void eventHandleAICommandSpecialAction(); void Popped(); void Resumed(); void Paused(); void PostPopped(); void Pushed(); void PrePushed(); }; UClass* UAICommand::pClassPointer = NULL; // Class KFGame.AICommand_Base_Combat // 0x0018 (0x00D0 - 0x00B8) class UAICommand_Base_Combat : public UAICommand { public: struct FVector2D InitialTransitionCheckTime; // 0x00B8 (0x0008) [0x0000000000000000] struct FVector2D TransitionCheckTime; // 0x00C0 (0x0008) [0x0000000000000000] struct FName DefaultStateName; // 0x00C8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3307]; return pClassPointer; }; void CombatSelectTarget(); void CheckTransition(); void TimedTransitionCheck(); void GetTransitionCheckTime(); void GetInitialTransitionCheckTime(); void Paused(); void Popped(); void Pushed(); }; UClass* UAICommand_Base_Combat::pClassPointer = NULL; // Class KFGame.KFAIController_Monster // 0x0020 (0x0AC0 - 0x0AA0) class AKFAIController_Monster : public AKFAIController { public: DWORD bCompletedInitialGrabAttack : 1; // 0x0AA0 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bPathAroundDestructiblesICantBreak : 1; // 0x0AA0 (0x0004) // [0x0000000000000000] // [0x00000002] DWORD bRepathOnInvalidStrike : 1; // 0x0AA0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUseRunOverWarning : 1; // 0x0AA0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bEvadeOnRunOverWarning : 1; // 0x0AA0 (0x0004) [0x0000000000000000] // [0x00000010] float MinDistanceToPerformGrabAttack; // 0x0AA4 (0x0004) [0x0000000000000000] float MinTimeBetweenGrabAttacks; // 0x0AA8 (0x0004) [0x0000000000000000] float LastAttackTime_Grab; // 0x0AAC (0x0004) [0x0000000000000000] float MinRunOverSpeed; // 0x0AB0 (0x0004) [0x0000000000000000] float LastRunOverWarningTime; // 0x0AB4 (0x0004) [0x0000000000000000] float MinRunOverWarningAim; // 0x0AB8 (0x0004) [0x0000000000000000] float RunOverEvadeDelayScale; // 0x0ABC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3309]; return pClassPointer; }; void eventRunOverWarning(); void HandleZedBlockedPath(); void DoMeleeAttack(); void DoStrike(); void CanDoStrike(); void eventCanGrabAttack(); void eventGeneratePathTo(); void eventReadyToMelee(); void Timer_EnableMeleeRangeEventProbing(); void SetPawnDefaults(); void eventPossess(); void InitPlayerReplicationInfo(); }; UClass* AKFAIController_Monster::pClassPointer = NULL; // Class KFGame.AICommand_Base_Zed // 0x0018 (0x00E8 - 0x00D0) class UAICommand_Base_Zed : public UAICommand_Base_Combat { public: struct FPointer VfTable_ILatentActionObserver; // 0x00D0 (0x0008) [0x0000000000000000] struct FName CachedAttackTag; // 0x00D8 (0x0008) [0x0000000000000000] unsigned char AttackFlags; // 0x00E0 (0x0001) [0x0000000000000000] DWORD bFailedPathfind : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bWaitingOnMovementPlugIn : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3311]; return pClassPointer; }; void ShouldSelectTarget(); void ShouldAttackWhileMoving(); void NotifyPlayerBecameVisible(); void NotifyEnemyChanged(); void NotifyBump(); void OnLatentFinished(); void Resumed(); void Paused(); void Pushed(); }; UClass* UAICommand_Base_Zed::pClassPointer = NULL; // Class KFGame.KFAIController_ZedFleshpound // 0x0050 (0x0B10 - 0x0AC0) class AKFAIController_ZedFleshpound : public AKFAIController_Monster { public: float LastChargeStuckCheckTime; // 0x0AC0 (0x0004) [0x0000000000000000] struct FVector LastChargeStuckCheckLocation; // 0x0AC4 (0x000C) [0x0000000000000000] float ChargeStuckCheckInterval; // 0x0AD0 (0x0004) [0x0000000000000000] int ChargeStuckCount; // 0x0AD4 (0x0004) [0x0000000000000000] float ChargeStuckCheckDistance; // 0x0AD8 (0x0004) [0x0000000000000000] DWORD bReadyToBecomeEnraged : 1; // 0x0ADC (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSawEnemy : 1; // 0x0ADC (0x0004) [0x0000000000000000] [0x00000002] DWORD bDebugLeaveTargetAngleThreshold : 1; // 0x0ADC (0x0004) // [0x0000000000000000] // [0x00000004] float LastKickClotTime; // 0x0AE0 (0x0004) [0x0000000000000000] class UKFAIPluginRage_Fleshpound* RagePlugin; // 0x0AE4 (0x0008) [0x0000000000000000] class UClass* RagePluginClass; // 0x0AEC (0x0008) [0x0000000000000000] TArray SpawnRagedChance; // 0x0AF4 (0x0010) [0x0000000000000000] struct FVector ChargePivot; // 0x0B04 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3313]; return pClassPointer; }; void UpdateSprintFrustration(); void NotifyEnRaged(); void DoRageTauntAt(); void SpawnEnraged(); void DoSpawnRageCheck(); void CanAttackDestructibles(); void eventSetEnemy(); void eventSeePlayer(); void RestoreCollisionSize(); void StartSteering(); void CanSetSprinting(); void ShouldSprint(); void eventIsEnraged(); void CanEvadeGrenade(); void eventAttitudeStateChanged(); void NotifyTakeHit(); void NotifyMeleeDamageDealt(); void eventFindNewEnemy(); void AmIAllowedToSuicideWhenStuck(); void Tick(); void Cleanup(); void eventPossess(); }; UClass* AKFAIController_ZedFleshpound::pClassPointer = NULL; // Class KFGame.AICommand_Base_Fleshpound // 0x0000 (0x00E8 - 0x00E8) class UAICommand_Base_Fleshpound : public UAICommand_Base_Zed { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3315]; return pClassPointer; }; void NotifyCombatBehaviorChange(); void NotifyEnemyChanged(); void NotifyPlayerBecameVisible(); void Popped(); void Pushed(); }; UClass* UAICommand_Base_Fleshpound::pClassPointer = NULL; // Class KFGame.AICommand_MoveToGoal // 0x011C (0x01D4 - 0x00B8) class UAICommand_MoveToGoal : public UAICommand { public: DWORD bCanPathfind : 1; // 0x00B8 (0x0004) [0x0000000000000000] [0x00000001] DWORD bValidRouteCache : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAllowPartialPath : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAllowedToAttackDuringMove : 1; // 0x00B8 (0x0004) // [0x0000000000000000] [0x00000008] DWORD bSavedIgnoreStepAside : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bEnableSkipAheadChecks : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bSkipAheadFail : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bGoalChangedDueToSkipAhead : 1; // 0x00B8 (0x0004) // [0x0000000000000000] [0x00000080] DWORD bGoalSurrounded : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000100] class AActor* IntermediateMoveGoal; // 0x00BC (0x0008) [0x0000000000000000] struct FBasedPosition LastPawnTargetPathLocation; // 0x00C4 (0x0038) [0x0000000000000000] class AActor* MoveToActor; // 0x00FC (0x0008) [0x0000000000000000] int NumTimesGetNextMoveGoalReturnedSameNode; // 0x0104 (0x0004) // [0x0000000000000000] int Retries; // 0x0108 (0x0004) [0x0000000000000000] int LoopFailSafeCounter; // 0x010C (0x0004) [0x0000000000000000] struct FVector LastMovePoint; // 0x0110 (0x000C) [0x0000000000000000] float TimeOutTime; // 0x011C (0x0004) [0x0000000000000000] class AActor* TurnFocus; // 0x0120 (0x0008) [0x0000000000000000] struct FVector TurnFocalPoint; // 0x0128 (0x000C) [0x0000000000000000] int WallHitCount; // 0x0134 (0x0004) [0x0000000000000000] struct FBasedPosition SkipAheadLastUpdatePos; // 0x0138 (0x0038) [0x0000000000000000] float SkipAheadUpdateThreshold; // 0x0170 (0x0004) [0x0000000000000000] int SkipAheadMaxNodes; // 0x0174 (0x0004) [0x0000000000000000] float SkipAheadMaxDist; // 0x0178 (0x0004) [0x0000000000000000] float SkipAheadPitCheckInterval; // 0x017C (0x0004) [0x0000000000000000] float SkipAheadPitCheckHeight; // 0x0180 (0x0004) [0x0000000000000000] int SkipAheadNumActiveTests; // 0x0184 (0x0004) [0x0000000000000000] int SkipAheadCurrentTestingIndex; // 0x0188 (0x0004) [0x0000000000000000] unsigned char UnknownData00 [0x48]; // 0x018C (0x0048) UNKNOWN PROPERTY: MapProperty // KFGame.AICommand_MoveToGoal.NonSkippableWaypoints private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3317]; return pClassPointer; }; void NotifyLatentPostPhysWalking(); void NotifyBump(); void AdjustAround(); void Timer_DelayMoveTimeOut(); void CheckForStuckPath(); void NotifyNeedRepath(); void eventGetDumpString(); void NotifyPlayerBecameVisible(); void StartingMove(); void Obstruction_Fail(); void Obstruction_Repath(); void HandlePathObstruction(); void CheckForIntermediateEnemies(); void ReachedIntermediateMoveGoal(); void ReachedMoveGoal(); void MoveUnreachable(); void HasReachedMoveGoal(); void MovePointIsValid(); void MoveGoalIsValid(); void MoveToGoalTimedOut(); void RouteCache_RemoveIndex(); void FindPathTo(); void FindPathToward(); void ReEvaluatePath(); void eventEnemyIsSurrounded(); void Resumed(); void Paused(); void Popped(); void Pushed(); void MoveToPoint(); void MoveToGoal(); void AddNonSkippableWayPoint(); void ClearNonSkippableWayPoints(); }; UClass* UAICommand_MoveToGoal::pClassPointer = NULL; // Class KFGame.AICommand_SpecialMove // 0x003C (0x00F4 - 0x00B8) class UAICommand_SpecialMove : public UAICommand { public: unsigned char SpecialMove; // 0x00B8 (0x0001) [0x0000000000000000] struct FName DefaultStartState; // 0x00BC (0x0008) [0x0000000000000000] float TerminationTime; // 0x00C4 (0x0004) [0x0000000000000000] DWORD bShouldCheckSpecialMove : 1; // 0x00C8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUpdateStartAnchor : 1; // 0x00C8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUpdateAnchorOnSuccess : 1; // 0x00C8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bForceReady : 1; // 0x00C8 (0x0004) [0x0000000000000000] [0x00000008] DWORD bWaitForLanding : 1; // 0x00C8 (0x0004) [0x0000000000000000] // [0x00000010] float TimeOutDelaySeconds; // 0x00CC (0x0004) [0x0000000000000000] float FailureSleepTimeSeconds; // 0x00D0 (0x0004) [0x0000000000000000] struct FVector EndDest; // 0x00D4 (0x000C) [0x0000000000000000] float FailSafeReadyTime; // 0x00E0 (0x0004) [0x0000000000000000] int MaxExecuteSMAttemptsBeforeAbort; // 0x00E4 (0x0004) // [0x0000000000000000] int ExecuteSMCount; // 0x00E8 (0x0004) [0x0000000000000000] class UObject* Observer; // 0x00EC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3319]; return pClassPointer; }; void Timer_FailSafeReadyTriggered(); void GetFailSafeReadyTime(); void SpecialMoveTimeout(); void UnlockAI(); void LockdownAI(); void GetUpdatedAnchor(); void GetStartAnchor(); void ClearTimeout(); void Popped(); void Paused(); void Resumed(); void Pushed(); }; UClass* UAICommand_SpecialMove::pClassPointer = NULL; // Class KFGame.AICommand_SM_Attack // 0x001C (0x0110 - 0x00F4) class UAICommand_SM_Attack : public UAICommand_SpecialMove { public: unsigned char AttackSpecialMove; // 0x00F4 (0x0001) [0x0000000000000000] unsigned char SMFlags; // 0x00F5 (0x0001) [0x0000000000000000] class AActor* AttackTarget; // 0x00F8 (0x0008) [0x0000000000000000] DWORD bSingleAttack : 1; // 0x0100 (0x0004) [0x0000000000000000] [0x00000001] DWORD bCanBeAborted : 1; // 0x0100 (0x0004) [0x0000000000000000] [0x00000002] DWORD bAttackAborted : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bLockDownAI : 1; // 0x0100 (0x0004) [0x0000000000000000] [0x00000008] DWORD bZeroPawnAccelWhenPopped : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bFinishRotationBeforeAttack : 1; // 0x0100 (0x0004) // [0x0000000000000000] [0x00000020] float PostSpecialMoveSleepTime; // 0x0104 (0x0004) [0x0000000000000000] float PostSpecialMoveAbortedSleepTime; // 0x0108 (0x0004) // [0x0000000000000000] float TimePlayed; // 0x010C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3321]; return pClassPointer; }; void IsSpecialMoveComplete(); void GetSpecialMove(); void ShouldIgnoreTimeTransitions(); void ShouldSelectTarget(); void AllowTransitionTo(); void Popped(); void Paused(); void Pushed(); }; UClass* UAICommand_SM_Attack::pClassPointer = NULL; // Class KFGame.AICommand_Attack_Melee // 0x002C (0x013C - 0x0110) class UAICommand_Attack_Melee : public UAICommand_SM_Attack { public: DWORD bDebugShowAbortSequence : 1; // 0x0110 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bNewEnemyPending : 1; // 0x0110 (0x0004) [0x0000000000000000] // [0x00000002] struct FVector StepAheadLocation; // 0x0114 (0x000C) [0x0000000000000000] struct FVector CircleDistance; // 0x0120 (0x000C) [0x0000000000000000] struct FVector CirclePoint; // 0x012C (0x000C) [0x0000000000000000] int CircleDir; // 0x0138 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3323]; return pClassPointer; }; void GetStepAheadLocation(); void CircleTimer(); void NotifyEnemyChanged(); void GetAbortAttackDistanceSq(); void eventGetDumpString(); void NotifyPlayerBecameVisible(); void CanChangeEnemy(); void Resumed(); void Paused(); void eventNotifyBump(); void Popped(); void Pushed(); void Melee(); }; UClass* UAICommand_Attack_Melee::pClassPointer = NULL; // Class KFGame.KFAiBaseRangedBehavior // 0x0134 (0x0194 - 0x0060) class UKFAiBaseRangedBehavior : public UObject { public: class AKFAIController* MyAiCtrl; // 0x0060 (0x0008) [0x0000000000000000] TArray StrikeLocValidationInfoList; // 0x0068 (0x0010) [0x0000000000000000] int StrikeZoneForCurrentAttack; // 0x0078 (0x0004) [0x0000000000000000] TArray ProjMeshLocations; // 0x007C (0x0010) [0x0000000000000000] struct FVector ProjImpactLocation; // 0x008C (0x000C) [0x0000000000000000] struct FVector ProjExplosionLocation; // 0x0098 (0x000C) [0x0000000000000000] int StrikeLastCalcArcSuccessId; // 0x00A4 (0x0004) [0x0000000000000000] TArray LogAlgosSegmentEnds; // 0x00A8 (0x0010) [0x0000000000000000] TArray LogAlgosSegmentValiditys; // 0x00B8 (0x0010) [0x0000000000000000] struct FVector FireLastLocOfBlockage; // 0x00C8 (0x000C) [0x0000000000000000] struct FVector FireLastLocOfTarget; // 0x00D4 (0x000C) [0x0000000000000000] struct FVector ProjStartLocation; // 0x00E0 (0x000C) [0x0000000000000000] int TotalNumberOfPossibileFireLocationsPerFormationSlot; // 0x00EC (0x0004) // [0x0000000000000000] DWORD bIntentionalMiss : 1; // 0x00F0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUseTargetsCurrentLocAtRelease : 1; // 0x00F0 (0x0004) // [0x0000000000000000] // [0x00000002] DWORD bCheckIfCanMoveToStrikeLocationBeforeTestingForLane : 1; // 0x00F0 // (0x0004) // [0x0000000000000000] // [0x00000004] DWORD bAbleToAdjustAimPositionForGameplay : 1; // 0x00F0 (0x0004) // [0x0000000000000000] // [0x00000008] float SleepTimeDuringRangeAttackDamageAssessment; // 0x00F4 (0x0004) // [0x0000000000000000] float NumOfStrikeLocationsToLookForAtEachRange; // 0x00F8 (0x0004) // [0x0000000000000000] float HorizontalSeperationBetweenPointsForStrike; // 0x00FC (0x0004) // [0x0000000000000000] struct FVector OffsetForCalcOfForStrike; // 0x0100 (0x000C) [0x0000000000000000] float MinRangeFromOrbitBeforeLookingForTierOffsetStrikeLocations; // 0x010C // (0x0004) // [0x0000000000000000] int ForceAllAttacksFromThisTier; // 0x0110 (0x0004) [0x0000000000000000] int ForceAllAttacksFromThisZone; // 0x0114 (0x0004) [0x0000000000000000] TArray StrikeInfoByZone; // 0x0118 (0x0010) [0x0000000000000000] float HieghtOffTargetPointForEndOfFireArc; // 0x0128 (0x0004) // [0x0000000000000000] float IntentionalMissChance; // 0x012C (0x0004) [0x0000000000000000] int TotalNumOfAttemptsToFindFireStrikeLaneThisEngagement; // 0x0130 // (0x0004) // [0x0000000000000000] struct FImpactInfo StrikeLaneBlockageImpactInfo; // 0x0134 (0x0060) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3325]; return pClassPointer; }; void SetAllPastStrikeLocValidationInfoToExpired(); void DrawFireAttackDebug(); void SetStrikeZoneInfo(); void GetBestCurrentVelocityForThisTarget(); void FindCurrentFireFromAnywhereZone(); void GetRangedFireMidZoneRangeForThisZone(); void InitRangeFireData(); void Setup(); }; UClass* UKFAiBaseRangedBehavior::pClassPointer = NULL; // Class KFGame.KFAiDirectProjectileFireBehavior // 0x0000 (0x0194 - 0x0194) class UKFAiDirectProjectileFireBehavior : public UKFAiBaseRangedBehavior { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3327]; return pClassPointer; }; void IsThereClearDirectFireAttackLaneFromGivenLoc(); void LosTestForAttackLane(); }; UClass* UKFAiDirectProjectileFireBehavior::pClassPointer = NULL; // Class KFGame.KFAiLeapBehavior // 0x0028 (0x01BC - 0x0194) class UKFAiLeapBehavior : public UKFAiBaseRangedBehavior { public: TArray CalculatedArc; // 0x0194 (0x0010) [0x0000000000000000] TArray ArcImpacts; // 0x01A4 (0x0010) [0x0000000000000000] struct FColor ValidArcColor; // 0x01B4 (0x0004) [0x0000000000000000] struct FColor InValidArcColor; // 0x01B8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3329]; return pClassPointer; }; void DrawDebugLastLeapArcCalcedArcImpacts(); void DrawDebugLastValidLeapArcCalced(); void SuggestLeapVelocity(); }; UClass* UKFAiLeapBehavior::pClassPointer = NULL; // Class KFGame.KFAiBehaviorTypes // 0x0000 (0x0060 - 0x0060) class UKFAiBehaviorTypes : public UObject { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3331]; return pClassPointer; }; void DebugDumpPathingFlags(); }; UClass* UKFAiBehaviorTypes::pClassPointer = NULL; // Class KFGame.KFAIController_ZedBoss // 0x0004 (0x0AC4 - 0x0AC0) class AKFAIController_ZedBoss : public AKFAIController_Monster { public: DWORD bSummonedThisPhase : 1; // 0x0AC0 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3333]; return pClassPointer; }; void EnterZedVictoryState(); void Timer_StopSummoningZeds(); void DebugNextPhase(); void PlayDamagePlayerDialog(); void UpdateSprintFrustration(); void eventSetEnemy(); void eventEnemyNotVisible(); }; UClass* AKFAIController_ZedBoss::pClassPointer = NULL; // Class KFGame.KFAIController_Hans // 0x0120 (0x0BE4 - 0x0AC4) class AKFAIController_Hans : public AKFAIController_ZedBoss { public: class AKFPawn_ZedHansBase* MyHansPawn; // 0x0AC4 (0x0008) [0x0000000000000000] struct FVector RangedAttackMoveLoc; // 0x0ACC (0x000C) [0x0000000000000000] DWORD bFoundGrenadeThrowLocation : 1; // 0x0AD8 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bWantsToThrowGrenade : 1; // 0x0AD8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bHasUsedSmokeScreenThisPhase : 1; // 0x0AD8 (0x0004) // [0x0000000000000000] [0x00000004] DWORD bFleeing : 1; // 0x0AD8 (0x0004) [0x0000000000000000] [0x00000008] DWORD bWantsToFlee : 1; // 0x0AD8 (0x0004) [0x0000000000000000] [0x00000010] DWORD bHasFledThisPhase : 1; // 0x0AD8 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bFleeInterrupted : 1; // 0x0AD8 (0x0004) [0x0000000000000000] // [0x00000040] struct FVector CalcedGreanadeTossVelForNavMeshLoc; // 0x0ADC (0x000C) // [0x0000000000000000] float TimeCalcedGreanadeTossVelWasFound; // 0x0AE8 (0x0004) // [0x0000000000000000] struct FVector EnemysLocationWhenTossVelWasFound; // 0x0AEC (0x000C) // [0x0000000000000000] float LostSightSprintDelay; // 0x0AF8 (0x0004) [0x0000000000000000] float BarrageStartTime; // 0x0AFC (0x0004) [0x0000000000000000] float LastFireTime; // 0x0B00 (0x0004) [0x0000000000000000] float StartDrawGunsTime; // 0x0B04 (0x0004) [0x0000000000000000] float StartGunAttackTime; // 0x0B08 (0x0004) [0x0000000000000000] class AActor* LastTarget; // 0x0B0C (0x0008) [0x0000000000000000] float TimeFirstSawTarget; // 0x0B14 (0x0004) [0x0000000000000000] float LastStanceChangeTime; // 0x0B18 (0x0004) [0x0000000000000000] float StanceChangeCooldown; // 0x0B1C (0x0004) [0x0000000000000000] float LastAttackMoveFinishTime; // 0x0B20 (0x0004) [0x0000000000000000] float PostAttackMoveGunCooldown; // 0x0B24 (0x0004) [0x0000000000000000] TArray RecentlySeenEnemyList; // 0x0B28 (0x0010) [0x0000000000000000] class AKFPawn* LastRecentlySeenEnemyGunned; // 0x0B38 (0x0008) [0x0000000000000000] class AKFPawn* LastRecentlySeenEnemyGrenaded; // 0x0B40 (0x0008) [0x0000000000000000] float RecentSeenEnemyListUpdateInterval; // 0x0B48 (0x0004) // [0x0000000000000000] float LastRecentSeenEnemyListUpdateTime; // 0x0B4C (0x0004) // [0x0000000000000000] float LastRetargetTime; // 0x0B50 (0x0004) [0x0000000000000000] struct FVector2D RetargetWaitTimeRange; // 0x0B54 (0x0008) [0x0000000000000000] float ActualRetargetWaitTime; // 0x0B5C (0x0004) [0x0000000000000000] int MinBurstAmount; // 0x0B60 (0x0004) [0x0000000000000000] int MaxBurstAmount; // 0x0B64 (0x0004) [0x0000000000000000] float BurstWaitTime; // 0x0B68 (0x0004) [0x0000000000000000] float BarrageWaitTime; // 0x0B6C (0x0004) [0x0000000000000000] struct FInterpCurveFloat BarrageWaitDistanceCurve; // 0x0B70 (0x0014) [0x0000000000000000] struct FInterpCurveFloat BurstWaitDistanceCurve; // 0x0B84 (0x0014) [0x0000000000000000] float BarrageLength; // 0x0B98 (0x0004) [0x0000000000000000] int BurstAmount; // 0x0B9C (0x0004) [0x0000000000000000] float LostSightStopFireDelay; // 0x0BA0 (0x0004) [0x0000000000000000] float LastFireMode; // 0x0BA4 (0x0004) [0x0000000000000000] float DrawGunFireDelay; // 0x0BA8 (0x0004) [0x0000000000000000] float TargetAquisitionDelay; // 0x0BAC (0x0004) [0x0000000000000000] float MaxGunAttackLength; // 0x0BB0 (0x0004) [0x0000000000000000] float GrenadeGunInterruptDelay; // 0x0BB4 (0x0004) [0x0000000000000000] float StartShootingRange; // 0x0BB8 (0x0004) [0x0000000000000000] float MinShootingRange; // 0x0BBC (0x0004) [0x0000000000000000] float ShootingCooldown; // 0x0BC0 (0x0004) [0x0000000000000000] unsigned char CurrentNadeAttackType; // 0x0BC4 (0x0001) [0x0000000000000000] float GrenadeAttackEvalInterval; // 0x0BC8 (0x0004) [0x0000000000000000] float LastGrenadeAttackEvalTime; // 0x0BCC (0x0004) [0x0000000000000000] float MinFleeDuration; // 0x0BD0 (0x0004) [0x0000000000000000] float MaxFleeDuration; // 0x0BD4 (0x0004) [0x0000000000000000] float MaxFleeDistance; // 0x0BD8 (0x0004) [0x0000000000000000] float FleeStartTime; // 0x0BDC (0x0004) [0x0000000000000000] float TotalFleeTime; // 0x0BE0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3335]; return pClassPointer; }; void PlayDamagePlayerDialog(); void NotifyKilled(); void InitalizeBaseCommand(); void AmIAllowedToSuicideWhenStuck(); void eventEdgeAndPolySubRegionRejectedDueToProximityToTarget(); void eventEdgeAndPolySubRegionRejectedDueToAdjustToss(); void eventEdgeAndPolySubRegionRejectedDueToLOS(); void eventEntireEdgeAndPolyRejectedDueToRating(); void eventEdgeAndPolySubRegionRejectedDueToRating(); void eventEdgeAndPolySubRegionRejectedDueToDist(); void CanDoStrike(); void DoHeavyZedBump(); void eventDoGrabAttack(); void CanTargetBeGrabbed(); void eventCanGrabAttack(); void CancelFlee(); void NotifyFleeFinished(); void NotifyCommandFinished(); void Timer_SearchForFleeObstructions(); void Flee(); void DoFleeFrom(); void CanSwitchEnemies(); void NextBattlePhase(); void DoorFinished(); void NotifyAttackDoor(); void CanAttackDestructibles(); void IsWithinAttackRange(); void DoStrike(); void SetupGrenadeAttack(); void GrenadeAttackInterruptGuns(); void DrawRangedAttackInfo(); void TickGunSystem(); void TickRangedCombatDecision(); void Tick(); void CanStanceChange(); void CanPerformShotAttack(); void StartFireTiming(); void GetAimingLocation(); void SelectNewGunFireEnemy(); void eventChangeEnemy(); void eventSetEnemy(); void ClearFireTiming(); void FireTimer(); void ShouldSprint(); void DoNerveGasGrenadeThrow(); void Timer_DoHuntAndHealSmokeGrenadeThrow(); void eventSeePlayer(); void EvaluateSprinting(); void NotifySpecialMoveEnded(); void NotifyTakeHit(); void DoSmokeGrenadeThrow(); void DoGrenadeThrow(); void eventDestroyed(); void PawnDied(); void eventPossess(); }; UClass* AKFAIController_Hans::pClassPointer = NULL; // Class KFGame.KFAIController_ZedClot // 0x0000 (0x0AC0 - 0x0AC0) class AKFAIController_ZedClot : public AKFAIController_Monster { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3337]; return pClassPointer; }; void eventDoGrabAttack(); void CanDoStrike(); void ShouldSprint(); }; UClass* AKFAIController_ZedClot::pClassPointer = NULL; // Class KFGame.KFAIController_ZedCrawler // 0x0048 (0x0B08 - 0x0AC0) class AKFAIController_ZedCrawler : public AKFAIController_Monster { public: class AActor* LastAmbushNode; // 0x0AC0 (0x0008) [0x0000000000000000] struct FVector LastRMVelocity; // 0x0AC8 (0x000C) [0x0000000000000000] int MinExtraCostForFloorNodes; // 0x0AD4 (0x0004) [0x0000000000000000] int MaxExtraCostForFloorNodes; // 0x0AD8 (0x0004) [0x0000000000000000] struct FVector OriginalMeshTranslation; // 0x0ADC (0x000C) [0x0000000000000000] int FailedToFindAnchorCount; // 0x0AE8 (0x0004) [0x0000000000000000] int MaxFailedToFindAnchorCount; // 0x0AEC (0x0004) [0x0000000000000000] struct FVector LastCrawlerX; // 0x0AF0 (0x000C) [0x0000000000000000] struct FVector OldFloor; // 0x0AFC (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3339]; return pClassPointer; }; void ShouldSprint(); void AmIAllowedToStillUsePathNodes(); void Timer_ResetFailedToFindAnchorCount(); void eventFailedToFindAnchor(); }; UClass* AKFAIController_ZedCrawler::pClassPointer = NULL; // Class KFGame.KFAIDirector // 0x008C (0x00EC - 0x0060) class UKFAIDirector : public UObject { public: TArray AIList; // 0x0060 (0x0010) [0x0000000000000000] DWORD bAISprintToGrabVictim : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bShowAINames : 1; // 0x0070 (0x0004) [0x0000000000000000] [0x00000002] DWORD bDebugAllAI : 1; // 0x0070 (0x0004) [0x0000000000000000] [0x00000004] DWORD bUseGrabAlerts : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bForceFrustration : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bLoadDebugPackageResourcesAtStart : 1; // 0x0070 (0x0004) // [0x0000000000000000] // [0x00000020] DWORD bShowVisualStuckZedDebugInfo : 1; // 0x0070 (0x0004) // [0x0000000000000000] [0x00000040] DWORD bShowMovePointsDebugInfo : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bShowHighDetailCombatMovementDebugInfo : 1; // 0x0070 (0x0004) // [0x0000000000000000] // [0x00000100] DWORD bShowCollisionRadiusForReducedZedOnZedPinchPointCollisionState : 1; // 0x0070 (0x0004) [0x0000000000000000] [0x00000200] DWORD bShowLeapDownDebugArtifacts : 1; // 0x0070 (0x0004) // [0x0000000000000000] [0x00000400] DWORD bShowDoorNavigationDebugArtifacts : 1; // 0x0070 (0x0004) // [0x0000000000000000] // [0x00000800] DWORD bShowDestructibleNavigationDebugArtifacts : 1; // 0x0070 (0x0004) // [0x0000000000000000] // [0x00001000] float GrabAlertMaxZedDistance; // 0x0074 (0x0004) [0x0000000000000000] struct FVector CurrentLocationSortingDoorsFor; // 0x0078 (0x000C) [0x0000000000000000] class UFont* AiDebugScreenLargeFont; // 0x0084 (0x0008) [0x0000000000000000] struct FString AiDebugScreenLargeFontName; // 0x008C (0x0010) [0x0000000000000000] class UTexture2D* DebugIsSprintingIcon; // 0x009C (0x0008) [0x0000000000000000] struct FString DebugIsSprintingIconName; // 0x00A4 (0x0010) [0x0000000000000000] class UTexture2D* DebugIsWalkingIcon; // 0x00B4 (0x0008) [0x0000000000000000] struct FString DebugIsWalkingIconName; // 0x00BC (0x0010) [0x0000000000000000] TArray ActiveZeds; // 0x00CC (0x0010) [0x0000000000000000] struct FScriptDelegate __ClosestDoorSort__Delegate; // 0x00DC (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x00E0 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3341]; return pClassPointer; }; void FindClosedDoorsWithInRange(); void ClosestDoorSort(); void FindDoorsWithInRange(); void NotifyPawnGrabbed(); void FindEnemyFor(); void UnRegisterAIMember(); void RegisterAIMember(); void NotifyNewPossess(); void GetDebugIsWalkingIcon(); void GetDebugIsSprintingIcon(); void GetAiDebugScreenLargeFont(); void SetAIDebug(); void Initialize(); void LoadAiDebugResources(); void RebuildAIList(); }; UClass* UKFAIDirector::pClassPointer = NULL; // Class KFGame.KFAIPluginRage_Fleshpound // 0x0028 (0x00D8 - 0x00B0) class UKFAIPluginRage_Fleshpound : public UAITickablePlugin { public: struct FVector StartLocation; // 0x00B0 (0x000C) [0x0000000000000000] int AccumulatedDOT; // 0x00BC (0x0004) [0x0000000000000000] float RageFrustrationStartTime; // 0x00C0 (0x0004) [0x0000000000000000] float MaxEnemyNotVisibleRageTime; // 0x00C4 (0x0004) [0x0000000000000000] float RageFrustrationBaseTime; // 0x00C8 (0x0004) [0x0000000000000000] float RageFrustrationTime; // 0x00CC (0x0004) [0x0000000000000000] float RageDamageThreshold; // 0x00D0 (0x0004) [0x0000000000000000] DWORD bIsEnraged : 1; // 0x00D4 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3343]; return pClassPointer; }; void EndRage(); void SetRageTime(); void StartRageTimer(); void CanDoRage(); void DoSpawnRage(); void eventTickRage(); }; UClass* UKFAIPluginRage_Fleshpound::pClassPointer = NULL; // Class KFGame.KFAISpawnManager // 0x0164 (0x01C4 - 0x0060) class UKFAISpawnManager : public UObject { public: TArray DifficultyWaveSettings; // 0x0060 (0x0010) [0x0000000000000000] struct FDifficultyWaveInfo WaveSettings; // 0x0070 (0x0010) [0x0000000000000000] TArray AvailableSquads; // 0x0080 (0x0010) [0x0000000000000000] float SineWaveFreq; // 0x0090 (0x0004) [0x0000000000000000] float WaveStartTime; // 0x0094 (0x0004) [0x0000000000000000] float TotalWavesActiveTime; // 0x0098 (0x0004) [0x0000000000000000] float TimeUntilNextSpawn; // 0x009C (0x0004) [0x0000000000000000] int WaveTotalAI; // 0x00A0 (0x0004) [0x0000000000000000] unsigned char MaxMonsters; // 0x00A4 (0x0001) [0x0000000000000000] unsigned char MaxMonstersSolo[0x4]; // 0x00A5 (0x0004) [0x0000000000000000] unsigned char DesiredSquadType; // 0x00A9 (0x0001) [0x0000000000000000] struct FSpawnRateModifier SoloWaveSpawnRateModifier[0x4]; // 0x00AC (0x0040) [0x0000000000000000] float EarlyWaveSpawnRateModifier[0x4]; // 0x00EC (0x0010) // [0x0000000000000000] int EarlyWaveIndex; // 0x00FC (0x0004) [0x0000000000000000] float EarlyWavesSpawnTimeModByPlayers[0x6]; // 0x0100 (0x0018) // [0x0000000000000000] float LateWavesSpawnTimeModByPlayers[0x6]; // 0x0118 (0x0018) // [0x0000000000000000] DWORD bForceRequiredSquad : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bRecycleSpecialSquad : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bSummoningBossMinions : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bLogAISpawning : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bLogWaveSpawnTiming : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bLogRateVolume : 1; // 0x0130 (0x0004) [0x0000000000000000] // [0x00000020] TArray RecycleSpecialSquad; // 0x0134 (0x0010) [0x0000000000000000] int MaxSpecialSquadRecycles; // 0x0144 (0x0004) [0x0000000000000000] int NumSpecialSquadRecycles; // 0x0148 (0x0004) [0x0000000000000000] int NumSpawnListCycles; // 0x014C (0x0004) [0x0000000000000000] TArray SpawnVolumes; // 0x0150 (0x0010) [0x0000000000000000] class AKFSpawnVolume* LastAISpawnVolume; // 0x0160 (0x0008) [0x0000000000000000] class AKFSpawner* ActiveSpawner; // 0x0168 (0x0008) [0x0000000000000000] int ObjExtraAI; // 0x0170 (0x0004) [0x0000000000000000] TArray LeftoverSpawnSquad; // 0x0174 (0x0010) [0x0000000000000000] TArray BossMinionsSpawnSquads; // 0x0184 (0x0010) [0x0000000000000000] int MaxBossMinions; // 0x0194 (0x0004) [0x0000000000000000] float MaxBossMinionScaleByPlayers[0x6]; // 0x0198 (0x0018) // [0x0000000000000000] TArray RecentSpawnSelectedHumanControllerList; // 0x01B0 (0x0010) // [0x0000000000000000] int ForcedBossNum; // 0x01C0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3345]; return pClassPointer; }; void ResetSpawnManager(); void CanSpawnPlayerBoss(); void ResetSpawnCurveIntensity(); void UpdateSpawnCurveIntensity(); void NeedPlayerSpawnVolume(); void GetBestSpawnVolume(); void InitControllerList(); void GetAIAliveCount(); void GetNumAINeeded(); void GetMaxMonsters(); void ShouldAddAI(); void Update(); void RecordSpawnInformation(); void SpawnSquad(); void StopSummoningBossMinions(); void SummonBossMinions(); void SetSineWaveFreq(); void GetSineWaveFreq(); void GetSineMod(); void GetNextSpawnTimeMod(); void CalcNextGroupSpawnTime(); void IsFinishedSpawning(); void IsAISquadAvailable(); void LogAvailableSquads(); void LogMonsterList(); void GetNextSpawnList(); void GetSpawnListFromSquad(); void SetDesiredSquadTypeForZedList(); void GetDesiredSquadTypeForZedList(); void SpawnRemainingReservedZeds(); void GetAvailableSquads(); void GetWaveSettings(); void SetupNextWave(); void RegisterSpawnVolumes(); void Initialize(); void ZedTypeToString(); void SortSpawnVolumes(); }; UClass* UKFAISpawnManager::pClassPointer = NULL; // Class KFGame.KFAISteering // 0x005C (0x00BC - 0x0060) class UKFAISteering : public UObject { public: class AKFAIController* AIController; // 0x0060 (0x0008) [0x0000000000000000] class AKFPawn* AIPawn; // 0x0068 (0x0008) [0x0000000000000000] int SteeringFlags; // 0x0070 (0x0004) [0x0000000000000000] float UnrealAccelMaxForce; // 0x0074 (0x0004) [0x0000000000000000] struct FVector UnrealAccel; // 0x0078 (0x000C) [0x0000000000000000] float SeparateMaxForce; // 0x0084 (0x0004) [0x0000000000000000] float DefaultSeparationDistance; // 0x0088 (0x0004) [0x0000000000000000] TArray SeparationExcludeClasses; // 0x008C (0x0010) [0x0000000000000000] TArray SeparationClasses; // 0x009C (0x0010) [0x0000000000000000] TArray SeparationDistance; // 0x00AC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3347]; return pClassPointer; }; void IsClassExcluded(); void IsSeparationClass(); void SeparateStopExclude(); void SeparateExclude(); void SeparationOff(); void SeparationOn(); void SeparationGetForce(); void UnrealAccelGetForce(); void UnrealAccelSet(); void DisableDefaultAcceleration(); void EnableDefaultAcceleration(); void AccumulateForce(); void CalculateAcceleration(); void OnOwnerDestroy(); void GetGroundSpeed(); void GetAccelRate(); void On(); void ClearAllFlags(); void ClearFlag(); void AddFlag(); void Initialize(); }; UClass* UKFAISteering::pClassPointer = NULL; // Class KFGame.KFAISubsystem // 0x0000 (0x00A4 - 0x00A4) class UKFAISubsystem : public UBaseAISubsystem { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3349]; return pClassPointer; }; void eventGetDifficultyValue(); }; UClass* UKFAISubsystem::pClassPointer = NULL; // Class KFGame.KFScout // 0x0038 (0x0628 - 0x05F0) class AKFScout : public AScout { public: DWORD bReplacePathNodesWithKFPathNodes : 1; // 0x05F0 (0x0004) // [0x0000000000000000] // [0x00000001] DWORD bDebugReplacePathNodes : 1; // 0x05F0 (0x0004) [0x0000000000000000] // [0x00000002] TArray PrototypePawnClasses; // 0x05F4 (0x0010) [0x0000000000000000] int PrototypeIndex; // 0x0604 (0x0004) [0x0000000000000000] TArray KFDoorMarkerList; // 0x0608 (0x0010) [0x0000000000000000] float TestSprintSpeed; // 0x0618 (0x0004) [0x0000000000000000] float TestHiddenGroundSpeed; // 0x061C (0x0004) [0x0000000000000000] float DefaultMaxFallSpeed; // 0x0620 (0x0004) [0x0000000000000000] float DefaultJumpZ; // 0x0624 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3351]; return pClassPointer; }; }; UClass* AKFScout::pClassPointer = NULL; // Class KFGame.ActorFactoryKFPathNode // 0x0000 (0x009C - 0x009C) class UActorFactoryKFPathNode : public UActorFactory { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3353]; return pClassPointer; }; }; UClass* UActorFactoryKFPathNode::pClassPointer = NULL; // Class KFGame.ActorFactoryKFScriptedPlayerPathGoal // 0x0000 (0x009C - 0x009C) class UActorFactoryKFScriptedPlayerPathGoal : public UActorFactory { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3355]; return pClassPointer; }; }; UClass* UActorFactoryKFScriptedPlayerPathGoal::pClassPointer = NULL; // Class KFGame.ActorFactoryKFWallPathNode // 0x0000 (0x009C - 0x009C) class UActorFactoryKFWallPathNode : public UActorFactory { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3357]; return pClassPointer; }; }; UClass* UActorFactoryKFWallPathNode::pClassPointer = NULL; // Class KFGame.Goal_AwayFromPosition // 0x0028 (0x00A4 - 0x007C) class UGoal_AwayFromPosition : public UPathGoalEvaluator { public: struct FVector AvoidPos; // 0x007C (0x000C) [0x0000000000000000] struct FVector AvoidDir; // 0x0088 (0x000C) [0x0000000000000000] int MaxDist; // 0x0094 (0x0004) [0x0000000000000000] class ANavigationPoint* BestNode; // 0x0098 (0x0008) [0x0000000000000000] int BestRating; // 0x00A0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3359]; return pClassPointer; }; void eventRecycle(); void FleeFrom(); }; UClass* UGoal_AwayFromPosition::pClassPointer = NULL; // Class KFGame.Goal_Random // 0x0010 (0x008C - 0x007C) class UGoal_Random : public UPathGoalEvaluator { public: int MinDist; // 0x007C (0x0004) [0x0000000000000000] float BestRating; // 0x0080 (0x0004) [0x0000000000000000] class ANavigationPoint* Best; // 0x0084 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3361]; return pClassPointer; }; void Recycle(); void FindRandom(); }; UClass* UGoal_Random::pClassPointer = NULL; // Class KFGame.Goal_WallToEnemy // 0x0010 (0x008C - 0x007C) class UGoal_WallToEnemy : public UPathGoalEvaluator { public: class ANavigationPoint* BestNode; // 0x007C (0x0008) [0x0000000000000000] int OptimalMaxDist; // 0x0084 (0x0004) [0x0000000000000000] float BestNavDist; // 0x0088 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3363]; return pClassPointer; }; void Recycle(); void WallToEnemy(); }; UClass* UGoal_WallToEnemy::pClassPointer = NULL; // Class KFGame.KFDoorMarker // 0x0010 (0x03A4 - 0x0394) class AKFDoorMarker : public ADoorMarker { public: class AKFDoorActor* MyKFDoor; // 0x0394 (0x0008) [0x0000000000000000] float AdjustedReachThreshold; // 0x039C (0x0004) [0x0000000000000000] int ExtraCostWhenWelded; // 0x03A0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3365]; return pClassPointer; }; void eventSpecialHandling(); void ProceedWithMove(); void UpdatePathingCost(); void MoverClosed(); void MoverOpened(); void eventSuggestMovePreparation(); }; UClass* AKFDoorMarker::pClassPointer = NULL; // Class KFGame.KFLeapReachSpec // 0x0010 (0x00D8 - 0x00C8) class UKFLeapReachSpec : public UAdvancedReachSpec { public: struct FVector CachedVelocity; // 0x00C8 (0x000C) [0x0000000000000000] float RequiredJumpZ; // 0x00D4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3367]; return pClassPointer; }; }; UClass* UKFLeapReachSpec::pClassPointer = NULL; // Class KFGame.KFPathnode // 0x0020 (0x039C - 0x037C) class AKFPathnode : public APathNode { public: DWORD bIsJumpDest : 1; // 0x037C (0x0004) [0x0000000000000000] [0x00000001] DWORD bIsDropDownDest : 1; // 0x037C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDebugLogAnchorUsability : 1; // 0x037C (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAutoConnectToOtherFloors : 1; // 0x037C (0x0004) // [0x0000000000000000] [0x00000008] DWORD bPauseWhenReached : 1; // 0x037C (0x0004) [0x0000000000000000] // [0x00000010] DWORD bHasDoorLOS : 1; // 0x037C (0x0004) [0x0000000000000000] [0x00000020] DWORD bAutoAdjustZToCeiling : 1; // 0x037C (0x0004) [0x0000000000000000] // [0x00000040] DWORD bAutoFlushPersistentDebugLines : 1; // 0x037C (0x0004) // [0x0000000000000000] // [0x00000080] DWORD bIgnoredByTraderTrail : 1; // 0x037C (0x0004) [0x0000000000000000] // [0x00000100] struct FVector JumpVelocity; // 0x0380 (0x000C) [0x0000000000000000] float JumpTime; // 0x038C (0x0004) [0x0000000000000000] float PauseDuration; // 0x0390 (0x0004) [0x0000000000000000] class UClass* WallReachSpecClass; // 0x0394 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3369]; return pClassPointer; }; void DrawDebugInfo(); void eventGetDebugAbbrev(); void eventNotifyReachedBy(); void GetNearestValidFloorNavWithinRadiusToPawn(); void GetNearestFloorNavToActor(); void IsUsableAnchorFor(); void GetUpVector(); void ComputeTrajectoryByTime(); }; UClass* AKFPathnode::pClassPointer = NULL; // Class KFGame.KFCostTimerNode // 0x0014 (0x03B0 - 0x039C) class AKFCostTimerNode : public AKFPathnode { public: DWORD bEnableCostTimer : 1; // 0x039C (0x0004) [0x0000000000000000] // [0x00000001] int MinCost; // 0x03A0 (0x0004) [0x0000000000000000] int MaxCost; // 0x03A4 (0x0004) [0x0000000000000000] float TimerMin; // 0x03A8 (0x0004) [0x0000000000000000] float TimerMax; // 0x03AC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3371]; return pClassPointer; }; void StartCostTimer(); void CostTimer(); void PostBeginPlay(); }; UClass* AKFCostTimerNode::pClassPointer = NULL; // Class KFGame.KFWallPathNode // 0x0020 (0x03BC - 0x039C) class AKFWallPathNode : public AKFPathnode { public: float MaxJumpDist; // 0x039C (0x0004) [0x0000000000000000] DWORD bMustJumpTo : 1; // 0x03A0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bAutoConnectDropDownNodes : 1; // 0x03A0 (0x0004) // [0x0000000000000000] [0x00000002] float MaxFloorToWallDistance; // 0x03A4 (0x0004) [0x0000000000000000] float Max2DDistToFloorNodes; // 0x03A8 (0x0004) [0x0000000000000000] float MaxDistToNodesOnOtherFloors; // 0x03AC (0x0004) [0x0000000000000000] float MaxDropFromWallDistance; // 0x03B0 (0x0004) [0x0000000000000000] class AKFPathnode* DropDownNode; // 0x03B4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3373]; return pClassPointer; }; void eventSuggestMovePreparation(); void eventDetourWeight(); void eventAccept(); void eventSpecialCost(); void eventGetDebugAbbrev(); void IsUsableAnchorFor(); }; UClass* AKFWallPathNode::pClassPointer = NULL; // Class KFGame.KFReachSpec // 0x0004 (0x00CC - 0x00C8) class UKFReachSpec : public UReachSpec { public: DWORD bBlockedForSuperSpeed : 1; // 0x00C8 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3375]; return pClassPointer; }; void IsPathBlockedByPawn(); void IsWallToCeiling(); void IsForcedSpec(); void HasJumpAndWalkFlag(); void HasJumpFlag(); }; UClass* UKFReachSpec::pClassPointer = NULL; // Class KFGame.KFDoorReachSpec // 0x0000 (0x00CC - 0x00CC) class UKFDoorReachSpec : public UKFReachSpec { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3377]; return pClassPointer; }; }; UClass* UKFDoorReachSpec::pClassPointer = NULL; // Class KFGame.KFForcedReachSpec // 0x001C (0x00E8 - 0x00CC) class UKFForcedReachSpec : public UKFReachSpec { public: struct FVector2D ForcedSpec; // 0x00CC (0x0008) [0x0000000000000000] TArray ForcedSpecInfoList; // 0x00D4 (0x0010) [0x0000000000000000] DWORD bSupportsHumanSize : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSupportsCommonSize : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bSupportsMaxSize : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3379]; return pClassPointer; }; }; UClass* UKFForcedReachSpec::pClassPointer = NULL; // Class KFGame.FloorToWallReachSpec // 0x0000 (0x00E8 - 0x00E8) class UFloorToWallReachSpec : public UKFForcedReachSpec { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3381]; return pClassPointer; }; }; UClass* UFloorToWallReachSpec::pClassPointer = NULL; // Class KFGame.WallToFloorReachSpec // 0x0004 (0x00EC - 0x00E8) class UWallToFloorReachSpec : public UKFForcedReachSpec { public: DWORD bJumpDownTo : 1; // 0x00E8 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3383]; return pClassPointer; }; }; UClass* UWallToFloorReachSpec::pClassPointer = NULL; // Class KFGame.WallReachSpec // 0x0004 (0x00D0 - 0x00CC) class UWallReachSpec : public UKFReachSpec { public: DWORD bMustJump : 1; // 0x00CC (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3385]; return pClassPointer; }; }; UClass* UWallReachSpec::pClassPointer = NULL; // Class KFGame.KFScriptedPlayerPathGoal // 0x0000 (0x037C - 0x037C) class AKFScriptedPlayerPathGoal : public APathNode { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3387]; return pClassPointer; }; void IsUsableAnchorFor(); }; UClass* AKFScriptedPlayerPathGoal::pClassPointer = NULL; // Class KFGame.Path_AroundDestructibles // 0x001C (0x0088 - 0x006C) class UPath_AroundDestructibles : public UPathConstraint { public: float LargeNPCCollisionRadius; // 0x006C (0x0004) [0x0000000000000000] DWORD bDebug_DrawMyBlockedPathConnections : 1; // 0x0070 (0x0004) // [0x0000000000000000] // [0x00000001] DWORD bAddCostInsteadOfBlocking : 1; // 0x0070 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bAffectLargeNPCs : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAffectStandardNPCs : 1; // 0x0070 (0x0004) [0x0000000000000000] // [0x00000008] int AddedCost; // 0x0074 (0x0004) [0x0000000000000000] TArray Destructibles; // 0x0078 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3389]; return pClassPointer; }; void Recycle(); void AvoidDestructibles(); }; UClass* UPath_AroundDestructibles::pClassPointer = NULL; // Class KFGame.Path_AvoidChokePoints // 0x0000 (0x006C - 0x006C) class UPath_AvoidChokePoints : public UPathConstraint { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3391]; return pClassPointer; }; void Recycle(); void AvoidChokePoints(); }; UClass* UPath_AvoidChokePoints::pClassPointer = NULL; // Class KFGame.Path_AvoidClosedDoors // 0x0004 (0x0070 - 0x006C) class UPath_AvoidClosedDoors : public UPathConstraint { public: DWORD bOnlyAvoidWeldedDoors : 1; // 0x006C (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3393]; return pClassPointer; }; void Recycle(); void AvoidClosedDoors(); }; UClass* UPath_AvoidClosedDoors::pClassPointer = NULL; // Class KFGame.Path_PreferDarkness // 0x0004 (0x0070 - 0x006C) class UPath_PreferDarkness : public UPathConstraint { public: float MaxLuminance; // 0x006C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3395]; return pClassPointer; }; void Recycle(); void DontGoIntoTheLight(); }; UClass* UPath_PreferDarkness::pClassPointer = NULL; // Class KFGame.Path_PreferWalls // 0x0008 (0x0074 - 0x006C) class UPath_PreferWalls : public UPathConstraint { public: DWORD bOnlyAcceptWallNodes : 1; // 0x006C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bAvoidEnemy : 1; // 0x006C (0x0004) [0x0000000000000000] [0x00000002] int FloorNodeCost; // 0x0070 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3397]; return pClassPointer; }; void Recycle(); void PreferWalls(); }; UClass* UPath_PreferWalls::pClassPointer = NULL; // Class KFGame.Path_ToTrader // 0x0000 (0x006C - 0x006C) class UPath_ToTrader : public UPathConstraint { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3399]; return pClassPointer; }; void ToTrader(); }; UClass* UPath_ToTrader::pClassPointer = NULL; // Class KFGame.KFGameplayEventsWriter // 0x0010 (0x01D8 - 0x01C8) class UKFGameplayEventsWriter : public UGameplayEventsWriter { public: DWORD bRecordAIDebugInfo : 1; // 0x01C8 (0x0004) [0x0000000000000000] // [0x00000001] int StatsFileIndex; // 0x01CC (0x0004) [0x0000000000000000] class AController* LastDiedController; // 0x01D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3401]; return pClassPointer; }; void LogAIChangedEnemy(); void LogAIDoor(); void LogAIWall(); void LogAIBump(); void LogAIChargeAttack(); void LogAIGetNextMoveGoalFailure(); void LogAIMoveFailure(); void LogAIRedirectedPath(); void LogAIBlockedPath(); void LogAIPathObstruction(); void LogAIFailedAnchor(); void LogAIDestroyedDoor(); void LogAIPathGoalEvalAbort(); void LogAIBasedOnPawn(); void LogAIHeadlessWander(); void LogAIPathFailure(); void LogBestSpawnVolume(); void LogPlayersAtSpawn(); void LogSpawnVolumeRating(); void CanAcquireFile(); void OpenStatsFile(); void ResolveActorIndex(); void ResolvePawnIndex(); void ResolveProjectileClassIndex(); void ResolveDamageClassIndex(); void ResolveWeaponClassIndex(); }; UClass* UKFGameplayEventsWriter::pClassPointer = NULL; // Class KFGame.KFAnim_AimOffset // 0x0035 (0x01CD - 0x0198) class UKFAnim_AimOffset : public UAnimNodeAimOffset { public: class AKFPawn* PawnOwner; // 0x0198 (0x0008) [0x0000000000000000] class UKFAnim_TurnInPlace* TurnInPlaceNode; // 0x01A0 (0x0008) [0x0000000000000000] DWORD bUseInteractionPawnAim : 1; // 0x01A8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bOnlyUpdateOnBecomeRelevant : 1; // 0x01A8 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bTurnOffWhenReloadingWeapon : 1; // 0x01A8 (0x0004) // [0x0000000000000000] [0x00000004] DWORD bDoingWeaponReloadInterp : 1; // 0x01A8 (0x0004) [0x0000000000000000] // [0x00000008] float ReloadingBlendTime; // 0x01AC (0x0004) [0x0000000000000000] float ReloadingBlendTimeToGo; // 0x01B0 (0x0004) [0x0000000000000000] struct FVector2D LastAimOffset; // 0x01B4 (0x0008) [0x0000000000000000] struct FVector2D LastPostProcessedAimOffset; // 0x01BC (0x0008) [0x0000000000000000] float TurnAroundTimeToGo; // 0x01C4 (0x0004) [0x0000000000000000] float TurnAroundBlendTime; // 0x01C8 (0x0004) [0x0000000000000000] unsigned char AimInput; // 0x01CC (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3403]; return pClassPointer; }; }; UClass* UKFAnim_AimOffset::pClassPointer = NULL; // Class KFGame.KFAnim_BlendByTargetingMode // 0x0020 (0x0184 - 0x0164) class UKFAnim_BlendByTargetingMode : public UAnimNodeBlendList { public: class AKFPawn* PawnOwner; // 0x0164 (0x0008) [0x0000000000000000] DWORD bAllowDownSightsChild : 1; // 0x016C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bAllowAimingChild : 1; // 0x016C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bSynchronizeNodesInEditor : 1; // 0x016C (0x0004) // [0x0000000000000000] [0x00000004] TArray ChildBlendInTime; // 0x0170 (0x0010) [0x0000000000000000] float AimTimeAfterFiring; // 0x0180 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3405]; return pClassPointer; }; void SetActiveChild(); }; UClass* UKFAnim_BlendByTargetingMode::pClassPointer = NULL; // Class KFGame.KFAnim_BlendFacialExpression // 0x0004 (0x0188 - 0x0184) class UKFAnim_BlendFacialExpression : public UAnimNodeBlendPerBone { public: int IgnoreAtOrAboveLOD; // 0x0184 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3407]; return pClassPointer; }; }; UClass* UKFAnim_BlendFacialExpression::pClassPointer = NULL; // Class KFGame.KFAnim_BlendList // 0x0020 (0x0184 - 0x0164) class UKFAnim_BlendList : public UAnimNodeBlendList { public: TArray ChildBlendInTime; // 0x0164 (0x0010) [0x0000000000000000] TArray BlockSetActiveChildWhenRelevant; // 0x0174 (0x0010) // [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3409]; return pClassPointer; }; void SetActiveChild(); }; UClass* UKFAnim_BlendList::pClassPointer = NULL; // Class KFGame.KFAnim_Movement // 0x0018 (0x01B0 - 0x0198) class UKFAnim_Movement : public UAnimNodeBlendBySpeed { public: DWORD bScaleAnimPlayRateBySpeed : 1; // 0x0198 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bSynchronizeNodesInEditor : 1; // 0x0198 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bUseOwnersBase : 1; // 0x0198 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUse2DMovement : 1; // 0x0198 (0x0004) [0x0000000000000000] // [0x00000008] float MoveCycleFirstStepStartPosition; // 0x019C (0x0004) // [0x0000000000000000] class UAnimTree* RootNode; // 0x01A0 (0x0008) [0x0000000000000000] struct FName SynchGroupName; // 0x01A8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3411]; return pClassPointer; }; void SetActiveChild(); }; UClass* UKFAnim_Movement::pClassPointer = NULL; // Class KFGame.KFAnim_PhysFalling // 0x0020 (0x0184 - 0x0164) class UKFAnim_PhysFalling : public UAnimNodeBlendList { public: TArray ChildBlendInTime; // 0x0164 (0x0010) [0x0000000000000000] float MinLandPlayTime; // 0x0174 (0x0004) [0x0000000000000000] float SkipLandTimeLeft; // 0x0178 (0x0004) [0x0000000000000000] class UAnimNodeSequence* LandNodeSeq; // 0x017C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3413]; return pClassPointer; }; }; UClass* UKFAnim_PhysFalling::pClassPointer = NULL; // Class KFGame.KFAnim_Random // 0x0004 (0x0188 - 0x0184) class UKFAnim_Random : public UAnimNodeRandom { public: DWORD bNoResumeOnRelevant : 1; // 0x0184 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3415]; return pClassPointer; }; }; UClass* UKFAnim_Random::pClassPointer = NULL; // Class KFGame.KFAnim_RandomScripted // 0x0004 (0x018C - 0x0188) class UKFAnim_RandomScripted : public UKFAnim_Random { public: DWORD bHasTauntAnim : 1; // 0x0188 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3417]; return pClassPointer; }; void QueueTauntWalk(); void QueueAnimChild(); }; UClass* UKFAnim_RandomScripted::pClassPointer = NULL; // Class KFGame.KFAnim_ScaleRateBySpeed // 0x0014 (0x015C - 0x0148) class UKFAnim_ScaleRateBySpeed : public UAnimNodeScaleRateBySpeed { public: TArray PawnList; // 0x0148 (0x0010) [0x0000000000000000] DWORD bUseBaseVelocity : 1; // 0x0158 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3419]; return pClassPointer; }; }; UClass* UKFAnim_ScaleRateBySpeed::pClassPointer = NULL; // Class KFGame.KFAnim_Slot // 0x0004 (0x0168 - 0x0164) class UKFAnim_Slot : public UAnimNodeSlot { public: DWORD bDelayedAnimSetsUpdate : 1; // 0x0164 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bPendingAnimSetsUpdate : 1; // 0x0164 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3421]; return pClassPointer; }; }; UClass* UKFAnim_Slot::pClassPointer = NULL; // Class KFGame.KFAnim_TurnInPlace // 0x004C (0x019C - 0x0150) class UKFAnim_TurnInPlace : public UAnimNodeBlend { public: DWORD bInitialized : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000001] DWORD bDelayBlendOutToPlayAnim : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bPlayingTurnTransition : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000004] int LastPawnYaw; // 0x0154 (0x0004) [0x0000000000000000] float PawnRotationRate; // 0x0158 (0x0004) [0x0000000000000000] int YawOffset; // 0x015C (0x0004) [0x0000000000000000] class AKFPawn* PawnOwner; // 0x0160 (0x0008) [0x0000000000000000] class AActor* CachedBase; // 0x0168 (0x0008) [0x0000000000000000] TArray RotTransitions; // 0x0170 (0x0010) [0x0000000000000000] float TransitionBlendInTime; // 0x0180 (0x0004) [0x0000000000000000] int CurrentTransitionIndex; // 0x0184 (0x0004) [0x0000000000000000] float TransitionThresholdAngle; // 0x0188 (0x0004) [0x0000000000000000] TArray PlayerNodes; // 0x018C (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3423]; return pClassPointer; }; void ResetRotation(); }; UClass* UKFAnim_TurnInPlace::pClassPointer = NULL; // Class KFGame.KFAnim_TurnInPlace_Rotator // 0x000B (0x0148 - 0x013D) class UKFAnim_TurnInPlace_Rotator : public UAnimNodeBlendBase { public: class UKFAnim_TurnInPlace* TurnInPlaceNode; // 0x0140 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3425]; return pClassPointer; }; }; UClass* UKFAnim_TurnInPlace_Rotator::pClassPointer = NULL; // Class KFGame.KFAnimNotify_AkEvent_NotEmpty_1P // 0x0000 (0x007C - 0x007C) class UKFAnimNotify_AkEvent_NotEmpty_1P : public UAnimNotify_AkEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3427]; return pClassPointer; }; }; UClass* UKFAnimNotify_AkEvent_NotEmpty_1P::pClassPointer = NULL; // Class KFGame.KFAnimNotify_CameraAnim // 0x001C (0x0080 - 0x0064) class UKFAnimNotify_CameraAnim : public UAnimNotify { public: class UCameraAnim* CameraAnim; // 0x0064 (0x0008) [0x0000000000000000] DWORD bLoopCameraAnim : 1; // 0x006C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bRandomizeCameraAnimLoopStartTime : 1; // 0x006C (0x0004) // [0x0000000000000000] // [0x00000002] float CameraAnimScale; // 0x0070 (0x0004) [0x0000000000000000] float CameraAnimPlayRate; // 0x0074 (0x0004) [0x0000000000000000] float CameraAnimBlendInTime; // 0x0078 (0x0004) [0x0000000000000000] float CameraAnimBlendOutTime; // 0x007C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3429]; return pClassPointer; }; }; UClass* UKFAnimNotify_CameraAnim::pClassPointer = NULL; // Class KFGame.KFAnimNotify_Decal // 0x004C (0x00B0 - 0x0064) class UKFAnimNotify_Decal : public UAnimNotify { public: DWORD bIgnoreIfActorHidden : 1; // 0x0064 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bOnlyTraceDown : 1; // 0x0064 (0x0004) [0x0000000000000000] // [0x00000002] struct FName BoneOrSocketName; // 0x0068 (0x0008) [0x0000000000000000] struct FVector RelativeLocation; // 0x0070 (0x000C) [0x0000000000000000] struct FRotator RelativeRotation; // 0x007C (0x000C) [0x0000000000000000] float TraceDistance; // 0x0088 (0x0004) [0x0000000000000000] struct FDecalData Decal; // 0x008C (0x001C) [0x0000000000000000] class UArrowComponent* MyArrowComponent; // 0x00A8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3431]; return pClassPointer; }; void CreateDecal(); void eventSpawnDecal(); }; UClass* UKFAnimNotify_Decal::pClassPointer = NULL; // Class KFGame.KFAnimNotify_HideBone // 0x000C (0x0070 - 0x0064) class UKFAnimNotify_HideBone : public UAnimNotify { public: struct FName BoneName; // 0x0064 (0x0008) [0x0000000000000000] DWORD bUnhideBone : 1; // 0x006C (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3433]; return pClassPointer; }; }; UClass* UKFAnimNotify_HideBone::pClassPointer = NULL; // Class KFGame.KFAnimNotify_MeleeImpact // 0x0019 (0x007D - 0x0064) class UKFAnimNotify_MeleeImpact : public UAnimNotify { public: float DamageScale; // 0x0064 (0x0004) [0x0000000000000000] DWORD bDoAreaDamage : 1; // 0x0068 (0x0004) [0x0000000000000000] [0x00000001] DWORD bDoSwipeDamage : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bCanDoKnockback : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCanCauseZedTime : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000008] float MomentumTransferScale; // 0x006C (0x0004) [0x0000000000000000] class UClass* CustomDamageType; // 0x0070 (0x0008) [0x0000000000000000] float AttackReachOverride; // 0x0078 (0x0004) [0x0000000000000000] unsigned char SwipeDirection; // 0x007C (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3435]; return pClassPointer; }; void eventNotifyThirdPerson(); void eventNotifyFirstPerson(); }; UClass* UKFAnimNotify_MeleeImpact::pClassPointer = NULL; // Class KFGame.KFAnimNotify_MeleeImpact_1P // 0x0004 (0x0068 - 0x0064) class UKFAnimNotify_MeleeImpact_1P : public UAnimNotify { public: DWORD bAdvancedCollisionDetection : 1; // 0x0064 (0x0004) // [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3437]; return pClassPointer; }; void eventNotifyThirdPerson(); void eventNotifyFirstPerson(); }; UClass* UKFAnimNotify_MeleeImpact_1P::pClassPointer = NULL; // Class KFGame.KFAnimNotify_MeleeTrails // 0x0010 (0x00E0 - 0x00D0) class UKFAnimNotify_MeleeTrails : public UAnimNotify_Trails { public: class UParticleSystem* BlueTrailParticle; // 0x00D0 (0x0008) [0x0000000000000000] class UParticleSystem* RedTrailParticle; // 0x00D8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3439]; return pClassPointer; }; }; UClass* UKFAnimNotify_MeleeTrails::pClassPointer = NULL; // Class KFGame.KFAnimNotify_ZedVoiceAkEvent // 0x000C (0x0088 - 0x007C) class UKFAnimNotify_ZedVoiceAkEvent : public UAnimNotify_AkEvent { public: class UAkEvent* MouthlessAkEvent; // 0x007C (0x0008) [0x0000000000000000] DWORD bTestMouthlessAkEvent : 1; // 0x0084 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bTreatAsDialog : 1; // 0x0084 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3441]; return pClassPointer; }; }; UClass* UKFAnimNotify_ZedVoiceAkEvent::pClassPointer = NULL; // Class KFGame.KFAnimSeq_ByWeaponClass // 0x0030 (0x01C8 - 0x0198) class UKFAnimSeq_ByWeaponClass : public UAnimNodeSequence { public: TArray WeaponList; // 0x0198 (0x0010) [0x0000000000000000] struct FName WeaponDefaultAnimName; // 0x01A8 (0x0008) [0x0000000000000000] DWORD bSynchronizeNodesInEditor : 1; // 0x01B0 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bTemporaryHolster : 1; // 0x01B0 (0x0004) [0x0000000000000000] // [0x00000002] float WeaponListSliderPosition; // 0x01B4 (0x0004) [0x0000000000000000] class APawn* PawnOwner; // 0x01B8 (0x0008) [0x0000000000000000] class AWeapon* CurrentWeapon; // 0x01C0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3443]; return pClassPointer; }; }; UClass* UKFAnimSeq_ByWeaponClass::pClassPointer = NULL; // Class KFGame.KFAnimSeq_Directional // 0x0034 (0x01DC - 0x01A8) class UKFAnimSeq_Directional : public UAnimNodeSequenceBlendBase { public: DWORD bAddRotationRate : 1; // 0x01A8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSynchronizeNodesInEditor : 1; // 0x01A8 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bRestartOnBecomeRelevant : 1; // 0x01A8 (0x0004) [0x0000000000000000] // [0x00000004] float DirAngle; // 0x01AC (0x0004) [0x0000000000000000] float TargetAngle; // 0x01B0 (0x0004) [0x0000000000000000] struct FVector MoveDir; // 0x01B4 (0x000C) [0x0000000000000000] int LastYaw; // 0x01C0 (0x0004) [0x0000000000000000] float YawRotationRate; // 0x01C4 (0x0004) [0x0000000000000000] class AKFPawn* PawnOwner; // 0x01C8 (0x0008) [0x0000000000000000] unsigned char DirectionInterpType; // 0x01D0 (0x0001) [0x0000000000000000] float CircularInterpSpeed; // 0x01D4 (0x0004) [0x0000000000000000] float LinearInterpSpeed; // 0x01D8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3445]; return pClassPointer; }; }; UClass* UKFAnimSeq_Directional::pClassPointer = NULL; // Class KFGame.KFAnimSeq_TurnInPlace // 0x0024 (0x01CC - 0x01A8) class UKFAnimSeq_TurnInPlace : public UAnimNodeSequenceBlendBase { public: TArray TIP_Transitions; // 0x01A8 (0x0010) [0x0000000000000000] float TransitionBlendTime; // 0x01B8 (0x0004) [0x0000000000000000] int ActiveChildIndex; // 0x01BC (0x0004) [0x0000000000000000] float BlendTimeToGo; // 0x01C0 (0x0004) [0x0000000000000000] class AKFPawn* PawnOwner; // 0x01C4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3447]; return pClassPointer; }; }; UClass* UKFAnimSeq_TurnInPlace::pClassPointer = NULL; // Class KFGame.KFAnimSeq_Tween // 0x002C (0x01C4 - 0x0198) class UKFAnimSeq_Tween : public UAnimNodeSequence { public: float TweenTime; // 0x0198 (0x0004) [0x0000000000000000] float BlendTimeToGo; // 0x019C (0x0004) [0x0000000000000000] TArray CachedPrevBoneAtoms; // 0x01A0 (0x0010) [0x0000000000000000] TArray CachedRequiredBones; // 0x01B0 (0x0010) [0x0000000000000000] DWORD bSetAnimWasCalled : 1; // 0x01C0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUsesCameraAnimNotify : 1; // 0x01C0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bSkipBlendWhenNotRendered : 1; // 0x01C0 (0x0004) // [0x0000000000000000] [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3449]; return pClassPointer; }; void PlayAnim(); void SetTweenTime(); void SetAnim(); }; UClass* UKFAnimSeq_Tween::pClassPointer = NULL; // Class KFGame.KFSkelControl_AmmoSlider // 0x001C (0x0140 - 0x0124) class UKFSkelControl_AmmoSlider : public USkelControlSingleBone { public: struct FVector MaxBoneTranslation; // 0x0124 (0x000C) [0x0000000000000000] float BoneInterpInSpeed; // 0x0130 (0x0004) [0x0000000000000000] float BoneInterpOutSpeed; // 0x0134 (0x0004) [0x0000000000000000] class AKFWeapon* WeaponOwner; // 0x0138 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3451]; return pClassPointer; }; }; UClass* UKFSkelControl_AmmoSlider::pClassPointer = NULL; // Class KFGame.KFSkelControl_FootPlacement // 0x0068 (0x01D8 - 0x0170) class UKFSkelControl_FootPlacement : public USkelControlFootPlacement { public: DWORD bProjectOntoPlane : 1; // 0x0170 (0x0004) [0x0000000000000000] // [0x00000001] float InterpUpSpeed; // 0x0174 (0x0004) [0x0000000000000000] float InterpDownSpeed; // 0x0178 (0x0004) [0x0000000000000000] struct FVector FloorNormal; // 0x017C (0x000C) [0x0000000000000000] float MinAdjustment; // 0x0188 (0x0004) [0x0000000000000000] float MaxLegAdjustForSkipRate; // 0x018C (0x0004) [0x0000000000000000] int SkipRateForLineTrace; // 0x0190 (0x0004) [0x0000000000000000] int UpdateTransformsCount; // 0x0194 (0x0004) [0x0000000000000000] struct FVector HitNormal; // 0x0198 (0x000C) [0x0000000000000000] float LegAdjust; // 0x01A4 (0x0004) [0x0000000000000000] float LegAdjustInterp; // 0x01A8 (0x0004) [0x0000000000000000] class AKFPawn* PawnOwner; // 0x01AC (0x0008) [0x0000000000000000] struct FVector DebugStartLoc; // 0x01B4 (0x000C) [0x0000000000000000] struct FVector DebugEndLoc; // 0x01C0 (0x000C) [0x0000000000000000] struct FVector DebugIKLoc; // 0x01CC (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3453]; return pClassPointer; }; }; UClass* UKFSkelControl_FootPlacement::pClassPointer = NULL; // Class KFGame.KFSkelControl_SpinBone // 0x000C (0x0130 - 0x0124) class UKFSkelControl_SpinBone : public USkelControlSingleBone { public: struct FRotator RotationRate; // 0x0124 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3455]; return pClassPointer; }; }; UClass* UKFSkelControl_SpinBone::pClassPointer = NULL; // Class KFGame.KFSkelControl_SprayScaling // 0x0020 (0x0114 - 0x00F4) class UKFSkelControl_SprayScaling : public USkelControlBase { public: float CurrentAge; // 0x00F4 (0x0004) [0x0000000000000000] float CurrentVel; // 0x00F8 (0x0004) [0x0000000000000000] float LastVel; // 0x00FC (0x0004) [0x0000000000000000] float VelocitySmoothingInterpSpeed; // 0x0100 (0x0004) [0x0000000000000000] TArray ScaleParams; // 0x0104 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3457]; return pClassPointer; }; void ResetTransients(); }; UClass* UKFSkelControl_SprayScaling::pClassPointer = NULL; // Class KFGame.KFSkelControl_SprayWhipDir // 0x0000 (0x00F4 - 0x00F4) class UKFSkelControl_SprayWhipDir : public USkelControlBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3459]; return pClassPointer; }; }; UClass* UKFSkelControl_SprayWhipDir::pClassPointer = NULL; // Class KFGame.KFSkelControl_WeaponTilt // 0x001C (0x0140 - 0x0124) class UKFSkelControl_WeaponTilt : public USkelControlSingleBone { public: struct FRotator WeaponBoneRotation; // 0x0124 (0x000C) [0x0000000000000000] float StrafeDeadzoneCos; // 0x0130 (0x0004) [0x0000000000000000] float BoneRotationRate; // 0x0134 (0x0004) [0x0000000000000000] class AKFWeapon* WeaponOwner; // 0x0138 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3461]; return pClassPointer; }; }; UClass* UKFSkelControl_WeaponTilt::pClassPointer = NULL; // Class KFGame.KFSceneCaptureDebugCam // 0x0080 (0x02D4 - 0x0254) class AKFSceneCaptureDebugCam : public ASceneCapture2DActor { public: class UTexture2D* BlackTexture; // 0x0254 (0x0008) [0x0000000000000000] class USceneCapture2DComponent* CaptureComponent; // 0x025C (0x0008) [0x0000000000000000] class AActor* FocusActor; // 0x0264 (0x0008) [0x0000000000000000] class UClass* FocusClass; // 0x026C (0x0008) [0x0000000000000000] class APawn* FocusPawn; // 0x0274 (0x0008) [0x0000000000000000] class AKFPlayerController* PCOwner; // 0x027C (0x0008) [0x0000000000000000] DWORD bWatchNPCPathFailures : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bWatchActorSpawn : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bWatchTouch : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000004] DWORD bOrbitFocus : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000008] DWORD bSetBaseToFocus : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bNoAnimPause : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000020] DWORD bOverrideFocus : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bLockFocus : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000080] DWORD bTickAnimNodesWhenNotRendered : 1; // 0x0284 (0x0004) // [0x0000000000000000] [0x00000100] DWORD bUpdateSkelWhenNotRendered : 1; // 0x0284 (0x0004) // [0x0000000000000000] [0x00000200] DWORD bIgnoreControllersWhenNotRendered : 1; // 0x0284 (0x0004) // [0x0000000000000000] // [0x00000400] DWORD bPauseAnims : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000800] DWORD bTextOnly : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00001000] struct FName ActorNameToWatchOnSpawn; // 0x0288 (0x0008) [0x0000000000000000] int ActiveDebugWindows; // 0x0290 (0x0004) [0x0000000000000000] float MinDistFactorForKinematicUpdate; // 0x0294 (0x0004) // [0x0000000000000000] struct FString CurrentDebugSceneMessage; // 0x0298 (0x0010) [0x0000000000000000] class UMaterialInterface* DebugViewMaterial; // 0x02A8 (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* DebugViewMaterialInstance; // 0x02B0 (0x0008) [0x0000000000000000] class AKFAIController* FocusController; // 0x02B8 (0x0008) [0x0000000000000000] class AKFPawn* FocusKFPawn; // 0x02C0 (0x0008) [0x0000000000000000] struct FVector LastLocation; // 0x02C8 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3463]; return pClassPointer; }; void eventPostRenderFor(); void RestoreFocusPawnMeshProperties(); void CacheAndUpdateFocusPawnMeshProperties(); void PauseDebugSceneUpdate(); void SetDebugSceneViewMode(); void ToggleLockFocus(); void MoveToMyPawnLocation(); void ToggleDebugSceneOrbit(); void eventDestroyDebugScene(); void InitDebugScene(); void GetDebugSceneViewPoint(); void NativePostRenderFor(); void CreateDebugTexture(); }; UClass* AKFSceneCaptureDebugCam::pClassPointer = NULL; // Class KFGame.KFDebugCameraController // 0x0028 (0x07F4 - 0x07CC) class AKFDebugCameraController : public ADebugCameraController { public: DWORD bDebugSceneEnabled : 1; // 0x07CC (0x0004) [0x0000000000000000] // [0x00000001] DWORD bViewFromFocus : 1; // 0x07CC (0x0004) [0x0000000000000000] // [0x00000002] DWORD bForceSprinting : 1; // 0x07CC (0x0004) [0x0000000000000000] // [0x00000004] DWORD bMoveToActorOnly : 1; // 0x07CC (0x0004) [0x0000000000000000] // [0x00000008] class AKFSceneCaptureDebugCam* DebugSceneCamera; // 0x07D0 (0x0008) [0x0000000000000000] class AKFPawn_Monster* SelectedKFPawn; // 0x07D8 (0x0008) [0x0000000000000000] float SelectedNPCMoveOffset; // 0x07E0 (0x0004) [0x0000000000000000] class AAIDebugGoal* DebugGoal; // 0x07E4 (0x0008) [0x0000000000000000] class AKFPawn_Monster* DebugTarget; // 0x07EC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3465]; return pClassPointer; }; void NativeInputKey(); void eventGetPlayerViewPoint(); void ServerUpdateCamera(); void GetDebugSceneViewPoint(); void ToggleSelectedActorView(); void SetMoveOffset(); void ToggleDebugViewFocus(); void AIShowSelectedInfo(); void AIMoveForward(); void ServerCauseEvent(); void GetDebugCommand(); void AddCheats(); void OnActivate(); void DisableDebugCamera(); void OnDeactivate(); void eventPostBeginPlay(); void Unselect(); void SecondarySelect(); void PrimarySelect(); }; UClass* AKFDebugCameraController::pClassPointer = NULL; // Class KFGame.KFPlayerController // 0x0604 (0x0D84 - 0x0780) class AKFPlayerController : public AGamePlayerController { public: unsigned char CurrentTextChatChannel; // 0x0780 (0x0001) [0x0000000000000000] unsigned char CurrentVoiceChannel; // 0x0781 (0x0001) [0x0000000000000000] unsigned char SavedPerkIndex; // 0x0782 (0x0001) [0x0000000000000000] unsigned char CurrentSpectateMode; // 0x0783 (0x0001) [0x0000000000000000] unsigned char CurrentTrackerRangeMode; // 0x0784 (0x0001) [0x0000000000000000] unsigned char CurrentTrackingMode; // 0x0785 (0x0001) [0x0000000000000000] unsigned char CurrentGameConductorDebugMode; // 0x0786 (0x0001) [0x0000000000000000] TArray AvatarList; // 0x0788 (0x0010) [0x0000000000000000] TArray AvatarListPS4; // 0x0798 (0x0010) [0x0000000000000000] TArray PerkList; // 0x07A8 (0x0010) [0x0000000000000000] class AKFPerk* CurrentPerk; // 0x07B8 (0x0008) [0x0000000000190000] ( // CPF_Travel | CPF_Component ) class UClass* ServPendingPerkClass; // 0x07C0 (0x0008) [0x0000000000000000] int ServPendingPerkBuild; // 0x07C8 (0x0004) [0x0000000000000000] int ServPendingPerkLevel; // 0x07CC (0x0004) [0x0000000000000000] DWORD bWaitingForClientPerkData : 1; // 0x07D0 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bPerkStatsLoaded : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAcuteHearing : 1; // 0x07D0 (0x0004) [0x0000000000000000] [0x00000004] DWORD bUsePhysicsRotation : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bIsAchievementPlayer : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bHideTraderPaths : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bClientTraderMenuOpen : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bPlayerUsedUpdatePerk : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bDownloadingContent : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bNoEarRingingSound : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bNightVisionActive : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bPerkEffectIsActive : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bGrabEffectIsActive : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bPlayingLowHealthSFX : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bCachedSeeZedTimePawn : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bRecursingZedTimeVisibility : 1; // 0x07D0 (0x0004) // [0x0000000000000000] [0x00008000] DWORD bShowKillTicker : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bDisableAutoUpgrade : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00020000] DWORD bHideBossHealthBar : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00040000] DWORD bDOFEnabled : 1; // 0x07D0 (0x0004) [0x0000000000000000] [0x00080000] DWORD bGamePlayDOFActive : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00100000] DWORD bIronSightsDOFActive : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00200000] DWORD bReflectionsEnabled : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bBlurEnabled : 1; // 0x07D0 (0x0004) [0x0000000000000000] [0x00800000] DWORD bProcessingGameInvite : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bLoggingInForOnlinePlay : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bOnlinePrivilegeCheckPending : 1; // 0x07D0 (0x0004) // [0x0000000000000000] [0x04000000] DWORD bDebugTargetAdhesion : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x08000000] DWORD bDebugAutoTarget : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x10000000] DWORD bLockToForceLookAtPawn : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bSkipNonCriticalForceLookAt : 1; // 0x07D0 (0x0004) // [0x0000000000000000] [0x40000000] DWORD bDebugPartialZedTime : 1; // 0x07D0 (0x0004) [0x0000000000000000] // [0x80000000] DWORD bForcePartialZedTime : 1; // 0x07D4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bTrackingMapTopView : 1; // 0x07D4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bNoGoActive : 1; // 0x07D4 (0x0004) [0x0000000000000000] [0x00000004] class UClass* MonsterPerkClass; // 0x07D8 (0x0008) [0x0000000000000000] struct FName MusicMessageType; // 0x07E0 (0x0008) [0x0000000000000000] struct FsPlayerZedSpawnInfo PlayerZedSpawnInfo; // 0x07E8 (0x0018) [0x0000000000000000] class AKFPawn_Human* UsablePawn; // 0x0800 (0x0008) [0x0000000000000000] float UnmodifiedFOV; // 0x0808 (0x0004) [0x0000000000000000] int BenefactorDosh; // 0x080C (0x0004) [0x0000000000000000] int BenefactorDoshReq; // 0x0810 (0x0004) [0x0000000000000000] struct FPostProcessSettings PostProcessModifier; // 0x0814 (0x0220) [0x0000000000000000] float NextAdminCmdTime; // 0x0A34 (0x0004) [0x0000000000000000] float RefreshObjectiveUITime; // 0x0A38 (0x0004) [0x0000000000000000] int ShotsFired; // 0x0A3C (0x0004) [0x0000000000000000] int ShotsHit; // 0x0A40 (0x0004) [0x0000000000000000] int ShotsHitHeadshot; // 0x0A44 (0x0004) [0x0000000000000000] class UKFGFxMoviePlayer_Manager* MyGFxManager; // 0x0A48 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_HUD* MyGFxHUD; // 0x0A50 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_PostRoundMenu* MyGFxPostRoundMenu; // 0x0A58 (0x0008) [0x0000000000000000] class UClass* PostRoundMenuClass; // 0x0A60 (0x0008) [0x0000000000000000] class UClass* PurchaseHelperClass; // 0x0A68 (0x0008) [0x0000000000000000] class UKFAutoPurchaseHelper* PurchaseHelper; // 0x0A70 (0x0008) [0x0000000000000000] float NextSpectatorDelay; // 0x0A78 (0x0004) [0x0000000000000000] class AKFPawn_Customization* LocalCustomizationPawn; // 0x0A7C (0x0008) [0x0000000000000000] class UAkEvent* ZedTimeEnterSound; // 0x0A84 (0x0008) [0x0000000000000000] class UAkEvent* ZedTimeExitSound; // 0x0A8C (0x0008) [0x0000000000000000] class UAkEvent* ZedTimePartialEnterSound; // 0x0A94 (0x0008) [0x0000000000000000] class UAkEvent* ZedTimePartialExitSound; // 0x0A9C (0x0008) [0x0000000000000000] float LastTimeDilation; // 0x0AA4 (0x0004) [0x0000000000000000] class UAkEvent* PauseWwiseEvent; // 0x0AA8 (0x0008) [0x0000000000000000] class UAkEvent* ResumeWwiseEvent; // 0x0AB0 (0x0008) [0x0000000000000000] class UAkEvent* EarsRingingPlayEvent; // 0x0AB8 (0x0008) [0x0000000000000000] class UAkEvent* EarsRingingStopEvent; // 0x0AC0 (0x0008) [0x0000000000000000] class UAkEvent* LowHealthStartEvent; // 0x0AC8 (0x0008) [0x0000000000000000] class UAkEvent* LowHealthStopEvent; // 0x0AD0 (0x0008) [0x0000000000000000] class UAkComponent* StingerAkComponent; // 0x0AD8 (0x0008) [0x0000000000000000] class UAkEvent* ResetFiltersEvent; // 0x0AE0 (0x0008) [0x0000000000000000] class UAkEvent* FlashlightOnEvent; // 0x0AE8 (0x0008) [0x0000000000000000] class UAkEvent* FlashlightOffEvent; // 0x0AF0 (0x0008) [0x0000000000000000] class UAkEvent* NightVisionOnEvent; // 0x0AF8 (0x0008) [0x0000000000000000] class UAkEvent* NightVisionOffEvent; // 0x0B00 (0x0008) [0x0000000000000000] class UAkEvent* AllMapCollectiblesFoundEvent; // 0x0B08 (0x0008) [0x0000000000000000] class UMaterialEffect* GameplayPostProcessEffects; // 0x0B10 (0x0008) [0x0000000000000000] struct FName GameplayPostProcessEffectName; // 0x0B18 (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* GameplayPostProcessEffectMIC; // 0x0B20 (0x0008) [0x0000000000000000] struct FName EffectPainParamName; // 0x0B28 (0x0008) [0x0000000000000000] struct FName EffectLowHealthParamName; // 0x0B30 (0x0008) [0x0000000000000000] struct FName EffectZedTimeParamName; // 0x0B38 (0x0008) [0x0000000000000000] struct FName EffectNightVisionParamName; // 0x0B40 (0x0008) [0x0000000000000000] struct FName EffectSirenScreamParamName; // 0x0B48 (0x0008) [0x0000000000000000] struct FName EffectBloatsPukeParamName; // 0x0B50 (0x0008) [0x0000000000000000] struct FName EffectHealParamName; // 0x0B58 (0x0008) [0x0000000000000000] struct FName EffectPerkParamName; // 0x0B60 (0x0008) [0x0000000000000000] struct FName EffectFlashBangParamName; // 0x0B68 (0x0008) [0x0000000000000000] float PainEffectDuration; // 0x0B70 (0x0004) [0x0000000000000000] float PainEffectTimeRemaining; // 0x0B74 (0x0004) [0x0000000000000000] float HealEffectDuration; // 0x0B78 (0x0004) [0x0000000000000000] float HealEffectTimeRemaining; // 0x0B7C (0x0004) [0x0000000000000000] float SonicScreamEffectDuration; // 0x0B80 (0x0004) [0x0000000000000000] float SirenScreamEffectTimeRemaining; // 0x0B84 (0x0004) [0x0000000000000000] float BloatPukeEffectDuration; // 0x0B88 (0x0004) [0x0000000000000000] float BloatPukeEffectTimeRemaining; // 0x0B8C (0x0004) [0x0000000000000000] float FlashBangEffectDuration; // 0x0B90 (0x0004) [0x0000000000000000] float FlashBangEffectTimeRemaining; // 0x0B94 (0x0004) [0x0000000000000000] int LowHealthThreshold; // 0x0B98 (0x0004) [0x0000000000000000] float TargetZEDTimeEffectIntensity; // 0x0B9C (0x0004) [0x0000000000000000] float CurrentZEDTimeEffectIntensity; // 0x0BA0 (0x0004) [0x0000000000000000] float ZEDTimeEffectInterpTimeRemaining; // 0x0BA4 (0x0004) // [0x0000000000000000] float PartialZEDTimeEffectIntensity; // 0x0BA8 (0x0004) [0x0000000000000000] float ExplosionEarRingDuration; // 0x0BAC (0x0004) [0x0000000000000000] float ExplosionEarRingTimeRemaining; // 0x0BB0 (0x0004) [0x0000000000000000] float ExplosionEarRingEffectIntensity; // 0x0BB4 (0x0004) // [0x0000000000000000] float ExplosionEarRingDelay; // 0x0BB8 (0x0004) [0x0000000000000000] float CachedZedTimeVisibilityTime; // 0x0BBC (0x0004) [0x0000000000000000] float ZedTimeSightCounter; // 0x0BC0 (0x0004) [0x0000000000000000] class UPointLightComponent* AmplificationLightTemplate; // 0x0BC4 (0x0008) [0x0000000000000000] class UPointLightComponent* AmplificationLight; // 0x0BCC (0x0008) [0x0000000000000000] float PauseMoveInputTimeLeft; // 0x0BD4 (0x0004) [0x0000000000000000] class UPointLightComponent* NVGLightTemplate; // 0x0BD8 (0x0008) [0x0000000000000000] class UPointLightComponent* NVGLight; // 0x0BE0 (0x0008) [0x0000000000000000] float DOFFocalRange; // 0x0BE8 (0x0004) [0x0000000000000000] float DOFFocalAperture; // 0x0BEC (0x0004) [0x0000000000000000] float DOFFocusBlendRate; // 0x0BF0 (0x0004) [0x0000000000000000] float DOFFocusDepth; // 0x0BF4 (0x0004) [0x0000000000000000] float DOFMaxFocusDepth; // 0x0BF8 (0x0004) [0x0000000000000000] float DOFStaticFocusDepth; // 0x0BFC (0x0004) [0x0000000000000000] float DOFMaxEnemyAngle; // 0x0C00 (0x0004) [0x0000000000000000] float DOF_GP_LerpControl; // 0x0C04 (0x0004) [0x0000000000000000] float DOF_IS_LerpControl; // 0x0C08 (0x0004) [0x0000000000000000] float DOF_NVG_BlendInSpeed; // 0x0C0C (0x0004) [0x0000000000000000] float DOF_NVG_BlendOutSpeed; // 0x0C10 (0x0004) [0x0000000000000000] float CIN_ImageGrainScale; // 0x0C14 (0x0004) [0x0000000000000000] float NVG_FocusBlendRate; // 0x0C18 (0x0004) [0x0000000000000000] float NVG_ImageGrainScale; // 0x0C1C (0x0004) [0x0000000000000000] float NVG_DOF_FocalDistance; // 0x0C20 (0x0004) [0x0000000000000000] float NVG_DOF_SharpRadius; // 0x0C24 (0x0004) [0x0000000000000000] float NVG_DOF_FocalRadius; // 0x0C28 (0x0004) [0x0000000000000000] float NVG_DOF_MinBlurSize; // 0x0C2C (0x0004) [0x0000000000000000] float NVG_DOF_MaxNearBlurSize; // 0x0C30 (0x0004) [0x0000000000000000] float NVG_DOF_MaxFarBlurSize; // 0x0C34 (0x0004) [0x0000000000000000] float NVG_DOF_ExpFalloff; // 0x0C38 (0x0004) [0x0000000000000000] float DOF_Cinematic_BlendInSpeed; // 0x0C3C (0x0004) [0x0000000000000000] float DOF_Cinematic_BlendOutSpeed; // 0x0C40 (0x0004) [0x0000000000000000] float DOF_Cinematic_FocalDistance; // 0x0C44 (0x0004) [0x0000000000000000] float DOF_Cinematic_SharpRadius; // 0x0C48 (0x0004) [0x0000000000000000] float DOF_Cinematic_FocalRadius; // 0x0C4C (0x0004) [0x0000000000000000] float DOF_Cinematic_MinBlurSize; // 0x0C50 (0x0004) [0x0000000000000000] float DOF_Cinematic_MaxNearBlurSize; // 0x0C54 (0x0004) [0x0000000000000000] float DOF_Cinematic_MaxFarBlurSize; // 0x0C58 (0x0004) [0x0000000000000000] float DOF_Cinematic_ExpFalloff; // 0x0C5C (0x0004) [0x0000000000000000] float DOF_GP_BlendInSpeed; // 0x0C60 (0x0004) [0x0000000000000000] float DOF_GP_BlendOutSpeed; // 0x0C64 (0x0004) [0x0000000000000000] float DOF_GP_FocalDistance; // 0x0C68 (0x0004) [0x0000000000000000] float DOF_GP_SharpRadius; // 0x0C6C (0x0004) [0x0000000000000000] float DOF_GP_FocalRadius; // 0x0C70 (0x0004) [0x0000000000000000] float DOF_GP_MinBlurSize; // 0x0C74 (0x0004) [0x0000000000000000] float DOF_GP_MaxNearBlurSize; // 0x0C78 (0x0004) [0x0000000000000000] float DOF_GP_MaxFarBlurSize; // 0x0C7C (0x0004) [0x0000000000000000] float DOF_GP_ExpFalloff; // 0x0C80 (0x0004) [0x0000000000000000] float BlurStrength; // 0x0C84 (0x0004) [0x0000000000000000] float BlurBlendInSpeed; // 0x0C88 (0x0004) [0x0000000000000000] float BlurBlendOutSpeed; // 0x0C8C (0x0004) [0x0000000000000000] float BlurLerpControl; // 0x0C90 (0x0004) [0x0000000000000000] class UKFOnlineStatsRead* StatsRead; // 0x0C94 (0x0008) [0x0000000000000000] class UKFOnlineStatsWrite* StatsWrite; // 0x0C9C (0x0008) [0x0000000000000000] TArray RecentlyMetPlayers; // 0x0CA4 (0x0010) [0x0000000000000000] struct FScriptDelegate OnLoginComplete; // 0x0CB4 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0CB8 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY class UOnlineGameSettings* PendingGameSessionCreateGameSettings; // 0x0CC4 (0x0008) // [0x0000000000000000] struct FPostWaveReplicationInfo PWRI; // 0x0CCC (0x002C) [0x00000000001A0000] ( // CPF_EditConst | CPF_Component ) class UEphemeralMatchStats* MatchStats; // 0x0CF8 (0x0008) [0x0000000000000000] class UClass* MatchStatsClass; // 0x0D00 (0x0008) [0x0000000000000000] float LastUpdateSpectatorActiveTime; // 0x0D08 (0x0004) [0x0000000000000000] float UpdateSpectatorActiveInterval; // 0x0D0C (0x0004) [0x0000000000000000] int TargetViewRotationPitch; // 0x0D10 (0x0004) [0x00000000001B000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_EditConst | CPF_Component ) int TargetViewRotationYaw; // 0x0D14 (0x0004) [0x00000000001C000A] ( // CPF_Const | CPF_ExportObject | // CPF_GlobalConfig | CPF_Component ) struct FsSavedViewTargetInfo SavedViewTargetInfo; // 0x0D18 (0x001C) [0x0000000000000000] struct FInterpCurveFloat ScoreTargetDistanceCurve; // 0x0D34 (0x0014) [0x0000000000000000] float MaxAimCorrectionDistance; // 0x0D48 (0x0004) [0x0000000000000000] float ForceLookAtPawnTime; // 0x0D4C (0x0004) [0x0000000000000000] class AKFPawn* ForceLookAtPawn; // 0x0D50 (0x0008) [0x0000000000000000] float TrackerXPosition; // 0x0D58 (0x0004) [0x0000000000000000] float TrackerYPosition; // 0x0D5C (0x0004) [0x0000000000000000] float TrackingMapScale; // 0x0D60 (0x0004) [0x0000000000000000] float TrackerSpawnVolumeSizeX; // 0x0D64 (0x0004) [0x0000000000000000] float TrackerSpawnVolumeSizeY; // 0x0D68 (0x0004) [0x0000000000000000] float TrackingMapRange; // 0x0D6C (0x0004) [0x0000000000000000] float NoGoStartTime; // 0x0D70 (0x0004) [0x0000000000000000] struct FScriptDelegate __LoginCompleteCallback__Delegate; // 0x0D74 (0x0010) // [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x0D78 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3467]; return pClassPointer; }; void PerformLogout(); void OnClientTitleDataRead(); void OnPlayfabLoginComplete(); void OnCanPlayOnlineCheckForMatchmakingComplete(); void OnBuyGamePressed(); void CheckPrivilegesForMultiplayer(); void OnOSSLoginComplete(); void StartLogin(); void LoginCompleteCallback(); void OnLoginCompleted(); void HasActiveUserEstablished(); void CheckForConnectedControllers(); void OnControllerDisconnectDialogDismissed(); void ShowControllerDisconnectedDialog(); void OnControllerChanged(); void GCF(); void MotivatePlayerToMove(); void eventServerSetNoGoActive(); void SetNoGoActive(); void SwitchTeam(); void RequestSwitchTeam(); void ClearOnlineDelegates(); void OnAttemptPassword(); void eventDestroyOnlineGame(); void eventNotifyDisconnect(); void eventShowConnectionProgressPopup(); void CanDisconnect(); void ForceDisconnect(); void ItemExchangeTimeOut(); void DoEmote(); void PlayVoiceCommsDialog(); void ServerPlayVoiceCommsDialog(); void ServerPlayLevelUpDialog(); void PlayTraderSelectItemDialog(); void ClientPlayTraderDialog(); void PlayTraderDialog(); void CheckForZedOnDeathAchievements(); void NotifyKilled(); void eventClientHearDialog(); void ReceiveTopWeapons(); void ClientReceiveAwardInfo(); void GetPersonalBest(); void SavePersonalBest(); void SubmitPostWaveStats(); void ServerViewPrevPlayer(); void ServerViewNextPlayer(); void TryViewNextPlayer(); void ServerViewSelf(); void SpectateRoaming(); void SpectatePlayer(); void ServerNextSpectateMode(); void eventClientSetViewTarget(); void NotifyChangeSpectateViewTarget(); void MoveToValidSpectatorLocation(); void ServerSetSpectatorActive(); void NextSpectateMode(); void StartSpectate(); void eventDestroyed(); void DrawNextSpawnTimeInfo(); void DrawDebugConductor(); void DrawMapElement(); void DrawDebugMap(); void DrawDebugSpawning(); void DrawNextDebugLine(); void DrawDebugDifficulty(); void DrawDebugMemory(); void DisplayDebug(); void LogOutBugItAIGoToLogFile(); void UnlockHoldOut(); void UpdateBenefactor(); void eventOnAllMapCollectiblesFound(); void eventOnMapCollectibleFound(); void ClientNotifyCheats(); void ServerEnableCheats(); void EnableCheats(); void LogStats(); void GetBenefactorDoshReq(); void ResetStats(); void ClientAddHealPoints(); void AddHealPoints(); void ClientDoorRepaired(); void DoorRepaired(); void ClientAddWeldPoints(); void AddWeldPoints(); void ClientAddSmallRadiusKill(); void AddSmallRadiusKill(); void eventOnPlayerXPAdded(); void eventClientAddPlayerXP(); void ClientAddZedHeadshot(); void AddZedHeadshot(); void ClientAddZedKill(); void AddZedKill(); void eventGetPerkLevelFromPerkList(); void GetPerkLevelProgressPercentage(); void eventClientUnlockAchievement(); void ClientCompletedWeeklySurvival(); void CompletedWeeklySurvival(); void IsValidWeeklySurvivalMatch(); void GetMapSpecialEventIndex(); void IsValidSpecialEventMap(); void CheckForEventMapCompletion(); void eventClientFinishedSpecialEvent(); void FinishedSpecialEvent(); void ClientRoundEnded(); void ClientWonGame(); void ClientWriteAndFlushStats(); void OnStatsInitialized(); void ReadStats(); void SetStatsReadOwningPlayerId(); void LogStatValue(); void eventInitializeStats(); void LogPerkBuilds(); void GiveXP(); void GetPerkBuildByPerkClass(); void GetPerkXP(); void IsEventObjectiveComplete(); void IsWeeklyEventComplete(); void SetUIScale(); void changeSafeFrame(); void PerformedUseAction(); void ServerPause(); void OnExternalUIChanged(); void SetPause(); void ClientPauseWwise(); void PauseWwiseForAllPlayers(); void PlayEcho(); void PlayDirectionalEcho(); void HearEchoes(); void ProcessAdvancedHearSound(); void eventClientHearSoundAdvancedRelevant(); void eventClientHearSoundAdvanced(); void eventWwiseClientHearSound(); void GetPooledAkComponent(); void SetObjeciveUIIcon(); void UpdateObjectiveUIProgress(); void SetObjectiveUIActive(); void UpdateRhythmCounterWidget(); void ClosePostGameMenu(); void ClientShowPostGameMenu(); void ClosePostRoundSummary(); void ClientOpenRoundSummary(); void NotifyTraderDoshChanged(); void CloseTraderMenu(); void ClientOpenTraderMenu(); void OpenTraderMenu(); void ServerSetEnablePurchases(); void DoAutoPurchase(); void GetPurchaseHelper(); void StartAltFire(); void StartFire(); void ClientSetOnlineStatus(); void ClientResetCountdown(); void ClientSetCountdown(); void TeamTalk(); void Talk(); void OpenChatBox(); void RecieveChatMessage(); void GetChatChannel(); void eventTeamMessage(); void ServerTeamSay(); void ServerSay(); void OnPS4AvatarDownloadComplete(); void OnAvatarURLPS4Received(); void GetPS4Avatar(); void OnAvatarReceived(); void GetSteamAvatar(); void OnLobbyStatusChanged(); void NotifyUnsuccessfulSearch(); void SkipLobby(); void ClientSetFrontEnd(); void HideBossNamePlate(); void ShowBossNameplate(); void SetGFxHUD(); void ClientRecieveNewTeam(); void ServerNotifyTeamChanged(); void ClientFadeOutZedTime(); void ClientEnterZedTime(); void FadeOutZedTime(); void EnterZedTime(); void IsAffectedByZedTime(); void eventNotifyPartialZedTimeExited(); void StartPartialZedTimeSightCounter(); void CanSeeZedTimePawn(); void ClientSetCinematicMode(); void SetNightVision(); void SetAmplificationLightEnabled(); void ToggleHealthEffects(); void UpdateLowHealthEffect(); void UpdateEarRingEffect(); void PlayEarRingEffect(); void UpdateZEDTimeEffects(); void SetZedTimeEffectIntensity(); void UpdateScreenEffect(); void ShouldDisplayGameplayPostProcessFX(); void ResetGameplayPostProcessFX(); void InitGameplayPostProcessFX(); void SetPerkEffect(); void SetGrabEffect(); void eventPlayerTick(); void GetEffectTimeRemaining(); void CheckForReducedSirenScreamEffect(); void PlayScreenMaterialEffects(); void PlayScreenEffects(); void PlayScreenHitFX(); void CheckCurrentUsableActor(); void UpdateInteractionMessages(); void UpdatePendingInteractionMessage(); void SetPendingInteractionMessage(); void eventReceiveLocalizedMessage(); void GetTriggerUseList(); void TriggerInteracted(); void GetCurrentUsableActor(); void AimingHelp(); void StartAutoTargeting(); void ModifyUpdateRotation(); void SetForceLookAtPawn(); void GetServerMoveDeltaTime(); void CallServerMove(); void DualServerMove(); void ServerMove(); void TickPauseMoveInput(); void PauseMoveInput(); void CheckJumpOrDuck(); void HandleWalking(); void ServerThrowOtherWeapon(); void ProcessAimCorrection(); void GetAdjustedAimFor(); void SwitchToBestWeapon(); void GetPickedAimAtTarget(); void PickAimAtTarget(); void eventClientWasKicked(); void ServerAdmin(); void Admin(); void ServerAdminLogOut(); void AdminLogout(); void ServerAdminLogin(); void AdminLogin(); void AdminCmdOk(); void DoForceFeedbackForScreenShake(); void ClientPlayCameraShake(); void ResetCustomizationCamera(); void Camera(); void EnableReflections(); void EnableIronSights(); void EnableBlur(); void ClientCustomDepthOfField(); void ClientEnableDepthOfField(); void EnableDepthOfField(); void eventResetCameraMode(); void SetBossCamera(); void ProcessViewRotation(); void LandingShake(); void MoveToAdjustedFreeCamPosition(); void SetCameraMode(); void GetBoss(); void IsEmoteCameraMode(); void IsBossCameraMode(); void ClientSetCameraMode(); void ResetFOV(); void FixFOV(); void CalcFOVForAspectRatio(); void NotifyResolutionChanged(); void HandleTransitionFOV(); void HandleTransitionFOVAspectAdjusted(); void ToggleScreenShotMode(); void ShowTestDownloadNotification(); void UpdateFullscreenBlur(); void UpdateDOFIronSightsLerpControl(); void UpdateDOFGamePlayLerpControl(); void UpdateDOF(); void CameraAnimHasEnoughSpace(); void ChooseRandomCameraAnim(); void SetViewTarget(); void RecievedNewPerkClass(); void PlayRMEffect(); void eventGetPerkIndexFromClass(); void PostTierUnlock(); void NotifyLevelUp(); void NotifyXPGain(); void eventNotifyPerkUpdated(); void eventNotifyPendingPerkChanges(); void eventSetHaveUpdatePerk(); void Timer_CheckForValidPerk(); void WaitForPerkAndRespawn(); void eventUpdatePerkLevelMenu(); void ServerCallOutPawnCloaking(); void GetPerkName(); void ApplyPendingPerks(); void eventWasPerkUpdatedThisRound(); void CanUpdatePerkInfo(); void eventServerSelectPerk(); void eventServerSetSavedPerkIndex(); void eventServerSetPendingPerkUpdate(); void eventRequestPerkChange(); void eventClientSetLevelCheat(); void eventServerSetLevel(); void SetActivePerkLevel(); void GetLevel(); void ReadStatsTimeout(); void LoadAllPerkLevels(); void ResetPerkStatsLoaded(); void ClientInitializePerks(); void IsForceFeedbackAllowed(); void ClientSetIgnoreButtons(); void SetCinematicMode(); void ServerNotifyRegisteredAsLocalTalker(); void ClientStopNetworkedVoice(); void ClientStartNetworkedVoice(); void OnPlayerTalking(); void RegisterTalkerDelegate(); void AddHeadHit(); void AddShotsHit(); void AddShotsFired(); void NotifyPlayTogetherFailed(); void OnCreateGameSessionForPlayTogetherComplete(); void TryMainMenuPlayTogether(); void OnGameDestroyedForPlayTogetherComplete(); void OnLoginForPlayTogetherComplete(); void TryAutoLoginForPlayTogether(); void OnPlayTogetherStarted(); void NotifyInviteFailed(); void JoinPlayfabServer(); void OnSessionJoinComplete(); void OnGameDestroyedForInviteComplete(); void OnLoginForGameInviteComplete(); void TryAutoLoginForInvite(); void OnGameInviteAccepted(); void eventPreClientTravel(); void OnJoinGameSessionComplete(); void JoinGameSessionNow(); void OnOldSessionDestroyedForNewGameSessionJoin(); void TryJoinGameSession(); void ServerGameSessionFailed(); void ServerGameSessionCreated(); void OnGameSessionCreateComplete(); void TryCreateGameSessionNow(); void OnOldSessionDestroyedForNewGameSessionCreate(); void ClientCreateGameSession(); void HandleConsoleSessions(); void HandleReconnected(); void HandleNetworkError(); void HandleLoginStatusChange(); void HandleConnectionStatusChange(); void OnReadProfileSettingsComplete(); void TestRegionQuery(); void ShowBestRegionSelectedPopup(); void RegisterOnlineDelegates(); void ReturnToViewTarget(); void SpawnMidGameCustomizationPawn(); void GetBestCustomizationStart(); void CreateCustomizationPawn(); void eventInitInputSystem(); void ResetPlayerMovementInput(); void CanViewCinematics(); void IsReadyToPlay(); void CanRestartPlayer(); void SpawnReconnectedPlayer(); void ListConsoleEvents(); void PawnDied(); void ClientRestart(); void eventPossess(); void ReceivedGameClass(); void AskForPawn(); void eventReceivedPlayer(); void eventReplicatedEvent(); void eventGetSeasonalStateName(); void ClearDownloadInfo(); void eventUpdateSeasonalState(); void CheckWeeklyEventID(); void CheckSpecialEventID(); void eventPostBeginPlay(); void ShowPreClientTravelMovie(); void eventPushPlayerStats(); void GetPerk(); void CheckBulletWhip(); void GetTargetAdhesionFrictionTarget(); void IsMouseAvailable(); void IsKeyboardAvailable(); void SyncInventoryProperties(); void SetHardwarePhysicsEnabled(); }; UClass* AKFPlayerController::pClassPointer = NULL; // Class KFGame.KFPlayerController_WeeklySurvival // 0x0014 (0x0D98 - 0x0D84) class AKFPlayerController_WeeklySurvival : public AKFPlayerController { public: DWORD bUsingPermanentZedTime : 1; // 0x0D84 (0x0004) [0x00000000001D0000] // [0x00000001] ( CPF_Travel | // CPF_GlobalConfig | CPF_Component ) float ZedTimeRadius; // 0x0D88 (0x0004) [0x00000000001E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) float ZedTimeBossRadius; // 0x0D8C (0x0004) [0x00000000001F0000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig | // CPF_Component ) float ZedTimeHeight; // 0x0D90 (0x0004) [0x0000000000200000] float ZedRecheckTime; // 0x0D94 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3469]; return pClassPointer; }; void RecheckZedTime(); void EnterZedTime(); }; UClass* AKFPlayerController_WeeklySurvival::pClassPointer = NULL; // Class KFGame.KFPlayerInput // 0x0164 (0x06B0 - 0x054C) class UKFPlayerInput : public UMobilePlayerInput { public: DWORD bRequiresPushToTalk : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bQuickWeaponSelect : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bIronsightsHeld : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000004] DWORD bGamePadWeaponSelectOpen : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000008] DWORD bShowGamepadWeaponSelectHint : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x00000010] DWORD bInvertController : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000020] DWORD bUseGamepadLastWeapon : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000040] DWORD bExtendedSprinting : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000080] DWORD bAimAssistEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000100] DWORD bViewSmoothingEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000200] DWORD bViewAccelerationEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000400] DWORD bDebugViewAcceleration : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00000800] DWORD bTargetFrictionEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00001000] DWORD bDebugTargetFriction : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00002000] DWORD bTargetAdhesionEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00004000] DWORD bAutoTargetEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00008000] DWORD bForceFeedbackEnabled : 1; // 0x054C (0x0004) [0x0000000000000000] // [0x00010000] DWORD bVersusInput : 1; // 0x054C (0x0004) [0x0000000000000000] [0x00020000] DWORD bUsingVersusGamepadScheme : 1; // 0x054C (0x0004) // [0x0000000000000000] [0x00040000] float PressedJumpTime; // 0x0550 (0x0004) [0x0000000000000000] float GamepadButtonHoldTime; // 0x0554 (0x0004) [0x0000000000000000] float SprintAnalogThreshold; // 0x0558 (0x0004) [0x0000000000000000] float ZedAutoSprintAnalogThreshold; // 0x055C (0x0004) [0x0000000000000000] float GamepadSprintAnalogStart; // 0x0560 (0x0004) [0x0000000000000000] int CurrentLayoutIndex; // 0x0564 (0x0004) [0x0000000000000000] float RawJoyMagnitude; // 0x0568 (0x0004) [0x0000000000000000] float RawJoyLookMagnitude; // 0x056C (0x0004) [0x0000000000000000] struct FInterpCurveFloat LookSensitivityScaleCurve; // 0x0570 (0x0014) [0x0000000000000000] struct FInterpCurveFloat MoveSensitivityScaleCurve; // 0x0584 (0x0014) [0x0000000000000000] float GamepadSensitivityScale; // 0x0598 (0x0004) [0x0000000000000000] float SprintingSensitivityScale; // 0x059C (0x0004) [0x0000000000000000] float ZoomedSensitivityScale; // 0x05A0 (0x0004) [0x0000000000000000] float GamepadZoomedSensitivityScale; // 0x05A4 (0x0004) [0x0000000000000000] float ViewSmoothing_MaxAccel; // 0x05A8 (0x0004) [0x0000000000000000] float ViewSmoothing_MaxDecel; // 0x05AC (0x0004) [0x0000000000000000] float PrevTurn; // 0x05B0 (0x0004) [0x0000000000000000] float PrevLookUp; // 0x05B4 (0x0004) [0x0000000000000000] float CurrTurn; // 0x05B8 (0x0004) [0x0000000000000000] float CurrLookUp; // 0x05BC (0x0004) [0x0000000000000000] float ViewAccel_JoyMagThreshold; // 0x05C0 (0x0004) [0x0000000000000000] float ViewAccel_JoyPitchThreshold; // 0x05C4 (0x0004) [0x0000000000000000] float ViewAccel_MaxTurnSpeed; // 0x05C8 (0x0004) [0x0000000000000000] float ViewAccel_BlendTime; // 0x05CC (0x0004) [0x0000000000000000] float ViewAccel_BlendTimer; // 0x05D0 (0x0004) [0x0000000000000000] float RemainingaTurn; // 0x05D4 (0x0004) [0x0000000000000000] float RemainingaLookUp; // 0x05D8 (0x0004) [0x0000000000000000] float FrictionScale; // 0x05DC (0x0004) [0x0000000000000000] class APawn* LastFrictionTarget; // 0x05E0 (0x0008) [0x0000000000000000] float LastFrictionTargetTime; // 0x05E8 (0x0004) [0x0000000000000000] float LastaTurn; // 0x05EC (0x0004) [0x0000000000000000] float LastaLookUp; // 0x05F0 (0x0004) [0x0000000000000000] float LastaForward; // 0x05F4 (0x0004) [0x0000000000000000] float LastaStrafe; // 0x05F8 (0x0004) [0x0000000000000000] struct FInterpCurveFloat FrictionAngleCurve; // 0x05FC (0x0014) [0x0000000000000000] float ViewAccelerationFrictionScale; // 0x0610 (0x0004) [0x0000000000000000] struct FInterpCurveFloat AdhesionAngleCurve; // 0x0614 (0x0014) [0x0000000000000000] float AdhesionFactor; // 0x0628 (0x0004) [0x0000000000000000] class APawn* LastAdhesionTarget; // 0x062C (0x0008) [0x0000000000000000] struct FVector AdhesionTargetLastLoc; // 0x0634 (0x000C) [0x0000000000000000] struct FVector AdhesionPawnLastLoc; // 0x0640 (0x000C) [0x0000000000000000] float AutoTargetTimeLeft; // 0x064C (0x0004) [0x0000000000000000] struct FVector AutoTargetInitialLocation; // 0x0650 (0x000C) [0x0000000000000000] class APawn* CurrentAutoTarget; // 0x065C (0x0008) [0x0000000000000000] struct FName CurrentAutoTargetBone; // 0x0664 (0x0008) [0x0000000000000000] float AutoTargetRotationRate; // 0x066C (0x0004) [0x0000000000000000] struct FInterpCurveFloat AutoTargetAngleCurve; // 0x0670 (0x0014) [0x0000000000000000] struct FInterpCurveFloat AutoTargetWeakspotCurve; // 0x0684 (0x0014) [0x0000000000000000] float AutoTargetCooldown; // 0x0698 (0x0004) [0x0000000000000000] float LastAutoTargetTime; // 0x069C (0x0004) [0x0000000000000000] float ForceLookAtPawnMinAngle; // 0x06A0 (0x0004) [0x0000000000000000] float ForceLookAtPawnRotationRate; // 0x06A4 (0x0004) [0x0000000000000000] float ForceLookAtPawnDampenedRotationRate; // 0x06A8 (0x0004) // [0x0000000000000000] float DoubleTapDelay; // 0x06AC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3471]; return pClassPointer; }; void UnsuppressScoring(); void SuppressScoring(); void UnsuppressWaveSpawnLogging(); void SuppressWaveSpawnLogging(); void UnsuppressAISpawnLogging(); void SuppressAISpawnLogging(); void UnsuppressPerk(); void SuppressPerk(); void UnsuppressMelee(); void SuppressMelee(); void UnsuppressWeaponAnim(); void SuppressWeaponAnim(); void UnsuppressAffliction(); void SuppressAffliction(); void UnsuppressWeaponAttach(); void SuppressWeaponAttach(); void UnsuppressPawnAnim(); void SuppressPawnAnim(); void UnsuppressSpecialMove(); void SuppressSpecialMove(); void UnsuppressPhysicsBodyImpact(); void SuppressPhysicsBodyImpact(); void UnsuppressTakeDamage(); void SuppressTakeDamage(); void JumpVersus(); void QuickHealVersus(); void CustomStopFireVersus(); void CustomStartFireVersus(); void GetVersusZedMoveTypeGamepad(); void GetVersusZedMoveType(); void IsAimAssistAutoTargetEnabled(); void IsAimAssistAdhesionEnabled(); void IsAimAssistFrictionEnabled(); void DebugTargetFriction(); void DebugAutoTarget(); void DebugTargetAdhesion(); void DebugViewAcceleration(); void GetSensitivityByFOV(); void GetAimAssistViewOffsetFromTarget(); void ApplyTargetFriction(); void ApplyTargetAdhesion(); void IsPawnSprinting(); void ApplyForceLookAtPawn(); void ApplyAutoTarget(); void IsAutoTargetWithinCone(); void GetBestAutoTargetLocation(); void InitAutoTarget(); void ApplyViewSmoothing(); void ApplyingViewAcceleration(); void CanApplyViewAcceleration(); void ApplyViewAcceleration(); void IsDirectingJoyStick(); void UpdateExtendedSprint(); void PreProcessGamepadInput(); void PreProcessInput(); void StopVoiceChat(); void StartVoiceChat(); void InteractTimer(); void InteractRelease(); void Interact(); void OnVoteNoRelease(); void OnVoteNoPressed(); void OnVoteYesRelease(); void OnVoteYesPressed(); void HideVoiceComms(); void ShowVoiceComms(); void ChangeZedCamera(); void GamepadDpadUp(); void GamepadDpadRight(); void GamepadDpadDown(); void GamepadDpadLeft(); void TossMoney(); void QuickHeal(); void QuickEmote(); void SwitchWeaponGroup(); void GamepadWeaponMenuTimer(); void CheckForWeaponMenuTimerInterrupt(); void ReleaseGamepadWeaponSelect(); void GamepadWeaponSelect(); void SelectLastWeapon(); void SelectPrevWeapon(); void SelectNextWeapon(); void SwitchFireRelease(); void SwitchFire(); void CustomStopFire(); void CustomStartFire(); void InternalToggleNightVision(); void InternalToggleFlashlight(); void FlashlightTimer(); void FlashlightRelease(); void ToggleFlashlight(); void IronSightsRelease(); void IronSights(); void ToggleCrouch(); void StopCrouch(); void StartCrouch(); void Jump(); void GamepadSwitchFire(); void GamepadJumpTimer(); void GamepadJumpRelease(); void GamepadJump(); void GamepadCrouchTimer(); void GamepadCrouchRelease(); void GamepadCrouch(); void GamepadReloadTimer(); void GamepadReloadRelease(); void GamepadReload(); void ShouldActivateGamepadSprint(); void GetLeftAnalogDistance(); void GamepadSprintRelease(); void GamepadSprintTimer(); void GamepadSprint(); void SwapPositions(); void BindKey(); void eventReInitializeControlsUI(); void AdjustMouseSensitivity(); void eventPlayerInput(); void CheckForDoubleClickMove(); void SetZoomedSensitivity(); void SetSensitivity(); void UpdatePushToTalk(); void ClientInitInputSystem(); void DisplayDebug(); void eventFilterButtonInput(); void GetGameBindableAction(); void GetBindDisplayName(); void SetGamepadLayout(); void ResetKeysToDefault(); void GetBindingsIndex(); void RemoveCommandFromBind(); void SetKeyBind(); void SwapBind(); void GetKeyBindFromCommand(); }; UClass* UKFPlayerInput::pClassPointer = NULL; // Class KFGame.KFExplosionLight // 0x0010 (0x0070 - 0x0060) class UKFExplosionLight : public UObject { public: TArray TimeShift; // 0x0060 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3473]; return pClassPointer; }; }; UClass* UKFExplosionLight::pClassPointer = NULL; // Class KFGame.KFExplosionLightComponent // 0x0024 (0x0290 - 0x026C) class UKFExplosionLightComponent : public UPointLightComponent { public: class UKFExplosionLight* Template; // 0x026C (0x0008) [0x0000000000000000] DWORD bInitialized : 1; // 0x0274 (0x0004) [0x0000000000000000] [0x00000001] float Lifetime; // 0x0278 (0x0004) [0x0000000000000000] int TimeShiftIndex; // 0x027C (0x0004) [0x0000000000000000] struct FScriptDelegate __OnLightFinished__Delegate; // 0x0280 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0284 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3475]; return pClassPointer; }; void OnLightFinished(); void ResetLight(); void SetTemplate(); }; UClass* UKFExplosionLightComponent::pClassPointer = NULL; // Class KFGame.KFFlashlightAttachment // 0x0054 (0x00B4 - 0x0060) class UKFFlashlightAttachment : public UObject { public: class USkeletalMeshComponent* OwnerMesh; // 0x0060 (0x0008) [0x0000000000000000] DWORD bEnabled : 1; // 0x0068 (0x0004) [0x0000000000000000] [0x00000001] DWORD bLightInitialized : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDebug : 1; // 0x0068 (0x0004) [0x0000000000000000] [0x00000004] class USpotLightComponent* LightTemplate; // 0x006C (0x0008) [0x0000000000000000] class USpotLightComponent* Light; // 0x0074 (0x0008) [0x0000000000000000] class UStaticMesh* LightConeMesh; // 0x007C (0x0008) [0x0000000000000000] class UStaticMeshComponent* LightConeMeshComp; // 0x0084 (0x0008) [0x0000000000000000] class UStaticMesh* AttachmentMesh; // 0x008C (0x0008) [0x0000000000000000] class UStaticMeshComponent* AttachmentMeshComp; // 0x0094 (0x0008) [0x0000000000000000] struct FName FlashlightSocketName; // 0x009C (0x0008) [0x0000000000000000] float TeammateSwitchRadius; // 0x00A4 (0x0004) [0x0000000000000000] float TeammateSwitchTimer; // 0x00A8 (0x0004) [0x0000000000000000] float MaxAIWarningDistSQ; // 0x00AC (0x0004) [0x0000000000000000] float MaxAIWarningDistFromPointSQ; // 0x00B0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3477]; return pClassPointer; }; void ChooseBestFlashlight(); void ChooseBestFlashlightTimer(); void UpdateFlashlightFor(); void SetFirstPersonVisibility(); void IsOwnerFirstPerson(); void SetLightingChannels(); void OwnerDied(); void AttachFlashlightComponent(); void InitializeLight(); void Timer_WarnAI(); void SetEnabled(); void DetachFlashlight(); void Reattach(); void AttachFlashlight(); }; UClass* UKFFlashlightAttachment::pClassPointer = NULL; // Class KFGame.KFFracturedMeshActor // 0x0034 (0x030C - 0x02D8) class AKFFracturedMeshActor : public AFracturedStaticMeshActor { public: unsigned char ReplicationMode; // 0x02D8 (0x0001) [0x0000000000000000] unsigned char VulnerableMultiplier; // 0x02D9 (0x0001) [0x0000000000000000] int TotalHealth; // 0x02DC (0x0004) [0x0000000000000000] int DefaultTotalHealth; // 0x02E0 (0x0004) [0x0000000000000000] struct FMaterialLightParamMod MaterialLightParams; // 0x02E4 (0x0014) [0x0000000000000000] DWORD bSpawnPartsWhenDestroyed : 1; // 0x02F8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHasBeenDestroyed : 1; // 0x02F8 (0x0004) [0x0000000000150000] // [0x00000002] ( CPF_Travel | // CPF_GlobalConfig ) DWORD bHasLostChunk : 1; // 0x02F8 (0x0004) [0x0000000000160000] [0x00000004] // ( CPF_EditConst | CPF_GlobalConfig ) TArray VulnerableDamageType; // 0x02FC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3479]; return pClassPointer; }; void Reset(); void SimulateRemoteHit(); void PlayBreakOffAllParticles(); void eventBreakOffPartsInRadius(); void BreakOffAllFragments(); void eventSetLoseChunkReplacementMaterial(); void FractureEffectIsRelevant(); void IsVulnerableTo(); void eventTakeDamage(); void eventPreBeginPlay(); void eventReplicatedEvent(); }; UClass* AKFFracturedMeshActor::pClassPointer = NULL; // Class KFGame.KFFracturedMeshGlass // 0x0010 (0x031C - 0x030C) class AKFFracturedMeshGlass : public AKFFracturedMeshActor { public: int DestroyOnBumpThreshold; // 0x030C (0x0004) [0x0000000000000000] DWORD bInstiKillOnAIBump : 1; // 0x0310 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bTickMaterialParam : 1; // 0x0310 (0x0004) [0x0000000000000000] // [0x00000002] class UMaterialInstanceConstant* MIC; // 0x0314 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3481]; return pClassPointer; }; void TakeRadiusDamage(); void StopsProjectile(); void eventBump(); void eventTakeDamage(); void eventPostBeginPlay(); void eventPreBeginPlay(); }; UClass* AKFFracturedMeshGlass::pClassPointer = NULL; // Class KFGame.KFGoreManager // 0x00A8 (0x02EC - 0x0244) class AKFGoreManager : public AActor { public: int DesiredGoreLevel; // 0x0244 (0x0004) [0x0000000000000000] float GoreFXLifetimeMultiplier; // 0x0248 (0x0004) [0x0000000000000000] float BodyWoundDecalLifetime; // 0x024C (0x0004) [0x0000000000000000] float BloodSplatterLifetime; // 0x0250 (0x0004) [0x0000000000000000] float BloodPoolLifetime; // 0x0254 (0x0004) [0x0000000000000000] float GibletLifetime; // 0x0258 (0x0004) [0x0000000000000000] float BloodSplatSize; // 0x025C (0x0004) [0x0000000000000000] float BloodPoolSize; // 0x0260 (0x0004) [0x0000000000000000] int MaxBodyWoundDecals; // 0x0264 (0x0004) [0x0000000000000000] int MaxBloodSplatterDecals; // 0x0268 (0x0004) [0x0000000000000000] int MaxBloodPoolDecals; // 0x026C (0x0004) [0x0000000000000000] DWORD bAllowBloodSplatterDecals : 1; // 0x0270 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bShowPersistentBloodTraces : 1; // 0x0270 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bLogGore : 1; // 0x0270 (0x0004) [0x0000000000000000] [0x00000004] class ADecalManager* BodyWoundDecalManager; // 0x0274 (0x0008) [0x0000000000000000] class ADecalManager* BloodSplatterDecalManager; // 0x027C (0x0008) [0x0000000000000000] class ADecalManager* BloodPoolDecalManager; // 0x0284 (0x0008) [0x0000000000000000] int MaxBloodEffects; // 0x028C (0x0004) [0x0000000000000000] int MaxGoreEffects; // 0x0290 (0x0004) [0x0000000000000000] class AEmitterPool* BloodFXEmitterPool; // 0x0294 (0x0008) [0x0000000000000000] class AEmitterPool* MiscGoreFXEmitterPool; // 0x029C (0x0008) [0x0000000000000000] TArray CorpsePool; // 0x02A4 (0x0010) [0x0000000000000000] int MaxDeadBodies; // 0x02B4 (0x0004) [0x0000000000000000] float MaxCorpseOffscreenTime; // 0x02B8 (0x0004) [0x0000000000000000] float MaxCorpseOffscreenDistance; // 0x02BC (0x0004) [0x0000000000000000] float PersistentSplatTraceLength; // 0x02C0 (0x0004) [0x0000000000000000] int MaxPersistentSplatsPerFrame; // 0x02C4 (0x0004) [0x0000000000000000] TArray CurrentSplats; // 0x02C8 (0x0010) [0x0000000000000000] int CurrentSplatIdx; // 0x02D8 (0x0004) [0x0000000000000000] TArray CachedSplattermaps; // 0x02DC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3483]; return pClassPointer; }; void eventReset(); void ResetPersistantGore(); void AddCorpse(); void DeleteCorpse(); void RemoveAndDeleteCorpse(); void RateCorpse(); void MakeRoomForCorpse(); void CauseObliteration(); void SpawnObliterationBloodEffect(); void SpawnGiblet(); void CauseGibsAndApplyImpulse(); void CauseDismemberment(); void ConditionalApplyPartialGore(); void CrushBone(); void BreakConstraint(); void AttachMutilationBloodEffects(); void AllowHeadless(); void AllowMutilation(); void LeaveABloodPoolDecal(); void GetTimeBetweenGibBloodSplats(); void LeaveABloodSplatterDecal(); void CausePersistentBlood(); void FlushPersistentBloodSplats(); void CacheCurrentSplattermaps(); void ClearPersistentBloodSplats(); void PerformTraceAndUpdateSplattermap(); void LeaveAPersistentBloodSplat(); void LeaveABodyWoundDecal(); void eventPostBeginPlay(); }; UClass* AKFGoreManager::pClassPointer = NULL; // Class KFGame.KFImpactEffectManager // 0x0048 (0x028C - 0x0244) class AKFImpactEffectManager : public AActor { public: class UKFImpactEffectInfo* DefaultImpactEffects; // 0x0244 (0x0008) [0x0000000000000000] float MaxImpactEffectDistance; // 0x024C (0x0004) [0x0000000000000000] float MaxDecalRangeSq; // 0x0250 (0x0004) [0x0000000000000000] DWORD bAlignToSurfaceNormal : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSuppressSounds : 1; // 0x0254 (0x0004) [0x0000000000000000] // [0x00000002] int MaxImpactEffectDecals; // 0x0258 (0x0004) [0x0000000000000000] class ADecalManager* ImpactEffectDecalManager; // 0x025C (0x0008) [0x0000000000000000] class UAkEvent* MostRecentImpactSound; // 0x0264 (0x0008) [0x0000000000000000] struct FVector MostRecentImpactLocation; // 0x026C (0x000C) [0x0000000000000000] float MostRecentImpactTime; // 0x0278 (0x0004) [0x0000000000000000] int NumDuplicateImpactSounds; // 0x027C (0x0004) [0x0000000000000000] float MinRepeatImpactSoundDistanceSq; // 0x0280 (0x0004) [0x0000000000000000] float MinRepeatImpactSoundInterval; // 0x0284 (0x0004) [0x0000000000000000] int MaxDuplicateImpactSounds; // 0x0288 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3485]; return pClassPointer; }; void PlayMeleeImpact(); void AllowImpactEffects(); void GetImpactEffect(); void ShouldExtendDecalThickness(); void SpawnImpactDecal(); void CheckBulletWhip(); void PlayImpactSound(); void ShouldPlayImpactSound(); void PlayImpactEffects(); void eventPostBeginPlay(); }; UClass* AKFImpactEffectManager::pClassPointer = NULL; // Class KFGame.KFKActorSpawnable // 0x0000 (0x037C - 0x037C) class AKFKActorSpawnable : public AKActorSpawnable { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3487]; return pClassPointer; }; void eventReset(); void UnHideTimer(); void HideForInterval(); void eventPostBeginPlay(); }; UClass* AKFKActorSpawnable::pClassPointer = NULL; // Class KFGame.KFLaserSightAttachment // 0x005C (0x00BC - 0x0060) class UKFLaserSightAttachment : public UObject { public: float LaserDotLerpStartDistance; // 0x0060 (0x0004) [0x0000000000000000] float LaserDotLerpEndDistance; // 0x0064 (0x0004) [0x0000000000000000] float LaserDotMaxScale; // 0x0068 (0x0004) [0x0000000000000000] float LaserDotDepthBias; // 0x006C (0x0004) [0x0000000000000000] class UStaticMesh* LaserDotMesh; // 0x0070 (0x0008) [0x0000000000000000] class UStaticMeshComponent* LaserDotMeshComp; // 0x0078 (0x0008) [0x0000000000000000] class USkeletalMesh* LaserSightMesh; // 0x0080 (0x0008) [0x0000000000000000] class UKFSkeletalMeshComponent* LaserSightMeshComp; // 0x0088 (0x0008) [0x0000000000000000] class USkeletalMesh* LaserBeamMesh; // 0x0090 (0x0008) [0x0000000000000000] class UKFSkeletalMeshComponent* LaserBeamMeshComp; // 0x0098 (0x0008) [0x0000000000000000] struct FName LaserSightSocketName; // 0x00A0 (0x0008) [0x0000000000000000] float LaserSightRange; // 0x00A8 (0x0004) [0x0000000000000000] float AnimWeight; // 0x00AC (0x0004) [0x0000000000000000] float AnimBlendRate; // 0x00B0 (0x0004) [0x0000000000000000] float LaserSightAimStrength; // 0x00B4 (0x0004) [0x0000000000000000] float DesiredAimStrength; // 0x00B8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3489]; return pClassPointer; }; void GetFOVAdjustedLaserSocket(); void AimAt(); void UpdateFirstPersonAImStrength(); void Update(); void eventChangeVisibility(); void SetMeshLightingChannels(); void SetMeshFOV(); void AttachLaserSight(); }; UClass* UKFLaserSightAttachment::pClassPointer = NULL; // Class KFGame.KFLightPool // 0x001C (0x0260 - 0x0244) class AKFLightPool : public AActor { public: TArray ActiveComponents; // 0x0244 (0x0010) [0x0000000000000000] int MaxOnScreenLights; // 0x0254 (0x0004) [0x0000000000000000] int CurrentOnScreenLights; // 0x0258 (0x0004) [0x0000000000000000] int CurrentLowestPriority; // 0x025C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3491]; return pClassPointer; }; void RegisterPointLight(); void eventPreBeginPlay(); }; UClass* AKFLightPool::pClassPointer = NULL; // Class KFGame.KFMuzzleFlash // 0x00AC (0x010C - 0x0060) class UKFMuzzleFlash : public UObject { public: class AActor* Owner; // 0x0060 (0x0008) [0x0000000000000000] struct FMuzzleEffectInfo MuzzleFlash; // 0x0068 (0x0040) [0x0000000000000000] DWORD bEnableSecondaryMuzzleFlash : 1; // 0x00A8 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bLastWasPrimary : 1; // 0x00A8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAutoActivateShellEject : 1; // 0x00A8 (0x0004) [0x0000000000000000] // [0x00000004] struct FMuzzleEffectInfo MuzzleFlashAlt; // 0x00AC (0x0040) [0x0000000000000000] unsigned char FireModeAlternateBothEffects; // 0x00EC (0x0001) [0x0000000000000000] unsigned char FireModeFireBothEffects; // 0x00ED (0x0001) [0x0000000000000000] class UParticleSystem* ShellEjectPSCTemplate; // 0x00F0 (0x0008) [0x0000000000000000] struct FName ShellEjectSocketName; // 0x00F8 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* ShellEjectPSC; // 0x0100 (0x0008) [0x0000000000000000] float ShellEjectLifetime; // 0x0108 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3493]; return pClassPointer; }; void SetShellEjectLife(); void CauseShellEject(); void GetAltSocketName(); void GetSocketName(); void DetachMuzzleFlash(); void eventSetFOV(); void AttachMuzzleFlash(); void MuzzleFlashAltTimer(); void MuzzleFlashTimer(); void StopMuzzleFlash(); void CauseMuzzleFlash(); }; UClass* UKFMuzzleFlash::pClassPointer = NULL; // Class KFGame.KFParticleSystemComponent // 0x0014 (0x03CC - 0x03B8) class UKFParticleSystemComponent : public UParticleSystemComponent { public: float FOV; // 0x03B8 (0x0004) [0x0000000000000000] DWORD bHasSavedScale3D : 1; // 0x03BC (0x0004) [0x0000000000000000] // [0x00000001] struct FVector SavedScale3D; // 0x03C0 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3495]; return pClassPointer; }; void SetFOV(); }; UClass* UKFParticleSystemComponent::pClassPointer = NULL; // Class KFGame.KFPersistentBloodActor // 0x001C (0x0260 - 0x0244) class AKFPersistentBloodActor : public AActor { public: float ConeSpreadRadius; // 0x0244 (0x0004) [0x0000000000000000] float MaxConeSpreadDegrees; // 0x0248 (0x0004) [0x0000000000000000] DWORD bEnabled : 1; // 0x024C (0x0004) [0x0000000000000000] [0x00000001] float BloodScale; // 0x0250 (0x0004) [0x0000000000000000] float BloodSpread; // 0x0254 (0x0004) [0x0000000000000000] class UDrawConeComponent* PreviewCone; // 0x0258 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3497]; return pClassPointer; }; void Reset(); void eventPreBeginPlay(); void LeaveBloodSplats(); void TryAddBloodSplats(); }; UClass* AKFPersistentBloodActor::pClassPointer = NULL; // Class KFGame.KFReverbVolume // 0x0044 (0x0308 - 0x02C4) class AKFReverbVolume : public AReverbVolume { public: TArray ReverbEnvironments; // 0x02C4 (0x0010) [0x0000000000000000] struct FWwiseStateSettings StateSettings; // 0x02D4 (0x0010) [0x0000000000000000] float IntraVolumeOcclusionScalar; // 0x02E4 (0x0004) [0x0000000000000000] TArray EnvironmentNames; // 0x02E8 (0x0010) [0x0000000000000000] TArray EnvironmentEchoDistances; // 0x02F8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3499]; return pClassPointer; }; void CalculateEchoLocationAndDelay(); void CalculateEchoVolumeAndDistance(); void GetEnvironmentEchoDistance(); }; UClass* AKFReverbVolume::pClassPointer = NULL; // Class KFGame.KFSkinTypeEffects // 0x01F8 (0x0258 - 0x0060) class UKFSkinTypeEffects : public UObject { public: struct FSkinEffectInfo ImpactFXArray[0xF]; // 0x0060 (0x01E0) [0x0000000000000000] TArray CustomEffects; // 0x0240 (0x0010) [0x0000000000000000] float ImpactParticleEffectInterval; // 0x0250 (0x0004) [0x0000000000000000] float ImpactSoundInterval; // 0x0254 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3501]; return pClassPointer; }; void GetImpactSound(); void PlayTakeHitSound(); void GetImpactParticleEffect(); void DefaultSpawnEffect(); void MeleeSpawnEffect(); void AttachEffectToHitLocation(); void AttachEffectToBone(); void PlayImpactParticleEffect(); }; UClass* UKFSkinTypeEffects::pClassPointer = NULL; // Class KFGame.KFSprayActor // 0x03A0 (0x05E4 - 0x0244) class AKFSprayActor : public AActor { public: class USkeletalMesh* SkelMesh; // 0x0244 (0x0008) [0x0000000000000000] class UAnimSet* SprayAnimSet; // 0x024C (0x0008) [0x0000000000000000] class UAnimTree* SprayAnimTreeTemplate; // 0x0254 (0x0008) [0x0000000000000000] class UKFSkeletalMeshComponent* SkeletalSprayMesh; // 0x025C (0x0008) [0x0000000000000000] DWORD bAllowSprayLights : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDoPerBoneSprayFX : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDoFirstPersonFX : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCollideWithTeammates : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bVisualOnly : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000010] DWORD bSprayMeshCollidedThisTick : 1; // 0x0264 (0x0004) // [0x0000000000000000] [0x00000020] DWORD bSprayMeshCollidedLastTick : 1; // 0x0264 (0x0004) // [0x0000000000000000] [0x00000040] DWORD bDoCollideComplex : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bUseExtentTracing : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bWaitingToDestroy : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bDetached : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000400] DWORD bSkeletonHasBeenUpdated : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bSplashActive : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00001000] DWORD bDebugShowBones : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bDebugShowCollision : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bDebugShowSplashRadius : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00008000] DWORD bDebugForceNonPlayerParticles : 1; // 0x0264 (0x0004) // [0x0000000000000000] [0x00010000] DWORD bDebugShowSeeds : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00020000] DWORD bDebugDirectDamage : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00040000] DWORD bDebugSplashDamage : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bDebugSprayLights : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00100000] struct FName SpraySocketName; // 0x0268 (0x0008) [0x0000000000000000] struct FVector2D GravityScaleRange; // 0x0270 (0x0008) [0x0000000000000000] float GravityScaleInTime; // 0x0278 (0x0004) [0x0000000000000000] TArray BoneChain; // 0x027C (0x0010) [0x0000000000000000] float PerBoneSprayFXGlobalScale; // 0x028C (0x0004) [0x0000000000000000] class UParticleSystem* SplashGlancingEffect; // 0x0290 (0x0008) [0x0000000000000000] class UParticleSystem* SplashDirectEffect; // 0x0298 (0x0008) [0x0000000000000000] class UParticleSystem* SplashPawnEffect; // 0x02A0 (0x0008) [0x0000000000000000] class UKFImpactEffectInfo* ImpactEffects; // 0x02A8 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* CurrentSplashEffect; // 0x02B0 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* SplashGlancingPSC; // 0x02B8 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* SplashDirectPSC; // 0x02C0 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* SplashPawnPSC; // 0x02C8 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* SplashMaterialBasedPSC; // 0x02D0 (0x0008) [0x0000000000000000] class UAkEvent* SplashPawnAKEvent; // 0x02D8 (0x0008) [0x0000000000000000] class UAkEvent* SplashDirectAKEvent; // 0x02E0 (0x0008) [0x0000000000000000] class UAkEvent* SplashGlancingAKEvent; // 0x02E8 (0x0008) [0x0000000000000000] class UAkEvent* SplashPawnStopAKEvent; // 0x02F0 (0x0008) [0x0000000000000000] class UAkEvent* SplashDirectStopAKEvent; // 0x02F8 (0x0008) [0x0000000000000000] class UAkEvent* SplashGlancingStopAKEvent; // 0x0300 (0x0008) [0x0000000000000000] class UAkEvent* CurrentSplashAKEvent; // 0x0308 (0x0008) [0x0000000000000000] class UAkComponent* CurrentSplashAKC; // 0x0310 (0x0008) [0x0000000000000000] float SplashGlancingDotLimit; // 0x0318 (0x0004) [0x0000000000000000] int LastBoneChainIndexThatCanSpawnSplashEffects; // 0x031C (0x0004) // [0x0000000000000000] float MaxDecalEffectDistance; // 0x0320 (0x0004) [0x0000000000000000] float ImpactProjectileInterval; // 0x0324 (0x0004) [0x0000000000000000] class UClass* ImpactProjectileClass; // 0x0328 (0x0008) [0x0000000000000000] struct FSprayFxInfo SprayFxInfos[0x14]; // 0x0330 (0x0140) [0x0000000000000000] int CurrSprayFxLocIdx; // 0x0470 (0x0004) [0x0000000000000000] float SplashRotInterpSpeed; // 0x0474 (0x0004) [0x0000000000000000] float SplashLocInterpSpeed; // 0x0478 (0x0004) [0x0000000000000000] struct FRotator LastSplashRot; // 0x047C (0x000C) [0x0000000000000000] struct FVector LastSplashLoc; // 0x0488 (0x000C) [0x0000000000000000] TArray SprayLights; // 0x0494 (0x0010) [0x0000000000000000] class UMaterialInstanceConstant* MIC_SprayMat0; // 0x04A4 (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* MIC_SprayMat1; // 0x04AC (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* MIC_SprayMat2; // 0x04B4 (0x0008) [0x0000000000000000] struct FVector2D MaterialHeatRange; // 0x04BC (0x0008) [0x0000000000000000] float MaterialHeatRampTime; // 0x04C4 (0x0004) [0x0000000000000000] float MatFadePow; // 0x04C8 (0x0004) [0x0000000000000000] float MaterialFadeOutTime; // 0x04CC (0x0004) [0x0000000000000000] float MaterialCurrentFadeVal; // 0x04D0 (0x0004) [0x0000000000000000] class UParticleSystem* SprayStartEffect; // 0x04D4 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* SprayStartPSC; // 0x04DC (0x0008) [0x0000000000000000] class UParticleSystem* SprayEndEffect; // 0x04E4 (0x0008) [0x0000000000000000] int AimAdjustYaw; // 0x04EC (0x0004) [0x0000000000000000] float DamageInterval; // 0x04F0 (0x0004) [0x0000000000000000] struct FVector2D SprayDamage; // 0x04F4 (0x0008) [0x0000000000000000] struct FVector2D SprayDamageScaleDistRange; // 0x04FC (0x0008) [0x0000000000000000] class UClass* MyDamageType; // 0x0504 (0x0008) [0x0000000000000000] float SplashDamageRadius; // 0x050C (0x0004) [0x0000000000000000] float SplashDamage; // 0x0510 (0x0004) [0x0000000000000000] float SplashDamageFalloffExponent; // 0x0514 (0x0004) [0x0000000000000000] float SplashDamageInstigatorDamageScale; // 0x0518 (0x0004) // [0x0000000000000000] float MomentumScale; // 0x051C (0x0004) [0x0000000000000000] TArray RecentlyDamagedActors; // 0x0520 (0x0010) [0x0000000000000000] struct FSprayMeshContact HighestSprayMeshContactThisTick; // 0x0530 (0x0034) // [0x0000000000000000] float bSprayMeshCollisionDuration; // 0x0564 (0x0004) [0x0000000000000000] class UAnimNodeBlendList* AnimBlendNode; // 0x0568 (0x0008) [0x0000000000000000] class UAnimNodeSequence* StartSpraySeqNode; // 0x0570 (0x0008) [0x0000000000000000] class UAnimNodeSequence* EndSpraySeqNode; // 0x0578 (0x0008) [0x0000000000000000] class UKFSkelControl_SprayScaling* ScalingSkelControl; // 0x0580 (0x0008) [0x0000000000000000] TArray Seeds; // 0x0588 (0x0010) [0x0000000000000000] float SeedSprayVel; // 0x0598 (0x0004) [0x0000000000000000] float SeedDecel; // 0x059C (0x0004) [0x0000000000000000] float SeedMaxAge; // 0x05A0 (0x0004) [0x0000000000000000] float SeedMinChainLength; // 0x05A4 (0x0004) [0x0000000000000000] float SeedSimFreq; // 0x05A8 (0x0004) [0x0000000000000000] float SeedSimTimeRemaining; // 0x05AC (0x0004) [0x0000000000000000] float SeedWarmupTime; // 0x05B0 (0x0004) [0x0000000000000000] float VelocityScaleZ; // 0x05B4 (0x0004) [0x0000000000000000] class AKFPawn* OwningKFPawn; // 0x05B8 (0x0008) [0x0000000000000000] class AActor* DummyFireParent; // 0x05C0 (0x0008) [0x0000000000000000] class AController* InstigatorController; // 0x05C8 (0x0008) [0x0000000000000000] float CurrentAge; // 0x05D0 (0x0004) [0x0000000000000000] float RotationSpeed; // 0x05D4 (0x0004) [0x0000000000000000] struct FRotator LastRotation; // 0x05D8 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3503]; return pClassPointer; }; void SpawnImpactProjectile(); void LeaveImpactProjectile(); void FindOwningKFPawn(); void DoSprayCollisionDetection(); void ParticleSystemCleanUp(); void eventGetImpactEffect(); void AttachToMesh(); void TempCreatePSC(); void SetupPerBoneFireFX(); void eventOnAnimEnd(); void CleanupEndFire(); void DetachAndFinish(); void Destroyed(); void BeginSpray(); void ClearAnimNodes(); void CacheAnimNodes(); void SetupFX(); void SetFOV(); void eventProcessDirectImpact(); void PostBeginPlay(); void eventPreBeginPlay(); void GetDamage(); void DebugRenderBones(); void SetBoneSpawnParticlesActive(); void DestroyIfAllEmittersFinished(); void UpdateSplashes(); void UpdatePerBoneSprayFX(); void UpdateSeeds(); }; UClass* AKFSprayActor::pClassPointer = NULL; // Class KFGame.KFVehicleMovementEffect // 0x0020 (0x0264 - 0x0244) class AKFVehicleMovementEffect : public AActor { public: class UStaticMeshComponent* AirEffect; // 0x0244 (0x0008) [0x0000000000000000] float MinVelocityForAirEffect; // 0x024C (0x0004) [0x0000000000000000] float MaxVelocityForAirEffect; // 0x0250 (0x0004) [0x0000000000000000] struct FName AirEffectScalar; // 0x0254 (0x0008) [0x0000000000000000] float AirMaxDelta; // 0x025C (0x0004) [0x0000000000000000] float AirCurrentLevel; // 0x0260 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3505]; return pClassPointer; }; }; UClass* AKFVehicleMovementEffect::pClassPointer = NULL; // Class KFGame.KFWireConnector // 0x001C (0x0274 - 0x0258) class AKFWireConnector : public AEmitter { public: struct FVector StartTangent; // 0x0258 (0x000C) [0x0000000000000000] struct FVector EndTangent; // 0x0264 (0x000C) [0x0000000000000000] float TessellationFactor; // 0x0270 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3507]; return pClassPointer; }; void Timer(); void eventPostBeginPlay(); void ApplyBeamProperties(); }; UClass* AKFWireConnector::pClassPointer = NULL; // Class KFGame.KFWireStart // 0x0000 (0x024C - 0x024C) class AKFWireStart : public AKeypoint { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3509]; return pClassPointer; }; }; UClass* AKFWireStart::pClassPointer = NULL; // Class KFGame.KFAfflictionBase // 0x002C (0x008C - 0x0060) class UKFAfflictionBase : public UObject { public: float CurrentStrength; // 0x0060 (0x0004) [0x0000000000000000] float DissipationRate; // 0x0064 (0x0004) [0x0000000000000000] class AKFPawn* PawnOwner; // 0x0068 (0x0008) [0x0000000000000000] class AKFPawn_Monster* MonsterOwner; // 0x0070 (0x0008) [0x0000000000000000] unsigned char SpecialMove; // 0x0078 (0x0001) [0x0000000000000000] float Cooldown; // 0x007C (0x0004) [0x0000000000000000] float LastActivationTime; // 0x0080 (0x0004) [0x0000000000000000] DWORD bNeedsTick : 1; // 0x0084 (0x0004) [0x0000000000000000] [0x00000001] DWORD bDebug : 1; // 0x0084 (0x0004) [0x0000000000000000] [0x00000002] float LastDissipationTime; // 0x0088 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3511]; return pClassPointer; }; void GetSpeedModifier(); void GetDamageModifier(); void GetStunModifier(); void GetStumbleModifier(); void GetKnockdownModifier(); void eventTick(); void SetMaterialParameter(); void ToggleEffects(); void ShutDown(); void GetSpecialMoveFlags(); void Activate(); void Accrue(); void Init(); }; UClass* UKFAfflictionBase::pClassPointer = NULL; // Class KFGame.KFPawn // 0x052C (0x0B40 - 0x0614) class AKFPawn : public ABaseAIPawn { public: class UKFCharacterInfoBase* CharacterArch; // 0x0614 (0x0008) [0x0000000000000000] class UKFPawnSoundGroup* SoundGroupArch; // 0x061C (0x0008) [0x0000000000000000] class UClass* VoiceGroupArch; // 0x0624 (0x0008) [0x0000000000000000] class UKFPawnAnimInfo* PawnAnimInfo; // 0x062C (0x0008) [0x0000000000000000] struct FName LocalizationKey; // 0x0634 (0x0008) [0x0000000000000000] class UTexture2D* CharacterPortrait; // 0x063C (0x0008) [0x0000000000000000] struct FLightingChannelContainer PawnLightingChannel; // 0x0644 (0x0004) [0x0000000000000000] class USkeletalMeshComponent* ThirdPersonHeadMeshComponent; // 0x0648 (0x0008) [0x0000000000000000] int ThirdPersonAttachmentBitMask; // 0x0650 (0x0004) [0x0000000000000000] struct FName ThirdPersonAttachmentSocketNames[0x3]; // 0x0654 (0x0018) // [0x0000000000000000] class UMeshComponent* ThirdPersonAttachments[0x3]; // 0x066C (0x0018) [0x0000000000000000] TArray CharacterMICs; // 0x0684 (0x0010) [0x0000000000000000] DWORD bAllowAlwaysOnPhysics : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bIsGoreMesh : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x00000002] DWORD bTakingRadiusDamage : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bNeedsProcessHitFx : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bHasBrokenConstraints : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bAllowRagdollAndGoreOnDeadBodies : 1; // 0x0694 (0x0004) // [0x0000000000000000] // [0x00000020] DWORD bReinitPhysAssetOnDeath : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bAllowDeathSM : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x00000080] DWORD bEmpDisrupted : 1; // 0x0694 (0x0004) [0x0000000000330000] // [0x00000100] ( CPF_Travel | CPF_EditConst ) DWORD bEmpPanicked : 1; // 0x0694 (0x0004) [0x0000000000340000] // [0x00000200] ( CPF_GlobalConfig ) DWORD bFirePanicked : 1; // 0x0694 (0x0004) [0x0000000000350000] // [0x00000400] ( CPF_Travel | CPF_GlobalConfig ) DWORD bCanPlayPhysicsHitReactions : 1; // 0x0694 (0x0004) // [0x0000000000000000] [0x00000800] DWORD bIsSprinting : 1; // 0x0694 (0x0004) [0x0000000000360000] [0x00001000] // ( CPF_EditConst | CPF_GlobalConfig ) DWORD bAllowSprinting : 1; // 0x0694 (0x0004) [0x000000000037008E] // [0x00002000] ( CPF_Const | CPF_Input | // CPF_ExportObject | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig ) DWORD bIgnoreTeamCollision : 1; // 0x0694 (0x0004) [0x00000000003800A7] // [0x00004000] ( CPF_Edit | CPF_Const | // CPF_Input | CPF_Net | CPF_Parm | // CPF_Component ) DWORD bUnaffectedByZedTime : 1; // 0x0694 (0x0004) [0x0000000000390000] // [0x00008000] ( CPF_Travel | // CPF_Component ) DWORD bMovesFastInZedTime : 1; // 0x0694 (0x0004) [0x00000000003A0000] // [0x00010000] ( CPF_EditConst | // CPF_Component ) DWORD bJumping : 1; // 0x0694 (0x0004) [0x00000000003B008E] [0x00020000] ( // CPF_Const | CPF_Input | CPF_ExportObject | CPF_Parm // | CPF_Travel | CPF_EditConst | CPF_Component ) DWORD bWeaponBob : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x00040000] DWORD bUpdateEyeheight : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bJustLanded : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x00100000] DWORD bLandRecovery : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x00200000] DWORD bWeaponAttachmentVisible : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bNeedsCrosshair : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x00800000] DWORD bEnableAimOffset : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bDisableTurnInPlace : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bCanHeadTrack : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x04000000] DWORD bIsHeadTrackingActive : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x08000000] DWORD bWeakZedGrab : 1; // 0x0694 (0x0004) [0x0000000000000000] [0x10000000] DWORD bDoFloorConformBlend : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bUseQuadrupedFloorConform : 1; // 0x0694 (0x0004) // [0x0000000000000000] [0x40000000] DWORD bDisableMeshSmoothing : 1; // 0x0694 (0x0004) [0x0000000000000000] // [0x80000000] DWORD bDisableMeshRotationSmoothing : 1; // 0x0698 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bAllowFootstepSounds : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUseHiddenSpeed : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCanUseHiddenSpeed : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bAllowAccelSmoothing : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bAIZedsIgnoreMe : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bCanCloak : 1; // 0x0698 (0x0004) [0x0000000000000000] [0x00000040] DWORD bIsCloaking : 1; // 0x0698 (0x0004) [0x00000000003C0123] [0x00000080] // ( CPF_Edit | CPF_Const | CPF_Net | CPF_OutParm | // CPF_GlobalConfig | CPF_Component ) DWORD bLogTakeDamage : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bLogPhysicsBodyImpact : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bLogSpecialMove : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bLogCustomAnim : 1; // 0x0698 (0x0004) [0x0000000000000000] // [0x00000800] float LastHeadShotReceivedTime; // 0x069C (0x0004) [0x0000000000000000] TArray HitZones; // 0x06A0 (0x0010) [0x0000000000000000] float TimeOfDeath; // 0x06B0 (0x0004) [0x0000000000000000] float PenetrationResistance; // 0x06B4 (0x0004) [0x0000000000000000] TArray DamageOverTimeArray; // 0x06B8 (0x0010) [0x0000000000000000] TArray RecentExplosiveStacks; // 0x06C8 (0x0010) [0x0000000000000000] float LastTimeDamageHappened; // 0x06D8 (0x0004) [0x0000000000000000] float CrushScale; // 0x06DC (0x0004) [0x0000000000000000] float VolumeDamageScale; // 0x06E0 (0x0004) [0x0000000000000000] TArray DamageHistory; // 0x06E4 (0x0010) [0x0000000000000000] struct FKFHitFxInfo HitFxInfo; // 0x06F4 (0x0028) [0x00000000003D000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel // | CPF_GlobalConfig | CPF_Component ) struct FKFRadialHitFxInfo HitFxRadialInfo; // 0x071C (0x0010) [0x00000000003E000A] ( // CPF_Const | CPF_ExportObject | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) class APawn* HitFxInstigator; // 0x072C (0x0008) [0x00000000003F000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) struct FVector HitFxAddedRelativeLocs[0x7]; // 0x0734 (0x0054) [0x000000000040000A] ( // CPF_Const | CPF_ExportObject | // CPF_NeedCtorLink ) unsigned char HitFxAddedHitCount; // 0x0788 (0x0001) [0x000000000047000A] ( CPF_Const // | CPF_ExportObject | CPF_Travel | CPF_EditConst // | CPF_GlobalConfig | CPF_NeedCtorLink ) unsigned char LastRadiusDamageScale; // 0x0789 (0x0001) [0x0000000000000000] unsigned char DeathFireStackedPower; // 0x078A (0x0001) [0x0000000000480075] ( // CPF_Edit | CPF_Input | CPF_OptionalParm | // CPF_Net | CPF_EditConstArray | CPF_Component // | CPF_NeedCtorLink ) unsigned char RepFireBurnedAmount; // 0x078B (0x0001) [0x0000000000490000] ( // CPF_Travel | CPF_Component | CPF_NeedCtorLink ) unsigned char RagdollWarningLevel; // 0x078C (0x0001) [0x0000000000000000] unsigned char SpecialMove; // 0x078D (0x0001) [0x0000000000000000] unsigned char SpecialMoveFlags; // 0x078E (0x0001) [0x0000000000000000] unsigned char CurrDialogPriority; // 0x078F (0x0001) [0x0000000000000000] float LastTakeHitTimeout; // 0x0790 (0x0004) [0x0000000000000000] struct FVector LastRadiusHurtOrigin; // 0x0794 (0x000C) [0x0000000000000000] TArray BloodSplatterDecalMaterials; // 0x07A0 (0x0010) [0x0000000000000000] TArray BloodPoolDecalMaterials; // 0x07B0 (0x0010) [0x0000000000000000] struct FName BattleBloodParamName; // 0x07C0 (0x0008) [0x0000000000000000] float MinBattleBloodValue; // 0x07C8 (0x0004) [0x0000000000000000] float BattleBloodRangeSq; // 0x07CC (0x0004) [0x0000000000000000] float BattleBloodParamValue; // 0x07D0 (0x0004) [0x0000000000000000] struct FName LeftFootBoneName; // 0x07D4 (0x0008) [0x0000000000000000] struct FName RightFootBoneName; // 0x07DC (0x0008) [0x0000000000000000] struct FName LeftHandBoneName; // 0x07E4 (0x0008) [0x0000000000000000] struct FName RightHandBoneName; // 0x07EC (0x0008) [0x0000000000000000] struct FName HeadBoneName; // 0x07F4 (0x0008) [0x0000000000000000] struct FName TorsoBoneName; // 0x07FC (0x0008) [0x0000000000000000] struct FName PelvisBoneName; // 0x0804 (0x0008) [0x0000000000000000] float LastGibCollisionTime; // 0x080C (0x0004) [0x0000000000000000] float IntendedBodyScale; // 0x0810 (0x0004) [0x00000000004A0000] ( // CPF_EditConst | CPF_Component | // CPF_NeedCtorLink ) float CurrentBodyScale; // 0x0814 (0x0004) [0x0000000000000000] float BodyScaleChangePerSecond; // 0x0818 (0x0004) [0x0000000000000000] float IntendedHeadScale; // 0x081C (0x0004) [0x00000000004B0000] ( // CPF_Travel | CPF_EditConst | CPF_Component | // CPF_NeedCtorLink ) float CurrentHeadScale; // 0x0820 (0x0004) [0x0000000000000000] class UKFAfflictionManager* AfflictionHandler; // 0x0824 (0x0008) [0x0000000000000000] TArray IncapSettings; // 0x082C (0x0010) [0x0000000000000000] int InjuredHitZones; // 0x083C (0x0004) [0x00000000004C0000] ( // CPF_GlobalConfig | CPF_Component | CPF_NeedCtorLink // ) float LastImpactParticleEffectTime; // 0x0840 (0x0004) [0x0000000000000000] float LastImpactSoundTime; // 0x0844 (0x0004) [0x0000000000000000] struct FKnockdownImpulseInfo KnockdownImpulse; // 0x0848 (0x0038) [0x00000000004D0000] ( CPF_Travel // | CPF_GlobalConfig | CPF_Component | // CPF_NeedCtorLink ) struct FReplicatedRootPosInfo ReplicatedRootBodyPos; // 0x0880 (0x0010) [0x00000000004E0042] ( // CPF_Const | CPF_EditConstArray | // CPF_EditConst | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) float PhysicsHitReactionImpulseScale; // 0x0890 (0x0004) [0x0000000000000000] TArray PhysicsBodyImpactBoneList; // 0x0894 (0x0010) [0x0000000000000000] TArray PhysicsImpactSpringList; // 0x08A4 (0x0010) [0x0000000000000000] float PhysicsImpactBlendOutTime; // 0x08B4 (0x0004) [0x0000000000000000] float PhysicsImpactBlendTimeToGo; // 0x08B8 (0x0004) [0x0000000000000000] float PhysRagdollImpulseScale; // 0x08BC (0x0004) [0x0000000000000000] float KnockdownImpulseScale; // 0x08C0 (0x0004) [0x0000000000000000] float NextRagdollFailsafeTime; // 0x08C4 (0x0004) [0x0000000000000000] struct FVector LastRootRigidBodyTestLoc; // 0x08C8 (0x000C) [0x0000000000000000] float SprintSpeed; // 0x08D4 (0x0004) [0x00000000004F008E] ( // CPF_Const | CPF_Input | CPF_ExportObject | CPF_Parm | // CPF_Travel | CPF_EditConst | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) float SprintStrafeSpeed; // 0x08D8 (0x0004) [0x0000000000000000] struct FVector ReplicatedFloor; // 0x08DC (0x000C) [0x0000000000500064] ( // CPF_Input | CPF_Net | CPF_EditConstArray // | CPF_NeedCtorLink ) float TeammateCollisionRadiusPercent; // 0x08E8 (0x0004) [0x0000000000000000] float ZedTimeSpeedScale; // 0x08EC (0x0004) [0x0000000000000000] float AfflictionSpeedModifier; // 0x08F0 (0x0004) [0x000000000051008E] ( // CPF_Const | CPF_Input | CPF_ExportObject | // CPF_Parm | CPF_Travel | CPF_NeedCtorLink ) int NumJumpsAllowed; // 0x08F4 (0x0004) [0x000000000052008E] ( // CPF_Const | CPF_Input | CPF_ExportObject | CPF_Parm // | CPF_EditConst | CPF_NeedCtorLink ) int NumJumpsRemaining; // 0x08F8 (0x0004) [0x0000000000000000] float BaseCrouchEyeHeight; // 0x08FC (0x0004) [0x0000000000000000] float Bob; // 0x0900 (0x0004) [0x0000000000000000] float OldZ; // 0x0904 (0x0004) [0x0000000000000000] float LandBob; // 0x0908 (0x0004) [0x0000000000000000] float JumpBob; // 0x090C (0x0004) [0x0000000000000000] float AppliedBob; // 0x0910 (0x0004) [0x0000000000000000] float BobTime; // 0x0914 (0x0004) [0x0000000000000000] struct FVector WalkBob; // 0x0918 (0x000C) [0x0000000000000000] TArray DefaultInventory; // 0x0924 (0x0010) [0x0000000000000000] TArray DefaultInventoryArchetypes; // 0x0934 (0x0010) [0x0000000000000000] class AKFWeaponAttachment* WeaponAttachmentTemplate; // 0x0944 (0x0008) [0x0000000000530000] ( // CPF_Travel | CPF_EditConst | // CPF_NeedCtorLink ) class AKFWeaponAttachment* WeaponAttachment; // 0x094C (0x0008) [0x0000000000000000] class UKFSkeletalMeshComponent* ArmsMesh; // 0x0954 (0x0008) [0x0000000000000000] struct FName WeaponAttachmentSocket; // 0x095C (0x0008) [0x0000000000000000] class AKFWeapon* MyKFWeapon; // 0x0964 (0x0008) [0x0000000000000000] float LastWeaponFireTime; // 0x096C (0x0004) [0x0000000000000000] TArray AimOffsetNodes; // 0x0970 (0x0010) [0x0000000000000000] TArray BodyStanceNodes; // 0x0980 (0x0010) [0x0000000000000000] TArray ArmPhysicsBoneList; // 0x0990 (0x0010) [0x0000000000000000] struct FVector2D AimOffsetPct; // 0x09A0 (0x0008) [0x0000000000000000] struct FRotator ReplicatedAimOffsetPct; // 0x09A8 (0x000C) [0x00000000005400F9] ( // CPF_Edit | CPF_ExportObject | // CPF_OptionalParm | CPF_Net | // CPF_EditConstArray | CPF_Parm | // CPF_GlobalConfig | CPF_NeedCtorLink ) float TurnInPlaceAnimRate; // 0x09B4 (0x0004) [0x0000000000000000] float NextHitReactionAnim_ActorTime; // 0x09B8 (0x0004) [0x0000000000000000] float LastMeleeNotify_ActorTime; // 0x09BC (0x0004) [0x0000000000000000] TArray RecoilNodes; // 0x09C0 (0x0010) [0x0000000000000000] class USkelControlLookAt* IK_Look_Head; // 0x09D0 (0x0008) [0x0000000000000000] class USkelControlLookAt* IK_Look_Spine; // 0x09D8 (0x0008) [0x0000000000000000] class USkelControlSingleBone* HeadScaleControl; // 0x09E0 (0x0008) [0x0000000000000000] struct FLookAtInfo MyLookAtInfo; // 0x09E8 (0x0030) [0x0000000000000000] class UKFSkelControl_FootPlacement* IKFootLeft; // 0x0A18 (0x0008) [0x0000000000000000] class UKFSkelControl_FootPlacement* IKFootRight; // 0x0A20 (0x0008) [0x0000000000000000] class AKFPawn* InteractionPawn; // 0x0A28 (0x0008) [0x0000000000000000] TArray SpecialMoves; // 0x0A30 (0x0010) [0x0000000000000000] struct FKFSpecialMoveStruct ReplicatedSpecialMove; // 0x0A40 (0x0010) [0x0000000000550000] ( // CPF_Travel | CPF_GlobalConfig | // CPF_NeedCtorLink ) class UKFSpecialMoveHandler* SpecialMoveHandler; // 0x0A50 (0x0008) [0x0000000000000000] float WeakZedGrabCooldown; // 0x0A58 (0x0004) [0x0000000000000000] float BaseTranslationOffset; // 0x0A5C (0x0004) [0x0000000000000000] struct FVector MTO_PhysSmoothOffset; // 0x0A60 (0x000C) [0x0000000000000000] struct FVector MTO_SpecialMoveOffset; // 0x0A6C (0x000C) [0x0000000000000000] struct FVector MTO_SpecialMoveInterp; // 0x0A78 (0x000C) [0x0000000000000000] float MTO_SpecialMoveSpeed; // 0x0A84 (0x0004) [0x0000000000000000] struct FVector MTO_IKFloorConform; // 0x0A88 (0x000C) [0x0000000000000000] struct FVector MeshFloorConformNormal; // 0x0A94 (0x000C) [0x0000000000000000] struct FRotator FloorConformLastPawnRotation; // 0x0AA0 (0x000C) [0x0000000000000000] int FloorConformMeshRotationYaw; // 0x0AAC (0x0004) [0x0000000000000000] float LastPhysSmoothDeltaZ; // 0x0AB0 (0x0004) [0x0000000000000000] float MeshYawOffset; // 0x0AB4 (0x0004) [0x0000000000000000] float MeshRotSmoothingInterpSpeed; // 0x0AB8 (0x0004) [0x0000000000000000] class UAkEvent* AmbientSound; // 0x0ABC (0x0008) [0x0000000000560000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_NeedCtorLink ) class UAkComponent* AmbientAkComponent; // 0x0AC4 (0x0008) [0x0000000000000000] class UAkEvent* WeaponAmbientSound; // 0x0ACC (0x0008) [0x00000000005700CF] ( CPF_Edit // | CPF_Const | CPF_Input | CPF_ExportObject | // CPF_EditConstArray | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | // CPF_NeedCtorLink ) class UAkComponent* WeaponAkComponent; // 0x0AD4 (0x0008) [0x0000000000000000] class UKFWeaponAmbientEchoHandler* WeaponAmbientEchoHandler; // 0x0ADC (0x0008) [0x0000000000000000] class UAkComponent* FootstepAkComponent; // 0x0AE4 (0x0008) [0x0000000000000000] class UAkComponent* DialogAkComponent; // 0x0AEC (0x0008) [0x0000000000000000] float LastReplicateTime; // 0x0AF4 (0x0004) [0x0000000000000000] class AKFAIController* MyKFAIC; // 0x0AF8 (0x0008) [0x0000000000000000] float ExtraCostForPath; // 0x0B00 (0x0004) [0x0000000000000000] float MaxTurningRadius; // 0x0B04 (0x0004) [0x0000000000000000] float CurrentTurningRadius; // 0x0B08 (0x0004) [0x0000000000000000] float AccelConvergeFalloffDistance; // 0x0B0C (0x0004) [0x0000000000000000] struct FVector OldAcceleration; // 0x0B10 (0x000C) [0x0000000000000000] float DamageRecoveryTimeHeavy; // 0x0B1C (0x0004) [0x0000000000000000] float DamageRecoveryTimeMedium; // 0x0B20 (0x0004) [0x0000000000000000] float HiddenGroundSpeed; // 0x0B24 (0x0004) [0x0000000000000000] class AController* ExclusiveTargetingController; // 0x0B28 (0x0008) [0x0000000000000000] float AIIgnoreEndTime; // 0x0B30 (0x0004) [0x0000000000000000] int CurrDialogEventID; // 0x0B34 (0x0004) [0x0000000000000000] class UTexture2D* DebugRadarTexture; // 0x0B38 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3513]; return pClassPointer; }; void DetachEmitter(); void GetLocalizedName(); void ShouldCorpseCollideWithLivingAfterSleep(); void ShouldCorpseCollideWithDeadAfterSleep(); void ShouldCorpseCollideWithLiving(); void ShouldCorpseCollideWithDead(); void DisplayDebug(); void eventKFMessagePlayer(); void CanAITargetThisPawn(); void ShouldBeWandering(); void CausePanicWander(); void SetWeakGrabCoolDown(); void CanBeGrabbed(); void eventIsMovementDisabledDuringSpecialMove(); void NotifySpecialMoveEnded(); void eventCanDoSpecialMove(); void eventEndSpecialMove(); void ServerDoSpecialMove(); void eventDoSpecialMove(); void IsDoingSpecialMove(); void EndOfDialogTimer(); void GetVoiceGroupEventDataClass(); void HasValidVoiceEventData(); void HandleDialogResponse(); void PlayDialogEvent(); void IsPlayingDialogEvent(); void IsSpeaking(); void StopDialog(); void PlayDialog(); void OnStackingAfflictionChanged(); void ProcessAdditionalHitFx(); void ProcessHitFx(); void eventTick(); void SetWeaponComponentRTPCValue(); void SetWeaponAmbientSound(); void SetPawnAmbientSound(); void GetMaterialBelowFeet(); void eventPlayFootStepSound(); void eventLanded(); void ReplicateSound(); void GetAKRotation(); void SetHeadScale(); void OnAnimNotifyParticleSystemSpawned(); void SetEnableFleXCollision(); void UpdateMeshForFleXCollision(); void GetSpecialMoveTag(); void SetDefaultAimOffsetNodesProfile(); void SetAimOffsetNodesProfile(); void StopAllAnimations(); void eventOnAnimEnd(); void eventPostInitAnimTree(); void eventCacheAnimNodes(); void ClearHeadTrackTarget(); void SetHeadTrackTarget(); void UpdateMeshTranslationOffset(); void StopBodyAnim(); void PlayBodyAnim(); void AnimInterruptNotifyTimer(); void GetCurrentBattlePhase(); void TickDamageOverTime(); void GetPerkDoTScaler(); void ApplyDamageOverTime(); void AdjustAffliction(); void GetHitZoneSkinTypeEffects(); void Knockdown(); void SetRagdollWarningLevel(); void eventOnRigidBodyRefusedToSleep(); void eventOnRigidBodyLinearConstraintViolated(); void RagdollArm(); void GetRBBoneFromBoneName(); void ApplyRagdollImpulse(); void PlayDamageInstigatorHitEffects(); void PitchAudio(); void eventUpdateBodyScale(); void PlayHealEffects(); void PlayTakeHitEffects(); void HasInjuredHitZones(); void CanInjureHitZone(); void TakeHitZoneDamage(); void PlayHeal(); void PlayHit(); void IsLargeZed(); void DecodeUnitVector(); void EncodeUnitVector(); void NotifyMeleeTakeHit(); void HitZoneInjured(); void InitPartialKinematics(); void GetImpactPhysicsImpulse(); void StopPhysicsBodyImpact(); void StartPhysicsBodyImpact(); void PlayPhysicsBodyImpact(); void DamagedHitZones(); void CalcQuadRegion(); void CalcOctagonRegion(); void TerminateEffectsOnDeath(); void IsHeadless(); void IsIncapacitated(); void IsImpaired(); void IsCombatCapable(); void NotifyAttackParried(); void CrushedBy(); void eventEncroachedBy(); void Died(); void PlayDyingSound(); void eventHideMeshOnDeath(); void PlayRagdollDeath(); void ShouldRagdollOnDeath(); void PlayDying(); void PrepareRagdoll(); void GetExposureTo(); void GetBestAggroEnemy(); void GetUsedWeaponPerk(); void NotifyFriendlyAIDamageTaken(); void UpdateDamageHistoryValues(); void GetDamageHistory(); void UpdateDamageHistory(); void AddTakenDamage(); void RecentDamageFrom(); void GetMostRecentDamageHistoryIndexFor(); void WeeklyShouldExplodeOnDeath(); void CanCountHeadshots(); void AdjustRadiusDamage(); void UpdateLastTimeDamageHappened(); void AdjustDamage(); void eventTakeDamage(); void TakeRadiusDamage(); void TakeFallingDamage(); void eventHealDamage(); void HandleMomentum(); void GetHealthPercentage(); void IsResistantTo(); void IsVulnerableTo(); void SetThirdPersonAttachmentVisibility(); void HideHead(); void SetMeshLightingChannels(); void SetMeshVisibility(); void PostTeleport(); void RestoreAirControlTimer(); void JumpOffPawn(); void CanBeBaseForPawn(); void eventTouch(); void CannotJumpNow(); void DoJump(); void SetSprinting(); void eventUpdateSprinting(); void IsSurrounded(); void IsPawnMovingTowardMe(); void IsPawnMovingAwayFromMe(); void IsUsingSuperSpeed(); void SetCloaked(); void GetAutoLookAtLocation(); void GetAutoTargetBones(); void GetAdjustedAimFor(); void eventGetBaseAimRotation(); void ANIMNOTIFY_SpawnedKActor(); void ANIMNOTIFY_ShellEject(); void SetNightVisionLight(); void StopPartialZedTime(); void ShouldPlaySpecialMeleeAnims(); void ShouldPlayHeadlessMeleeAnims(); void ThrowActiveWeapon(); void CanReloadWeapon(); void WeaponBob(); void GetWeaponAttachmentAnimRateByte(); void WeaponStoppedFiring(); void WeaponFired(); void WeaponAttachmentChanged(); void SetFirstPersonVisibility(); void AddDefaultInventory(); void PlayWeaponSwitch(); void NotifyInventoryWeightChanged(); void ToggleEquipment(); void SetAfflictionSpeedModifier(); void UpdateGroundSpeed(); void WeaponStateChanged(); void MeleeImpactNotify(); void IsDoingMeleeAttack(); void SetWeaponAttachmentVisibility(); void eventStartCrouch(); void eventEndCrouch(); void eventEndViewTarget(); void eventBecomeViewTarget(); void GetEyeHeight(); void GetPawnViewLocation(); void UpdateWalkBob(); void SmoothEyeHeight(); void eventUpdateEyeHeight(); void SetBaseEyeheight(); void eventBaseChange(); void CalcCamera(); void eventUsePlayerControlledZedSkin(); void UpdateGameplayMICParams(); void SetCharacterAnimationInfo(); void ProcessViewRotation(); void SetCharacterArch(); void OnCharacterMeshChanged(); void InitRBSettings(); void eventIsSameTeam(); void UnPossessed(); void PossessedBy(); void eventReplicatedEvent(); void eventDestroyed(); void Reset(); void eventPostBeginPlay(); void eventPreBeginPlay(); void ForceUnCrouch(); void ClearBloodDecals(); void AllowFirstPersonPreshadows(); void GetPerk(); void GetCharacterInfo(); void ForceOpenActorChannel(); void FitCollision(); }; UClass* AKFPawn::pClassPointer = NULL; // Class KFGame.KFAfflictionManager // 0x003C (0x009C - 0x0060) class UKFAfflictionManager : public UObject { public: TArray AfflictionClasses; // 0x0060 (0x0010) [0x0000000000000000] TArray Afflictions; // 0x0070 (0x0010) [0x0000000000000000] TArray AfflictionTickArray; // 0x0080 (0x0010) [0x0000000000000000] DWORD bDebugLog : 1; // 0x0090 (0x0004) [0x0000000000000000] [0x00000001] float FireFullyCharredDuration; // 0x0094 (0x0004) [0x0000000000000000] float FireCharPercentThreshhold; // 0x0098 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3515]; return pClassPointer; }; void UpdateMaterialParameter(); void ToggleEffects(); void ShutDown(); void GetAfflictionSpeedModifier(); void GetAfflictionDamageModifier(); void GetAfflictionStunModifier(); void GetAfflictionStumbleModifier(); void GetAfflictionKnockdownModifier(); void GetAfflictionDuration(); void VerifyAfflictionInstance(); void GetAfflictionVulnerability(); void AccrueAffliction(); void ProcessEffectBasedAfflictions(); void ProcessHitReactionAfflictions(); void ProcessSpecialMoveAfflictions(); void GetPredictedHitReaction(); void NotifyTakeHit(); }; UClass* UKFAfflictionManager::pClassPointer = NULL; // Class KFGame.KFCharacterAttachment // 0x0070 (0x00D0 - 0x0060) class UKFCharacterAttachment : public UObject { public: class UTexture* UITexture; // 0x0060 (0x0008) [0x0000000000000000] DWORD bIsSkeletalAttachment : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000001] struct FString MeshName; // 0x006C (0x0010) [0x0000000000000000] struct FName SocketName; // 0x007C (0x0008) [0x0000000000000000] float MaxDrawDistance; // 0x0084 (0x0004) [0x0000000000000000] int SkinMaterialID; // 0x0088 (0x0004) [0x0000000000000000] TArray SkinVariations; // 0x008C (0x0010) [0x0000000000000000] struct FAttachmentOverrideList OverrideList; // 0x009C (0x0014) [0x0000000000000000] TArray SpecialOverrideIds; // 0x00B0 (0x0010) [0x0000000000000000] TArray DefaultSpecialOverrideAttachments; // 0x00C0 (0x0010) // [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3517]; return pClassPointer; }; }; UClass* UKFCharacterAttachment::pClassPointer = NULL; // Class KFGame.KFCharacterInfoBase // 0x0078 (0x00D8 - 0x0060) class UKFCharacterInfoBase : public UObject { public: float DefaultMeshScale; // 0x0060 (0x0004) [0x0000000000000000] class UAnimTree* AnimTreeTemplate; // 0x0064 (0x0008) [0x0000000000000000] TArray AnimSets; // 0x006C (0x0010) [0x0000000000000000] class UKFPawnAnimInfo* AnimArchetype; // 0x007C (0x0008) [0x0000000000000000] class UPhysicsAsset* PhysAsset; // 0x0084 (0x0008) [0x0000000000000000] class UKFPawnSoundGroup* SoundGroupArch; // 0x008C (0x0008) [0x0000000000000000] struct FString VoiceGroupArchName; // 0x0094 (0x0010) [0x0000000000000000] TArray ImpactSkins; // 0x00A4 (0x0010) [0x0000000000000000] struct FName BloodPoolOriginBoneName; // 0x00B4 (0x0008) [0x0000000000000000] int GoreFXMICIdx; // 0x00BC (0x0004) [0x0000000000000000] class UTexture* DefaultHeadPortrait; // 0x00C0 (0x0008) [0x0000000000000000] TArray DefaultTeamHeadPortrait; // 0x00C8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3519]; return pClassPointer; }; void SetCharacterAnimFromArch(); void GetWeaponAnimSetIdx(); void SetFirstPersonArmsFromArch(); void SetBodySkin(); void SetBodyMesh(); void SetCharacterMeshFromArch(); void SetCharacterFromArch(); void GetCharPortrait(); }; UClass* UKFCharacterInfoBase::pClassPointer = NULL; // Class KFGame.KFCharacterInfo_Human // 0x0100 (0x01D8 - 0x00D8) class UKFCharacterInfo_Human : public UKFCharacterInfoBase { public: int UnlockAssetID; // 0x00D8 (0x0004) [0x0000000000000000] DWORD bIsFemale : 1; // 0x00DC (0x0004) [0x0000000000000000] [0x00000001] int HeadMaterialID; // 0x00E0 (0x0004) [0x0000000000000000] int BodyMaterialID; // 0x00E4 (0x0004) [0x0000000000000000] TArray BodyVariants; // 0x00E8 (0x0010) [0x0000000000000000] TArray HeadVariants; // 0x00F8 (0x0010) [0x0000000000000000] TArray CosmeticVariants; // 0x0108 (0x0010) [0x0000000000000000] TArray CharacterArmVariants; // 0x0118 (0x0010) [0x0000000000000000] struct FString ArmMeshPackageName; // 0x0128 (0x0010) [0x0000000000000000] class USkeletalMesh* ArmMesh; // 0x0138 (0x0008) [0x0000000000000000] struct FString ArmSkinPackageName; // 0x0140 (0x0010) [0x0000000000000000] struct FName FavoriteWeaponClassNames[0x8]; // 0x0150 (0x0040) [0x0000000000000000] class UClass* FavoriteWeaponClassDefs[0x8]; // 0x0190 (0x0040) [0x0000000000000000] class UAnimSet* EmoteAnimset; // 0x01D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3521]; return pClassPointer; }; void SetCharacterAnimFromArch(); void GetWeaponAnimSetIdx(); void SetArmsMeshAndSkin(); void SetFirstPersonArmsFromArch(); void DetachAttachment(); void RemoveAttachmentMeshAndSkin(); void GetAttachmentSlotIndex(); void GetOverrideCase(); void DetachConflictingAttachments(); void SetAttachmentMeshAndSkin(); void SetAttachmentSkinMaterial(); void IsAttachmentAvailable(); void SetHeadMeshAndSkin(); void SetHeadSkinMaterial(); void SetBodySkinMaterial(); void SetBodyMeshAndSkin(); void InitCharacterMICs(); void SetCharacterMeshFromArch(); void SetCharacterFromArch(); void GetFavoriteWeaponIndexOf(); void GetFirstPersonArms(); void GetMeshByIndex(); void GetMesh(); void GetAssetId(); }; UClass* UKFCharacterInfo_Human::pClassPointer = NULL; // Class KFGame.KFCharacterInfo_Monster // 0x0110 (0x01E8 - 0x00D8) class UKFCharacterInfo_Monster : public UKFCharacterInfoBase { public: class USkeletalMesh* CharacterMesh; // 0x00D8 (0x0008) [0x0000000000000000] TArray Skins; // 0x00E0 (0x0010) [0x0000000000000000] TArray PlayerControlledSkins; // 0x00F0 (0x0010) [0x0000000000000000] class USkeletalMesh* ServerMesh; // 0x0100 (0x0008) [0x0000000000000000] TArray ExtraMICIndices; // 0x0108 (0x0010) [0x0000000000000000] TArray PACMeshList; // 0x0118 (0x0010) [0x0000000000000000] TArray RandomizedColors; // 0x0128 (0x0010) [0x0000000000000000] struct FDoorSoundFx DoorHitSound; // 0x0138 (0x0010) [0x0000000000000000] class UMaterialInstance* BloodSplatterDecalMaterial; // 0x0148 (0x0008) [0x0000000000000000] class USkeletalMesh* GoreMesh; // 0x0150 (0x0008) [0x0000000000000000] TArray GoreSkins; // 0x0158 (0x0010) [0x0000000000000000] TArray PlayerControlledGoreSkins; // 0x0168 (0x0010) [0x0000000000000000] TArray GoreJointSettings; // 0x0178 (0x0010) [0x0000000000000000] TArray GoreChunkAttachments; // 0x0188 (0x0010) [0x0000000000000000] TArray GibletSettings; // 0x0198 (0x0010) [0x0000000000000000] struct FMeleeSpecialDismembermentInfo SpecialMeleeDismemberment; // 0x01A8 (0x0020) [0x0000000000000000] class UParticleSystem* ExplosionEffectTemplate; // 0x01C8 (0x0008) [0x0000000000000000] class UParticleSystem* ObliterationEffectTemplate; // 0x01D0 (0x0008) [0x0000000000000000] class UParticleSystem* DazedEffectTemplate; // 0x01D8 (0x0008) [0x0000000000000000] float ExplosionGibScale; // 0x01E0 (0x0004) [0x0000000000000000] float ExplosionImpulseScale; // 0x01E4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3523]; return pClassPointer; }; void SetCharacterMeshFromArch(); }; UClass* UKFCharacterInfo_Monster::pClassPointer = NULL; // Class KFGame.KFPawn_Human // 0x013C (0x0C7C - 0x0B40) class AKFPawn_Human : public AKFPawn { public: float LowHealthSpeedPenalty; // 0x0B40 (0x0004) [0x0000000000000000] unsigned char CurrentWeaponState; // 0x0B44 (0x0001) [0x0000000000580023] // ( CPF_Edit | CPF_Const | CPF_Net | // CPF_Component | CPF_NeedCtorLink ) unsigned char WeaponAttachmentAnimRateByte; // 0x0B45 (0x0001) [0x0000000000590023] // ( CPF_Edit | CPF_Const | CPF_Net | // CPF_Travel | CPF_Component | // CPF_NeedCtorLink ) unsigned char ActivePerkMessageIdx; // 0x0B46 (0x0001) [0x0000000000000000] unsigned char HealthToRegen; // 0x0B47 (0x0001) [0x0000000000000000] unsigned char MaxArmor; // 0x0B48 (0x0001) [0x00000000005A0000] ( // CPF_EditConst | CPF_Component | CPF_NeedCtorLink ) unsigned char Armor; // 0x0B49 (0x0001) [0x00000000005B0000] ( // CPF_Travel | CPF_EditConst | CPF_Component | // CPF_NeedCtorLink ) unsigned char IntegrityLevel_High; // 0x0B4A (0x0001) [0x0000000000000000] unsigned char IntegrityLevel_Medium; // 0x0B4B (0x0001) [0x0000000000000000] unsigned char IntegrityLevel_Low; // 0x0B4C (0x0001) [0x0000000000000000] unsigned char MinEnemiesToTriggerSurrounded; // 0x0B4D (0x0001) [0x0000000000000000] unsigned char HealingSpeedBoost; // 0x0B4E (0x0001) [0x00000000005C0000] ( // CPF_GlobalConfig | CPF_Component | // CPF_NeedCtorLink ) unsigned char HealingDamageBoost; // 0x0B4F (0x0001) [0x00000000005D0000] // ( CPF_Travel | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) unsigned char HealingShield; // 0x0B50 (0x0001) [0x00000000005E0000] ( // CPF_EditConst | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) int WeaponSkinItemId; // 0x0B54 (0x0004) [0x00000000005F0000] ( CPF_Travel // | CPF_EditConst | CPF_GlobalConfig | CPF_Component // | CPF_NeedCtorLink ) TArray DeathFaceAnims; // 0x0B58 (0x0010) [0x0000000000000000] float BloodPoolDelay; // 0x0B68 (0x0004) [0x0000000000000000] float PainSoundChanceOnHit; // 0x0B6C (0x0004) [0x0000000000000000] float PainSoundCoolDown; // 0x0B70 (0x0004) [0x0000000000000000] float PainSoundLastPlayedTime; // 0x0B74 (0x0004) [0x0000000000000000] struct FString PerkFXEmitterPoolClassPath; // 0x0B78 (0x0010) [0x0000000000000000] class AEmitterPool* PerkFXEmitterPool; // 0x0B88 (0x0008) [0x0000000000000000] struct FName DefaultDeathMaterialEffectParamName; // 0x0B90 (0x0008) // [0x0000000000000000] float DefaultDeathMaterialEffectDuration; // 0x0B98 (0x0004) // [0x0000000000000000] float DeathMaterialEffectDuration; // 0x0B9C (0x0004) [0x0000000000000000] float DeathMaterialEffectTimeRemaining; // 0x0BA0 (0x0004) // [0x0000000000000000] struct FName DeathMaterialEffectParamName; // 0x0BA4 (0x0008) [0x0000000000000000] class UKFFlashlightAttachment* FlashLight; // 0x0BAC (0x0008) [0x0000000000000000] class UKFFlashlightAttachment* FlashLightTemplate; // 0x0BB4 (0x0008) [0x0000000000000000] DWORD bFlashlightOn : 1; // 0x0BBC (0x0004) [0x0000000000600023] // [0x00000001] ( CPF_Edit | CPF_Const | CPF_Net | // CPF_NeedCtorLink ) DWORD bObjectivePlayer : 1; // 0x0BBC (0x0004) [0x0000000000610000] // [0x00000002] ( CPF_Travel | CPF_NeedCtorLink ) DWORD bDisableTraderDialog : 1; // 0x0BBC (0x0004) [0x000000000062000A] // [0x00000004] ( CPF_Const | // CPF_ExportObject | CPF_EditConst | // CPF_NeedCtorLink ) float BatteryDrainRate; // 0x0BC0 (0x0004) [0x0000000000000000] float BatteryRechargeRate; // 0x0BC4 (0x0004) [0x0000000000000000] float BatteryCharge; // 0x0BC8 (0x0004) [0x0000000000000000] float NVGBatteryDrainRate; // 0x0BCC (0x0004) [0x0000000000000000] class UPointLightComponent* NightVisionLightTemplate; // 0x0BD0 (0x0008) [0x0000000000000000] class UPointLightComponent* NightVisionLight; // 0x0BD8 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_PlayerInfo* PlayerPartyInfo; // 0x0BE0 (0x0008) [0x0000000000000000] float HealthRegenRate; // 0x0BE8 (0x0004) [0x0000000000000000] float HealerRewardScaler; // 0x0BEC (0x0004) [0x0000000000000000] float ArmorAbsorbModifier_High; // 0x0BF0 (0x0004) [0x0000000000000000] float ArmorAbsorbModifier_Medium; // 0x0BF4 (0x0004) [0x0000000000000000] float ArmorAbsorbModifier_Low; // 0x0BF8 (0x0004) [0x0000000000000000] float MinHealthPctToTriggerSurrounded; // 0x0BFC (0x0004) // [0x0000000000000000] TArray ActiveSkillIconPaths; // 0x0C00 (0x0010) [0x0000000000000000] class AKFExplosion_AirborneAgent* AAExplosionActor; // 0x0C10 (0x0008) [0x0000000000000000] int DoshCaughtStreakAmt; // 0x0C18 (0x0004) [0x0000000000000000] float LastDoshCaughtTime; // 0x0C1C (0x0004) [0x0000000000000000] class APlayerReplicationInfo* LastDoshCaughtGiver; // 0x0C20 (0x0008) [0x0000000000000000] int ZedsKilledStreakAmt; // 0x0C28 (0x0004) [0x0000000000000000] float LastZedKilledTime; // 0x0C2C (0x0004) [0x0000000000000000] int DamageTakenStreakAmt; // 0x0C30 (0x0004) [0x0000000000000000] float LastDamageTakenStreakStartTime; // 0x0C34 (0x0004) [0x0000000000000000] float InitialContinousDamageTime; // 0x0C38 (0x0004) [0x0000000000000000] float IdleStartTime; // 0x0C3C (0x0004) [0x0000000000000000] int EnvironmentDialogEventID; // 0x0C40 (0x0004) [0x0000000000000000] float SprintTowardZedStartTime; // 0x0C44 (0x0004) [0x0000000000000000] float SprintStartTime; // 0x0C48 (0x0004) [0x0000000000000000] class UAkComponent* TraderDialogAkComponent; // 0x0C4C (0x0008) [0x0000000000000000] struct FDialogResponseInfo DlgRespInfo; // 0x0C54 (0x0018) [0x0000000000000000] struct FScriptDelegate __OnFinishedDialog__Delegate; // 0x0C6C (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0C70 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3525]; return pClassPointer; }; void DisplayDebug(); void DrawPerkHUD(); void DrawHUD(); void DrawDoors(); void SetMeshLightingChannels(); void SetFirstPersonVisibility(); void eventNotifyOutOfBattery(); void ServerSetFlashlight(); void SetFlashlight(); void ToggleEquipment(); void Timer_CheckSurrounded(); void eventBump(); void DoJump(); void SetSprinting(); void StopTraderDialog(); void PlayTraderDialog(); void TimeSpentIdling(); void ResetIdleStartTime(); void UpdateContinuousDamage(); void UpdateDamageTakenStreak(); void UpdateKillStreak(); void CaughtDoshDialogTimer(); void UpdateDoshCaught(); void SetDialogResponseDelegate(); void HandleDialogResponse(); void OnFinishedDialog(); void GetUpdatedSkillIndicators(); void GetPerkDoTScaler(); void HasExplosiveResistance(); void ResetHealingShield(); void UpdateHealingShield(); void GetHealingShieldModifier(); void ResetHealingDamageBoost(); void UpdateHealingDamageBoost(); void GetHealingDamageBoostModifier(); void ResetHealingSpeedBoost(); void UpdateHealingSpeedBoost(); void StartAirBorneAgentEvent(); void SacrificeExplode(); void UpdateDeathMaterialEffect(); void PlayDeathMaterialEffects(); void eventTakeDamage(); void AdjustDamage(); void Died(); void PlayDying(); void TerminateEffectsOnDeath(); void SetNightVisionLight(); void AddBattleBlood(); void PlayDamageInstigatorHitEffects(); void eventRigidBodyCollision(); void PlayTakeHitEffects(); void LeaveBloodPool(); void ShieldAbsorb(); void GetMaxArmor(); void GiveMaxArmor(); void AddArmor(); void GiveHealthOverTime(); void eventHealDamage(); void CheckAndEndActiveEMoteSpecialMove(); void StopAllAnimations(); void eventPostInitAnimTree(); void GetWeaponAttachmentAnimRateByte(); void SetWeaponAttachmentAnimRateByte(); void WeaponStateChanged(); void GetHealthMod(); void UpdateGroundSpeed(); void eventEndCrouch(); void eventStartCrouch(); void PlayWeaponSwitch(); void AddDefaultInventory(); void OnCharacterMeshChanged(); void SetCharacterArch(); void eventDestroyed(); void eventReplicatedEvent(); void NotifyTeamChanged(); void PossessedBy(); void eventPreBeginPlay(); void eventTick(); }; UClass* AKFPawn_Human::pClassPointer = NULL; // Class KFGame.KFPawn_Customization // 0x002C (0x0CA8 - 0x0C7C) class AKFPawn_Customization : public AKFPawn_Human { public: struct FsReplicatedMovementData ReplicatedMovementData; // 0x0C7C (0x0018) [0x0000000000630000] ( // CPF_Travel | CPF_EditConst | // CPF_NeedCtorLink ) DWORD bServerHidden : 1; // 0x0C94 (0x0004) [0x0000000000640000] [0x00000001] // ( CPF_GlobalConfig | CPF_NeedCtorLink ) DWORD bLocalHidden : 1; // 0x0C94 (0x0004) [0x0000000000000000] [0x00000002] DWORD bUsingCustomizationPoint : 1; // 0x0C94 (0x0004) [0x0000000000000000] // [0x00000004] class UAnimSet* MaleCustomizationAnimSet; // 0x0C98 (0x0008) [0x0000000000000000] class UAnimSet* FemaleCustomizationAnimSet; // 0x0CA0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3527]; return pClassPointer; }; void Reset(); void InitializeCustomizationPawn(); void eventTakeDamage(); void MoveToCustomizationPoint(); void NotifyTeamChanged(); void eventOnAnimEnd(); void PlayEmoteAnimation(); void PlayRandomIdleAnimation(); void AttachWeaponByItemDefinition(); void SetCharacterAnimationInfo(); void eventPostInitAnimTree(); void FaceRotation(); void ClientSetRotation(); void SetServerHidden(); void OnMovementDataUpdated(); void SetUpdatedMovementData(); void eventReplicatedEvent(); void UpdateCustomizationPawnVisibility(); }; UClass* AKFPawn_Customization::pClassPointer = NULL; // Class KFGame.KFPawn_Monster // 0x0274 (0x0DB4 - 0x0B40) class AKFPawn_Monster : public AKFPawn { public: DWORD bLargeZed : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00000001] DWORD bVersusZed : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00000002] DWORD bCanGrabAttack : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCanMeleeAttack : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bHasExtraSprintJumpVelocity : 1; // 0x0B40 (0x0004) // [0x0000000000000000] [0x00000010] DWORD bIsHeadless : 1; // 0x0B40 (0x0004) [0x0000000000580000] [0x00000020] // ( CPF_Component | CPF_NeedCtorLink ) DWORD bHasReducedMeleeDamage : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bShowHealth : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00000080] DWORD bCheckingExtraHeadDamage : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bJumped : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00000200] DWORD bIsPoisoned : 1; // 0x0B40 (0x0004) [0x0000000000590000] [0x00000400] // ( CPF_Travel | CPF_Component | CPF_NeedCtorLink ) DWORD bMicrowavePanicked : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bKnockdownWhenJumpedOn : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bDisableGoreMeshWhileAlive : 1; // 0x0B40 (0x0004) [0x00000000005A0000] // [0x00002000] ( CPF_EditConst | // CPF_Component | CPF_NeedCtorLink ) DWORD bUseExplosiveDeath : 1; // 0x0B40 (0x0004) [0x00000000005B0000] // [0x00004000] ( CPF_Travel | CPF_EditConst // | CPF_Component | CPF_NeedCtorLink ) DWORD bUseDamageInflation : 1; // 0x0B40 (0x0004) [0x00000000005C0000] // [0x00008000] ( CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) DWORD bPlayPanicked : 1; // 0x0B40 (0x0004) [0x00000000005D0000] // [0x00010000] ( CPF_Travel | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) DWORD bPlayShambling : 1; // 0x0B40 (0x0004) [0x00000000005E0000] // [0x00020000] ( CPF_EditConst | CPF_GlobalConfig // | CPF_Component | CPF_NeedCtorLink ) DWORD bIsBlocking : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00040000] DWORD bCloakOnMeleeEnd : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bIsCloakingSpottedByLP : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x00100000] DWORD bIsCloakingSpottedByTeam : 1; // 0x0B40 (0x0004) [0x00000000005F000A] // [0x00200000] ( CPF_Const | // CPF_ExportObject | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | // CPF_Component | CPF_NeedCtorLink ) DWORD bCanRage : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x00400000] DWORD bIsEnraged : 1; // 0x0B40 (0x0004) [0x0000000000600023] [0x00800000] ( // CPF_Edit | CPF_Const | CPF_Net | CPF_NeedCtorLink ) DWORD bIsStalkerClass : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bIsCrawlerClass : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bIsFleshpoundClass : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x04000000] DWORD bIsClotClass : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x08000000] DWORD bIsBloatClass : 1; // 0x0B40 (0x0004) [0x0000000000000000] [0x10000000] DWORD bMatchEnemySpeed : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x20000000] DWORD bRestoreCollisionOnLand : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x40000000] DWORD bPlayedExplosionEffect : 1; // 0x0B40 (0x0004) [0x0000000000000000] // [0x80000000] DWORD bCouldTurnIntoShrapnel : 1; // 0x0B44 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDisableHeadless : 1; // 0x0B44 (0x0004) [0x0000000000610000] // [0x00000002] ( CPF_Travel | CPF_NeedCtorLink ) DWORD bDebug_DrawOverheadInfo : 1; // 0x0B44 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bDebug_DrawSprintingOverheadInfo : 1; // 0x0B44 (0x0004) // [0x0000000000000000] // [0x00000008] DWORD bDebug_UseIconForShowingSprintingOverheadInfo : 1; // 0x0B44 (0x0004) // [0x0000000000000000] // [0x00000010] DWORD bReducedZedOnZedPinchPointCollisionStateActive : 1; // 0x0B44 (0x0004) // [0x0000000000000000] // [0x00000020] DWORD bOnDeathAchivementbDisabled : 1; // 0x0B44 (0x0004) // [0x0000000000000000] [0x00000040] DWORD bOverrideAsBoss : 1; // 0x0B44 (0x0004) [0x0000000000620000] // [0x00000080] ( CPF_EditConst | // CPF_NeedCtorLink ) DWORD bUseAnimatedTheatricCamera : 1; // 0x0B44 (0x0004) // [0x0000000000000000] [0x00000100] struct FString MonsterArchPath; // 0x0B48 (0x0010) [0x0000000000000000] class UKFCharacterInfo_Monster* CharacterMonsterArch; // 0x0B58 (0x0008) [0x0000000000000000] class UClass* ElitePawnClass; // 0x0B60 (0x0008) [0x0000000000000000] struct FViewOffsetData ThirdPersonViewOffset; // 0x0B68 (0x0024) [0x0000000000000000] int RandomColorIdx; // 0x0B8C (0x0004) [0x0000000000000000] float SprintChance; // 0x0B90 (0x0004) [0x0000000000000000] float GrabAttackFrequency; // 0x0B94 (0x0004) [0x0000000000000000] float DifficultyDamageMod; // 0x0B98 (0x0004) [0x0000000000000000] float GameResistancePct; // 0x0B9C (0x0004) [0x0000000000000000] float HeadlessBleedOutTime; // 0x0BA0 (0x0004) [0x0000000000000000] unsigned char MaxHeadChunkGoreWhileAlive; // 0x0BA4 (0x0001) [0x0000000000630000] ( // CPF_Travel | CPF_EditConst | // CPF_NeedCtorLink ) unsigned char ParryResistance; // 0x0BA5 (0x0001) [0x0000000000000000] unsigned char RepInflateMatParam; // 0x0BA6 (0x0001) [0x0000000000640000] ( // CPF_GlobalConfig | CPF_NeedCtorLink ) unsigned char RepDamageInflateParam; // 0x0BA7 (0x0001) [0x0000000000650000] ( // CPF_Travel | CPF_GlobalConfig | // CPF_NeedCtorLink ) unsigned char RepBleedInflateMatParam; // 0x0BA8 (0x0001) [0x0000000000660000] ( // CPF_EditConst | CPF_GlobalConfig | // CPF_NeedCtorLink ) unsigned char MinSpawnSquadSizeType; // 0x0BA9 (0x0001) [0x0000000000000000] class UKFMeleeHelperAI* MeleeAttackHelper; // 0x0BAC (0x0008) [0x0000000000000000] int DoshValue; // 0x0BB4 (0x0004) [0x0000000000000000] float XPValues[0x4]; // 0x0BB8 (0x0010) [0x0000000000000000] TArray WeakSpotSocketNames; // 0x0BC8 (0x0010) [0x0000000000000000] TArray DamageTypeModifiers; // 0x0BD8 (0x0010) [0x0000000000000000] TArray LiveDamageTypeModifiers; // 0x0BE8 (0x0010) [0x0000000000000000] float ZedBumpDamageScale; // 0x0BF8 (0x0004) [0x0000000000000000] float HumanBaseMeleeDamage; // 0x0BFC (0x0004) [0x0000000000000000] class UClass* DifficultySettings; // 0x0C00 (0x0008) [0x0000000000000000] TArray MoveListGamepadScheme; // 0x0C08 (0x0010) [0x0000000000000000] TArray SpecialMoveCooldowns; // 0x0C18 (0x0010) [0x0000000000000000] float LastAttackHumanWarningTime; // 0x0C28 (0x0004) [0x0000000000000000] int OldHealth; // 0x0C2C (0x0004) [0x0000000000000000] float ZeroHealthInflation; // 0x0C30 (0x0004) [0x0000000000000000] float DamageInflationRate; // 0x0C34 (0x0004) [0x0000000000000000] float DamageDeflationRate; // 0x0C38 (0x0004) [0x0000000000000000] float IntendedDamageInflationPercent; // 0x0C3C (0x0004) [0x0000000000000000] float DamageInflationPercent; // 0x0C40 (0x0004) [0x0000000000000000] float InflateDeathGravity; // 0x0C44 (0x0004) [0x0000000000670000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig // | CPF_NeedCtorLink ) float InflationExplosionTimer; // 0x0C48 (0x0004) [0x0000000000680000] ( // CPF_Component | CPF_NeedCtorLink ) class UKFAnim_RandomScripted* WalkBlendList; // 0x0C4C (0x0008) [0x0000000000000000] struct FsBlockInfo DifficultyBlockSettings; // 0x0C54 (0x0024) [0x0000000000000000] float MinBlockFOV; // 0x0C78 (0x0004) [0x0000000000000000] float BlockSprintSpeedModifier; // 0x0C7C (0x0004) [0x0000000000000000] float LastBlockTime; // 0x0C80 (0x0004) [0x0000000000000000] float KnockedDownBySonicWaveOdds; // 0x0C84 (0x0004) [0x0000000000000000] float LastSpottedStatusUpdate; // 0x0C88 (0x0004) [0x0000000000000000] class AKFPlayerController* LastStoredCC; // 0x0C8C (0x0008) [0x0000000000000000] class UParticleSystemComponent* RallyPSC; // 0x0C94 (0x0008) [0x0000000000000000] class UParticleSystemComponent* RallyHandPSCs[0x2]; // 0x0C9C (0x0010) [0x0000000000000000] struct FsRallyInfo DifficultyRallySettings; // 0x0CAC (0x0010) [0x0000000000000000] float NormalGroundSpeed; // 0x0CBC (0x0004) [0x0000000000000000] float NormalSprintSpeed; // 0x0CC0 (0x0004) [0x0000000000000000] float InitialGroundSpeedModifier; // 0x0CC4 (0x0004) [0x0000000000000000] float LastAISpeedCheckTime; // 0x0CC8 (0x0004) [0x0000000000000000] float LastLOSOrRelevantTime; // 0x0CCC (0x0004) [0x0000000000000000] float MatchEnemySpeedAtDistance; // 0x0CD0 (0x0004) [0x0000000000000000] float MinimumEnemySpeedToMatch; // 0x0CD4 (0x0004) [0x0000000000000000] float PursuitSpeedScale; // 0x0CD8 (0x0004) [0x0000000000000000] float ReachedEnemyThresholdScale; // 0x0CDC (0x0004) [0x0000000000000000] float ReachedGoalThresh_Walking; // 0x0CE0 (0x0004) [0x0000000000000000] float ReachedGoalThresh_Spider; // 0x0CE4 (0x0004) [0x0000000000000000] float LastBumpTime; // 0x0CE8 (0x0004) [0x0000000000000000] float BumpFrequency; // 0x0CEC (0x0004) [0x0000000000000000] class UClass* BumpDamageType; // 0x0CF0 (0x0008) [0x0000000000000000] class UClass* JumpBumpDamageType; // 0x0CF8 (0x0008) [0x0000000000000000] float FootstepCameraShakeInnerRadius; // 0x0D00 (0x0004) [0x0000000000000000] float FootstepCameraShakeOuterRadius; // 0x0D04 (0x0004) [0x0000000000000000] class UCameraShake* FootstepCameraShake; // 0x0D08 (0x0008) [0x0000000000000000] float DesiredAdjustedGroundSpeed; // 0x0D10 (0x0004) [0x0000000000000000] float DesiredAdjustedSprintSpeed; // 0x0D14 (0x0004) [0x0000000000000000] float SpeedAdjustTransitionRate; // 0x0D18 (0x0004) [0x0000000000000000] TArray AttachedGoreChunks; // 0x0D1C (0x0010) [0x0000000000000000] int NumHeadChunksRemoved; // 0x0D2C (0x0004) [0x0000000000000000] TArray BrokenHeadBones; // 0x0D30 (0x0010) [0x0000000000000000] float LastNapalmInfectCheckTime; // 0x0D40 (0x0004) [0x0000000000000000] int DeadHorseHitStreakAmt; // 0x0D44 (0x0004) [0x0000000000000000] float LastDeadHorseHitTime; // 0x0D48 (0x0004) [0x0000000000000000] float DefaultCollisionRadius; // 0x0D4C (0x0004) [0x0000000000000000] class AKFTrigger_ChokePoint* CurrentChokePointTrigger; // 0x0D50 (0x0008) [0x0000000000000000] float CollisionRadiusForReducedZedOnZedPinchPointCollisionState; // 0x0D58 // (0x0004) // [0x0000000000000000] int OnDeathAchievementID; // 0x0D5C (0x0004) [0x0000000000000000] struct FString BossName; // 0x0D60 (0x0010) [0x0000000000000000] TArray BossCaptionStrings; // 0x0D70 (0x0010) [0x0000000000000000] struct FName TheatricCameraSocketName; // 0x0D80 (0x0008) [0x0000000000000000] struct FVector TheatricCameraAnimOffset; // 0x0D88 (0x000C) [0x0000000000000000] struct FScriptDelegate __GoreChunkAttachmentCriteria__Delegate; // 0x0D94 (0x0010) // [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0D98 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __GoreChunkDetachmentCriteria__Delegate; // 0x0DA4 (0x0010) // [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x0DA8 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3529]; return pClassPointer; }; void DisablebOnDeathAchivement(); void GetZedOnDeathAchievement(); void ShouldGrandOnDeathAchievement(); void GetLocalizedName(); void MotivatePlayerToAttack(); void PlayLandedDialog(); void PlayLeapedDialog(); void GetTraderAdviceID(); void UpdateDeadHorseStreak(); void GetSpotterDialogID(); void GetKillerDialogID(); void GetOverheadDebugText(); void DrawDebugOverheadSprintingText(); void DrawDebugOverheadText(); void eventPostRenderFor(); void SetDebugTextRendering(); void GetPerkDoTScaler(); void IsBloatClass(); void IsClotClass(); void IsFleshpoundClass(); void IsCrawlerClass(); void IsStalkerClass(); void eventUpdateSpottedStatus(); void IsABoss(); void IsLargeZed(); void HandleDamageInflation(); void GetCurrentInflation(); void eventSetDamageInflation(); void ChokePointTimer(); void NotifyMeleeAttackFinished(); void ForceBreakAllConstraints(); void eventHasMouth(); void ShouldPlayHeadlessMeleeAnims(); void GetHeadHealthPercent(); void TakeHitZoneDamage(); void PlayDismemberment(); void PlayHeadAsplode(); void HitZoneInjured(); void ApplyHeadChunkGore(); void ApplyTakeHitFxGore(); void ApplyObliterationFxGore(); void ApplyRadialFxGore(); void HandlePartialGoreAndGibs(); void ApplyBloodDecals(); void TryPlayHitReactionAnim(); void HandleGoreChunkAttachments(); void ShouldDetachSkullChunk(); void ShouldAttachSkullChunk(); void UpdateGoreChunkData(); void ShouldAllowHeadBoneToBreak(); void AddBrokenHeadBone(); void HeadBoneAlreadyBroken(); void PlayHitZoneGoreSounds(); void PlayDyingSound(); void PlayLivingHitEffects(); void HandleRagdollImpulseEffects(); void PlayDeadHitEffects(); void PlayTakeHitEffects(); void eventRigidBodyCollision(); void GetClosestHitBones(); void eventNotifyGoreMeshActive(); void SwitchToGoreMesh(); void StopLookingAtPawn(); void LookAtPawn(); void GetPawnToLookAt(); void GetStepBackInCombatOdds(); void GetCircleStrafeDuration(); void msg(); void NotifyAnimInterrupt(); void ANIMNOTIFY_Knockdown(); void MeleeSpecialMoveEnded(); void CallOutCloaking(); void SetCloaked(); void NotifyAttackParried(); void UpdateGameplayMICParams(); void IsImpaired(); void IsHeadless(); void ShouldBeWandering(); void EndPanicWander(); void CausePanicWander(); void OnStackingAfflictionChanged(); void CauseHeadTrauma(); void ShrapnelExplode(); void InfectWithNapalm(); void CanNapalmInfect(); void IsNapalmInfected(); void CanShowHealth(); void ResetHealthVisibilty(); void eventOnRigidBodyLinearConstraintViolated(); void eventDestroyed(); void Died(); void GetRallyBoostResistance(); void GetRallyBoostDamage(); void GetDifficultyRallyInfo(); void SetRallySettings(); void Timer_EndRallyBoost(); void Rally(); void BleedOutTimer(); void NotifyMeleeTakeHit(); void PlayHit(); void NotifyTakeHit(); void HasReducedMeleeDamage(); void eventHealDamage(); void ApplyBlockingDamageModifier(); void AppendLiveDamageTypeModifiers(); void GetDamageTypeModifier(); void AdjustDamage(); void eventTakeDamage(); void CanCountHeadshots(); void InflationExplode(); void PlayExplosiveDeath(); void PlayInflationDeath(); void PlayDying(); void ShouldDrawBossIcon(); void eventIsActiveBoss(); void AdjustAffliction(); void GetMinBlockFOV(); void GetBlockSettings(); void SetBlockSettings(); void CanBlock(); void UseAdjustedControllerSensitivity(); void PutAllMovesOnCooldown(); void GetSpecialMoveCooldowns(); void GetSpecialMoveCooldownTimeRemaining(); void GetSpecialMoveCooldownPercent(); void NotifySpecialMoveEnded(); void StopPlayerZedMove(); void StartPlayerZedMove(); void eventIsInAnyAttackTagRange(); void eventIsInAttackTagRange(); void NotifyMeleeDamageDealt(); void MeleeImpactNotify(); void NotifyFriendlyAIDamageTaken(); void eventIsEnraged(); void SetEnraged(); void IsLocationValidForCombat(); void GetEnemy(); void InAnyAttackTagRange(); void InAttackTagRange(); void InMeleeRange(); void InChargeRange(); void IsValidEnemyTargetFor(); void SetZedTimeSpeedScale(); void CrushedBy(); void SetMovementPhysics(); void eventLanded(); void TakeFallingDamage(); void GetBumpAttackDamageType(); void GetDirectionalJumpScale(); void GetSprintJumpVelocity(); void GetJumpZ(); void DoJump(); void eventStuckOnPawn(); void SetSprinting(); void eventTouch(); void HandleDestructibleBump(); void NotifyCollideWithActor(); void HandleAIDoorBump(); void eventHitWall(); void HandleMonsterBump(); void eventBump(); void eventSpiderBumpLevel(); void eventPlayFootStepSound(); void AdjustMovementSpeed(); void GetBlockingSprintSpeedModifier(); void eventUsePlayerControlledZedSkin(); void GetCharacterMonsterInfo(); void CanTakeOver(); void ApplySpecialZoneHealthMod(); void eventPostInitAnimTree(); void eventBaseChange(); void eventFellOutOfWorld(); void PossessedBy(); void NotifyTeamChanged(); void eventPostBeginPlay(); void eventCheckShouldAlwaysBeRelevant(); void eventPreBeginPlay(); void LastChanceLoad(); void PreloadContent(); void eventGetAIPawnClassToSpawn(); void GetXPValue(); void GetDoshValue(); void eventReplicatedEvent(); void CheckEncroachingWorldGeometry(); void SetChokePointCollision(); void SpiderPhysicsWallAdjust(); void GoreChunkDetachmentCriteria(); void GoreChunkAttachmentCriteria(); }; UClass* AKFPawn_Monster::pClassPointer = NULL; // Class KFGame.KFPawn_MonsterBoss // 0x00AC (0x0E60 - 0x0DB4) class AKFPawn_MonsterBoss : public AKFPawn_Monster { public: class AKFPlayerController* KFPC; // 0x0DB4 (0x0008) [0x0000000000000000] struct FBossMinionWaveInfo SummonWaves[0x4]; // 0x0DBC (0x0080) [0x0000000000000000] struct FVector2D NumMinionsToSpawn; // 0x0E3C (0x0008) [0x0000000000000000] int CurrentBattlePhase; // 0x0E44 (0x0004) [0x0000000000690000] ( // CPF_Travel | CPF_Component | CPF_NeedCtorLink ) float LastPlayerAliveAttackRangeScale; // 0x0E48 (0x0004) // [0x0000000000000000] float LastPlayerAliveStartTime; // 0x0E4C (0x0004) [0x0000000000000000] float TimeUntilSpeedIncrease; // 0x0E50 (0x0004) [0x0000000000000000] float SpeedLimitScalar; // 0x0E54 (0x0004) [0x0000000000000000] float SpeedPctIncreasePerMinute; // 0x0E58 (0x0004) [0x0000000000000000] float ActualSprintSpeed; // 0x0E5C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3531]; return pClassPointer; }; void PlayGrabKilledDialog(); void PlayGrabbedPlayerDialog(); void PlayLandedDialog(); void PlayLeapedDialog(); void PlayHealDialog(); void PlayGrabDialog(); void PlayMonologue(); void PlayHeadAsplode(); void CauseHeadTrauma(); void PlayBossMusic(); void Died(); void IsABoss(); void eventIsActiveBoss(); void LocalIsOnePlayerLeftInTeamGame(); void IsOnePlayerLeftInTeamGame(); void GetAttackRangeScale(); void CanObliterateDoors(); void eventHitWall(); void TryDestroyDoor(); void HandleAIDoorBump(); void UpdateBattlePhaseOnLocalPlayerUI(); void OnBattlePhaseChanged(); void GetCurrentBattlePhase(); void UpdateGameplayMICParams(); void TerminateEffectsOnDeath(); void PlayDyingSound(); void PlayDying(); void CanAITargetThisPawn(); void NotifyTakeHit(); void GetNumMinionsToSpawn(); void Timer_IncreaseSpeed(); void PossessedBy(); void eventPostBeginPlay(); void eventPreBeginPlay(); void eventReplicatedEvent(); }; UClass* AKFPawn_MonsterBoss::pClassPointer = NULL; // Class KFGame.KFPawnBlockingVolume // 0x0004 (0x0288 - 0x0284) class AKFPawnBlockingVolume : public ABlockingVolume { public: DWORD bBlockPlayers : 1; // 0x0284 (0x0004) [0x0000000000000000] [0x00000001] DWORD bBlockZedPlayers : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bBlockMonsters : 1; // 0x0284 (0x0004) [0x0000000000000000] // [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3533]; return pClassPointer; }; }; UClass* AKFPawnBlockingVolume::pClassPointer = NULL; // Class KFGame.KFGameReplicationInfo // 0x0F8C (0x1238 - 0x02AC) class AKFGameReplicationInfo : public AGameReplicationInfo { public: struct FPreGameServerAdInfo ServerAdInfo; // 0x02AC (0x0040) [0x0000000000210014] ( // CPF_Input | CPF_OptionalParm | CPF_Travel ) int PrimaryXPAccumulator; // 0x02EC (0x0004) [0x0000000000000000] int SecondaryXPAccumulator; // 0x02F0 (0x0004) [0x0000000000000000] class AKFTraderTrigger* NextTrader; // 0x02F4 (0x0008) [0x0000000000220000] // ( CPF_EditConst ) class AKFTraderTrigger* OpenedTrader; // 0x02FC (0x0008) [0x0000000000000000] class AVolume* TraderVolume; // 0x0304 (0x0008) [0x0000000000230000] ( // CPF_Travel | CPF_EditConst ) unsigned char TraderVolumeCheckType; // 0x030C (0x0001) [0x0000000000240000] ( // CPF_GlobalConfig ) unsigned char MusicTrackRepCount; // 0x030D (0x0001) [0x0000000000250000] // ( CPF_Travel | CPF_GlobalConfig ) unsigned char RepKickVotes; // 0x030E (0x0001) [0x0000000000260070] ( // CPF_OptionalParm | CPF_Net | CPF_EditConstArray | // CPF_EditConst | CPF_GlobalConfig ) unsigned char WaveMax; // 0x030F (0x0001) [0x000000000027000A] ( CPF_Const // | CPF_ExportObject | CPF_Travel | CPF_EditConst | // CPF_GlobalConfig ) unsigned char WaveNum; // 0x0310 (0x0001) [0x0000000000280000] ( // CPF_Component ) unsigned char GameLength; // 0x0311 (0x0001) [0x000000000029000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_Component ) unsigned char GameDifficulty; // 0x0312 (0x0001) [0x00000000002A000A] ( // CPF_Const | CPF_ExportObject | // CPF_EditConst | CPF_Component ) unsigned char MaxPerkLevel; // 0x0313 (0x0001) [0x00000000002B000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_EditConst | CPF_Component ) unsigned char GameSharedUnlocks; // 0x0314 (0x0001) [0x00000000002C0000] ( // CPF_GlobalConfig | CPF_Component ) unsigned char CurrentGameConductorStatus; // 0x0315 (0x0001) [0x00000000002D00AA] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_Parm | CPF_Travel | CPF_GlobalConfig // | CPF_Component ) unsigned char MusicIntensity; // 0x0316 (0x0001) [0x00000000002E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) int DebugingNextTraderIndex; // 0x0318 (0x0004) [0x0000000000000000] class UKFGFxObject_TraderItems* TraderItems; // 0x031C (0x0008) [0x00000000002F000A] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) DWORD bAllowGrenadePurchase : 1; // 0x0324 (0x0004) [0x000000000030000A] // [0x00000001] ( CPF_Const | // CPF_ExportObject ) DWORD bTraderIsOpen : 1; // 0x0324 (0x0004) [0x0000000000310000] // [0x00000002] ( CPF_Travel ) DWORD bWaveIsActive : 1; // 0x0324 (0x0004) [0x0000000000320000] // [0x00000004] ( CPF_EditConst ) DWORD bIsUnrankedGame : 1; // 0x0324 (0x0004) [0x0000000000330000] // [0x00000008] ( CPF_Travel | CPF_EditConst ) DWORD bMatchVictory : 1; // 0x0324 (0x0004) [0x0000000000000000] [0x00000010] DWORD bTradersEnabled : 1; // 0x0324 (0x0004) [0x000000000034000A] // [0x00000020] ( CPF_Const | CPF_ExportObject | // CPF_GlobalConfig ) DWORD bCustom : 1; // 0x0324 (0x0004) [0x000000000035000A] [0x00000040] ( // CPF_Const | CPF_ExportObject | CPF_Travel | // CPF_GlobalConfig ) DWORD bCurrentSMFinishedSpawning : 1; // 0x0324 (0x0004) [0x0000000000360034] // [0x00000080] ( CPF_Input | // CPF_OptionalParm | CPF_Net | // CPF_EditConst | CPF_GlobalConfig ) DWORD bDebugSpawnManager : 1; // 0x0324 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bTrackingMapEnabled : 1; // 0x0324 (0x0004) [0x000000000037004D] // [0x00000200] ( CPF_Edit | CPF_Input | // CPF_ExportObject | CPF_EditConstArray | // CPF_Travel | CPF_EditConst | // CPF_GlobalConfig ) DWORD bHidePawnIcons : 1; // 0x0324 (0x0004) [0x0000000000380000] // [0x00000400] ( CPF_Component ) DWORD bGameConductorGraphingEnabled : 1; // 0x0324 (0x0004) // [0x00000000003900A0] [0x00000800] // ( CPF_Net | CPF_Parm | CPF_Travel // | CPF_Component ) DWORD bVersusGame : 1; // 0x0324 (0x0004) [0x00000000003A000A] [0x00001000] // ( CPF_Const | CPF_ExportObject | CPF_EditConst | // CPF_Component ) DWORD bAllowSwitchTeam : 1; // 0x0324 (0x0004) [0x0000000000000000] // [0x00002000] class AKFTraderDialogManager* TraderDialogManager; // 0x0328 (0x0008) [0x0000000000000000] class UClass* TraderDialogManagerClass; // 0x0330 (0x0008) [0x0000000000000000] class UClass* TraderVoiceGroupClass; // 0x0338 (0x0008) [0x0000000000000000] int AIRemaining; // 0x0340 (0x0004) [0x00000000003B0000] ( // CPF_Travel | CPF_EditConst | CPF_Component ) int WaveTotalAICount; // 0x0344 (0x0004) [0x00000000003C0000] ( // CPF_GlobalConfig | CPF_Component ) struct FString ConsoleGameSessionGuid; // 0x0348 (0x0010) [0x00000000003D0000] ( // CPF_Travel | CPF_GlobalConfig | // CPF_Component ) struct FUniqueNetId ConsoleGameSessionHost; // 0x0358 (0x0008) [0x0000000000000000] TArray ConsoleGameSessionPendingPlayers; // 0x0360 (0x0010) // [0x0000000000000000] float GameAmmoCostScale; // 0x0370 (0x0004) [0x00000000003E000A] ( // CPF_Const | CPF_ExportObject | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) float CurrentSineMod; // 0x0374 (0x0004) [0x00000000003F0034] ( CPF_Input | // CPF_OptionalParm | CPF_Net | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) float CurrentNextSpawnTime; // 0x0378 (0x0004) [0x0000000000400034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_NeedCtorLink ) float CurrentSineWavFreq; // 0x037C (0x0004) [0x0000000000410034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_Travel | CPF_NeedCtorLink ) float CurrentNextSpawnTimeMod; // 0x0380 (0x0004) [0x0000000000420034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_EditConst | CPF_NeedCtorLink ) int CurrentAIAliveCount; // 0x0384 (0x0004) [0x0000000000430034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_Travel | CPF_EditConst | CPF_NeedCtorLink ) int CurrentMaxMonsters; // 0x0388 (0x0004) [0x0000000000440034] ( CPF_Input // | CPF_OptionalParm | CPF_Net | CPF_GlobalConfig // | CPF_NeedCtorLink ) float CurrentTimeTilNextSpawn; // 0x038C (0x0004) [0x0000000000450034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_Travel | CPF_GlobalConfig | // CPF_NeedCtorLink ) float CurrentTotalWavesActiveTime; // 0x0390 (0x0004) [0x0000000000460034] // ( CPF_Input | CPF_OptionalParm | // CPF_Net | CPF_EditConst | // CPF_GlobalConfig | CPF_NeedCtorLink ) class UKFVoteCollector* VoteCollector; // 0x0394 (0x0008) [0x0000000000000000] class UClass* VoteCollectorClass; // 0x039C (0x0008) [0x0000000000000000] struct FSpawnVolumeInfo SpawnVolumeInfos[0x10]; // 0x03A4 (0x0180) [0x0000000000470057] ( // CPF_Edit | CPF_Const | CPF_Input | // CPF_OptionalParm | CPF_EditConstArray | // CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_NeedCtorLink ) int LastSpawnVolumeIndex; // 0x0524 (0x0004) [0x0000000000000000] struct FSpawnVolumeInfo FailedSpawnInfos[0x8]; // 0x0528 (0x00C0) [0x0000000000570057] ( // CPF_Edit | CPF_Const | CPF_Input | // CPF_OptionalParm | CPF_EditConstArray | // CPF_Travel | CPF_EditConst | CPF_GlobalConfig // | CPF_NeedCtorLink ) int LastFailedSpawnIndex; // 0x05E8 (0x0004) [0x0000000000000000] struct FZedInfo ZedInfos[0x20]; // 0x05EC (0x0800) [0x00000000005F0057] ( // CPF_Edit | CPF_Const | CPF_Input | CPF_OptionalParm // | CPF_EditConstArray | CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_Component | CPF_NeedCtorLink // ) float UpdateZedInfoInterval; // 0x0DEC (0x0004) [0x0000000000000000] struct FHumanInfo HumanInfos[0x6]; // 0x0DF0 (0x00A8) [0x00000000007F0057] ( // CPF_Edit | CPF_Const | CPF_Input | CPF_OptionalParm // | CPF_EditConstArray | CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_Component | CPF_NeedCtorLink // ) float UpdateHumanInfoInterval; // 0x0E98 (0x0004) [0x0000000000000000] struct FPickupInfo PickupInfos[0x14]; // 0x0E9C (0x0140) [0x0000000000850057] ( CPF_Edit | // CPF_Const | CPF_Input | CPF_OptionalParm | // CPF_EditConstArray | CPF_Travel | // CPF_GlobalConfig | CPF_NoExport ) float UpdatePickupInfoInterval; // 0x0FDC (0x0004) [0x0000000000000000] float PlayerAccuracyTracker[0xA]; // 0x0FE0 (0x0028) [0x00000000009900AA] // ( CPF_Const | CPF_ExportObject | // CPF_Net | CPF_Parm | CPF_Travel | // CPF_Component | CPF_NoExport ) float PlayerHeadshotAccuracyTracker [0xA]; // 0x1008 (0x0028) [0x0000000000A300AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_NoExport ) float AggregatePlayerSkillTracker [0xA]; // 0x1030 (0x0028) [0x0000000000AD00AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_GlobalConfig | CPF_Component | CPF_NoExport ) float TotalZedLifeSpanAverageTracker [0xA]; // 0x1058 (0x0028) [0x0000000000B700AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | CPF_NoExport ) float CurrentWaveZedLifeSpanAverageTracker [0xA]; // 0x1080 (0x0028) [0x0000000000C100AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_NeedCtorLink | CPF_NoExport ) float RecentZedLifeSpanAverageTracker [0xA]; // 0x10A8 (0x0028) [0x0000000000CB00AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_Component | CPF_NeedCtorLink | // CPF_NoExport ) float PlayersHealthStatusTracker [0xA]; // 0x10D0 (0x0028) [0x0000000000D500AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_GlobalConfig | CPF_NeedCtorLink | CPF_NoExport ) float PlayersAmmoStatusTracker [0xA]; // 0x10F8 (0x0028) [0x0000000000DF00AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_EditConst | CPF_GlobalConfig | CPF_Component | // CPF_NeedCtorLink | CPF_NoExport ) float AggregatePlayersStatusTracker [0xA]; // 0x1120 (0x0028) [0x0000000000E900AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Travel | // CPF_Component | CPF_NeedCtorLink | CPF_NoExport ) float CurrentParZedLifeSpan; // 0x1148 (0x0004) [0x0000000000F300AA] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_Parm | CPF_Travel | CPF_EditConst | // CPF_NeedCtorLink | CPF_NoExport ) float OverallRankAndSkillModifierTracker [0xA]; // 0x114C (0x0028) [0x0000000000F400AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_GlobalConfig | // CPF_NeedCtorLink | CPF_NoExport ) float ZedMovementSpeedModifierTracker [0xA]; // 0x1174 (0x0028) [0x0000000000FE00AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_EditConst | // CPF_GlobalConfig | CPF_Component | CPF_NeedCtorLink | // CPF_NoExport ) float ZedSpawnRateModifierTracker [0xA]; // 0x119C (0x0028) [0x00000000010800AA] ( CPF_Const // | CPF_ExportObject | CPF_Net | CPF_Parm | CPF_Component ) float ZedSpawnRateTracker[0xA]; // 0x11C4 (0x0028) [0x00000000011200AA] ( // CPF_Const | CPF_ExportObject | CPF_Net | // CPF_Parm | CPF_EditConst ) float VersusZedHealthMod; // 0x11EC (0x0004) [0x00000000011C00C3] ( // CPF_Edit | CPF_Const | CPF_EditConstArray | // CPF_Parm | CPF_GlobalConfig | CPF_Component ) float VersusZedDamageMod; // 0x11F0 (0x0004) [0x00000000011D00C3] ( CPF_Edit // | CPF_Const | CPF_EditConstArray | CPF_Parm | // CPF_Travel | CPF_GlobalConfig | CPF_Component ) TArray DoorList; // 0x11F4 (0x0010) [0x0000000000000000] class AActor* CurrentObjective; // 0x1204 (0x0008) [0x00000000011E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) class UKFInterface_MapObjective* ObjectiveInterface; // 0x120C (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x8]; // 0x1214 (0x0008) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY class UAkComponent* MusicComp; // 0x121C (0x0008) [0x0000000000000000] class UKFMusicTrackInfo* CurrentMusicTrackInfo; // 0x1224 (0x0008) [0x0000000000000000] class UKFMusicTrackInfo* ReplicatedMusicTrackInfo; // 0x122C (0x0008) [0x00000000011F0000] ( // CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) float SteamHeartbeatAccumulator; // 0x1234 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3535]; return pClassPointer; }; void DeactivateObjective(); void ActivateObjective(); void AttemptObjectiveActivation(); void StartNextRandomObjective(); void StartNextPresetObjective(); void StartNextObjective(); void eventIsStatsSessionValid(); void AreTeamsOutOfBalanced(); void GetCurrentRoundNumber(); void eventNotifyGameUnranked(); void ReceiveVoteMap(); void RecieveVoteKick(); void ServerStartVoteKick(); void ForceNewMusicTrack(); void PlayNewMusicTrack(); void UpdateMusicTrack(); void UpdateHumanList(); void UpdateZedList(); void UpdateSpawnVolumes(); void UpdatePickupList(); void eventTick(); void AddFailedSpawn(); void AddRecentSpawnVolume(); void AnyPlayersAlive(); void GetNumPlayersAlive(); void DisplayDebug(); void eventCanChangePerks(); void RemovePRI(); void eventTimer(); void IsFinalWave(); void SetWaveActive(); void GetNextMapTimeRemaining(); void eventSendPlayfabGameTimeUpdate(); void ProcessChanceDrop(); void OnOpenAfterActionReport(); void GetHeartbeatAccumulatorAmount(); void TriggerClientWaveStartEvents(); void GetTraderTimeRemaining(); void CloseTrader(); void OpenTraderNext(); void OpenTrader(); void StartScavengeTime(); void FadeOutLingeringExplosions(); void GetKFPRIArray(); void ShowPreGameServerWelcomeScreen(); void EndGame(); void NotifyWaveEnded(); void UpdateHUDWaveCount(); void ReceivedGameClass(); void eventPostBeginPlay(); void eventReplicatedEvent(); void EndOfWave(); void SendSteamRequestItemDrop(); void SendSteamHeartbeat(); }; UClass* AKFGameReplicationInfo::pClassPointer = NULL; // Class KFGame.KFPlayerReplicationInfo // 0x0078 (0x039C - 0x0324) class AKFPlayerReplicationInfo : public APlayerReplicationInfo { public: float LastQuitTime; // 0x0324 (0x0004) [0x0000000000000000] unsigned char NumTimesReconnected; // 0x0328 (0x0001) [0x0000000000000000] unsigned char VOIPStatus; // 0x0329 (0x0001) [0x000000000028000A] ( // CPF_Const | CPF_ExportObject | CPF_Component ) unsigned char NetPerkIndex; // 0x032A (0x0001) [0x0000000000290000] ( // CPF_Travel | CPF_Component ) unsigned char ActivePerkLevel; // 0x032B (0x0001) [0x00000000002A0000] ( // CPF_EditConst | CPF_Component ) unsigned char PlayerHealth; // 0x032C (0x0001) [0x00000000002B0000] ( // CPF_Travel | CPF_EditConst | CPF_Component ) unsigned char PlayerHealthPercent; // 0x032D (0x0001) [0x00000000002C0000] // ( CPF_GlobalConfig | CPF_Component ) unsigned char PerkSupplyLevel; // 0x032E (0x0001) [0x00000000002D0000] ( // CPF_Travel | CPF_GlobalConfig | CPF_Component ) unsigned char SharedUnlocks; // 0x032F (0x0001) [0x00000000002E000A] ( // CPF_Const | CPF_ExportObject | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) DWORD bHasSpawnedIn : 1; // 0x0330 (0x0004) [0x00000000002F0000] // [0x00000001] ( CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) DWORD bVOIPRegisteredWithOSS : 1; // 0x0330 (0x0004) [0x0000000000300000] // [0x00000002] DWORD bExtraFireRange : 1; // 0x0330 (0x0004) [0x0000000000310000] // [0x00000004] ( CPF_Travel ) DWORD bSplashActive : 1; // 0x0330 (0x0004) [0x0000000000320000] // [0x00000008] ( CPF_EditConst ) DWORD bNukeActive : 1; // 0x0330 (0x0004) [0x0000000000330000] [0x00000010] // ( CPF_Travel | CPF_EditConst ) DWORD bConcussiveActive : 1; // 0x0330 (0x0004) [0x0000000000340000] // [0x00000020] ( CPF_GlobalConfig ) DWORD bPerkPrimarySupplyUsed : 1; // 0x0330 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bPerkSecondarySupplyUsed : 1; // 0x0330 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bObjectivePlayer : 1; // 0x0330 (0x0004) [0x0000000000350000] // [0x00000100] ( CPF_Travel | CPF_GlobalConfig ) DWORD bShowNonRelevantPlayers : 1; // 0x0330 (0x0004) [0x0000000000000000] // [0x00000200] struct FString LastCrateGiftTimestamp; // 0x0334 (0x0010) [0x0000000000000000] int SecondsOfGameplay; // 0x0344 (0x0004) [0x0000000000000000] TArray CharacterArchetypes; // 0x0348 (0x0010) [0x0000000000000000] struct FCustomizationInfo RepCustomizationInfo; // 0x0358 (0x000C) [0x0000000000360000] ( // CPF_EditConst | CPF_GlobalConfig ) class UTexture* CharPortrait; // 0x0364 (0x0008) [0x0000000000370000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) int DamageDealtOnTeam; // 0x036C (0x0004) [0x0000000000380000] ( // CPF_Component ) class UClass* CurrentPerkClass; // 0x0370 (0x0008) [0x0000000000390000] ( // CPF_Travel | CPF_Component ) int Assists; // 0x0378 (0x0004) [0x00000000003A0000] ( // CPF_EditConst | CPF_Component ) struct FVector PawnLocationCompressed; // 0x037C (0x000C) [0x00000000003B0034] ( // CPF_Input | CPF_OptionalParm | CPF_Net | // CPF_Travel | CPF_EditConst | CPF_Component ) struct FVector LastReplicatedSmoothedLocation; // 0x0388 (0x000C) [0x0000000000000000] class AKFPlayerController* KFPlayerOwner; // 0x0394 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3537]; return pClassPointer; }; void HasHadInitialSpawn(); void NotifyWaveEnded(); void ResetSupplierUsed(); void MarkSupplierUsed(); void MarkSupplierOwnerUsed(); void IncrementDeaths(); void NotifyHUDofPRIDestroyed(); void eventDestroyed(); void UpdateTraderDosh(); void AddDosh(); void ServerSetPlayerReady(); void SetPlayerReady(); void GetSmoothedPawnIconLocation(); void SetSmoothedPawnIconLocation(); void UpdateReplicatedPlayerHealth(); void UpdatePawnLocation(); void UpdateReplicatedVariables(); void SetPlayerTeam(); void Duplicate(); void eventServerAnnounceNewSharedContent(); void eventCharacterCustomizationChanged(); void eventGetCharacterConfigSection(); void GetAnyAvailableCharacter(); void eventSelectCharacter(); void ClientInitialize(); void ClearCharacterAttachment(); void RetryCharacterOwnership(); void LoadCharacterConfig(); void SaveCharacterConfig(); void eventServerSetCharacterCustomization(); void eventServerSetSharedUnlocks(); void RecieveTopMaps(); void RecieveAARMapOption(); void ServerCastMapVote(); void CastMapVote(); void ServerCastKickVote(); void CastKickVote(); void ServerStartKickVote(); void HideKickVote(); void ShowKickVote(); void UnregisterPlayerFromSession(); void OnTalkerRegistered(); void VOIPStatusChanged(); void ServerNotifyStopVOIP(); void ServerStartSpectatorVoiceChat(); void ServerNotifyStartTeamVoip(); void ServerNotifyStartVoip(); void GetActivePerkLevel(); void ClientRecieveNewTeam(); void ServerSwitchTeam(); void eventPostBeginPlay(); void eventReplicatedEvent(); }; UClass* AKFPlayerReplicationInfo::pClassPointer = NULL; // Class KFGame.KFPlayerReplicationInfoVersus // 0x0024 (0x03C0 - 0x039C) class AKFPlayerReplicationInfoVersus : public AKFPlayerReplicationInfo { public: int KillsAsZed; // 0x039C (0x0004) [0x0000000000000000] int AssistsAsZed; // 0x03A0 (0x0004) [0x0000000000000000] int DamageDealtAsZed; // 0x03A4 (0x0004) [0x0000000000000000] int ZedGrabs; // 0x03A8 (0x0004) [0x0000000000000000] int IndirectDamageDealt; // 0x03AC (0x0004) [0x0000000000000000] TArray WaveKills; // 0x03B0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3539]; return pClassPointer; }; void Reset(); void IncrementDeaths(); void RecordEndGameInfo(); void VOIPStatusChanged(); void ClientRecieveNewTeam(); void ClientRefusedTeamSwitch(); void WillMaintainTeamBalance(); void ServerSwitchTeam(); void SetPlayerTeam(); void GetOwnerPawn(); }; UClass* AKFPlayerReplicationInfoVersus::pClassPointer = NULL; // Class KFGame.KFSeqAct_MovePawnsNotInVolume // 0x0018 (0x0168 - 0x0150) class UKFSeqAct_MovePawnsNotInVolume : public USequenceAction { public: DWORD bOnlyLivingPlayers : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bRandomizeDestination : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bCheckOverlap : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000004] DWORD bSetRotation : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000008] DWORD bFadeIn : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000010] DWORD bFadeAudio : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000020] struct FColor FadeColor; // 0x0154 (0x0004) [0x0000000000000000] float EndFadeOpacity; // 0x0158 (0x0004) [0x0000000000000000] float FadeTime; // 0x015C (0x0004) [0x0000000000000000] struct FVector2D FadeAlpha; // 0x0160 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3541]; return pClassPointer; }; }; UClass* UKFSeqAct_MovePawnsNotInVolume::pClassPointer = NULL; // Class KFGame.KFSeqAct_ToggleEx // 0x0004 (0x0154 - 0x0150) class UKFSeqAct_ToggleEx : public USeqAct_Toggle { public: DWORD bUseDynamicActorIterator : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3543]; return pClassPointer; }; }; UClass* UKFSeqAct_ToggleEx::pClassPointer = NULL; // Class KFGame.KFSpecialMove // 0x008C (0x0134 - 0x00A8) class UKFSpecialMove : public UGameSpecialMove { public: class AKFPawn* KFPOwner; // 0x00A8 (0x0008) [0x0000000000000000] class AKFPlayerController* PCOwner; // 0x00B0 (0x0008) [0x0000000000000000] class AKFAIController* AIOwner; // 0x00B8 (0x0008) [0x0000000000000000] class UObject* AISpecialOwner; // 0x00C0 (0x0008) [0x0000000000000000] unsigned char SMIndex; // 0x00C8 (0x0001) [0x0000000000000000] unsigned char SMRootMotionMode; // 0x00C9 (0x0001) [0x0000000000000000] class UAnimNodeSlot* ActiveSlotNode; // 0x00CC (0x0008) [0x0000000000000000] DWORD bOverridePawnSpeedModifier : 1; // 0x00D4 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bAllowHitReactions : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAllowMomentumPush : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCanOnlyWanderAtEnd : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bAllowThirdPersonWeaponAnims : 1; // 0x00D4 (0x0004) // [0x0000000000000000] [0x00000010] DWORD bUseCustomRotationRate : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bUseHigherMeshSmoothingThreshold : 1; // 0x00D4 (0x0004) // [0x0000000000000000] // [0x00000040] DWORD bDisablesWeaponFiring : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bOnlyInteractionPawnCanDamageMe : 1; // 0x00D4 (0x0004) // [0x0000000000000000] // [0x00000100] DWORD bCanModifyInteractionPawn : 1; // 0x00D4 (0x0004) // [0x0000000000000000] [0x00000200] DWORD bPendingStopFire : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bUseCustomThirdPersonViewOffset : 1; // 0x00D4 (0x0004) // [0x0000000000000000] // [0x00000800] DWORD bRestoredCameraDefaults : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bDisableHeadTracking : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bDisableAI : 1; // 0x00D4 (0x0004) [0x0000000000000000] [0x00004000] DWORD bDisableMovement : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00008000] DWORD bMovementDisabled : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bLockPawnRotation : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00020000] DWORD bPawnRotationLocked : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00040000] DWORD bDisableLook : 1; // 0x00D4 (0x0004) [0x0000000000000000] [0x00080000] DWORD bDisableWeaponInteraction : 1; // 0x00D4 (0x0004) // [0x0000000000000000] [0x00100000] DWORD bDisableAIAttackRangeChecks : 1; // 0x00D4 (0x0004) // [0x0000000000000000] [0x00200000] DWORD bDisableSteering : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bDisableTurnInPlace : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x00800000] DWORD bDisablePhysics : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bServerOnlyPhysics : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x02000000] DWORD bAllowFireAnims : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x04000000] DWORD bShouldDeferToPostTick : 1; // 0x00D4 (0x0004) [0x0000000000000000] // [0x08000000] struct FRotator CustomRotationRate; // 0x00D8 (0x000C) [0x0000000000000000] struct FName DeferredSeqName; // 0x00E4 (0x0008) [0x0000000000000000] struct FViewOffsetData CustomThirdPersonViewOffset; // 0x00EC (0x0024) [0x0000000000000000] float ViewOffsetInterpTime; // 0x0110 (0x0004) [0x0000000000000000] float CustomCameraFOV; // 0x0114 (0x0004) [0x0000000000000000] float CameraFOVTransitionTime; // 0x0118 (0x0004) [0x0000000000000000] float AITimeout; // 0x011C (0x0004) [0x0000000000000000] float CustomTurnInPlaceAnimRate; // 0x0120 (0x0004) [0x0000000000000000] class UAICommand_PushedBySM* AICommand; // 0x0124 (0x0008) [0x0000000000000000] class UClass* DefaultAICommandClass; // 0x012C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3545]; return pClassPointer; }; void GetSMAimRotation(); void CanDrawCrosshair(); void eventModifyInteractionPawn(); void OnEMPDisrupted(); void OnGoreMeshSwap(); void CanInterruptWithParry(); void NotifyHitReactionInterrupt(); void NotifyOwnerTakeHit(); void AbortedByAICommand(); void OnAnimNotifyParticleSystemSpawned(); void DeferOnAnimEnd(); void AnimEndNotify(); void AbortSpecialMove(); void PlaySpecialMoveAnim(); void PlayCameraAnim(); void ProcessViewRotation(); void SetLockPawnRotation(); void Tick(); void DisableRootMotion(); void EnableRootMotion(); void GetSprintSpeedModifier(); void SetMovementLock(); void RestoreCameraDefaults(); void SpecialMoveEnded(); void SpecialMoveStarted(); void InitSpecialMove(); void InternalCanDoSpecialMove(); void SpecialMoveButtonReleased(); void SpecialMoveButtonRetriggered(); void InteractionPawnUpdated(); void NotifyBump(); void PackFlagsBase(); void IsPawnPathClear(); }; UClass* UKFSpecialMove::pClassPointer = NULL; // Class KFGame.KFSM_InteractionPawnLeader // 0x0038 (0x016C - 0x0134) class UKFSM_InteractionPawnLeader : public UKFSpecialMove { public: class UCameraAnimInst* ExecutionCameraAnimInst_Leader; // 0x0134 (0x0008) [0x0000000000000000] class UCameraAnimInst* ExecutionCameraAnimInst_Follower; // 0x013C (0x0008) // [0x0000000000000000] class AKFPawn* Follower; // 0x0144 (0x0008) [0x0000000000000000] unsigned char FollowerSpecialMove; // 0x014C (0x0001) [0x0000000000000000] float InteractionStartTimeOut; // 0x0150 (0x0004) [0x0000000000000000] DWORD bAlignPawns : 1; // 0x0154 (0x0004) [0x0000000000000000] [0x00000001] DWORD bAlignLeaderLocation : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAlignFollowerZ : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAlignFollowerLookSameDirAsMe : 1; // 0x0154 (0x0004) // [0x0000000000000000] [0x00000008] DWORD bAlignLeaderRotation : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bAlignFollowerRotation : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bStopAlignFollowerRotationAtGoal : 1; // 0x0154 (0x0004) // [0x0000000000000000] // [0x00000040] DWORD bAlignHumanFollowerControllerRotation : 1; // 0x0154 (0x0004) // [0x0000000000000000] // [0x00000080] DWORD bRetryCollisionCheck : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000100] float AlignDistance; // 0x0158 (0x0004) [0x0000000000000000] float AlignDistanceThreshold; // 0x015C (0x0004) [0x0000000000000000] float AlignFollowerInterpSpeed; // 0x0160 (0x0004) [0x0000000000000000] int LeaderRelativeYawOffset; // 0x0164 (0x0004) [0x0000000000000000] float AlignSpeedModifier; // 0x0168 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3547]; return pClassPointer; }; void CanInteractWithPawn(); void DetachPawnHelper(); void DetachPawn(); void AttachFollowerToLeader(); void PlayExecutionCameraAnim(); void DebugSocketRelativeLocation(); void OnFollowerLeavingSpecialMove(); void MessageEvent(); void IsFollowerReachable(); void RetryCollisionTimer(); void StartInteraction(); void IsReadyToStartInteraction(); void CheckReadyToStartInteraction(); void InteractionStartTimedOut(); void SpecialMoveEnded(); void SpecialMoveStarted(); void GetClipSafeMeshTranslation(); }; UClass* UKFSM_InteractionPawnLeader::pClassPointer = NULL; // Class KFGame.KFSM_GrappleCombined // 0x0030 (0x019C - 0x016C) class UKFSM_GrappleCombined : public UKFSM_InteractionPawnLeader { public: TArray GrappleAnims; // 0x016C (0x0010) [0x0000000000000000] DWORD bStopFullBodyWhenMoveEnds : 1; // 0x017C (0x0004) // [0x0000000000000000] [0x00000001] DWORD bCanBeBlocked : 1; // 0x017C (0x0004) [0x0000000000000000] [0x00000002] DWORD bCanBeInterrupted : 1; // 0x017C (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUseRootMotion : 1; // 0x017C (0x0004) [0x0000000000000000] // [0x00000008] unsigned char LastVariant; // 0x0180 (0x0001) [0x0000000000000000] float MaxGrabDistance; // 0x0184 (0x0004) [0x0000000000000000] float MaxVictimZOffset; // 0x0188 (0x0004) [0x0000000000000000] struct FName GrabStartAnimName; // 0x018C (0x0008) [0x0000000000000000] float GrabCheckTime; // 0x0194 (0x0004) [0x0000000000000000] float MinPlayerGrabTime; // 0x0198 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3549]; return pClassPointer; }; void CheckIfPlayerReleasedGrapple(); void SpecialMoveButtonReleased(); void SpecialMoveButtonRetriggered(); void NotifyHitReactionInterrupt(); void NotifyOwnerTakeHit(); void SpecialMoveEnded(); void OnFollowerLeavingSpecialMove(); void PlayGrappleLoopAnim(); void SpecialMoveFlagsUpdated(); void AnimEndNotify(); void StartInteraction(); void BeginGrapple(); void CanInteractWithPawn(); void FindPlayerGrabTarget(); void CheckGrapple(); void PlayGrabAnim(); void SpecialMoveStarted(); void PackFlagsBase(); void CanInterruptWithParry(); void CanOverrideMoveWith(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_GrappleCombined::pClassPointer = NULL; // Class KFGame.KFSM_Patriarch_Grapple // 0x0058 (0x01F4 - 0x019C) class UKFSM_Patriarch_Grapple : public UKFSM_GrappleCombined { public: float TentacleStartTime; // 0x019C (0x0004) [0x0000000000000000] float MaxRange; // 0x01A0 (0x0004) [0x0000000000000000] float MaxClawReach; // 0x01A4 (0x0004) [0x0000000000000000] float DetachDistance; // 0x01A8 (0x0004) [0x0000000000000000] DWORD bGrabMissed : 1; // 0x01AC (0x0004) [0x0000000000000000] [0x00000001] DWORD bGrabbedPawn : 1; // 0x01AC (0x0004) [0x0000000000000000] [0x00000002] DWORD bTentacleCtrlStarted : 1; // 0x01AC (0x0004) [0x0000000000000000] // [0x00000004] float CurveExponent; // 0x01B0 (0x0004) [0x0000000000000000] float TentacleEndBoneOffset; // 0x01B4 (0x0004) [0x0000000000000000] float TentacleBlendOutTime; // 0x01B8 (0x0004) [0x0000000000000000] struct FName TentacleEndBone; // 0x01BC (0x0008) [0x0000000000000000] struct FName TentacleStartBone; // 0x01C4 (0x0008) [0x0000000000000000] float RetractAirSpeed; // 0x01CC (0x0004) [0x0000000000000000] TArray TentacleControls; // 0x01D0 (0x0010) [0x0000000000000000] class USkelControlSingleBone* TentacleStartCtrl; // 0x01E0 (0x0008) [0x0000000000000000] int TentacleDamage; // 0x01E8 (0x0004) [0x0000000000000000] class UClass* TentacleDmgType; // 0x01EC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3551]; return pClassPointer; }; void PlayerReleasedGrapple(); void SpecialMoveButtonReleased(); void SpecialMoveButtonRetriggered(); void SpecialMoveEnded(); void ResetFollowerPhysics(); void OnFollowerLeavingSpecialMove(); void NotifyOwnerTakeHit(); void AnimEndNotify(); void eventDetachGrabbedPawn(); void SetSkelControlsActive(); void InitializeSkelControls(); void SpecialMoveFlagsUpdated(); void eventOnGrabMissed(); void StartInteraction(); void BeginGrapple(); void DamageFollower(); void CheckGrapple(); void BeginTentacleControls(); void SpecialMoveStarted(); }; UClass* UKFSM_Patriarch_Grapple::pClassPointer = NULL; // Class KFGame.KFSM_PlaySingleAnim // 0x001C (0x0150 - 0x0134) class UKFSM_PlaySingleAnim : public UKFSpecialMove { public: struct FName AnimName; // 0x0134 (0x0008) [0x0000000000000000] unsigned char AnimStance; // 0x013C (0x0001) [0x0000000000000000] DWORD bLoopAnim : 1; // 0x0140 (0x0004) [0x0000000000000000] [0x00000001] DWORD bUseRootMotion : 1; // 0x0140 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bCanBeInterrupted : 1; // 0x0140 (0x0004) [0x0000000000000000] // [0x00000004] float BlendInTime; // 0x0144 (0x0004) [0x0000000000000000] float BlendOutTime; // 0x0148 (0x0004) [0x0000000000000000] float AbortBlendOutTime; // 0x014C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3553]; return pClassPointer; }; void NotifyHitReactionInterrupt(); void AnimEndNotify(); void PlayAnimation(); void SpecialMoveEnded(); void SpecialMoveStarted(); }; UClass* UKFSM_PlaySingleAnim::pClassPointer = NULL; // Class KFGame.KFSM_MeleeAttack // 0x0004 (0x0154 - 0x0150) class UKFSM_MeleeAttack : public UKFSM_PlaySingleAnim { public: DWORD bCannotBeParried : 1; // 0x0150 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3555]; return pClassPointer; }; void CanInterruptWithParry(); void InterruptCheckTimer(); void AbortedByAICommand(); void NotifyHitReactionInterrupt(); void PlayAnimation(); void SpecialMoveEnded(); void SpecialMoveStarted(); void CanOverrideMoveWith(); void UnpackSpecialMoveFlags(); void PackFlagsBase(); }; UClass* UKFSM_MeleeAttack::pClassPointer = NULL; // Class KFGame.KFSM_DoorMeleeAttack // 0x0000 (0x0154 - 0x0154) class UKFSM_DoorMeleeAttack : public UKFSM_MeleeAttack { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3557]; return pClassPointer; }; void InternalCanDoSpecialMove(); void UnpackSpecialMoveFlags(); void PackSMFlags(); void SpecialMoveStarted(); }; UClass* UKFSM_DoorMeleeAttack::pClassPointer = NULL; // Class KFGame.KFSM_RecoverFromRagdoll // 0x0034 (0x0168 - 0x0134) class UKFSM_RecoverFromRagdoll : public UKFSpecialMove { public: struct FName GetUpFrontAnim; // 0x0134 (0x0008) [0x0000000000000000] struct FName GetUpBackAnim; // 0x013C (0x0008) [0x0000000000000000] DWORD bBlendToGetUp : 1; // 0x0144 (0x0004) [0x0000000000000000] [0x00000001] DWORD bInvertUpDownBoneAxis : 1; // 0x0144 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bIgnorePawnsOnRecover : 1; // 0x0144 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bDebugSpecialMove : 1; // 0x0144 (0x0004) [0x0000000000000000] // [0x00000008] float GetUpBlendStartTime; // 0x0148 (0x0004) [0x0000000000000000] float GetUpBlendTime; // 0x014C (0x0004) [0x0000000000000000] struct FName UpDownBoneName; // 0x0150 (0x0008) [0x0000000000000000] unsigned char UpDownAxis; // 0x0158 (0x0001) [0x0000000000000000] unsigned char OrientationAxis; // 0x0159 (0x0001) [0x0000000000000000] struct FName OrientationBoneName; // 0x015C (0x0008) [0x0000000000000000] int GetUpFromBackYawOffset; // 0x0164 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3559]; return pClassPointer; }; void SpecialMoveEnded(); void eventFinishedBlendToGetUp(); void GetRecoveryAnim(); void PlayRecoveryAnim(); void MoveOffGeometry(); void TraceNoPawns(); void SpecialMoveStarted(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_RecoverFromRagdoll::pClassPointer = NULL; // Class KFGame.KFAutoPurchaseHelper // 0x0154 (0x01B4 - 0x0060) class UKFAutoPurchaseHelper : public UObject { public: class AKFPlayerReplicationInfo* MyKFPRI; // 0x0060 (0x0008) [0x0000000000000000] class AKFInventoryManager* MyKFIM; // 0x0068 (0x0008) [0x0000000000000000] class UKFGFxObject_TraderItems* TraderItems; // 0x0070 (0x0008) [0x0000000000000000] TArray OwnedItemList; // 0x0078 (0x0010) [0x0000000000000000] struct FSItemInformation GrenadeItem; // 0x0088 (0x0088) [0x0000000000000000] struct FSItemInformation ArmorItem; // 0x0110 (0x0088) [0x0000000000000000] int TotalDosh; // 0x0198 (0x0004) [0x0000000000000000] DWORD bPendingDoshUpdate : 1; // 0x019C (0x0004) [0x0000000000000000] // [0x00000001] int TotalBlocks; // 0x01A0 (0x0004) [0x0000000000000000] unsigned char MaxBlocks; // 0x01A4 (0x0001) [0x0000000000000000] int PrevArmor; // 0x01A8 (0x0004) [0x0000000000000000] int CostPerAutofillCycle; // 0x01AC (0x0004) [0x0000000000000000] int DoshBuffer; // 0x01B0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3561]; return pClassPointer; }; void AddTransactionAmmo(); void GetTraderItems(); void AddBlocks(); void AddItemByPriority(); void MergeSingleIntoDual(); void RemoveWeaponFromOwnedItemList(); void AddWeaponToOwnedItemList(); void SetWeaponInfo(); void SetWeaponInformation(); void BoughtAmmo(); void UpdateCurrentDosh(); void NotifyDoshChanged(); void AddDosh(); void IsInOwnedItemList(); void GetAdjustedBuyPriceFor(); void IsSellable(); void InitializeOwnedItemList(); void GetAutoFillCost(); void StartAutoFill(); void AutoFillOwnedItems(); void ClearAutoFillDosh(); void RePoolAutoFillDosh(); void AttemptAutoFillOnItem(); void GetFillAmmoCost(); void FillAmmo(); void BuyItemMagazine(); void BuyMagazine(); void BuySecondaryAmmoMag(); void BuyGrenade(); void GetFillGrenadeCost(); void AttemptBuyArmorChunk(); void FillArmor(); void GetFillArmorCost(); void SellWeapon(); void PurchaseWeapon(); void CanCarry(); void GetCanAfford(); void bCanPurchase(); void GetPotentialDosh(); void DoIOwnThisWeapon(); void SellOffPerkWeapons(); void SellOnPerkWeapons(); void GetHighValuedWeapon(); void GetHighValuedOnPerkWeapon(); void GetLastAffordableItemIndex(); void AttemptUpgrade(); void GetTopTierWeapon(); void AttemptToPurchaseNextLowerTier(); void DoAutoPurchase(); void Initialize(); }; UClass* UKFAutoPurchaseHelper::pClassPointer = NULL; // Class KFGame.KFDataStore_OnlineGameSearch // 0x0000 (0x00D0 - 0x00D0) class UKFDataStore_OnlineGameSearch : public UUIDataStore_OnlineGameSearch { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3563]; return pClassPointer; }; void GetCurrentKFGameSearch(); void GetActiveKFGameSearch(); void CancelFindServerPlayerList(); void FindServerPlayerList(); void OnSearchComplete(); }; UClass* UKFDataStore_OnlineGameSearch::pClassPointer = NULL; // Class KFGame.KFGameViewportClient // 0x00C4 (0x0264 - 0x01A0) class UKFGameViewportClient : public UGameViewportClient { public: TArray TripWireOfficialMaps; // 0x01A0 (0x0010) [0x0000000000000000] TArray CommunityOfficialMaps; // 0x01B0 (0x0010) [0x0000000000000000] struct FLinearColor BackgroundColor; // 0x01C0 (0x0010) [0x0000000000000000] struct FString ErrorTitle; // 0x01D0 (0x0010) [0x0000000000000000] struct FString ErrorMessage; // 0x01E0 (0x0010) [0x0000000000000000] struct FString LastConnectionAttemptAddress; // 0x01F0 (0x0010) [0x0000000000000000] TArray RandomLoadingStrings; // 0x0200 (0x0010) [0x0000000000000000] struct FString OfficialCommunityString; // 0x0210 (0x0010) [0x0000000000000000] struct FString TripWireOfficialString; // 0x0220 (0x0010) [0x0000000000000000] struct FString CommunityCustomString; // 0x0230 (0x0010) [0x0000000000000000] class UFont* MessageFont; // 0x0240 (0x0008) [0x0000000000000000] float FontScale; // 0x0248 (0x0004) [0x0000000000000000] DWORD bSeenIIS : 1; // 0x024C (0x0004) [0x0000000000000000] [0x00000001] DWORD bNeedDisconnectMessage : 1; // 0x024C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bNeedSignoutMessage : 1; // 0x024C (0x0004) [0x0000000000000000] // [0x00000004] DWORD bHandlePlayTogether : 1; // 0x024C (0x0004) [0x0000000000000000] // [0x00000008] DWORD bDownloadingContent : 1; // 0x024C (0x0004) [0x0000000000000000] // [0x00000010] struct FString CurrentDownloadName; // 0x0250 (0x0010) [0x0000000000000000] int CurrentDownloadProgress; // 0x0260 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3565]; return pClassPointer; }; void GetAssociationIdentifier(); void DrawMapInfo(); void DrawCancelString(); void DrawDownloadingString(); void DrawTransitionMessage(); void HandleInputKey(); void GetRandomLoadingMessage(); void DrawTransition(); void GetErrorMessage(); void eventPreBrowse(); void eventClearDownloadInfo(); void eventNotifyDownloadProgress(); void NotifyConnectionError(); }; UClass* UKFGameViewportClient::pClassPointer = NULL; // Class KFGame.KFGFxObject_Container // 0x0008 (0x00A8 - 0x00A0) class UKFGFxObject_Container : public UGFxObject { public: class UKFGFxObject_Menu* ParentMenu; // 0x00A0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3567]; return pClassPointer; }; void SetChatWindowMessage(); void SetComponentInactive(); void SetMainComponent(); void ConsoleLocalize(); void OneSecondLoop(); void Initialize(); }; UClass* UKFGFxObject_Container::pClassPointer = NULL; // Class KFGame.KFGFxServerBrowser_Filters // 0x0144 (0x01EC - 0x00A8) class UKFGFxServerBrowser_Filters : public UKFGFxObject_Container { public: class UKFGFxMenu_ServerBrowser* ServerMenu; // 0x00A8 (0x0008) [0x0000000000000000] struct FString NoPasswordString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString NoMutatorsString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString NotFullString; // 0x00D0 (0x0010) [0x0000000000000000] struct FString NotEmptyString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString NoRankedStandardString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString NoRankedCustomString; // 0x0100 (0x0010) [0x0000000000000000] struct FString NoUnrankedString; // 0x0110 (0x0010) [0x0000000000000000] struct FString DedicatedString; // 0x0120 (0x0010) [0x0000000000000000] struct FString VACSecureString; // 0x0130 (0x0010) [0x0000000000000000] struct FString InLobbyString; // 0x0140 (0x0010) [0x0000000000000000] struct FString InProgressString; // 0x0150 (0x0010) [0x0000000000000000] struct FString OnlyStockMapsString; // 0x0160 (0x0010) [0x0000000000000000] struct FString OnlyCustomMapsString; // 0x0170 (0x0010) [0x0000000000000000] struct FString LimitServerResultsString; // 0x0180 (0x0010) [0x0000000000000000] TArray FilterStrings; // 0x0190 (0x0010) [0x0000000000000000] DWORD bNoPassword : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bNoMutators : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000002] DWORD bNotFull : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000004] DWORD bNotEmpty : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000008] DWORD bUsesStats : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000010] DWORD bCustom : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000020] DWORD bDedicated : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000040] DWORD bVAC_Secure : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000080] DWORD bInLobby : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000100] DWORD bInProgress : 1; // 0x01A0 (0x0004) [0x0000000000000000] [0x00000200] DWORD bOnlyStockMaps : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00000400] DWORD bOnlyCustomMaps : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bLimitServerResults : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00001000] DWORD bNoPasswordPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00002000] DWORD bNoMutatorsPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00004000] DWORD bNotFullPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00008000] DWORD bNotEmptyPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00010000] DWORD bUsesStatsPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00020000] DWORD bCustomPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00040000] DWORD bDedicatedPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00080000] DWORD bVAC_SecurePending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00100000] DWORD bInLobbyPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00200000] DWORD bInProgressPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00400000] DWORD bOnlyStockMapsPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x00800000] DWORD bOnlyCustomMapsPending : 1; // 0x01A0 (0x0004) [0x0000000000000000] // [0x01000000] DWORD bLimitServerResultsPending : 1; // 0x01A0 (0x0004) // [0x0000000000000000] [0x02000000] unsigned char SavedGameModeIndex; // 0x01A4 (0x0001) [0x0000000000000000] unsigned char SavedMapIndex; // 0x01A5 (0x0001) [0x0000000000000000] unsigned char SavedDifficultyIndex; // 0x01A6 (0x0001) [0x0000000000000000] unsigned char SavedLengthIndex; // 0x01A7 (0x0001) [0x0000000000000000] unsigned char SavedPingIndex; // 0x01A8 (0x0001) [0x0000000000000000] unsigned char SavedGameModeIndexPending; // 0x01A9 (0x0001) [0x0000000000000000] unsigned char SavedMapIndexPending; // 0x01AA (0x0001) [0x0000000000000000] unsigned char SavedDifficultyIndexPending; // 0x01AB (0x0001) [0x0000000000000000] unsigned char SavedLengthIndexPending; // 0x01AC (0x0001) [0x0000000000000000] unsigned char SavedPingIndexPending; // 0x01AD (0x0001) [0x0000000000000000] struct FString CachedMapName; // 0x01B0 (0x0010) [0x0000000000000000] struct FString CachedModeName; // 0x01C0 (0x0010) [0x0000000000000000] int CachedDifficulty; // 0x01D0 (0x0004) [0x0000000000000000] int CachedLength; // 0x01D4 (0x0004) [0x0000000000000000] TArray MapList; // 0x01D8 (0x0010) [0x0000000000000000] int NumDifficultyStrings; // 0x01E8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3569]; return pClassPointer; }; void GetBoolByEFilter_Key(); void SetBoolByEFilter_Key(); void ResetFilters(); void ClearPendingValues(); void ApplyFilters(); void PingChanged(); void LengthChanged(); void DifficultyChanged(); void MapChanged(); void ModeChanged(); void CreateList(); void SetModeMenus(); void LocalizeCheckBoxes(); void LocalizeText(); void InitFiltersArray(); void GetSelectedGameLength(); void GetSelectedDifficulty(); void GetSelectedMap(); void AdjustSavedFiltersToMode(); void GetUsableGameMode(); void Initialize(); }; UClass* UKFGFxServerBrowser_Filters::pClassPointer = NULL; // Class KFGame.KFGFxServerBrowser_ServerList // 0x00A2 (0x014A - 0x00A8) class UKFGFxServerBrowser_ServerList : public UKFGFxObject_Container { public: class UKFDataStore_OnlineGameSearch* SearchDataStore; // 0x00A8 (0x0008) [0x0000000000000000] struct FString ServerPassword; // 0x00B0 (0x0010) [0x0000000000000000] DWORD bJoinAsSpectator : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bQueryDialogShowing : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bIssuedInitialQuery : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000004] struct FName SearchDSName; // 0x00C4 (0x0008) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x00CC (0x0008) [0x0000000000000000] class UOnlineGameInterface* GameInterface; // 0x00D4 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x8]; // 0x00DC (0x0008) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY TArray GFxServerObjects; // 0x00E4 (0x0010) [0x0000000000000000] class UGFxObject* DataProvider; // 0x00F4 (0x0008) [0x0000000000000000] int FakePlayerIndex; // 0x00FC (0x0004) [0x0000000000000000] int SelectedServerIndex; // 0x0100 (0x0004) [0x0000000000000000] struct FString LeaveServerBrowserString; // 0x0104 (0x0010) [0x0000000000000000] struct FString DetailsString; // 0x0114 (0x0010) [0x0000000000000000] struct FString SpectateString; // 0x0124 (0x0010) [0x0000000000000000] class UKFGFxMenu_ServerBrowser* ServerMenu; // 0x0134 (0x0008) [0x0000000000000000] int FilteredCount; // 0x013C (0x0004) [0x0000000000000000] int MaxSearchResults; // 0x0140 (0x0004) [0x0000000000000000] int lastServerCount; // 0x0144 (0x0004) [0x0000000000000000] unsigned char QueryCompletionAction; // 0x0148 (0x0001) [0x0000000000000000] unsigned char ECurrentSearchTab; // 0x0149 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3571]; return pClassPointer; }; void SetSelectedServerFavorited(); void IsSelectedServerFavorited(); void UpdateListDataProvider(); void OnServerSelected(); void SetRefreshingIndicator(); void GetServerDetails(); void ClearSearchResults(); void OnRefreshServerDetails(); void BuildJoinFiltersRequestURL(); void BuildJoinURL(); void JoinGameURL(); void ServerConnect(); void OnHandshakeComplete(); void OnQueryAdditionalServerInfoComplete(); void OnJoinGameComplete(); void ProcessJoin(); void JoinServer(); void DelayedRefresh(); void OnCancelSearchComplete(); void CancelQuery(); void OnFindOnlineGamesComplete(); void OnGetPlayerListComplete(); void OnClose(); void OnFindOnlineGamesCompleteDelegate(); void FilterEntry(); void SubmitServerListQuery(); void BuildServerFilters(); void RefreshServerList(); void ClearGFXServerList(); void OnRefeshClick(); void LocalizeText(); void ChangeSearchType(); void ValidateServerType(); void SortServerResultsRequest(); void OnViewActivated(); void Initialize(); }; UClass* UKFGFxServerBrowser_ServerList::pClassPointer = NULL; // Class KFGame.KFGFxStartGameContainer_Options // 0x01B4 (0x025C - 0x00A8) class UKFGFxStartGameContainer_Options : public UKFGFxObject_Container { public: int ModeFilter; // 0x00A8 (0x0004) [0x0000000000000000] int DifficultyFilter; // 0x00AC (0x0004) [0x0000000000000000] int LengthFilter; // 0x00B0 (0x0004) [0x0000000000000000] int ServerTypeFilter; // 0x00B4 (0x0004) [0x0000000000000000] int InProgressFilter; // 0x00B8 (0x0004) [0x0000000000000000] int PermissionsFilter; // 0x00BC (0x0004) [0x0000000000000000] DWORD bModeFilterSet : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bLengthFilterSet : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bServerTypeFilterSet : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bInProgressFilterSet : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bPermissionsFilterSet : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bShowLengthNoPref : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bShowServerTypeNoPref : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bIsSoloGame : 1; // 0x00C0 (0x0004) [0x0000000000000000] [0x00000080] int InitialMapIndex; // 0x00C4 (0x0004) [0x0000000000000000] unsigned char SavedSoloModeIndex; // 0x00C8 (0x0001) [0x0000000000000000] unsigned char SavedSoloDifficultyIndex; // 0x00C9 (0x0001) [0x0000000000000000] unsigned char SavedSoloLengthIndex; // 0x00CA (0x0001) [0x0000000000000000] unsigned char SavedModeIndex; // 0x00CB (0x0001) [0x0000000000000000] unsigned char SavedDifficultyIndex; // 0x00CC (0x0001) [0x0000000000000000] unsigned char SavedLengthIndex; // 0x00CD (0x0001) [0x0000000000000000] unsigned char SavedPrivacyIndex; // 0x00CE (0x0001) [0x0000000000000000] unsigned char SavedServerTypeIndex; // 0x00CF (0x0001) [0x0000000000000000] unsigned char SavedInProgressIndex; // 0x00D0 (0x0001) [0x0000000000000000] unsigned char RegionIndex; // 0x00D1 (0x0001) [0x0000000000000000] struct FString SavedSoloMapString; // 0x00D4 (0x0010) [0x0000000000000000] struct FString SavedMapString; // 0x00E4 (0x0010) [0x0000000000000000] class UKFGFxMenu_StartGame* StartMenu; // 0x00F4 (0x0008) [0x0000000000000000] struct FString BackString; // 0x00FC (0x0010) [0x0000000000000000] struct FString StartGameString; // 0x010C (0x0010) [0x0000000000000000] struct FString LaunchGameString; // 0x011C (0x0010) [0x0000000000000000] struct FString ServerTypeString; // 0x012C (0x0010) [0x0000000000000000] struct FString InProgressString; // 0x013C (0x0010) [0x0000000000000000] struct FString SoloGameString; // 0x014C (0x0010) [0x0000000000000000] struct FString LeaveMatchMakingString; // 0x015C (0x0010) [0x0000000000000000] struct FString MultiplayerLaunchString; // 0x016C (0x0010) [0x0000000000000000] struct FString SearchingString; // 0x017C (0x0010) [0x0000000000000000] struct FString CancelSearchingString; // 0x018C (0x0010) [0x0000000000000000] struct FString StandardServerString; // 0x019C (0x0010) [0x0000000000000000] struct FString UnrankedServerString; // 0x01AC (0x0010) [0x0000000000000000] struct FString CustomServerString; // 0x01BC (0x0010) [0x0000000000000000] struct FString AllowInProgressString; // 0x01CC (0x0010) [0x0000000000000000] struct FString NotStartedString; // 0x01DC (0x0010) [0x0000000000000000] TArray ServerTypeStrings; // 0x01EC (0x0010) [0x0000000000000000] TArray InProgessOptionStrings; // 0x01FC (0x0010) [0x0000000000000000] TArray GameTypes; // 0x020C (0x0010) [0x0000000000000000] struct FString PreviousMapName; // 0x021C (0x0010) [0x0000000000000000] class UGFxObject* ServerTypeButton; // 0x022C (0x0008) [0x0000000000000000] class UGFxObject* InProgressButton; // 0x0234 (0x0008) [0x0000000000000000] class UGFxObject* PrivacyButton; // 0x023C (0x0008) [0x0000000000000000] class UGFxObject* LengthButton; // 0x0244 (0x0008) [0x0000000000000000] class UGFxObject* DifficultyButton; // 0x024C (0x0008) [0x0000000000000000] class UGFxObject* MapButton; // 0x0254 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3573]; return pClassPointer; }; void DoesFilterMatchGameSettings(); void GetServerTypeIndex(); void eventGetPartyPrivacy(); void GetMapName(); void GetPrivacyIndex(); void GetDifficulty(); void GetLengthIndex(); void GetDifficultyIndex(); void GetModeIndex(); void HandleNoPref(); void GetAllowInProgress(); void GetMakeNewServer(); void eventGetGameLength(); void UpdateFilters(); void InProgressChanged(); void ServerTypeChanged(); void CheckAndUpdateBasedOnPrivacy(); void PrivacyChanged(); void MapChanged(); void DifficultyChanged(); void LengthChanged(); void ModeChanged(); void SetSearching(); void SetOptions(); void CreateList(); void LocalizeArrays(); void InitializeGameOptions(); void SetModeMenus(); void SetHelpText(); void UpdateButtonsEnabled(); void ClampSavedFiltersToMode(); void GetButtons(); void Initialize(); }; UClass* UKFGFxStartGameContainer_Options::pClassPointer = NULL; // Class KFGame.KFGFxObject_Menu // 0x0040 (0x00E0 - 0x00A0) class UKFGFxObject_Menu : public UGFxObject { public: class UKFGFxMoviePlayer_Manager* Manager; // 0x00A0 (0x0008) [0x0000000000000000] class UTWOnlineLobby* OnlineLobby; // 0x00A8 (0x0008) [0x0000000000000000] struct FString LeavePartyTitleString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString LeavePartyDescriptionString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString LeaveString; // 0x00D0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3575]; return pClassPointer; }; void Callback_MouseMoved(); void SetControlScheme(); void eventFilterButtonInput(); void Callback_ChatFocusOut(); void Callback_ChatFocusIn(); void Callback_BroadcastChatMessage(); void PlayCloseAnimation(); void PlayOpenAnimation(); void Callback_InviteFriend(); void Callback_OpenPlayerList(); void Callback_LeaveParty(); void Callback_CreateParty(); void Callback_ProfileOption(); void Callback_PerkChanged(); void Callback_PlayerClicked(); void Callback_ReadyClicked(); void Callback_RequestTeamSwitch(); void Callback_MenuBarTabChanged(); void Callback_MenusFinishedClosing(); void Callback_Quit(); void Callback_ControllerCloseMenu(); void ConsoleLocalize(); void CancelLeaveParty(); void ConfirmLeaveParty(); void ShowLeavePartyPopUp(); void OnLobbyStatusChanged(); void eventOnClose(); void OnRoundOver(); void eventOnTraderTimeStart(); void eventOnAxisModified(); void OneSecondLoop(); void OnInputTypeChanged(); void OnR3Pressed(); void InitOnlineLobby(); void OnOpen(); void InitializeMenu(); }; UClass* UKFGFxObject_Menu::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Gear // 0x01A4 (0x0284 - 0x00E0) class UKFGFxMenu_Gear : public UKFGFxObject_Menu { public: class UKFGFxObject_Container* CustomizationComponent; // 0x00E0 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* MyKFPRI; // 0x00E8 (0x0008) [0x0000000000000000] class UKFGFxGearContainer_PerksSelection* PerkSelectionContainer; // 0x00F0 (0x0008) [0x0000000000000000] struct FString HeadMeshKey; // 0x00F8 (0x0010) [0x0000000000000000] struct FString HeadSkinKey; // 0x0108 (0x0010) [0x0000000000000000] struct FString HeadFunctionKey; // 0x0118 (0x0010) [0x0000000000000000] struct FString BodyMeshKey; // 0x0128 (0x0010) [0x0000000000000000] struct FString BodySkinKey; // 0x0138 (0x0010) [0x0000000000000000] struct FString BodyFunctionKey; // 0x0148 (0x0010) [0x0000000000000000] struct FString AttachmentKey; // 0x0158 (0x0010) [0x0000000000000000] struct FString AttachmentSkinKey; // 0x0168 (0x0010) [0x0000000000000000] struct FString AttachmentFunctionKey; // 0x0178 (0x0010) [0x0000000000000000] struct FString KFCharacterInfoString; // 0x0188 (0x0010) [0x0000000000000000] struct FString KFEmoteInfoString; // 0x0198 (0x0010) [0x0000000000000000] class UKFCharacterInfo_Human* CurrentCharInfo; // 0x01A8 (0x0008) [0x0000000000000000] struct FString CharInfoPath; // 0x01B0 (0x0010) [0x0000000000000000] struct FString GearHeaderString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString CharacterString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString BioString; // 0x01E0 (0x0010) [0x0000000000000000] struct FString HeadString; // 0x01F0 (0x0010) [0x0000000000000000] struct FString BodyString; // 0x0200 (0x0010) [0x0000000000000000] struct FString AttachmentsString; // 0x0210 (0x0010) [0x0000000000000000] struct FString SkinsString; // 0x0220 (0x0010) [0x0000000000000000] struct FString BackString; // 0x0230 (0x0010) [0x0000000000000000] struct FString NoneString; // 0x0240 (0x0010) [0x0000000000000000] class UKFGFxObject_TraderItems* TraderItems; // 0x0250 (0x0008) [0x0000000000000000] int ControllerRotationRate; // 0x0258 (0x0004) [0x0000000000000000] float ControllerRotationThreshold; // 0x025C (0x0004) [0x0000000000000000] int CurrentPerkIndex; // 0x0260 (0x0004) [0x0000000000000000] struct FString ClearImagePath; // 0x0264 (0x0010) [0x0000000000000000] TArray EmoteList; // 0x0274 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3577]; return pClassPointer; }; void SelectCustomizationOption(); void SelectCharacter(); void RelayFromCheatManager(); void Callback_Attachment(); void Callback_Body(); void Callback_Head(); void Callback_Character(); void Callback_Emote(); void Callback_HeadCamera(); void Callback_BodyCamera(); void Callback_EndRotateCamera(); void Callback_RotateCamera(); void eventOnAxisModified(); void eventOnClose(); void SetAttachmentButtons(); void SetGearButtons(); void SetEmoteButton(); void SetCurrentCharacterButtons(); void UpdateOutfitVariants(); void UpdateCosmeticVariants(); void UpdateAttachmentsList(); void UpdateMeshList(); void ReInitMenu(); void UpdateGear(); void UpdateCharacterList(); void UpdateEmoteList(); void LocalizeText(); void SaveChanges(); void CheckForCustomizationPawn(); void OnOpen(); void eventWidgetInitialized(); void InitializeMenu(); }; UClass* UKFGFxMenu_Gear::pClassPointer = NULL; // Class KFGame.KFGFxMenu_IIS // 0x0034 (0x0114 - 0x00E0) class UKFGFxMenu_IIS : public UKFGFxObject_Menu { public: struct FScriptDelegate AutoLoginCompleteDelegate; // 0x00E0 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x00E4 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY DWORD bLoggingIn : 1; // 0x00F0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bForceConnectionAtLogin : 1; // 0x00F0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bStatsRead : 1; // 0x00F0 (0x0004) [0x0000000000000000] [0x00000004] class UOnlineSubsystem* OnlineSub; // 0x00F4 (0x0008) [0x0000000000000000] class UPlayfabInterface* PlayfabInter; // 0x00FC (0x0008) [0x0000000000000000] struct FScriptDelegate __OnAutoLoginComplete__Delegate; // 0x0104 (0x0010) // [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x0108 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3579]; return pClassPointer; }; void NotifyLoginFailed(); void DelayedOpenGammaPopup(); void OnPS4StatsRead(); void ProceedToMainMenu(); void OnLoginToGameComplete(); void OnStatsRead(); void OnReadProfileSettingsComplete(); void LoginToGame(); void OnLoginStatusChanged(); void OnConfirmPlayOffline(); void OnLoginCancelled(); void ShowLoginUI(); void ValidateActiveAccount(); void eventFilterButtonInput(); void UnRegisterDelegates(); void eventOnClose(); void OnOpen(); void eventAttemptAutoLogin(); void OnAutoLoginComplete(); }; UClass* UKFGFxMenu_IIS::pClassPointer = NULL; // Class KFGame.KFGFxMenu_StartGame // 0x02B0 (0x0390 - 0x00E0) class UKFGFxMenu_StartGame : public UKFGFxObject_Menu { public: DWORD bIsLeader : 1; // 0x00E0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bIsInParty : 1; // 0x00E0 (0x0004) [0x0000000000000000] [0x00000002] DWORD bSearchingForGame : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bLeaderInServerBrowser : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bLeaderWasInServerBrowser : 1; // 0x00E0 (0x0004) // [0x0000000000000000] [0x00000010] DWORD AttemptingJoin : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000020] DWORD bAttemptingServerCreate : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bHarrassedPlayerAboutSharedContent : 1; // 0x00E0 (0x0004) // [0x0000000000000000] // [0x00000080] DWORD AttemptServerTakeovers : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bPauseTryingServers : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000200] DWORD bLogSearchInfo : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000400] DWORD SearchFinished : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000800] DWORD bIsPlayGoRun : 1; // 0x00E0 (0x0004) [0x0000000000000000] [0x00001000] int CurrentSearchIndex; // 0x00E4 (0x0004) [0x0000000000000000] struct FString ModeKey; // 0x00E8 (0x0010) [0x0000000000000000] struct FString DifficultyKey; // 0x00F8 (0x0010) [0x0000000000000000] struct FString MapKey; // 0x0108 (0x0010) [0x0000000000000000] struct FString WhitelistedKey; // 0x0118 (0x0010) [0x0000000000000000] struct FString InProgressKey; // 0x0128 (0x0010) [0x0000000000000000] struct FString PermissionsKey; // 0x0138 (0x0010) [0x0000000000000000] struct FString ServerTypeKey; // 0x0148 (0x0010) [0x0000000000000000] struct FString GameLengthKey; // 0x0158 (0x0010) [0x0000000000000000] class UKFGFxStartGameContainer_FindGame* FindGameContainer; // 0x0168 (0x0008) [0x0000000000000000] class UKFGFxStartGameContainer_Options* OptionsComponent; // 0x0170 (0x0008) [0x0000000000000000] class UKFGFxStartContainer_InGameOverview* OverviewContainer; // 0x0178 (0x0008) [0x0000000000000000] class UKFGFxStartContainer_ServerBrowserOverview* ServerBrowserOverviewContainer; // 0x0180 (0x0008) [0x0000000000000000] class UKFGFxMissionObjectivesContainer* MissionObjectiveContainer; // 0x0188 (0x0008) [0x0000000000000000] class UGFxObject* MatchMakingButton; // 0x0190 (0x0008) [0x0000000000000000] class UGFxObject* ServerBrowserButton; // 0x0198 (0x0008) [0x0000000000000000] struct FString FindGameString; // 0x01A0 (0x0010) [0x0000000000000000] struct FString HostOptionsString; // 0x01B0 (0x0010) [0x0000000000000000] struct FString OverviewString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString MatchmakingString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString ServerBrowserString; // 0x01E0 (0x0010) [0x0000000000000000] struct FString GameModeTitle; // 0x01F0 (0x0010) [0x0000000000000000] struct FString DifficultyTitle; // 0x0200 (0x0010) [0x0000000000000000] struct FString LengthTitle; // 0x0210 (0x0010) [0x0000000000000000] struct FString MapTitle; // 0x0220 (0x0010) [0x0000000000000000] struct FString MutatorTitle; // 0x0230 (0x0010) [0x0000000000000000] struct FString PermissionsTitle; // 0x0240 (0x0010) [0x0000000000000000] struct FString ServerTypeString; // 0x0250 (0x0010) [0x0000000000000000] struct FString WhiteListedTitle; // 0x0260 (0x0010) [0x0000000000000000] struct FString InfoTitle; // 0x0270 (0x0010) [0x0000000000000000] struct FString InProgressString; // 0x0280 (0x0010) [0x0000000000000000] struct FString LeaveMenuString; // 0x0290 (0x0010) [0x0000000000000000] struct FString CouldNotFindGameTitleString; // 0x02A0 (0x0010) [0x0000000000000000] struct FString CouldNotFindGameDescriptionStringPC; // 0x02B0 (0x0010) // [0x0000000000000000] struct FString CouldNotFindGameDescriptionStringOrbis; // 0x02C0 (0x0010) // [0x0000000000000000] TArray WhiteListedStrings; // 0x02D0 (0x0010) [0x0000000000000000] struct FName SearchDSName; // 0x02E0 (0x0008) [0x0000000000000000] class UKFDataStore_OnlineGameSearch* SearchDataStore; // 0x02E8 (0x0008) [0x0000000000000000] class UOnlineGameInterface* GameInterface; // 0x02F0 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x8]; // 0x02F8 (0x0008) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY TArray MapStringList; // 0x0300 (0x0010) [0x0000000000000000] struct FString MapTakeoverURL; // 0x0310 (0x0010) [0x0000000000000000] struct FString PendingResolvedAddress; // 0x0320 (0x0010) [0x0000000000000000] struct FString CurrentPartyLeaderName; // 0x0330 (0x0010) [0x0000000000000000] float InitialSearchPause; // 0x0340 (0x0004) [0x0000000000000000] int MaxResultsToTry; // 0x0344 (0x0004) [0x0000000000000000] int ServerConnectTimeout; // 0x0348 (0x0004) [0x0000000000000000] int ServerTakeoverTimeout; // 0x034C (0x0004) [0x0000000000000000] TArray StockMaps; // 0x0350 (0x0010) [0x0000000000000000] struct FString LobbyOwnerPassword; // 0x0360 (0x0010) [0x0000000000000000] struct FString TestLobbyOwnerPassword; // 0x0370 (0x0010) [0x0000000000000000] struct FString CurrentConnectMap; // 0x0380 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3581]; return pClassPointer; }; void ShowOverview(); void OnCancelSearchComplete(); void eventCancelGameSearch(); void UnpauseTryingServers(); void OnBuyGamePressed(); void Callback_StartOnlineGame(); void GenerateRandomPassword(); void OnSetTakoverServerPassword(); void ShowServerTakeoverPasswordPrompt(); void eventStartOnlineGame(); void Callback_StartOfflineGame(); void Callback_StartGame(); void ShouldUseLengthFilter(); void ShouldUseDifficultyFilter(); void BuildServerFilters(); void AddLobbyFilter(); void eventOnClose(); void OnHandshakeComplete(); void OnOpen(); void ServerConnectGiveUp(); void eventAddJoinGameCompleteDelegate(); void eventSetServerConnectGiveUpTimer(); void ConnectToPlayfabServer(); void OnJoinGameComplete(); void SecureTakeover(); void BuildTakeoverURL(); void BuildJoinFiltersRequestURL(); void RandomizeSearchResults(); void SortServers(); void SortLastEntry(); void MapGood(); void SpaceAvailable(); void OnFindGameServerComplete(); void eventGetLobbySize(); void eventOpenNotFoundPopup(); void HandleSearchOver(); void TryNextServer(); void GetSearchComplete(); void MakeMapURL(); void SetLobbyData(); void Callback_InProgress(); void Callback_ServerType(); void Callback_MapSelection(); void Callback_Privacy(); void Callback_Difficulty(); void Callback_Length(); void Callback_Mode(); void Callback_StartMenuChange(); void Callback_StartMenuRequestReinit(); void OnCanPlayOnlineCheckComplete(); void Callback_OpenServerBrowser(); void ProceedToMatchMaking(); void Callback_OpenMatchMaking(); void Callback_InGamePermissionChange(); void Callback_OptionListOpened(); void Callback_RequestLeaveMatchmaking(); void Callback_CancelSearch(); void Callback_OnWebLinkClicked(); void Callback_StartTutorial(); void Callback_OnWhatsNewClicked(); void UpdateStartMenuState(); void OpenMultiplayerMenu(); void CancelLeaveMenu(); void GoToServerBrowser(); void ApproveMatchMakingLeave(); void ReceiveLeaderOptions(); void SendLeaderOptions(); void UpdateMenu(); void SendToOverviewOnChange(); void HandleSteamLobbyLeaderTakeOver(); void GetMapSource(); void GetStartMenuState(); void OneSecondLoop(); void OnPlayerReadiedUp(); void SetOverview(); void ReloadSounds(); void CheckGameFullyInstalled(); void GetCouldNotFindGameDescription(); void eventWidgetInitialized(); void GetSpecialEventClass(); void SetSeasonalEventClass(); void InitializeMenu(); void GetMapList(); }; UClass* UKFGFxMenu_StartGame::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Store // 0x0048 (0x0128 - 0x00E0) class UKFGFxMenu_Store : public UKFGFxObject_Menu { public: struct FString ExitKF2; // 0x00E0 (0x0010) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x00F0 (0x0008) [0x0000000000000000] class UKFGFxStoreContainer_Main* MainContainer; // 0x00F8 (0x0008) [0x0000000000000000] class UKFGFxStoreContainer_Details* DetailsContainer; // 0x0100 (0x0008) [0x0000000000000000] class UKFGFxStoreContainer_Cart* CartContainer; // 0x0108 (0x0008) [0x0000000000000000] class UGFxObject* AddCartButton; // 0x0110 (0x0008) [0x0000000000000000] struct FString StoreString; // 0x0118 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3583]; return pClassPointer; }; void CheckForEmptyStore(); void CreateStoreItem(); void CallBack_ItemDetailsClicked(); void Callback_AddToCartClicked(); void Callback_StoreSectionChanged(); void eventWidgetInitialized(); void LocalizeText(); void RefreshItemList(); void OnReadPlayfabInventoryComplete(); void OnInventoryReadComplete(); void OnClose(); void OnOpen(); void InitializeMenu(); void HideSystemStoreIcon(); void ShowSystemStoreIcon(); }; UClass* UKFGFxMenu_Store::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Trader // 0x017C (0x025C - 0x00E0) class UKFGFxMenu_Trader : public UKFGFxObject_Menu { public: class AKFPlayerController* MyKFPC; // 0x00E0 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* MyKFPRI; // 0x00E8 (0x0008) [0x0000000000000000] class AKFInventoryManager* MyKFIM; // 0x00F0 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_GameInfo* GameInfoContainer; // 0x00F8 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_Filter* FilterContainer; // 0x0100 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_Store* ShopContainer; // 0x0108 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_PlayerInventory* PlayerInventoryContainer; // 0x0110 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_PlayerInfo* PlayerInfoContainer; // 0x0118 (0x0008) [0x0000000000000000] class UKFGFxTraderContainer_ItemDetails* ItemDetails; // 0x0120 (0x0008) [0x0000000000000000] DWORD bGenericItemSelected : 1; // 0x0128 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bCanBuyOrSellItem : 1; // 0x0128 (0x0004) [0x0000000000000000] // [0x00000002] struct FSTraderItem LastDefaultItemInfo; // 0x012C (0x0064) [0x0000000000000000] struct FSItemInformation LastItemInfo; // 0x0190 (0x0088) [0x0000000000000000] struct FString ExitMenuString; // 0x0218 (0x0010) [0x0000000000000000] int PrevArmor; // 0x0228 (0x0004) [0x0000000000000000] unsigned char CurrentTab; // 0x022C (0x0001) [0x0000000000000000] unsigned char SelectedList; // 0x022D (0x0001) [0x0000000000000000] unsigned char SelectedItemIndex; // 0x022E (0x0001) [0x0000000000000000] int CurrentFilterIndex; // 0x0230 (0x0004) [0x0000000000000000] TArray FavoritedItems; // 0x0234 (0x0010) [0x0000000000000000] class AKFPerk* LastPerkClass; // 0x0244 (0x0008) [0x0000000000000000] TArray OwnedItemList; // 0x024C (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3585]; return pClassPointer; }; void Callback_Close(); void Callback_PerkChanged(); void Callback_GrenadeItemSelected(); void Callback_ArmorItemSelected(); void Callback_PlayerItemSelected(); void Callback_ShopItemSelected(); void Callback_AutoFill(); void Callback_BuyMagazine(); void Callback_FillAmmo(); void Callback_FillArmor(); void Callback_FillGrenades(); void Callback_BuyGrenade(); void Callback_TabChanged(); void Callback_FilterChanged(); void Callback_FavoriteItem(); void Callback_BuyOrSellItem(); void GetDisplayedBlocksRequiredFor(); void ToggleFavorite(); void GetIsFavorite(); void RefreshShopItemList(); void RefreshItemComponents(); void OnPerkChanged(); void SetNewSelectedIndex(); void SetGenericItemDetails(); void SetPlayerItemDetails(); void SetTraderItemDetails(); void GiveExternalWeapon(); void UpdatePlayerInfo(); void OneSecondLoop(); void eventOnClose(); void GetPerkIndex(); void eventWidgetInitialized(); void OnOpen(); void LocalizeText(); void OnR3Pressed(); void InitializeMenu(); }; UClass* UKFGFxMenu_Trader::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_Graphics // 0x0930 (0x0A10 - 0x00E0) class UKFGFxOptionsMenu_Graphics : public UKFGFxObject_Menu { public: DWORD bIsRevertCoundownActive : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD UnsavedPendingRestart : 1; // 0x00E0 (0x0004) [0x0000000000000000] // [0x00000002] unsigned char TimeCount; // 0x00E4 (0x0001) [0x0000000000000000] unsigned char ExpireTime; // 0x00E5 (0x0001) [0x0000000000000000] struct FString FlexPopUpString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString KeepSettingsPromptString; // 0x00F8 (0x0010) [0x0000000000000000] struct FString WarningPromptString; // 0x0108 (0x0010) [0x0000000000000000] struct FString WillExpireString; // 0x0118 (0x0010) [0x0000000000000000] struct FString PerformanceDescString[0x2]; // 0x0128 (0x0020) [0x0000000000000000] struct FString RestartDescString; // 0x0148 (0x0010) [0x0000000000000000] struct FString SingleWarningString; // 0x0158 (0x0010) [0x0000000000000000] struct FString DoubleWarningString; // 0x0168 (0x0010) [0x0000000000000000] struct FString UnsavedChangesString; // 0x0178 (0x0010) [0x0000000000000000] struct FString ContinueString; // 0x0188 (0x0010) [0x0000000000000000] struct FString SaveChangesString; // 0x0198 (0x0010) [0x0000000000000000] struct FString AdjustGammaDescription; // 0x01A8 (0x0010) [0x0000000000000000] struct FString ResetGammaString; // 0x01B8 (0x0010) [0x0000000000000000] struct FString SetGammaString; // 0x01C8 (0x0010) [0x0000000000000000] struct FString GraphicsString; // 0x01D8 (0x0010) [0x0000000000000000] struct FString BasicString; // 0x01E8 (0x0010) [0x0000000000000000] struct FString AdvancedString; // 0x01F8 (0x0010) [0x0000000000000000] struct FString EffectsString; // 0x0208 (0x0010) [0x0000000000000000] struct FString AspectRatioString; // 0x0218 (0x0010) [0x0000000000000000] struct FString ResolutionString; // 0x0228 (0x0010) [0x0000000000000000] struct FString GraphicsQualityString; // 0x0238 (0x0010) [0x0000000000000000] struct FString VSyncString; // 0x0248 (0x0010) [0x0000000000000000] struct FString FullscreenString; // 0x0258 (0x0010) [0x0000000000000000] struct FString VariableFrameRateString; // 0x0268 (0x0010) [0x0000000000000000] struct FString AdjustGammaString; // 0x0278 (0x0010) [0x0000000000000000] struct FString FilmGrainString; // 0x0288 (0x0010) [0x0000000000000000] struct FString EnvironmentDetailsString; // 0x0298 (0x0010) [0x0000000000000000] struct FString CharacterDetailString; // 0x02A8 (0x0010) [0x0000000000000000] struct FString FXString; // 0x02B8 (0x0010) [0x0000000000000000] struct FString TextureResolutionString; // 0x02C8 (0x0010) [0x0000000000000000] struct FString TextureFilteringString; // 0x02D8 (0x0010) [0x0000000000000000] struct FString ShadowsString; // 0x02E8 (0x0010) [0x0000000000000000] struct FString RealtimeReflectionsString; // 0x02F8 (0x0010) [0x0000000000000000] struct FString AntiAliasingString; // 0x0308 (0x0010) [0x0000000000000000] struct FString BloomString; // 0x0318 (0x0010) [0x0000000000000000] struct FString MotionBlurString; // 0x0328 (0x0010) [0x0000000000000000] struct FString AmbientOcclusionString; // 0x0338 (0x0010) [0x0000000000000000] struct FString DepthOfFieldString; // 0x0348 (0x0010) [0x0000000000000000] struct FString VolumetricLightingString; // 0x0358 (0x0010) [0x0000000000000000] struct FString lensFlaresString; // 0x0368 (0x0010) [0x0000000000000000] struct FString LightShaftsString; // 0x0378 (0x0010) [0x0000000000000000] struct FString CustomString; // 0x0388 (0x0010) [0x0000000000000000] struct FString IniOverrideString; // 0x0398 (0x0010) [0x0000000000000000] struct FString OKString; // 0x03A8 (0x0010) [0x0000000000000000] struct FString ApplyString; // 0x03B8 (0x0010) [0x0000000000000000] struct FString CancelString; // 0x03C8 (0x0010) [0x0000000000000000] struct FString DefaultString; // 0x03D8 (0x0010) [0x0000000000000000] struct FString PhysicsLevelString; // 0x03E8 (0x0010) [0x0000000000000000] TArray PhysicsLevelOptionStrings; // 0x03F8 (0x0010) [0x0000000000000000] TArray PhysicsLevelSuggestionStrings; // 0x0408 (0x0010) [0x0000000000000000] struct FString AspectRatioString_All; // 0x0418 (0x0010) [0x0000000000000000] struct FString StandardAspectRatioString_4; // 0x0428 (0x0010) [0x0000000000000000] struct FString StandardAspectRatioString_5; // 0x0438 (0x0010) [0x0000000000000000] struct FString StandardAspectRatioString_3; // 0x0448 (0x0010) [0x0000000000000000] struct FString WideAspectRatioString_16; // 0x0458 (0x0010) [0x0000000000000000] struct FString WideAspectRatioString_1601; // 0x0468 (0x0010) [0x0000000000000000] struct FString ExtraWideAspectRatioString_2; // 0x0478 (0x0010) [0x0000000000000000] struct FString ExtraWideAspectRatioString_21; // 0x0488 (0x0010) [0x0000000000000000] struct FString MultiMonitorAspectRatioString; // 0x0498 (0x0010) [0x0000000000000000] TArray FullScreenStringOptions; // 0x04A8 (0x0010) [0x0000000000000000] TArray GraphicsQualityStringOptions; // 0x04B8 (0x0010) [0x0000000000000000] TArray VSyncStringOptions; // 0x04C8 (0x0010) [0x0000000000000000] TArray EnvironmentDetailsStringOptions; // 0x04D8 (0x0010) // [0x0000000000000000] TArray CharacterDetailStringOptions; // 0x04E8 (0x0010) [0x0000000000000000] TArray FXStringOptions; // 0x04F8 (0x0010) [0x0000000000000000] TArray TextureResolutionStringOptions; // 0x0508 (0x0010) [0x0000000000000000] TArray TextureFilteringStringOptions; // 0x0518 (0x0010) [0x0000000000000000] TArray ShadowsStringOptions; // 0x0528 (0x0010) [0x0000000000000000] TArray RealtimeReflectionsStringOptions; // 0x0538 (0x0010) // [0x0000000000000000] TArray AntiAliasingStringOptions; // 0x0548 (0x0010) [0x0000000000000000] TArray BloomStringOptions; // 0x0558 (0x0010) [0x0000000000000000] TArray MotionBlurStringOptions; // 0x0568 (0x0010) [0x0000000000000000] TArray AmbientOcclusionStringOptions; // 0x0578 (0x0010) [0x0000000000000000] TArray DepthOfFieldStringOptions; // 0x0588 (0x0010) [0x0000000000000000] TArray OffOnStringOptions; // 0x0598 (0x0010) [0x0000000000000000] TArray SupportedResolutionList; // 0x05A8 (0x0010) [0x0000000000000000] struct FString RevertPopupDescriptionString; // 0x05B8 (0x0010) [0x0000000000000000] TArray AvailableAspectRatioList; // 0x05C8 (0x0010) [0x0000000000000000] TArray GraphicsQualityPresets; // 0x05D8 (0x0010) [0x0000000000000000] TArray DisplayPresets; // 0x05E8 (0x0010) [0x0000000000000000] TArray VSyncPresets; // 0x05F8 (0x0010) [0x0000000000000000] TArray VariableFrameratePresets; // 0x0608 (0x0010) [0x0000000000000000] TArray FilmGrainMinMaxPreset; // 0x0618 (0x0010) [0x0000000000000000] TArray FlexPresets; // 0x0628 (0x0010) [0x0000000000000000] TArray EnvironmentDetailPresets; // 0x0638 (0x0010) [0x0000000000000000] TArray ShadowQualityPresets; // 0x0648 (0x0010) [0x0000000000000000] TArray FXQualityPresets; // 0x0658 (0x0010) [0x0000000000000000] TArray RealtimeReflectionsPresets; // 0x0668 (0x0010) [0x0000000000000000] TArray CharacterDetailPresets; // 0x0678 (0x0010) [0x0000000000000000] TArray LightShaftsPresets; // 0x0688 (0x0010) [0x0000000000000000] TArray VolumetricLightingPresets; // 0x0698 (0x0010) [0x0000000000000000] TArray LensFlarePresets; // 0x06A8 (0x0010) [0x0000000000000000] TArray TextureResolutionPresets; // 0x06B8 (0x0010) [0x0000000000000000] TArray TextureFilterPresets; // 0x06C8 (0x0010) [0x0000000000000000] TArray BloomPresets; // 0x06D8 (0x0010) [0x0000000000000000] TArray MotionBlurPresets; // 0x06E8 (0x0010) [0x0000000000000000] TArray AntiAliasingPresets; // 0x06F8 (0x0010) [0x0000000000000000] TArray AmbientOcclusionPresets; // 0x0708 (0x0010) [0x0000000000000000] TArray DOFPresets; // 0x0718 (0x0010) [0x0000000000000000] struct FGFXSettings CurrentGFXSettings; // 0x0728 (0x00F8) [0x0000000000000000] struct FGFXSettings RevertedGFXSettings; // 0x0820 (0x00F8) [0x0000000000000000] struct FGFXSettings UnsavedGFXSettings; // 0x0918 (0x00F8) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3587]; return pClassPointer; }; void Callback_OpenGamma(); void Callback_ResetDefaultVideo(); void Callback_CancelVideo(); void Callback_ApplyVideo(); void Callback_FleXOptionChange(); void Callback_CloseMenu(); void OnSaveCancel(); void OnSaveConfirm(); void OnSettingsRevert(); void OnRestartConfirm(); void OnSettingsConfirm(); void OnFlexSettingChanged(); void OnLightShaftsSettingChanged(); void OnLensFlareSettingChanged(); void OnVolumetricLightingSettingChanged(); void OnDOFSettingChanged(); void OnAmbientOcclusionSettingChanged(); void OnMotionBlurSettingChanged(); void OnBloomSettingChanged(); void OnAntiAliasingSettingChanged(); void OnReflectionSettingChanged(); void OnShadowQualitySettingChanged(); void OnTextureFilteringSettingChanged(); void OnTextureResolutionSettingChanged(); void OnFXQualitySettingChanged(); void OnCharacterDetailSettingChanged(); void OnEnvironmentDetailSettingChanged(); void OnFilmGrainSettingChanged(); void OnVariableFramerateSettingChanged(); void OnDisplaySettingChanged(); void OnVsyncSettingChanged(); void OnResolutionSettingChanged(); void OnAdvancedOptionChanged(); void OnAspectRatioSet(); void UpdateResolutionList(); void OnGraphicsQualitySet(); void ShowRevertPopUp(); void RevertSettings(); void ResetValues(); void Apply(); void OneSecondLoop(); void UpdateAdvancedSettingsUI(); void CheckForChangedSettings(); void InitializeResolution(); void GetModifiedGFXSettings(); void SetGFXSettings(); void GetCurrentGFXSettings(); void InitValues(); void eventSetGraphicsQuality(); void eventSetCompatibilityLevel(); void GetGraphicsQualityFromCompat(); void MakeDataProvider(); void LocalizeText(); void SetPhysicsLevelOptions(); void SetLightShaftOptions(); void SetLensFlareOptions(); void SetVolumetricLightingOptions(); void SetDepthOfFieldOptions(); void SetAmbientOcclusionOptions(); void SetMotionBlurOptions(); void SetBloomOptions(); void SetAntiAliasingOptions(); void SetRealtimeReflectionsOptions(); void SetShadowOptions(); void SetTextureFilteringOptions(); void SetTextureResolutionOptions(); void SetFXOptions(); void SetCharacterDetailOptions(); void SetEnvironmentDetailOptions(); void SetVSyncOptions(); void SetGraphicsQualityOptions(); void SetFullScreenOptions(); void SetAspectRatioOptions(); void SetFleXOptionEnabled(); void InitializeMenu(); void SetScriptFlexSettings(); void GetScriptFlexSettings(); void FindFlexSettingIndex(); void SetScriptDOFSettings(); void GetScriptDOFSettings(); void FindDOFSettingIndex(); void SetScriptAmbientOcclusionSettings(); void GetScriptAmbientOcclusionSettings(); void FindAmbientOcclusionSettingIndex(); void SetScriptAntiAliasingSettings(); void GetScriptAntiAliasingSettings(); void FindAntiAliasingSettingIndex(); void SetScriptMotionBlurSettings(); void GetScriptMotionBlurSettings(); void FindMotionBlurSettingIndex(); void SetScriptBloomSettings(); void GetScriptBloomSettings(); void FindBloomSettingIndex(); void SetScriptTextureFilterSettings(); void GetScriptTextureFilterSettings(); void FindTextureFilterSettingIndex(); void SetScriptTextureResolutionSettings(); void GetScriptTextureResolutionSettings(); void FindTextureResolutionSettingIndex(); void SetScriptLensFlareSettings(); void GetScriptLensFlareSettings(); void FindLensFlareSettingIndex(); void SetScriptVolumetricLightingSettings(); void GetScriptVolumetricLightingSettings(); void FindVolumetricLightingSettingIndex(); void SetScriptLightShaftsSettings(); void GetScriptLightShaftsSettings(); void FindLightShaftsSettingIndex(); void SetScriptCharacterDetailSettings(); void GetScriptCharacterDetailSettings(); void FindCharacterDetailIndex(); void SetScriptReflectionSettings(); void GetScriptReflectionSettings(); void FindReflectionsSettingIndex(); void SetScriptFXQualitySettings(); void GetScriptFXQualitySettings(); void FindFXQualityIndex(); void SetScriptShadowQualitySettings(); void GetScriptShadowQualitySettings(); void FindShadowQualityIndex(); void SetScriptEnvironmentDetailSettings(); void GetScriptEnvironmentDetailSettings(); void FindEnvironmentDetailIndex(); void NotEqual_FilmGrainSettingFilmGrainSetting(); void EqualEqual_FilmGrainSettingFilmGrainSetting(); void SetScriptFilmGrainSettings(); void GetScriptFilmGrainSettings(); void GetFilmGrainSettingValue(); void GetFilmGrainSliderValue(); void SetScriptVariableFramerateSettings(); void GetScriptVariableFramerateSettings(); void FindVariableFPSSettingIndex(); void SetScriptVSyncSettings(); void GetScriptVSyncSettings(); void FindVSyncSettingIndex(); void SetScriptDisplaySettings(); void GetScriptDisplaySettings(); void FindDisplaySettingIndex(); void FindGraphicsQualitySettingIndex(); void SetScriptSettings(); void GetCurrentScriptSettings(); void eventGetAspectRatio(); void UpdateGSA(); void IsFleXSupported(); void RefreshSupportedResolutions(); void IsAspectRatioAvailable(); void GetCompatLevel(); void SetNativeSettings(); void GetCurrentNativeSettings(); void FlushGSA(); void UpdateGSAResolution(); void UpdateGSASetting(); }; UClass* UKFGFxOptionsMenu_Graphics::pClassPointer = NULL; // Class KFGame.KFGFxObject_TraderItems // 0x0044 (0x00A4 - 0x0060) class UKFGFxObject_TraderItems : public UObject { public: DWORD bBuildItemInfo : 1; // 0x0060 (0x0004) [0x0000000000000000] // [0x00000001] TArray SaleItems; // 0x0064 (0x0010) [0x0000000000000000] int ArmorPrice; // 0x0074 (0x0004) [0x0000000000000000] int GrenadePrice; // 0x0078 (0x0004) [0x0000000000000000] class UClass* ArmorDef; // 0x007C (0x0008) [0x0000000000000000] TArray KnifeStats; // 0x0084 (0x0010) [0x0000000000000000] struct FString OffPerkIconPath; // 0x0094 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3589]; return pClassPointer; }; void GetItemIndicesFromArche(); void SetItemsInfo(); }; UClass* UKFGFxObject_TraderItems::pClassPointer = NULL; // Class KFGame.KFHUDBase // 0x010C (0x0670 - 0x0564) class AKFHUDBase : public AHUD { public: class AKFPlayerController* KFPlayerOwner; // 0x0564 (0x0008) [0x0000000000000000] class AKFGameReplicationInfo* KFGRI; // 0x056C (0x0008) [0x0000000000000000] class UTexture2D* IconHudTexture; // 0x0574 (0x0008) [0x0000000000000000] struct FColor BlackColor; // 0x057C (0x0004) [0x0000000000000000] struct FColor GoldColor; // 0x0580 (0x0004) [0x0000000000000000] struct FColor LightGoldColor; // 0x0584 (0x0004) [0x0000000000000000] struct FColor LightGreenColor; // 0x0588 (0x0004) [0x0000000000000000] struct FColor ArmorColor; // 0x058C (0x0004) [0x0000000000000000] struct FColor HealthColor; // 0x0590 (0x0004) [0x0000000000000000] struct FColor PlayerBarBGColor; // 0x0594 (0x0004) [0x0000000000000000] struct FColor PlayerBarTextColor; // 0x0598 (0x0004) [0x0000000000000000] struct FColor PlayerBarIconColor; // 0x059C (0x0004) [0x0000000000000000] struct FColor SupplierActiveColor; // 0x05A0 (0x0004) [0x0000000000000000] struct FColor SupplierUsableColor; // 0x05A4 (0x0004) [0x0000000000000000] struct FColor SupplierHalfUsableColor; // 0x05A8 (0x0004) [0x0000000000000000] struct FColor ZedIconColor; // 0x05AC (0x0004) [0x0000000000000000] float ResolutionScale; // 0x05B0 (0x0004) [0x0000000000000000] float ResolutionScaleX; // 0x05B4 (0x0004) [0x0000000000000000] float FriendlyHudScale; // 0x05B8 (0x0004) [0x0000000000000000] class UFont* GlowFonts[0x2]; // 0x05BC (0x0010) [0x0000000000000000] struct FFontRenderInfo TextRenderInfo; // 0x05CC (0x0028) [0x0000000000000000] float PulseDuration; // 0x05F4 (0x0004) [0x0000000000000000] float PulseSplit; // 0x05F8 (0x0004) [0x0000000000000000] float PulseMultiplier; // 0x05FC (0x0004) [0x0000000000000000] DWORD bCachedShowOverlays : 1; // 0x0600 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDrawCrosshair : 1; // 0x0600 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bForceDrawCrosshair : 1; // 0x0600 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCrosshairOnFriendly : 1; // 0x0600 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bGreenCrosshair : 1; // 0x0600 (0x0004) [0x0000000000000000] // [0x00000010] struct FFontRenderInfo Text_NoClipShadowed; // 0x0604 (0x0028) [0x0000000000000000] float TargetCrossHairMod; // 0x062C (0x0004) [0x0000000000000000] float CurrentCrossHairMod; // 0x0630 (0x0004) [0x0000000000000000] float BaseCrosshairSize; // 0x0634 (0x0004) [0x0000000000000000] struct FInterpCurveFloat CrosshairAccuracyScale; // 0x0638 (0x0014) [0x0000000000000000] class UTexture2D* PlayerStatusBarBGTexture; // 0x064C (0x0008) [0x0000000000000000] float PlayerStatusBarLengthMax; // 0x0654 (0x0004) [0x0000000000000000] float PlayerStatusIconSize; // 0x0658 (0x0004) [0x0000000000000000] float HumanPlayerIconInterpMult; // 0x065C (0x0004) [0x0000000000000000] class UTexture2D* GenericHumanIconTexture; // 0x0660 (0x0008) [0x0000000000000000] class UTexture2D* GenericZedIconTexture; // 0x0668 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3591]; return pClassPointer; }; void SetPostRenderingFor(); void eventOnLostFocusPause(); void DrawZedIcon(); void CheckAndDrawRemainingZedIcons(); void DrawHiddenHumanPlayerIcon(); void CheckAndDrawHiddenPlayerIcons(); void DrawKFBar(); void DrawObjectiveHUD(); void DrawFriendlyHumanPlayerInfo(); void DrawHUD(); void DrawShadowedRotatedTile(); void DrawShadowedStretchedTile(); void DrawShadowedTile(); void CheckCrosshairOnFriendly(); void DrawToolTip(); void SetShowLeaderboard(); void ToggleLeaderboard(); void SetShowScores(); void GetLocalPlayerOwnerIndex(); void ReleaseShowScores(); void CompletePauseMenuClose(); void TogglePauseMenu(); void CloseOtherMenus(); void SetVisible(); void RemoveMovies(); void OnOpenAnimComplete(); void OnCloseAnimComplete(); void DrawCrosshair(); void SetShowOverlays(); void ResolutionChanged(); void PreCalcValues(); void PostBeginPlay(); void DrawGlowText(); }; UClass* AKFHUDBase::pClassPointer = NULL; // Class KFGame.KFDebugCameraHUD // 0x0018 (0x0688 - 0x0670) class AKFDebugCameraHUD : public AKFHUDBase { public: DWORD bDrawDebugText : 1; // 0x0670 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDrawAimBasedText : 1; // 0x0670 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bFocusOnSelectedActor : 1; // 0x0670 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bDisplayHelp : 1; // 0x0670 (0x0004) [0x0000000000000000] [0x00000008] class AKFPawn* SelectedKFPawn; // 0x0674 (0x0008) [0x0000000000000000] class ACamera* PlayerCamera; // 0x067C (0x0008) [0x0000000000000000] float DebugTextMaxLen; // 0x0684 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3593]; return pClassPointer; }; void DrawCrosshair(); void eventPostRender(); void DisplayHelp(); void ToggleHelpDisplay(); void DrawDebugHUDText(); }; UClass* AKFDebugCameraHUD::pClassPointer = NULL; // Class KFGame.KFMission_LocalizedStrings // 0x00F8 (0x0158 - 0x0060) class UKFMission_LocalizedStrings : public UObject { public: struct FString GrantedWeeklyString; // 0x0060 (0x0010) [0x0000000000000000] struct FString WeeklyString; // 0x0070 (0x0010) [0x0000000000000000] struct FString CurrentWeeklySettingsString; // 0x0080 (0x0010) [0x0000000000000000] struct FString SpecialEventString; // 0x0090 (0x0010) [0x0000000000000000] struct FString SpecialEventChanceDropString; // 0x00A0 (0x0010) [0x0000000000000000] struct FString GrantedSpecialEventString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString RewardsString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString WeeklyOverview; // 0x00D0 (0x0010) [0x0000000000000000] struct FString ShortWeeklyString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ObjectivesString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString SeasonalString; // 0x0100 (0x0010) [0x0000000000000000] struct FMap_Mirror WeeklyOutbreakInfo; // 0x0110 (0x0048) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3595]; return pClassPointer; }; void GetCurrentSpecialEventString(); void GetWeeklyOutbreakInfoByIndex(); void GetCurrentWeeklyOutbreakInfo(); }; UClass* UKFMission_LocalizedStrings::pClassPointer = NULL; // Class KFGame.KFUIDataProvider_SearchResult // 0x0000 (0x009C - 0x009C) class UKFUIDataProvider_SearchResult : public UUIDataProvider_Settings { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3597]; return pClassPointer; }; }; UClass* UKFUIDataProvider_SearchResult::pClassPointer = NULL; // Class KFGame.KFWeeklyOutbreakInformation // 0x0064 (0x00C4 - 0x0060) class UKFWeeklyOutbreakInformation : public UObject { public: TArray RewardIDs; // 0x0060 (0x0010) [0x0000000000000000] int Index; // 0x0070 (0x0004) [0x0000000000000000] struct FString IconPath; // 0x0074 (0x0010) [0x0000000000000000] TArray ModifierIconPaths; // 0x0084 (0x0010) [0x0000000000000000] struct FString FriendlyName; // 0x0094 (0x0010) [0x0000000000000000] TArray DescriptionStrings; // 0x00A4 (0x0010) [0x0000000000000000] TArray ModifierDescriptions; // 0x00B4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3599]; return pClassPointer; }; }; UClass* UKFWeeklyOutbreakInformation::pClassPointer = NULL; // Class KFGame.KFUIDataStore_GameResource // 0x0000 (0x00F0 - 0x00F0) class UKFUIDataStore_GameResource : public UUIDataStore_GameResource { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[3601]; return pClassPointer; }; void InitializeProviders(); void InitializeProvidersInternal(); void GetMapNameUsingProviderIndex(); void FindProviderIndexByMapName(); void GetMapSummaryFromMapName(); }; UClass* UKFUIDataStore_GameResource::pClassPointer = NULL; // Class KFGame.KFAnimNotify_ReloadAmmo // 0x0000 (0x0064 - 0x0064) class UKFAnimNotify_ReloadAmmo : public UAnimNotify { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48555]; return pClassPointer; }; }; UClass* UKFAnimNotify_ReloadAmmo::pClassPointer = NULL; // Class KFGame.KFAnimNotify_Interrupt // 0x0000 (0x0064 - 0x0064) class UKFAnimNotify_Interrupt : public UAnimNotify { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48556]; return pClassPointer; }; }; UClass* UKFAnimNotify_Interrupt::pClassPointer = NULL; // Class KFGame.KFDamageType // 0x00D4 (0x0164 - 0x0090) class UKFDamageType : public UDamageType { public: class UClass* WeaponDef; // 0x0090 (0x0008) [0x0000000000000000] DWORD bNoInstigatorDamage : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bConsideredIndirectOrAoE : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAllowAIDoorDestruction : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bAnyPerk : 1; // 0x0098 (0x0004) [0x0000000000000000] [0x00000008] DWORD bShouldSpawnBloodSplat : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00000010] DWORD bShouldSpawnPersistentBlood : 1; // 0x0098 (0x0004) // [0x0000000000000000] [0x00000020] DWORD bCanGib : 1; // 0x0098 (0x0004) [0x0000000000000000] [0x00000040] DWORD bCanObliterate : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00000080] DWORD bUseHitLocationForGibImpulses : 1; // 0x0098 (0x0004) // [0x0000000000000000] [0x00000100] DWORD bPointImpulseTowardsOrigin : 1; // 0x0098 (0x0004) // [0x0000000000000000] [0x00000200] DWORD bNoPain : 1; // 0x0098 (0x0004) [0x0000000000000000] [0x00000400] DWORD bIgnoreSelfInflictedScale : 1; // 0x0098 (0x0004) // [0x0000000000000000] [0x00000800] DWORD bIgnoreZedOnZedScaling : 1; // 0x0098 (0x0004) [0x0000000000000000] // [0x00001000] float HeadDestructionDamageScale; // 0x009C (0x0004) [0x0000000000000000] float HeadDestructionImpulseForceScale; // 0x00A0 (0x0004) // [0x0000000000000000] unsigned char DoT_Type; // 0x00A4 (0x0001) [0x0000000000000000] unsigned char EffectGroup; // 0x00A5 (0x0001) [0x0000000000000000] unsigned char GoreDamageGroup; // 0x00A6 (0x0001) [0x0000000000000000] float DoT_Duration; // 0x00A8 (0x0004) [0x0000000000000000] float DoT_Interval; // 0x00AC (0x0004) [0x0000000000000000] float DoT_DamageScale; // 0x00B0 (0x0004) [0x0000000000000000] float StunPower; // 0x00B4 (0x0004) [0x0000000000000000] float KnockdownPower; // 0x00B8 (0x0004) [0x0000000000000000] float StumblePower; // 0x00BC (0x0004) [0x0000000000000000] float LegStumblePower; // 0x00C0 (0x0004) [0x0000000000000000] float GunHitPower; // 0x00C4 (0x0004) [0x0000000000000000] float MeleeHitPower; // 0x00C8 (0x0004) [0x0000000000000000] float BurnPower; // 0x00CC (0x0004) [0x0000000000000000] float EMPPower; // 0x00D0 (0x0004) [0x0000000000000000] float PoisonPower; // 0x00D4 (0x0004) [0x0000000000000000] float MicrowavePower; // 0x00D8 (0x0004) [0x0000000000000000] float FreezePower; // 0x00DC (0x0004) [0x0000000000000000] float SnarePower; // 0x00E0 (0x0004) [0x0000000000000000] float BleedPower; // 0x00E4 (0x0004) [0x0000000000000000] TArray ModifierPerkList; // 0x00E8 (0x0010) [0x0000000000000000] TArray BodyWoundDecalMaterials; // 0x00F8 (0x0010) [0x0000000000000000] float BodyWoundDecalWidth; // 0x0108 (0x0004) [0x0000000000000000] float BodyWoundDecalHeight; // 0x010C (0x0004) [0x0000000000000000] struct FName ScreenMaterialName; // 0x0110 (0x0008) [0x0000000000000000] class UClass* CameraLensEffectTemplate; // 0x0118 (0x0008) [0x0000000000000000] class UClass* AltCameraLensEffectTemplate; // 0x0120 (0x0008) [0x0000000000000000] int ObliterationHealthThreshold; // 0x0128 (0x0004) [0x0000000000000000] int ObliterationDamageThreshold; // 0x012C (0x0004) [0x0000000000000000] float MaxObliterationGibs; // 0x0130 (0x0004) [0x0000000000000000] float GibImpulseScale; // 0x0134 (0x0004) [0x0000000000000000] float ImpulseOriginScale; // 0x0138 (0x0004) [0x0000000000000000] float ImpulseOriginLift; // 0x013C (0x0004) [0x0000000000000000] float BloodSpread; // 0x0140 (0x0004) [0x0000000000000000] float BloodScale; // 0x0144 (0x0004) [0x0000000000000000] struct FName DeathMaterialEffectParamName; // 0x0148 (0x0008) [0x0000000000000000] float DeathMaterialEffectDuration; // 0x0150 (0x0004) [0x0000000000000000] class UParticleSystem* OverrideImpactEffect; // 0x0154 (0x0008) [0x0000000000000000] class UAkEvent* OverrideImpactSound; // 0x015C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48668]; return pClassPointer; }; void AlwaysPoisons(); void CheckObliterate(); void IsNotPerkBound(); void PlayImpactHitEffects(); void CanApplyDamageOverTime(); void GetDamageeDialogID(); void GetDamagerDialogID(); void GetKillerDialogID(); void GetPinProjectileClass(); void ModifyDismembermentHitImpulse(); void GetBoneToDismember(); void CanDismemberHitZone(); void GetOnDeathGoreScale(); void GetGoreDamageScale(); void GetBloodScale(); void AddBloodSpread(); }; UClass* UKFDamageType::pClassPointer = NULL; // Class KFGame.KFAfflictionAdvanced // 0x0010 (0x009C - 0x008C) class UKFAfflictionAdvanced : public UKFAfflictionBase { public: float Duration; // 0x008C (0x0004) [0x0000000000000000] DWORD bIsActive : 1; // 0x0090 (0x0004) [0x0000000000000000] [0x00000001] struct FName EffectSocketName; // 0x0094 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48712]; return pClassPointer; }; void ShutDown(); void DeActivate(); void Activate(); void Init(); }; UClass* UKFAfflictionAdvanced::pClassPointer = NULL; // Class KFGame.KFAffliction_EMP // 0x0038 (0x00D4 - 0x009C) class UKFAffliction_EMP : public UKFAfflictionAdvanced { public: class UParticleSystem* EmpPanicTemplate; // 0x009C (0x0008) [0x0000000000000000] class UParticleSystemComponent* EMPPanicEffect; // 0x00A4 (0x0008) [0x0000000000000000] class UParticleSystem* EmpDisruptTemplate; // 0x00AC (0x0008) [0x0000000000000000] class UParticleSystemComponent* EMPDisruptEffect; // 0x00B4 (0x0008) [0x0000000000000000] struct FName EMPDisruptSocketName; // 0x00BC (0x0008) [0x0000000000000000] class UAkEvent* OnEMPSound; // 0x00C4 (0x0008) [0x0000000000000000] class UAkEvent* OnEMPEndSound; // 0x00CC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48711]; return pClassPointer; }; void SetEMPMatParam(); void ToggleEffects(); void SetEMPPanicked(); void ShutDown(); void DeActivate(); void Activate(); }; UClass* UKFAffliction_EMP::pClassPointer = NULL; // Class KFGame.KFAffliction_Fire // 0x0030 (0x00CC - 0x009C) class UKFAffliction_Fire : public UKFAfflictionAdvanced { public: float FireBurnedAmount; // 0x009C (0x0004) [0x0000000000000000] float FireFullyCharredDuration; // 0x00A0 (0x0004) [0x0000000000000000] float FireCharPercentThreshhold; // 0x00A4 (0x0004) [0x0000000000000000] class UParticleSystem* BurningTemplate; // 0x00A8 (0x0008) [0x0000000000000000] class UParticleSystemComponent* BurningEffect; // 0x00B0 (0x0008) [0x0000000000000000] float MicrowaveParamValue; // 0x00B8 (0x0004) [0x0000000000000000] class UAkEvent* OnFireSound; // 0x00BC (0x0008) [0x0000000000000000] class UAkEvent* OnFireEndSound; // 0x00C4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48713]; return pClassPointer; }; void ShutDown(); void UpdateBurnedMatParam(); void ToggleEffects(); void SetMaterialParameter(); void SetFirePanicked(); void eventTick(); void DeActivate(); void Activate(); void Init(); }; UClass* UKFAffliction_Fire::pClassPointer = NULL; // Class KFGame.KFAffliction_HeavyRecovery // 0x0000 (0x008C - 0x008C) class UKFAffliction_HeavyRecovery : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48714]; return pClassPointer; }; void Activate(); }; UClass* UKFAffliction_HeavyRecovery::pClassPointer = NULL; // Class KFGame.KFAffliction_MediumRecovery // 0x0000 (0x008C - 0x008C) class UKFAffliction_MediumRecovery : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48715]; return pClassPointer; }; void Activate(); }; UClass* UKFAffliction_MediumRecovery::pClassPointer = NULL; // Class KFGame.KFAffliction_Stumble // 0x0000 (0x008C - 0x008C) class UKFAffliction_Stumble : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48716]; return pClassPointer; }; void GetSpecialMoveFlags(); }; UClass* UKFAffliction_Stumble::pClassPointer = NULL; // Class KFGame.KFAffliction_Stun // 0x0000 (0x008C - 0x008C) class UKFAffliction_Stun : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48717]; return pClassPointer; }; }; UClass* UKFAffliction_Stun::pClassPointer = NULL; // Class KFGame.KFAffliction_Poison // 0x0000 (0x009C - 0x009C) class UKFAffliction_Poison : public UKFAfflictionAdvanced { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48718]; return pClassPointer; }; void ToggleEffects(); void SetPoisoned(); void DeActivate(); void Activate(); }; UClass* UKFAffliction_Poison::pClassPointer = NULL; // Class KFGame.KFAffliction_Snare // 0x0000 (0x009C - 0x009C) class UKFAffliction_Snare : public UKFAfflictionAdvanced { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48719]; return pClassPointer; }; void GetSpeedModifier(); void DeActivate(); void Activate(); }; UClass* UKFAffliction_Snare::pClassPointer = NULL; // Class KFGame.KFAffliction_Knockdown // 0x0000 (0x008C - 0x008C) class UKFAffliction_Knockdown : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48720]; return pClassPointer; }; void ActivateKnockdown(); void Activate(); }; UClass* UKFAffliction_Knockdown::pClassPointer = NULL; // Class KFGame.KFAffliction_Freeze // 0x0000 (0x008C - 0x008C) class UKFAffliction_Freeze : public UKFAfflictionBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48721]; return pClassPointer; }; }; UClass* UKFAffliction_Freeze::pClassPointer = NULL; // Class KFGame.KFAffliction_Microwave // 0x0044 (0x00E0 - 0x009C) class UKFAffliction_Microwave : public UKFAfflictionAdvanced { public: float MicrowavedAmount; // 0x009C (0x0004) [0x0000000000000000] float UsedMicrowavedAmount; // 0x00A0 (0x0004) [0x0000000000000000] float MicrowaveBurnedAmount; // 0x00A4 (0x0004) [0x0000000000000000] struct FInterpCurveFloat MicroWaveCharCurve; // 0x00A8 (0x0014) [0x0000000000000000] class UParticleSystem* SteamingTemplate; // 0x00BC (0x0008) [0x0000000000000000] class UParticleSystemComponent* SteamingEffect; // 0x00C4 (0x0008) [0x0000000000000000] DWORD bSteamEffectActive : 1; // 0x00CC (0x0004) [0x0000000000000000] // [0x00000001] class UAkEvent* OnSteamSound; // 0x00D0 (0x0008) [0x0000000000000000] class UAkEvent* OnSteamEndSound; // 0x00D8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48722]; return pClassPointer; }; void ShutDown(); void SetMicrowaveSteamEffects(); void SetMaterialParameter(); void UpdateBurnedMatParam(); void UpdateMicrowaveMatParam(); void eventTick(); void SetMicrowavePanicked(); void DeActivate(); void Activate(); }; UClass* UKFAffliction_Microwave::pClassPointer = NULL; // Class KFGame.KFAffliction_Bleed // 0x0024 (0x00C0 - 0x009C) class UKFAffliction_Bleed : public UKFAfflictionAdvanced { public: float DeflateThreshold; // 0x009C (0x0004) [0x0000000000000000] float IncapModifier; // 0x00A0 (0x0004) [0x0000000000000000] float DamageModifier; // 0x00A4 (0x0004) [0x0000000000000000] float SpeedModifier; // 0x00A8 (0x0004) [0x0000000000000000] float PrevStrength; // 0x00AC (0x0004) [0x0000000000000000] float MaxDeflate; // 0x00B0 (0x0004) [0x0000000000000000] float CurDeflate; // 0x00B4 (0x0004) [0x0000000000000000] unsigned char CurrentDeflateState; // 0x00B8 (0x0001) [0x0000000000000000] float DeflateChangeRate; // 0x00BC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48723]; return pClassPointer; }; void SetMaterialParameter(); void CalcDeflate(); void CalcInflate(); void CheckStateChange(); void UpdateDeflateMaterialParam(); void Tick(); void Accrue(); void GetSpeedModifier(); void GetDamageModifier(); void GetStunModifier(); void GetStumbleModifier(); void GetKnockdownModifier(); }; UClass* UKFAffliction_Bleed::pClassPointer = NULL; // Class KFGame.KFPawnSoundGroup // 0x0118 (0x0178 - 0x0060) class UKFPawnSoundGroup : public UObject { public: TArray FootstepSounds; // 0x0060 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* DefaultFootstepSound; // 0x0070 (0x0008) [0x0000000000000000] TArray SprintingFootstepSounds; // 0x0078 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* DefaultSprintingFootstepSound; // 0x0088 (0x0008) [0x0000000000000000] TArray HandstepSounds; // 0x0090 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* DefaultHandstepSound; // 0x00A0 (0x0008) [0x0000000000000000] struct FVector2D MaxFootstepSoundRanges; // 0x00A8 (0x0008) [0x0000000000000000] TArray JumpingSounds; // 0x00B0 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* DefaultJumpingSound; // 0x00C0 (0x0008) [0x0000000000000000] TArray LandingSounds; // 0x00C8 (0x0010) [0x0000000000000000] class UAkBaseSoundObject* DefaultLandingSound; // 0x00D8 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* FallingDamageLandSound; // 0x00E0 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* PainSound; // 0x00E8 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* DyingSound; // 0x00F0 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* MouthlessDyingSound; // 0x00F8 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* BleedoutDyingSound; // 0x0100 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* GibSound; // 0x0108 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* GaspSound; // 0x0110 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* EntranceSound; // 0x0118 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* DismembermentSound; // 0x0120 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* BloodSpraySound; // 0x0128 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* DismemberedPartImpactSound; // 0x0130 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* VisceraImpactSound; // 0x0138 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* HeadPopSound; // 0x0140 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* RagdollImpactSound; // 0x0148 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* CleaveSound; // 0x0150 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* ObliterationSound; // 0x0158 (0x0008) [0x0000000000000000] class UAkEvent* OnDeathStopEvent; // 0x0160 (0x0008) [0x0000000000000000] TArray ImpactSoundCoolDowns; // 0x0168 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48724]; return pClassPointer; }; void PlayBloodSpraySound(); void PlayObliterationSound(); void ShouldPlayCleaveSound(); void PlayCleaveSound(); void PlayHeadPopSounds(); void PlayGibletCollisionSound(); void PlayRigidBodyCollisionSound(); void PlayDismembermentSounds(); void GetLandSound(); void GetJumpSound(); void GetSprintingFootstepSound(); void GetFootstepSound(); void PlayEntranceSound(); void PlayGaspSound(); void PlayGibSound(); void PlayBleedoutDyingSound(); void PlayMouthlessDyingSound(); void PlayDyingSound(); void PlayPainSound(); void PlayFallingDamageLandSound(); void PlayLandSound(); void PlayJumpSound(); }; UClass* UKFPawnSoundGroup::pClassPointer = NULL; // Class KFGame.KFGiblet // 0x0014 (0x0258 - 0x0244) class AKFGiblet : public AActor { public: class UMeshComponent* GibMeshComp; // 0x0244 (0x0008) [0x0000000000000000] class UKFPawnSoundGroup* SoundGroup; // 0x024C (0x0008) [0x0000000000000000] float LastCollisionTime; // 0x0254 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48831]; return pClassPointer; }; void eventRigidBodyCollision(); void SetMesh(); void LifespanTimer(); }; UClass* AKFGiblet::pClassPointer = NULL; // Class KFGame.KFPawnAnimInfo // 0x01AC (0x020C - 0x0060) class UKFPawnAnimInfo : public UObject { public: TArray Attacks; // 0x0060 (0x0010) [0x0000000000000000] TArray DoorAttacks; // 0x0070 (0x0010) [0x0000000000000000] DWORD bEnableDifficultyScaling : 1; // 0x0080 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bDebugLog : 1; // 0x0080 (0x0004) [0x0000000000000000] [0x00000002] DWORD bCanPlayAnimHitReactions : 1; // 0x0080 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bCanPlayPhysicsHitReactions : 1; // 0x0080 (0x0004) // [0x0000000000000000] [0x00000008] DWORD bCanPlayDeathAnimations : 1; // 0x0080 (0x0004) [0x0000000000000000] // [0x00000010] float WeakAttackChance; // 0x0084 (0x0004) [0x0000000000000000] float MediumAttackChance; // 0x0088 (0x0004) [0x0000000000000000] float HardAttackChance; // 0x008C (0x0004) [0x0000000000000000] TArray LightHitAnims; // 0x0090 (0x0010) [0x0000000000000000] TArray MediumHitAnims; // 0x00A0 (0x0010) [0x0000000000000000] TArray HeavyHitAnims; // 0x00B0 (0x0010) [0x0000000000000000] TArray DmgOverTimeHitAnims; // 0x00C0 (0x0010) [0x0000000000000000] TArray StumbleAnims; // 0x00D0 (0x0010) [0x0000000000000000] struct FDeathAnimInfo DefaultDeathAnims; // 0x00E0 (0x0060) [0x0000000000000000] struct FDeathAnimInfo ExplosiveDeathAnims; // 0x0140 (0x0060) [0x0000000000000000] TArray BodyPartDeathAnims; // 0x01A0 (0x0010) [0x0000000000000000] unsigned char LastDeathAnimIndex; // 0x01B0 (0x0001) [0x0000000000000000] struct FVector2D DeathPhysMotorStrength; // 0x01B4 (0x0008) [0x0000000000000000] TArray TauntAnims; // 0x01BC (0x0010) [0x0000000000000000] TArray TauntKillAnims; // 0x01CC (0x0010) [0x0000000000000000] TArray TauntEnragedAnims; // 0x01DC (0x0010) [0x0000000000000000] TArray TheatricBossEntranceAnimInfos; // 0x01EC (0x0010) [0x0000000000000000] TArray TheatricBossVictoryAnimInfos; // 0x01FC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48861]; return pClassPointer; }; void PlayHitReactionAnim(); void EvaulateDeathAnimList(); void ChooseDeathAnimation(); void AllowAttackByDifficulty(); void AllowAttackByMovement(); void SetDifficultyValues(); void GetAttackRangeExtent(); void GetAttackRangeByName(); void IsAttackOnCooldown(); void CanDoAttackAnim(); void CheckForValidCooldown(); void GetStrikeFlags(); void GetAttackAnimName(); void GetAttackIndexByTag(); void GetMedianStrikeRange(); void GetAttackRange(); void UpdateAttackCooldown(); void ChooseNextStrike(); void ChooseAttackByName(); void InitMeleeSpecialMove(); }; UClass* UKFPawnAnimInfo::pClassPointer = NULL; // Class KFGame.KFDT_Explosive // 0x0000 (0x0164 - 0x0164) class UKFDT_Explosive : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[48994]; return pClassPointer; }; void GetBoneToDismember(); void GetKillerDialogID(); void AddBloodSpread(); void GetBloodScale(); }; UClass* UKFDT_Explosive::pClassPointer = NULL; // Class KFGame.KFGameDifficultyInfo // 0x01A4 (0x0204 - 0x0060) class UKFGameDifficultyInfo : public UObject { public: struct FNumPlayerMods NumPlayers_WaveSize; // 0x0060 (0x001C) [0x0000000000000000] struct FNumPlayerMods NumPlayers_AIHiddenSpeed; // 0x007C (0x001C) [0x0000000000000000] struct FNumPlayerMods NumPlayers_WeaponPickupRespawnTime; // 0x0098 (0x001C) // [0x0000000000000000] struct FNumPlayerMods NumPlayers_AmmoPickupRespawnTime; // 0x00B4 (0x001C) // [0x0000000000000000] struct FNumPlayerMods NumPlayers_ZedDamageResistance; // 0x00D0 (0x001C) [0x0000000000000000] struct FDifficultySettings Normal; // 0x00EC (0x0038) [0x0000000000000000] struct FDifficultySettings Hard; // 0x0124 (0x0038) [0x0000000000000000] struct FDifficultySettings Suicidal; // 0x015C (0x0038) [0x0000000000000000] struct FDifficultySettings HellOnEarth; // 0x0194 (0x0038) [0x0000000000000000] struct FDifficultySettings CurrentSettings; // 0x01CC (0x0038) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49012]; return pClassPointer; }; void GetDifficultyIndex(); void GetDifficultyValue(); void GetDamageResistanceModifier(); void GetWeaponPickupInterval(); void GetAmmoPickupInterval(); void GetPlayerNumMaxAIModifier(); void GetAIHiddenSpeedModifier(); void GetNumPlayersModifier(); void GetSpawnRateModifier(); void GetSelfInflictedDamageMod(); void GetHardAttackChance(); void GetMediumAttackChance(); void GetWeakAttackChance(); void GetAmmoPickupModifier(); void GetItemPickupModifier(); void GetAdjustedRespawnCash(); void GetAdjustedStartingCash(); void GetKillCashModifier(); void GetDifficultyMaxAIModifier(); void GetAIGroundSpeedMod(); void GetAISpeedMod(); void GetAIDamageModifier(); void GetTraderTimeByDifficulty(); void GetCharSprintWhenDamagedChanceByDifficulty(); void GetCharSprintChanceByDifficulty(); void GetCharHeadHealthModDifficulty(); void GetCharHealthModDifficulty(); void GetGlobalHealthMod(); void GetNumPlayersHealthMod(); void GetVersusHealthModifier(); void GetAIHealthModifier(); void SetDifficultySettings(); }; UClass* UKFGameDifficultyInfo::pClassPointer = NULL; // Class KFGame.KFSpecialMoveHandler // 0x0020 (0x0080 - 0x0060) class UKFSpecialMoveHandler : public UObject { public: TArray SpecialMoveClasses; // 0x0060 (0x0010) [0x0000000000000000] struct FKFSpecialMoveStruct PendingSpecialMoveStruct; // 0x0070 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49092]; return pClassPointer; }; void EndSpecialMove(); void ClearPendingSpecialMove(); void VerifySpecialMoveInstance(); void SpecialMoveEnded(); void SpecialMoveStarted(); void CanChainSpecialMove(); void eventCanDoSpecialMove(); void ReplicateSpecialMove(); void ReassignSpecialMove(); void DoPendingSpecialMove(); void CanOverrideSpecialMove(); void eventDoSpecialMove(); }; UClass* UKFSpecialMoveHandler::pClassPointer = NULL; // Class KFGame.KFWeaponAmbientEchoHandler // 0x0010 (0x0070 - 0x0060) class UKFWeaponAmbientEchoHandler : public UObject { public: TArray EchoSets; // 0x0060 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49163]; return pClassPointer; }; void StopEcho(); void StartEcho(); void TickEchoes(); void StopAllEchoes(); void StopEchoSet(); void DelayedStartEcho(); void StartEchoSet(); void HandleEchoes(); }; UClass* UKFWeaponAmbientEchoHandler::pClassPointer = NULL; // Class KFGame.KFPawnVoiceGroup // 0x0028 (0x0088 - 0x0060) class UKFPawnVoiceGroup : public UObject { public: class UClass* EventDataClass; // 0x0060 (0x0008) [0x0000000000000000] TArray DialogEvents; // 0x0068 (0x0010) [0x0000000000000000] TArray DialogEventNames; // 0x0078 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49963]; return pClassPointer; }; void GetDialogEventInfo(); void GetDialogAkEvent(); void GetEventName(); }; UClass* UKFPawnVoiceGroup::pClassPointer = NULL; // Class KFGame.KFPawnVoiceGroupEventData // 0x0010 (0x0070 - 0x0060) class UKFPawnVoiceGroupEventData : public UObject { public: TArray Events; // 0x0060 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49965]; return pClassPointer; }; }; UClass* UKFPawnVoiceGroupEventData::pClassPointer = NULL; // Class KFGame.KFPhysicalMaterialProperty // 0x0003 (0x0064 - 0x0061) class UKFPhysicalMaterialProperty : public UPhysicalMaterialPropertyBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[49982]; return pClassPointer; }; }; UClass* UKFPhysicalMaterialProperty::pClassPointer = NULL; // Class KFGame.EphemeralMatchStats // 0x00D4 (0x0134 - 0x0060) class UEphemeralMatchStats : public UObject { public: DWORD bShowMatchStatsLogging : 1; // 0x0060 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bKilledBoss : 1; // 0x0060 (0x0004) [0x0000000000000000] [0x00000002] TArray TeamAwardList; // 0x0064 (0x0010) [0x0000000000000000] TArray PersonalBestList; // 0x0074 (0x0010) [0x0000000000000000] struct FTopWeaponReplicationInfo TWRI; // 0x0084 (0x003C) [0x0000000000000000] int ZedsKilledLastWave; // 0x00C0 (0x0004) [0x0000000000000000] unsigned char DeathStreak; // 0x00C4 (0x0001) [0x0000000000000000] unsigned char SurvivedStreak; // 0x00C5 (0x0001) [0x0000000000000000] int TotalHeadShots; // 0x00C8 (0x0004) [0x0000000000000000] int TotalDoshEarned; // 0x00CC (0x0004) [0x0000000000000000] int TotalDamageDealt; // 0x00D0 (0x0004) [0x0000000000000000] int TotalDamageTaken; // 0x00D4 (0x0004) [0x0000000000000000] int TotalAmountHealGiven; // 0x00D8 (0x0004) [0x0000000000000000] int TotalAmountHealReceived; // 0x00DC (0x0004) [0x0000000000000000] int TotalLargeZedKills; // 0x00E0 (0x0004) [0x0000000000000000] TArray PerkXPList; // 0x00E4 (0x0010) [0x0000000000000000] TArray WeaponDamageList; // 0x00F4 (0x0010) [0x0000000000000000] TArray ZedKillsArray; // 0x0104 (0x0010) [0x0000000000000000] struct FScriptDelegate __SortXP__Delegate; // 0x0114 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0118 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __SortWeapons__Delegate; // 0x0124 (0x0010) [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x0128 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50052]; return pClassPointer; }; void ReceiveAwardInfo(); void Give_Dominator(); void Give_HeadPopper(); void Give_MoneyBags(); void Give_GiantSlayer(); void Give_Destroyer(); void Give_Enforcer(); void Give_ZedSlayer(); void Give_MedicineMaster(); void Give_Closer(); void Give_Combo(); void Give_Carnage(); void Give_BestSupportingZed(); void Give_Grabby(); void Give_Zednnihilation(); void GetTeamAward(); void GivePersonalBestDoorWelding(); void GivePersonalBestAssists(); void GivePersonalBestKills(); void GivePersonalBestDoshEarned(); void GivePersonalBestLargeZedKills(); void GivePersonalBestHealing(); void GivePersonalBestHeadShots(); void GivePersonalBestPistolKills(); void GivePersonalBestKnifeKills(); void GetKnifeKills(); void GetPistolKills(); void GetPersonalBests(); void SendMapOptionsAndOpenAARMenu(); void ProcessPostGameStats(); void SortWeapons(); void SortXP(); void GetTopWeapons(); void AddUnpackedWeaponToDamageList(); void ProcessTopWeaponsStats(); void UnpackTopWeapons(); void PackTopWeapons(); void InternalRecordWeaponDamage(); void RecordWeaponKill(); void RecordWeaponDamage(); void RecordWeaponHeadShot(); void RecordZedKill(); void RecordSecondaryXPGain(); void RecordPerkXPGain(); void ResetLastWaveInfo(); void RecordWaveInfo(); void GetHealGivenInWave(); void IncrementHealGivenInWave(); void GetHealReceivedInWave(); void IncrementHealReceivedInWave(); void GetDamageTakenInWave(); void IncrementDamageTakenInWave(); void GetDamageDealtInWave(); void IncrementDamageDealtInWave(); void GetDoshEarnedInWave(); void IncrementDoshEarnedInWave(); void GetHeadShotsInWave(); void IncrementHeadShotsInWave(); void RecordIntStat(); }; UClass* UEphemeralMatchStats::pClassPointer = NULL; // Class KFGame.KFSM_Stumble // 0x0000 (0x0150 - 0x0150) class UKFSM_Stumble : public UKFSM_PlaySingleAnim { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50058]; return pClassPointer; }; void SpecialMoveFlagsUpdated(); void EnableInterrupt(); void PlayAnimation(); void InternalCanDoSpecialMove(); void GetStumbleTypeFromRegion(); void GetRandomVariant(); void PackRandomSMFlags(); void PackParrySMFlags(); void PackLegHitSMFlags(); void PackBodyHitSMFlags(); void ShouldDoLegStumble(); }; UClass* UKFSM_Stumble::pClassPointer = NULL; // Class KFGame.KFSM_DeathAnim // 0x000C (0x0140 - 0x0134) class UKFSM_DeathAnim : public UKFSpecialMove { public: float NextDeathAnim_ActorTime; // 0x0134 (0x0004) [0x0000000000000000] unsigned char NumChainedDeathAnims; // 0x0138 (0x0001) [0x0000000000000000] unsigned char MaxChainedDeathAnims; // 0x0139 (0x0001) [0x0000000000000000] DWORD bHasDeathMotorsActive : 1; // 0x013C (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50064]; return pClassPointer; }; void NotifyOwnerTakeHit(); void OnRigidBodySpringOverextension(); void SetSpringForBone(); void StopDeathAnimMotors(); void StartDeathAnimMotors(); void SpecialMoveEnded(); void AnimEndNotify(); void GetDeathAnimation(); void PlayDeathAnimation(); void InternalCanDoSpecialMove(); void PackSMFlags(); }; UClass* UKFSM_DeathAnim::pClassPointer = NULL; // Class KFGame.KFDT_Falling // 0x0000 (0x0164 - 0x0164) class UKFDT_Falling : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50108]; return pClassPointer; }; }; UClass* UKFDT_Falling::pClassPointer = NULL; // Class KFGame.KFSeqEvent_PawnTeleported // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_PawnTeleported : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50111]; return pClassPointer; }; }; UClass* UKFSeqEvent_PawnTeleported::pClassPointer = NULL; // Class KFGame.KFImpactEffectInfo // 0x0068 (0x00C8 - 0x0060) class UKFImpactEffectInfo : public UObject { public: TArray ImpactEffects; // 0x0060 (0x0010) [0x0000000000000000] struct FMaterialImpactEffect DefaultImpactEffect; // 0x0070 (0x0044) [0x0000000000000000] class UAkEvent* BulletWhipSnd; // 0x00B4 (0x0008) [0x0000000000000000] DWORD bMakeSplash : 1; // 0x00BC (0x0004) [0x0000000000000000] [0x00000001] class UParticleSystem* SplashEffectTemplate; // 0x00C0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50137]; return pClassPointer; }; }; UClass* UKFImpactEffectInfo::pClassPointer = NULL; // Class KFGame.AICommand_Attack_Grab // 0x0000 (0x0110 - 0x0110) class UAICommand_Attack_Grab : public UAICommand_SM_Attack { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50551]; return pClassPointer; }; void UpdateLastMeleeTime(); void NotifyEnemyChanged(); void Popped(); void Paused(); void Resumed(); void Pushed(); void eventGetDumpString(); void Grab(); }; UClass* UAICommand_Attack_Grab::pClassPointer = NULL; // Class KFGame.AICommand_Attack_Kick // 0x0004 (0x0114 - 0x0110) class UAICommand_Attack_Kick : public UAICommand_SM_Attack { public: DWORD bForce : 1; // 0x0110 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50591]; return pClassPointer; }; void Popped(); void Pushed(); void Kick(); }; UClass* UAICommand_Attack_Kick::pClassPointer = NULL; // Class KFGame.AICommand_TauntEnemy // 0x0014 (0x0108 - 0x00F4) class UAICommand_TauntEnemy : public UAICommand_SpecialMove { public: class APawn* TauntTarget; // 0x00F4 (0x0008) [0x0000000000000000] unsigned char TauntType; // 0x00FC (0x0001) [0x0000000000000000] class UClass* TauntClass; // 0x0100 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50685]; return pClassPointer; }; void Popped(); void Pushed(); void Taunt(); }; UClass* UAICommand_TauntEnemy::pClassPointer = NULL; // Class KFGame.AICommand_Base_Boss // 0x0000 (0x00E8 - 0x00E8) class UAICommand_Base_Boss : public UAICommand_Base_Zed { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50772]; return pClassPointer; }; }; UClass* UAICommand_Base_Boss::pClassPointer = NULL; // Class KFGame.AICommand_Base_Crawler // 0x002C (0x0114 - 0x00E8) class UAICommand_Base_Crawler : public UAICommand_Base_Zed { public: class AKFWallPathNode* LeapTarget; // 0x00E8 (0x0008) [0x0000000000000000] DWORD bJumpingToWall : 1; // 0x00F0 (0x0004) [0x0000000000000000] // [0x00000001] struct FVector TempDest; // 0x00F4 (0x000C) [0x0000000000000000] struct FVector OriginalTrans; // 0x0100 (0x000C) [0x0000000000000000] class AActor* TempMoveGoal; // 0x010C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50774]; return pClassPointer; }; void SetTempDest(); void CheckWalls(); void Resumed(); void SightCheck(); void BeginMoveToWall(); void Paused(); void Pushed(); }; UClass* UAICommand_Base_Crawler::pClassPointer = NULL; // Class KFGame.AICommand_Base_Hans // 0x0000 (0x00E8 - 0x00E8) class UAICommand_Base_Hans : public UAICommand_Base_Boss { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50825]; return pClassPointer; }; }; UClass* UAICommand_Base_Hans::pClassPointer = NULL; // Class KFGame.KFPawn_ZedHansBase // 0x00AC (0x0F0C - 0x0E60) class AKFPawn_ZedHansBase : public AKFPawn_MonsterBoss { public: class AKFAIController_Hans* MyHansController; // 0x0E60 (0x0008) [0x0000000000000000] DWORD bGunsEquipped : 1; // 0x0E68 (0x0004) [0x00000000006A0000] // [0x00000001] ( CPF_EditConst | CPF_Component | // CPF_NeedCtorLink ) DWORD bHealedThisPhase : 1; // 0x0E68 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bInHuntAndHealMode : 1; // 0x0E68 (0x0004) [0x00000000006B0000] // [0x00000004] ( CPF_Travel | CPF_EditConst // | CPF_Component | CPF_NeedCtorLink ) DWORD bPendingSmokeGrenadeBarrage : 1; // 0x0E68 (0x0004) // [0x0000000000000000] [0x00000008] DWORD bDoingBarrage : 1; // 0x0E68 (0x0004) [0x0000000000000000] [0x00000010] TArray BattlePhases; // 0x0E6C (0x0010) [0x0000000000000000] float AmountHealedThisPhase; // 0x0E7C (0x0004) [0x0000000000000000] float HuntAndHealModeDamageReduction; // 0x0E80 (0x0004) [0x0000000000000000] float IncapPowerScaleWhenHealing; // 0x0E84 (0x0004) [0x0000000000000000] float ShieldHealth; // 0x0E88 (0x0004) [0x0000000000000000] float ShieldHealthMax; // 0x0E8C (0x0004) [0x0000000000000000] unsigned char ShieldHealthPctByte; // 0x0E90 (0x0001) [0x00000000006C0000] // ( CPF_GlobalConfig | CPF_Component | // CPF_NeedCtorLink ) int NumHuntAndHealEnemyBumps; // 0x0E94 (0x0004) [0x0000000000000000] float LastHuntAndHealEnemyBumpTime; // 0x0E98 (0x0004) [0x0000000000000000] class UClass* ActiveGrenadeClass; // 0x0E9C (0x0008) [0x0000000000000000] class UClass* ExplosiveGrenadeClass; // 0x0EA4 (0x0008) [0x0000000000000000] class UClass* NerveGasGrenadeClass; // 0x0EAC (0x0008) [0x0000000000000000] class UClass* SmokeGrenadeClass; // 0x0EB4 (0x0008) [0x0000000000000000] struct FName RightHandSocketName; // 0x0EBC (0x0008) [0x0000000000000000] struct FName LeftHandSocketName; // 0x0EC4 (0x0008) [0x0000000000000000] struct FVector GrenadeTossSpread; // 0x0ECC (0x000C) [0x0000000000000000] int BarrageTossCount; // 0x0ED8 (0x0004) [0x0000000000000000] float GlobalOffensiveNadeCooldown; // 0x0EDC (0x0004) [0x0000000000000000] float LastOffensiveNadeTime; // 0x0EE0 (0x0004) [0x0000000000000000] float HENadeTossCooldown; // 0x0EE4 (0x0004) [0x0000000000000000] float LastHENadeTossTime; // 0x0EE8 (0x0004) [0x0000000000000000] float HENadeBarrageCooldown; // 0x0EEC (0x0004) [0x0000000000000000] float LastHENadeBarrageTime; // 0x0EF0 (0x0004) [0x0000000000000000] float NerveGasTossCooldown; // 0x0EF4 (0x0004) [0x0000000000000000] float LastNerveGasTossTime; // 0x0EF8 (0x0004) [0x0000000000000000] float NerveGasBarrageCooldown; // 0x0EFC (0x0004) [0x0000000000000000] float LastNerveGasBarrageTime; // 0x0F00 (0x0004) [0x0000000000000000] float SmokeTossCooldown; // 0x0F04 (0x0004) [0x0000000000000000] float LastSmokeTossTime; // 0x0F08 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50833]; return pClassPointer; }; void DetachShieldFX(); void UpdateShieldColor(); void ApplyBloodDecals(); void ANIMNOTIFY_AoENerveGas(); void NeedToTurnEx(); void HuntAndHealBump(); void eventBump(); void ClearDOTs(); void SummonMinions(); void GetHealAmountForThisPhase(); void Timer_ResetShieldHealthPct(); void SetHuntAndHealMode(); void PlayGrenadeDialog(); void PlayDrawGunsDialog(); void CanMoveWhileThrowingGrenades(); void SetActiveGrenadeClassNerveGas(); void SetActiveGrenadeClassSmoke(); void SetActiveGrenadeClassGrenade(); void CacheGrenadeThrowLocation(); void IsThrowingGrenade(); void CanSmokeTossInThisPhase(); void CanGrenadeBarrageInThisPhase(); void CanTossGrenadeInThisPhase(); void CanUseGunsInThisPhase(); void CanBarrageNerveGasInThisPhase(); void CanTossNerveGasInThisPhase(); void OffensiveGrenadeCooldownComplete(); void CanBlock(); void ShouldPlaySpecialMeleeAnims(); void DesireSprintingInThisPhase(); void CanFrenzyInThisPhase(); void BreakShield(); void UpdateShieldHealth(); void AdjustAffliction(); void AdjustDamage(); void SetPhaseCooldowns(); void IncrementBattlePhase(); void PossessedBy(); void eventReplicatedEvent(); }; UClass* AKFPawn_ZedHansBase::pClassPointer = NULL; // Class KFGame.AICommand_BossTheatrics // 0x0008 (0x00FC - 0x00F4) class UAICommand_BossTheatrics : public UAICommand_SpecialMove { public: unsigned char TheatricType; // 0x00F4 (0x0001) [0x0000000000000000] int TheatricDuration; // 0x00F8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50843]; return pClassPointer; }; void Popped(); void Pushed(); void DoTheatrics(); }; UClass* UAICommand_BossTheatrics::pClassPointer = NULL; // Class KFGame.KFSM_Zed_Boss_Theatrics // 0x001C (0x016C - 0x0150) class UKFSM_Zed_Boss_Theatrics : public UKFSM_PlaySingleAnim { public: unsigned char CurrentTheatricType; // 0x0150 (0x0001) [0x0000000000000000] class UCameraAnim* CameraAnim; // 0x0154 (0x0008) [0x0000000000000000] struct FColor FadeInColor; // 0x015C (0x0004) [0x0000000000000000] struct FColor FadeOutColor; // 0x0160 (0x0004) [0x0000000000000000] float FadeInTime; // 0x0164 (0x0004) [0x0000000000000000] float FadeOutTime; // 0x0168 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50862]; return pClassPointer; }; void GetALocalKFPlayerController(); void SpecialMoveEnded(); void PlayAnimation(); void SpecialMoveStarted(); void PackSMFlags(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_Zed_Boss_Theatrics::pClassPointer = NULL; // Class KFGame.AICommand_Crawler_LeapToWall // 0x001C (0x00D4 - 0x00B8) class UAICommand_Crawler_LeapToWall : public UAICommand { public: class AKFWallPathNode* WallNode; // 0x00B8 (0x0008) [0x0000000000000000] class ANavigationPoint* StartLeapNode; // 0x00C0 (0x0008) [0x0000000000000000] class ANavigationPoint* EndLeapNode; // 0x00C8 (0x0008) [0x0000000000000000] float JumpTime; // 0x00D0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[50866]; return pClassPointer; }; void NotifyHitWall(); void NotifyFallingHitWall(); void NotifyLanded(); void CanChangeEnemy(); void Popped(); void Pushed(); void LeapToWall(); }; UClass* UAICommand_Crawler_LeapToWall::pClassPointer = NULL; // Class KFGame.AICommand_Crawler_MoveToGoal // 0x0000 (0x01D4 - 0x01D4) class UAICommand_Crawler_MoveToGoal : public UAICommand_MoveToGoal { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51123]; return pClassPointer; }; void NotifyLanded(); void CrawlerMoveToGoal(); }; UClass* UAICommand_Crawler_MoveToGoal::pClassPointer = NULL; // Class KFGame.AICommand_PushedBySM // 0x0004 (0x00F8 - 0x00F4) class UAICommand_PushedBySM : public UAICommand_SpecialMove { public: DWORD bAllowMeleeCombatDecisions : 1; // 0x00F4 (0x0004) // [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51162]; return pClassPointer; }; void SpecialMoveTimeout(); void Popped(); void Pushed(); void AllowTransitionTo(); void eventGetDumpString(); void PushSpecialMoveCommand(); }; UClass* UAICommand_PushedBySM::pClassPointer = NULL; // Class KFGame.AICommand_CrawlerEmerge // 0x0000 (0x00F8 - 0x00F8) class UAICommand_CrawlerEmerge : public UAICommand_PushedBySM { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51181]; return pClassPointer; }; void SpecialMoveTimeout(); void GetUpdatedAnchor(); void GetStartAnchor(); void Emerge(); }; UClass* UAICommand_CrawlerEmerge::pClassPointer = NULL; // Class KFGame.AICommand_Debug // 0x0038 (0x00F0 - 0x00B8) class UAICommand_Debug : public UAICommand { public: DWORD bTestStepAside : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bNoFocus : 1; // 0x00B8 (0x0004) [0x0000000000000000] [0x00000002] DWORD bOldDebugPostRenderInfo : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bTempDisableHitWall : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bStoppedRotationTowardEnemy : 1; // 0x00B8 (0x0004) // [0x0000000000000000] [0x00000010] struct FVector DebugMoveLocation; // 0x00BC (0x000C) [0x0000000000000000] class AKFPawn* DebuggingPlayer; // 0x00C8 (0x0008) [0x0000000000000000] float MaxRoamDist; // 0x00D0 (0x0004) [0x0000000000000000] float RoamStartTime; // 0x00D4 (0x0004) [0x0000000000000000] float RoamEnvelopeOuter; // 0x00D8 (0x0004) [0x0000000000000000] float RoamEnvelopeInner; // 0x00DC (0x0004) [0x0000000000000000] float RoamWaitMin; // 0x00E0 (0x0004) [0x0000000000000000] float RoamWaitMax; // 0x00E4 (0x0004) [0x0000000000000000] class AActor* LastDebugGoal; // 0x00E8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51197]; return pClassPointer; }; void DrawDebug(); void CanSeePawn(); void ReadyToCharge(); void EnableNotifyHitWall(); void NotifyHitWall(); void CheckVision(); void EvaluateThreats(); void Debug_LOS(); void Debug_CrawlerAttack(); void Debug_DebugNodes(); void Debug_Leap(); void Debug_DebugLines(); void Debug_Wander(); void Debug_Steering(); void Debug_StepAside(); void Debug_Enemy(); void Debug_Hide(); void Debug_Flank(); void Debug_Vision(); void Debug_MoveForward(); void Debug_Charge(); void NotifyPlayerBecameVisible(); void Popped(); void GrabTestTimer(); void Resumed(); void Pushed(); void Debug(); }; UClass* UAICommand_Debug::pClassPointer = NULL; // Class KFGame.AICommand_Wander // 0x0030 (0x00E8 - 0x00B8) class UAICommand_Wander : public UAICommand { public: struct FVector WanderDestination; // 0x00B8 (0x000C) [0x0000000000000000] float MaxWanderDist; // 0x00C4 (0x0004) [0x0000000000000000] float WanderDuration; // 0x00C8 (0x0004) [0x0000000000000000] float RandomCoef; // 0x00CC (0x0004) [0x0000000000000000] float WanderEnvelopeInner; // 0x00D0 (0x0004) [0x0000000000000000] float WanderWaitMin; // 0x00D4 (0x0004) [0x0000000000000000] float WanderWaitMax; // 0x00D8 (0x0004) [0x0000000000000000] class AActor* WanderGoal; // 0x00DC (0x0008) [0x0000000000000000] DWORD bWanderAroundGoal : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bCanUsePartialPath : 1; // 0x00E4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bWasSprinting : 1; // 0x00E4 (0x0004) [0x0000000000000000] [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51382]; return pClassPointer; }; void CanSeePawn(); void IsPawnVisibleViaTrace(); void GetMoveDir(); void Timer_WanderDurationExpired(); void Popped(); void Resumed(); void Paused(); void Pushed(); void BeginWander(); }; UClass* UAICommand_Wander::pClassPointer = NULL; // Class KFGame.AICommand_DebugTurn // 0x000C (0x00C4 - 0x00B8) class UAICommand_DebugTurn : public UAICommand { public: class AKFPlayerController* Player; // 0x00B8 (0x0008) [0x0000000000000000] DWORD bEnableMeleeWhenInRange : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51387]; return pClassPointer; }; void StartMeleeSpecialMove(); void CheckMeleeRange(); void Pushed(); void DebugTurnInPlace(); }; UClass* UAICommand_DebugTurn::pClassPointer = NULL; // Class KFGame.AICommand_Evade // 0x001C (0x0110 - 0x00F4) class UAICommand_Evade : public UAICommand_SpecialMove { public: unsigned char EvadeDirection; // 0x00F4 (0x0001) [0x0000000000000000] unsigned char SMFlags; // 0x00F5 (0x0001) [0x0000000000000000] float EvadeDelay; // 0x00F8 (0x0004) [0x0000000000000000] DWORD bFrightened : 1; // 0x00FC (0x0004) [0x0000000000000000] [0x00000001] DWORD bTurnToThreat : 1; // 0x00FC (0x0004) [0x0000000000000000] [0x00000002] DWORD bLookAtDangerInstigator : 1; // 0x00FC (0x0004) [0x0000000000000000] // [0x00000004] DWORD bOldHeadTrackingActive : 1; // 0x00FC (0x0004) [0x0000000000000000] // [0x00000008] float RepeatDistSq; // 0x0100 (0x0004) [0x0000000000000000] struct FVector LookAtLocation; // 0x0104 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51406]; return pClassPointer; }; void CanEvade(); void Popped(); void Pushed(); void eventGetDumpString(); void Evade(); }; UClass* UAICommand_Evade::pClassPointer = NULL; // Class KFGame.KFSM_Evade // 0x0010 (0x0160 - 0x0150) class UKFSM_Evade : public UKFSM_PlaySingleAnim { public: TArray EvadeAnims; // 0x0150 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51445]; return pClassPointer; }; void PlayAnimation(); void PackAnimFlag(); }; UClass* UKFSM_Evade::pClassPointer = NULL; // Class KFGame.AICommand_Flee // 0x0020 (0x00D8 - 0x00B8) class UAICommand_Flee : public UAICommand { public: DWORD bStopAtGoal : 1; // 0x00B8 (0x0004) [0x0000000000000000] [0x00000001] DWORD bWasSprinting : 1; // 0x00B8 (0x0004) [0x0000000000000000] [0x00000002] DWORD bHaveGoal : 1; // 0x00B8 (0x0004) [0x0000000000000000] [0x00000004] class AActor* FleeTarget; // 0x00BC (0x0008) [0x0000000000000000] float Dot; // 0x00C4 (0x0004) [0x0000000000000000] int PathAttempts; // 0x00C8 (0x0004) [0x0000000000000000] float FleeDuration; // 0x00CC (0x0004) [0x0000000000000000] float FleeDistance; // 0x00D0 (0x0004) [0x0000000000000000] float GoalOffset; // 0x00D4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51449]; return pClassPointer; }; void Popped(); void StartFleeing(); void Timer_FleeDurationExpired(); void Pushed(); void FleeFrom(); }; UClass* UAICommand_Flee::pClassPointer = NULL; // Class KFGame.AICommand_Hans_GunStance // 0x0001 (0x00F5 - 0x00F4) class UAICommand_Hans_GunStance : public UAICommand_SpecialMove { public: unsigned char StanceType; // 0x00F4 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51479]; return pClassPointer; }; void Popped(); void Pushed(); void SetGunStance(); }; UClass* UAICommand_Hans_GunStance::pClassPointer = NULL; // Class KFGame.AICommand_HeadlessWander // 0x0024 (0x00DC - 0x00B8) class UAICommand_HeadlessWander : public UAICommand { public: class AController* EventInstigator; // 0x00B8 (0x0008) [0x0000000000000000] float RandomMoveDist; // 0x00C0 (0x0004) [0x0000000000000000] float DotCheck; // 0x00C4 (0x0004) [0x0000000000000000] float LastHeadlessAttackTime; // 0x00C8 (0x0004) [0x0000000000000000] DWORD bDebugWander : 1; // 0x00CC (0x0004) [0x0000000000000000] [0x00000001] struct FVector Dest; // 0x00D0 (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51495]; return pClassPointer; }; void NotifyHearNoise(); void CalcTurnDirection(); void ShouldRunSomewhereElse(); void AllowTransitionTo(); void Popped(); void Pushed(); void HeadlessWander(); }; UClass* UAICommand_HeadlessWander::pClassPointer = NULL; // Class KFGame.AICommand_MoveToEnemy // 0x0068 (0x0120 - 0x00B8) class UAICommand_MoveToEnemy : public UAICommand { public: class AActor* Path; // 0x00B8 (0x0008) [0x0000000000000000] class AActor* Find; // 0x00C0 (0x0008) [0x0000000000000000] float Radius; // 0x00C8 (0x0004) [0x0000000000000000] int MoveTriesRemaining; // 0x00CC (0x0004) [0x0000000000000000] DWORD bCompleteMove : 1; // 0x00D0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bAllowedToAttackDuringMove : 1; // 0x00D0 (0x0004) // [0x0000000000000000] [0x00000002] float GoalDistance; // 0x00D4 (0x0004) [0x0000000000000000] float AbandonDistance; // 0x00D8 (0x0004) [0x0000000000000000] struct FBasedPosition LastEnemyLocation; // 0x00DC (0x0038) [0x0000000000000000] float RepathDistance; // 0x0114 (0x0004) [0x0000000000000000] class AActor* OverrideFocus; // 0x0118 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51548]; return pClassPointer; }; void JumpToTarget(); void eventGetDumpString(); void DirectMoveTimeout(); void CheckEnemyMoved(); void CheckReachedEnemy(); void SprintTimer(); void NotifyPlayerBecameVisible(); void Resumed(); void Paused(); void Popped(); void Pushed(); void MoveToEnemy(); }; UClass* UAICommand_MoveToEnemy::pClassPointer = NULL; // Class KFGame.AICommand_PanicWander // 0x0000 (0x00DC - 0x00DC) class UAICommand_PanicWander : public UAICommand_HeadlessWander { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51603]; return pClassPointer; }; void Popped(); void EndWander(); void Resumed(); void PanicWander(); }; UClass* UAICommand_PanicWander::pClassPointer = NULL; // Class KFGame.AICommand_Pause // 0x0008 (0x00C0 - 0x00B8) class UAICommand_Pause : public UAICommand { public: float PauseTime; // 0x00B8 (0x0004) [0x0000000000000000] DWORD bStopMovement : 1; // 0x00BC (0x0004) [0x0000000000000000] [0x00000001] DWORD bAbortCommands : 1; // 0x00BC (0x0004) [0x0000000000000000] // [0x00000002] DWORD bWaitForLanding : 1; // 0x00BC (0x0004) [0x0000000000000000] // [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51616]; return pClassPointer; }; void CanChangeEnemy(); void AllowTransitionTo(); void Paused(); void Popped(); void Pushed(); void Pause(); }; UClass* UAICommand_Pause::pClassPointer = NULL; // Class KFGame.AICommand_StepAside // 0x0088 (0x0140 - 0x00B8) class UAICommand_StepAside : public UAICommand { public: struct FBasedPosition PreStepAsideLocation; // 0x00B8 (0x0038) [0x0000000000000000] struct FBasedPosition StepAsideLocation; // 0x00F0 (0x0038) [0x0000000000000000] DWORD bDelayStep : 1; // 0x0128 (0x0004) [0x0000000000000000] [0x00000001] DWORD bNoFocus : 1; // 0x0128 (0x0004) [0x0000000000000000] [0x00000002] struct FVector OriginalFocalPoint; // 0x012C (0x000C) [0x0000000000000000] class AActor* OriginalFocus; // 0x0138 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51642]; return pClassPointer; }; void DrawDebug(); void eventGetDumpString(); void Popped(); void Pushed(); void StepAside(); }; UClass* UAICommand_StepAside::pClassPointer = NULL; // Class KFGame.AICommand_Stumble // 0x000D (0x0105 - 0x00F8) class UAICommand_Stumble : public UAICommand_PushedBySM { public: struct FVector Momentum; // 0x00F8 (0x000C) [0x0000000000000000] unsigned char HitZoneLimb; // 0x0104 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51686]; return pClassPointer; }; void IsAllowedToAttack(); void ShouldIgnoreTimeTransitions(); void Popped(); void Pushed(); void Stumble(); }; UClass* UAICommand_Stumble::pClassPointer = NULL; // Class KFGame.AICommand_SummonZeds // 0x000C (0x0100 - 0x00F4) class UAICommand_SummonZeds : public UAICommand_SpecialMove { public: class UKFAIWaveInfo* SummonWave; // 0x00F4 (0x0008) [0x0000000000000000] int MaxBossMinions; // 0x00FC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51702]; return pClassPointer; }; void Popped(); void Pushed(); void Summon(); }; UClass* UAICommand_SummonZeds::pClassPointer = NULL; // Class KFGame.KFAIWaveInfo // 0x0038 (0x0098 - 0x0060) class UKFAIWaveInfo : public UObject { public: DWORD bRecycleWave : 1; // 0x0060 (0x0004) [0x0000000000000000] [0x00000001] TArray Squads; // 0x0064 (0x0010) [0x0000000000000000] TArray SpecialSquads; // 0x0074 (0x0010) [0x0000000000000000] int MaxAI; // 0x0084 (0x0004) [0x0000000000000000] TArray EventSquads; // 0x0088 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51718]; return pClassPointer; }; void GetEventSquadList(); void GetSpecialSquad(); void GetNewSquadList(); }; UClass* UKFAIWaveInfo::pClassPointer = NULL; // Class KFGame.KFSM_Zed_Taunt // 0x0001 (0x0151 - 0x0150) class UKFSM_Zed_Taunt : public UKFSM_PlaySingleAnim { public: unsigned char CurrentTauntType; // 0x0150 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51739]; return pClassPointer; }; void SpecialMoveEnded(); void PlayAnimation(); void PackSMFlags(); void PackFlagsBase(); }; UClass* UKFSM_Zed_Taunt::pClassPointer = NULL; // Class KFGame.AICommand_ThrowGrenade // 0x0008 (0x00FC - 0x00F4) class UAICommand_ThrowGrenade : public UAICommand_SpecialMove { public: int GrenadeBarrage; // 0x00F4 (0x0004) [0x0000000000000000] DWORD bHuntAndHeal : 1; // 0x00F8 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51745]; return pClassPointer; }; void Popped(); void LockdownAI(); void Pushed(); void ThrowGrenade(); }; UClass* UAICommand_ThrowGrenade::pClassPointer = NULL; // Class KFGame.AIDebugGoal // 0x0008 (0x024C - 0x0244) class AAIDebugGoal : public AActor { public: struct FName GoalName; // 0x0244 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[51818]; return pClassPointer; }; }; UClass* AAIDebugGoal::pClassPointer = NULL; // Class KFGame.KFweapDef_Knife_Base // 0x0001 (0x00A4 - 0x00A3) class UKFweapDef_Knife_Base : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52115]; return pClassPointer; }; }; UClass* UKFweapDef_Knife_Base::pClassPointer = NULL; // Class KFGame.KFWeapDef_9mm // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_9mm : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52116]; return pClassPointer; }; }; UClass* UKFWeapDef_9mm::pClassPointer = NULL; // Class KFGame.KFWeapDef_Remington1858 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Remington1858 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52117]; return pClassPointer; }; }; UClass* UKFWeapDef_Remington1858::pClassPointer = NULL; // Class KFGame.KFWeapDef_Colt1911 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Colt1911 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52118]; return pClassPointer; }; }; UClass* UKFWeapDef_Colt1911::pClassPointer = NULL; // Class KFGame.KFWeapDef_Deagle // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Deagle : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52119]; return pClassPointer; }; }; UClass* UKFWeapDef_Deagle::pClassPointer = NULL; // Class KFGame.KFWeapDef_SW500 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_SW500 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52120]; return pClassPointer; }; }; UClass* UKFWeapDef_SW500::pClassPointer = NULL; // Class KFGame.KFWeapDef_MedicPistol // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MedicPistol : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52121]; return pClassPointer; }; }; UClass* UKFWeapDef_MedicPistol::pClassPointer = NULL; // Class KFGame.KFVoteCollector // 0x00A0 (0x0100 - 0x0060) class UKFVoteCollector : public UObject { public: unsigned char VoteTime; // 0x0060 (0x0001) [0x0000000000000000] unsigned char ShortenedTime; // 0x0061 (0x0001) [0x0000000000000000] unsigned char YesVotes; // 0x0062 (0x0001) [0x0000000000000000] unsigned char NoVotes; // 0x0063 (0x0001) [0x0000000000000000] unsigned char KickedPlayers; // 0x0064 (0x0001) [0x0000000000000000] unsigned char LastKickVoteValue; // 0x0065 (0x0001) [0x0000000000000000] struct FsKickVoteInfo CurrentVote; // 0x0068 (0x0020) [0x0000000000000000] DWORD bIsVoteInProgress : 1; // 0x0088 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bIsFailedVoteTimerActive : 1; // 0x0088 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bAllPlayersVotedOnMap : 1; // 0x0088 (0x0004) [0x0000000000000000] // [0x00000004] int TopResultsToShow; // 0x008C (0x0004) [0x0000000000000000] int ActiveTimeUntilVoteEnabled; // 0x0090 (0x0004) [0x0000000000000000] TArray PlayersThatHaveVoted; // 0x0094 (0x0010) [0x0000000000000000] struct FTopVotes TopVotesObject; // 0x00A4 (0x003C) [0x0000000000000000] TArray MapVoteList; // 0x00E0 (0x0010) [0x0000000000000000] TArray MapList; // 0x00F0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52123]; return pClassPointer; }; void MapVoteSort(); void CheckAllPlayerVoted(); void CheckMajorityPlayersVotedOnMap(); void ShortenVoteTime(); void ReceiveVoteMap(); void SearchAndClearPreviousVote(); void GetNextMap(); void AddMapOption(); void ClearFailedVoteFlag(); void ConcludeVoteKick(); void ShouldConcludeVote(); void UnPackVotes(); void ReplicateVotes(); void RecieveVoteKick(); void ServerStartVoteKick(); }; UClass* UKFVoteCollector::pClassPointer = NULL; // Class KFGame.GroundFireEmitterPool // 0x0000 (0x02BC - 0x02BC) class AGroundFireEmitterPool : public AEmitterPool { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52228]; return pClassPointer; }; }; UClass* AGroundFireEmitterPool::pClassPointer = NULL; // Class KFGame.KFAccessControl // 0x0014 (0x03BC - 0x03A8) class AKFAccessControl : public AAccessControl { public: DWORD bSilentAdminLogin : 1; // 0x03A8 (0x0004) [0x0000000000000000] // [0x00000001] TArray SessionBannedIDs; // 0x03AC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52231]; return pClassPointer; }; void IsIDBanned(); void IsSessionBanned(); void KickBanPlayer(); void AdminLogout(); void AdminExited(); void AdminEntered(); void ForceKickPlayer(); void KickSessionBanPlayer(); }; UClass* AKFAccessControl::pClassPointer = NULL; // Class KFGame.KFLocalMessage // 0x0224 (0x0298 - 0x0074) class UKFLocalMessage : public ULocalMessage { public: struct FString SystemString; // 0x0074 (0x0010) [0x0000000000000000] struct FString AdminString; // 0x0084 (0x0010) [0x0000000000000000] struct FString LoggedInAsAdminString; // 0x0094 (0x0010) [0x0000000000000000] struct FString LoggedOutAsAdminString; // 0x00A4 (0x0010) [0x0000000000000000] struct FString MustLoginToCheatString; // 0x00B4 (0x0010) [0x0000000000000000] struct FString CheatsEnabledString; // 0x00C4 (0x0010) [0x0000000000000000] struct FString ServerMaintenanceString; // 0x00D4 (0x0010) [0x0000000000000000] struct FString KickVoteStartedString; // 0x00E4 (0x0010) [0x0000000000000000] struct FString KickVoteFailedString; // 0x00F4 (0x0010) [0x0000000000000000] struct FString KickVoteSucceededString; // 0x0104 (0x0010) [0x0000000000000000] struct FString KickVoteRejectedString; // 0x0114 (0x0010) [0x0000000000000000] struct FString KickVoteInProgressString; // 0x0124 (0x0010) [0x0000000000000000] struct FString KickVoteDisabledString; // 0x0134 (0x0010) [0x0000000000000000] struct FString KickVoteYesReceivedString; // 0x0144 (0x0010) [0x0000000000000000] struct FString KickVoteNoReceivedString; // 0x0154 (0x0010) [0x0000000000000000] struct FString KickVoteKickAdminString; // 0x0164 (0x0010) [0x0000000000000000] struct FString KickVoteActiveTimeString; // 0x0174 (0x0010) [0x0000000000000000] struct FString KickVoteMatchNotStartedString; // 0x0184 (0x0010) [0x0000000000000000] struct FString KickVoteMaxKicksReachedString; // 0x0194 (0x0010) [0x0000000000000000] struct FString KickVoteNotEnoughPlayersString; // 0x01A4 (0x0010) [0x0000000000000000] struct FString KickVoteNoSpectatorsString; // 0x01B4 (0x0010) [0x0000000000000000] struct FString KickedFromServerString; // 0x01C4 (0x0010) [0x0000000000000000] struct FString BannedFromServerString; // 0x01D4 (0x0010) [0x0000000000000000] struct FString ServerNoLongerAvailableString; // 0x01E4 (0x0010) [0x0000000000000000] int MessageArea; // 0x01F4 (0x0004) [0x0000000000000000] int AnnouncementPriority; // 0x01F8 (0x0004) [0x0000000000000000] DWORD bShowPortrait : 1; // 0x01FC (0x0004) [0x0000000000000000] [0x00000001] float AnnouncementVolume; // 0x0200 (0x0004) [0x0000000000000000] float AnnouncementDelay; // 0x0204 (0x0004) [0x0000000000000000] struct FString SayColor; // 0x0208 (0x0010) [0x0000000000000000] struct FString TeamSayColor; // 0x0218 (0x0010) [0x0000000000000000] struct FString NonAffialiatedColor; // 0x0228 (0x0010) [0x0000000000000000] struct FString EventColor; // 0x0238 (0x0010) [0x0000000000000000] struct FString GameColor; // 0x0248 (0x0010) [0x0000000000000000] struct FString InteractionColor; // 0x0258 (0x0010) [0x0000000000000000] struct FString PriorityColor; // 0x0268 (0x0010) [0x0000000000000000] struct FString DefaultColor; // 0x0278 (0x0010) [0x0000000000000000] struct FString ConnectionColor; // 0x0288 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52260]; return pClassPointer; }; void getLocalized(); void GetHexColor(); void KilledByVictoryMessage(); void GetPos(); void AnnouncementSound(); void AnnouncementLevel(); void GetString(); }; UClass* UKFLocalMessage::pClassPointer = NULL; // Class KFGame.KFAffliction_EMPDisrupt // 0x0000 (0x00D4 - 0x00D4) class UKFAffliction_EMPDisrupt : public UKFAffliction_EMP { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[52369]; return pClassPointer; }; void SetEMPDisrupted(); void EMPDisruptTimer(); void Accrue(); }; UClass* UKFAffliction_EMPDisrupt::pClassPointer = NULL; // Class KFGame.KFSM_Block // 0x002C (0x017C - 0x0150) class UKFSM_Block : public UKFSM_PlaySingleAnim { public: TArray BlockAnims; // 0x0150 (0x0010) [0x0000000000000000] class AKFGameInfo* MyKFGI; // 0x0160 (0x0008) [0x0000000000000000] class AKFPawn_Monster* MyMonsterPawn; // 0x0168 (0x0008) [0x0000000000000000] int NumBlocks; // 0x0170 (0x0004) [0x0000000000000000] unsigned char ReactionDir; // 0x0174 (0x0001) [0x0000000000000000] DWORD bPlayedBlockBreak : 1; // 0x0178 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bUseBlockSprintSpeed : 1; // 0x0178 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[54221]; return pClassPointer; }; void SpecialMoveEnded(); void NotifyHitReactionInterrupt(); void Timer_BlockBroken(); void Timer_BlockDurationExpired(); void Timer_EnableBlocking(); void SpecialMoveFlagsUpdated(); void Timer_ResetSpecialMoveFlags(); void PlayAnimation(); void GetSprintSpeedModifier(); void AdjustSprintSpeed(); void SpecialMoveStarted(); void CanChainMove(); void CanOverrideMoveWith(); void InternalCanDoSpecialMove(); void PackBlockSMFLags(); }; UClass* UKFSM_Block::pClassPointer = NULL; // Class KFGame.KFDummyReplicationInfo // 0x0000 (0x0324 - 0x0324) class AKFDummyReplicationInfo : public APlayerReplicationInfo { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[54370]; return pClassPointer; }; void ShouldBroadCastWelcomeMessage(); }; UClass* AKFDummyReplicationInfo::pClassPointer = NULL; // Class KFGame.KFCameraShake // 0x0008 (0x00E8 - 0x00E0) class UKFCameraShake : public UCameraShake { public: class UForceFeedbackWaveform* FFWaveform; // 0x00E0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[54383]; return pClassPointer; }; }; UClass* UKFCameraShake::pClassPointer = NULL; // Class KFGame.KFDT_Slashing // 0x0000 (0x0164 - 0x0164) class UKFDT_Slashing : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[54661]; return pClassPointer; }; void GetKillerDialogID(); void CanDismemberHitZone(); void GetBloodScale(); void AddBloodSpread(); void GetLastSlashDirection(); }; UClass* UKFDT_Slashing::pClassPointer = NULL; // Class KFGame.KFLocalMessage_Priority // 0x0150 (0x03E8 - 0x0298) class UKFLocalMessage_Priority : public UKFLocalMessage { public: struct FString WaveStartMessage; // 0x0298 (0x0010) [0x0000000000000000] struct FString WaveEndMessage; // 0x02A8 (0x0010) [0x0000000000000000] struct FString GetToTraderMessage; // 0x02B8 (0x0010) [0x0000000000000000] struct FString ScavengeMessage; // 0x02C8 (0x0010) [0x0000000000000000] struct FString YouLostMessage; // 0x02D8 (0x0010) [0x0000000000000000] struct FString YouWonMessage; // 0x02E8 (0x0010) [0x0000000000000000] struct FString SquadWipedOutMessage; // 0x02F8 (0x0010) [0x0000000000000000] struct FString SquadSurvivedMessage; // 0x0308 (0x0010) [0x0000000000000000] struct FString ObjectiveStartMessage; // 0x0318 (0x0010) [0x0000000000000000] struct FString ObjectiveWonMessage; // 0x0328 (0x0010) [0x0000000000000000] struct FString ObjectiveLostMessage; // 0x0338 (0x0010) [0x0000000000000000] struct FString ObjectiveEndedMessage; // 0x0348 (0x0010) [0x0000000000000000] struct FString ObjNotEnoughPlayersMessage; // 0x0358 (0x0010) [0x0000000000000000] struct FString ObjTimeRanOutMessage; // 0x0368 (0x0010) [0x0000000000000000] struct FString HumansLoseMessage; // 0x0378 (0x0010) [0x0000000000000000] struct FString HumansWinMessage; // 0x0388 (0x0010) [0x0000000000000000] struct FString AttackHumanPlayersString; // 0x0398 (0x0010) [0x0000000000000000] struct FString ZedGroupRegroupingString; // 0x03A8 (0x0010) [0x0000000000000000] struct FString NextRoundBeginString; // 0x03B8 (0x0010) [0x0000000000000000] struct FString PlayerCanChangePerksString; // 0x03C8 (0x0010) [0x0000000000000000] struct FString ZedWaitingForNextRoundString; // 0x03D8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55336]; return pClassPointer; }; void GetMessageLifeTime(); void OpenPerkMenu(); void CloseMenus(); void GetMessageString(); void ClientReceive(); }; UClass* UKFLocalMessage_Priority::pClassPointer = NULL; // Class KFGame.KFGoreJointInfo // 0x007C (0x00DC - 0x0060) class UKFGoreJointInfo : public UObject { public: struct FName HitBoneName; // 0x0060 (0x0008) [0x0000000000000000] DWORD bNonBreakableJoint : 1; // 0x0068 (0x0004) [0x0000000000000000] // [0x00000001] TArray BoneShrinkGore; // 0x006C (0x0010) [0x0000000000000000] TArray HitExplosionGore; // 0x007C (0x0010) [0x0000000000000000] TArray DependentBreakGore; // 0x008C (0x0010) [0x0000000000000000] TArray BloodJets; // 0x009C (0x0010) [0x0000000000000000] TArray BloodTrails; // 0x00AC (0x0010) [0x0000000000000000] TArray BloodMICParamName; // 0x00BC (0x0010) [0x0000000000000000] TArray DismembermentEffects; // 0x00CC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55353]; return pClassPointer; }; }; UClass* UKFGoreJointInfo::pClassPointer = NULL; // Class KFGame.KFDT_Ballistic // 0x0000 (0x0164 - 0x0164) class UKFDT_Ballistic : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55360]; return pClassPointer; }; void GetDamageeDialogID(); void GetKillerDialogID(); void CanDismemberHitZone(); }; UClass* UKFDT_Ballistic::pClassPointer = NULL; // Class KFGame.KFGoreChunkAttachmentInfo // 0x0020 (0x0080 - 0x0060) class UKFGoreChunkAttachmentInfo : public UObject { public: class UStaticMesh* StaticMesh; // 0x0060 (0x0008) [0x0000000000000000] struct FName SocketName; // 0x0068 (0x0008) [0x0000000000000000] TArray DismemberedBoneList; // 0x0070 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55381]; return pClassPointer; }; void ShouldDetachGoreChunk(); void ShouldAttachGoreChunk(); }; UClass* UKFGoreChunkAttachmentInfo::pClassPointer = NULL; // Class KFGame.KFDT_Bleeding // 0x0000 (0x0164 - 0x0164) class UKFDT_Bleeding : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55389]; return pClassPointer; }; }; UClass* UKFDT_Bleeding::pClassPointer = NULL; // Class KFGame.KFProj_RicochetBullet // 0x0010 (0x03B0 - 0x03A0) class AKFProj_RicochetBullet : public AKFProj_Bullet { public: int BouncesLeft; // 0x03A0 (0x0004) [0x0000000000000000] float DampingFactor; // 0x03A4 (0x0004) [0x0000000000000000] class UKFImpactEffectInfo* RicochetEffects; // 0x03A8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55395]; return pClassPointer; }; void Bounce(); }; UClass* AKFProj_RicochetBullet::pClassPointer = NULL; // Class KFGame.KFProj_PinningBullet // 0x000C (0x03BC - 0x03B0) class AKFProj_PinningBullet : public AKFProj_RicochetBullet { public: class ARB_ConstraintActor* PinConstraint; // 0x03B0 (0x0008) [0x0000000000000000] DWORD bPinned : 1; // 0x03B8 (0x0004) [0x0000000000000000] [0x00000001] DWORD bSpawnedForPin : 1; // 0x03B8 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55394]; return pClassPointer; }; void PinVictim(); void CreatePin(); }; UClass* AKFProj_PinningBullet::pClassPointer = NULL; // Class KFGame.KFSM_Emerge // 0x0048 (0x017C - 0x0134) class UKFSM_Emerge : public UKFSpecialMove { public: TArray FloorEmerge; // 0x0134 (0x0010) [0x0000000000000000] TArray Wall248Emerge; // 0x0144 (0x0010) [0x0000000000000000] TArray WallHighEmerge; // 0x0154 (0x0010) [0x0000000000000000] TArray CeilingEmerge; // 0x0164 (0x0010) [0x0000000000000000] float BlendOutTime; // 0x0174 (0x0004) [0x0000000000000000] DWORD bDoKnockdown : 1; // 0x0178 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55401]; return pClassPointer; }; void FindAnchorFailsafe(); void AbortSpecialMove(); void PushOverlappingHumans(); void RestoreCollision(); void AnimEndNotify(); void Timer_CheckForPortalDestructibles(); void SpecialMoveEnded(); void PlayEmerge(); void SpecialMoveStarted(); void CanOverrideMoveWith(); void GetEmergeAnim(); void GetEmergeAnimNum(); void PackAnimFlag(); }; UClass* UKFSM_Emerge::pClassPointer = NULL; // Class KFGame.KFExplosionActor // 0x004C (0x0318 - 0x02CC) class AKFExplosionActor : public AGameExplosionActor { public: struct FMaterialImpactEffect MyImpactEffect; // 0x02CC (0x0044) [0x0000000000000000] unsigned char NumPawnsKilled; // 0x0310 (0x0001) [0x0000000000000000] unsigned char ExplosionLightPriority; // 0x0311 (0x0001) [0x0000000000000000] float DamageScalePerStack; // 0x0314 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55405]; return pClassPointer; }; void Reset(); void IsBehindExplosion(); void CalcStackingDamageScale(); void DrawDebug(); void DoExplosionDamage(); void StumblePawn(); void KnockdownPawn(); void SpecialPawnEffectsFor(); void SpawnExplosionDecal(); void SpawnExplosionParticleSystem(); void UpdateExplosionTemplateWithPerMaterialFX(); void SpawnShards(); void Explode(); }; UClass* AKFExplosionActor::pClassPointer = NULL; // Class KFGame.KFExplosionActorReplicated // 0x000C (0x0324 - 0x0318) class AKFExplosionActorReplicated : public AKFExplosionActor { public: class UGameExplosion* ExploTemplateRef; // 0x0318 (0x0008) [0x0000000000160000] ( // CPF_EditConst | CPF_GlobalConfig ) DWORD bIgnoreInstigator : 1; // 0x0320 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bTraceForHitActorWhenDirectionalExplosion : 1; // 0x0320 (0x0004) // [0x0000000000170000] // [0x00000002] ( // CPF_Travel | // CPF_EditConst | // CPF_GlobalConfig ) DWORD bSyncParticlesToMuzzle : 1; // 0x0320 (0x0004) [0x0000000000180000] // [0x00000004] ( CPF_Component ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55404]; return pClassPointer; }; void GetMuzzleEffectLocation(); void SpawnExplosionParticleSystem(); void Explode(); void eventReplicatedEvent(); }; UClass* AKFExplosionActorReplicated::pClassPointer = NULL; // Class KFGame.KFDT_Fire // 0x0000 (0x0164 - 0x0164) class UKFDT_Fire : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55411]; return pClassPointer; }; void GetDamageeDialogID(); void GetDamagerDialogID(); void GetKillerDialogID(); }; UClass* UKFDT_Fire::pClassPointer = NULL; // Class KFGame.KFDT_Fire_Napalm // 0x0000 (0x0164 - 0x0164) class UKFDT_Fire_Napalm : public UKFDT_Fire { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55410]; return pClassPointer; }; }; UClass* UKFDT_Fire_Napalm::pClassPointer = NULL; // Class KFGame.KFDT_Bludgeon // 0x0000 (0x0164 - 0x0164) class UKFDT_Bludgeon : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55416]; return pClassPointer; }; void GetKillerDialogID(); }; UClass* UKFDT_Bludgeon::pClassPointer = NULL; // Class KFGame.KFDT_Explosive_Sacrifice // 0x0000 (0x0164 - 0x0164) class UKFDT_Explosive_Sacrifice : public UKFDT_Explosive { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55429]; return pClassPointer; }; }; UClass* UKFDT_Explosive_Sacrifice::pClassPointer = NULL; // Class KFGame.KFVersusNoTakeoverVolume // 0x0000 (0x0280 - 0x0280) class AKFVersusNoTakeoverVolume : public AVolume { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55437]; return pClassPointer; }; }; UClass* AKFVersusNoTakeoverVolume::pClassPointer = NULL; // Class KFGame.KFMonsterDifficultyInfo // 0x0220 (0x0280 - 0x0060) class UKFMonsterDifficultyInfo : public UObject { public: struct FZedDifficultySettings Normal; // 0x0060 (0x0064) [0x0000000000000000] struct FZedDifficultySettings Hard; // 0x00C4 (0x0064) [0x0000000000000000] struct FZedDifficultySettings Suicidal; // 0x0128 (0x0064) [0x0000000000000000] struct FZedDifficultySettings HellOnEarth; // 0x018C (0x0064) [0x0000000000000000] float NumPlayersScale_BodyHealth; // 0x01F0 (0x0004) [0x0000000000000000] float NumPlayersScale_HeadHealth; // 0x01F4 (0x0004) [0x0000000000000000] float NumPlayersScale_BodyHealth_Versus; // 0x01F8 (0x0004) // [0x0000000000000000] float NumPlayersScale_HeadHealth_Versus; // 0x01FC (0x0004) // [0x0000000000000000] struct FsEvadeOnDamageInfo EvadeOnDamageSettings_Versus; // 0x0200 (0x0010) [0x0000000000000000] struct FsBlockInfo BlockSettings_Versus; // 0x0210 (0x0024) [0x0000000000000000] struct FsBlockInfo BlockSettings_Player_Versus; // 0x0234 (0x0024) [0x0000000000000000] struct FsRallyInfo RallySettings_Versus; // 0x0258 (0x0010) [0x0000000000000000] struct FsRallyInfo RallySettings_Player_Versus; // 0x0268 (0x0010) [0x0000000000000000] float ZedTimeSpeedScale_Versus; // 0x0278 (0x0004) [0x0000000000000000] float ZedTimeSpeedScale_Player_Versus; // 0x027C (0x0004) // [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55438]; return pClassPointer; }; void GetMovementSpeedMod(); void GetZedTimeSpeedScale(); void GetBlockSettings(); void GetRallySettings(); void GetEvadeOnDamageSettings(); }; UClass* UKFMonsterDifficultyInfo::pClassPointer = NULL; // Class KFGame.KFDT_NPCBump // 0x0000 (0x0164 - 0x0164) class UKFDT_NPCBump : public UKFDT_Bludgeon { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55458]; return pClassPointer; }; }; UClass* UKFDT_NPCBump::pClassPointer = NULL; // Class KFGame.KFSM_RagdollKnockdown // 0x001C (0x0150 - 0x0134) class UKFSM_RagdollKnockdown : public UKFSpecialMove { public: float KnockdownMaxZ; // 0x0134 (0x0004) [0x0000000000000000] int MaxKnockdownPawns; // 0x0138 (0x0004) [0x0000000000000000] struct FVector KnockdownStartLoc; // 0x013C (0x000C) [0x0000000000000000] class UParticleSystemComponent* DazedPSC; // 0x0148 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55462]; return pClassPointer; }; void RestoreRBCollision(); void TermKnockdownRagdoll(); void EndKnockdown(); void KnockdownTimer(); void eventKnockdownFailsafe(); void PlayFallDown(); void ApplyKnockdownImpulse(); void DeferApplyKnockdownImpulse(); void SpecialMoveEnded(); void SpecialMoveStarted(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_RagdollKnockdown::pClassPointer = NULL; // Class KFGame.KFSM_Stunned // 0x0048 (0x017C - 0x0134) class UKFSM_Stunned : public UKFSpecialMove { public: struct FName StunnedAnim; // 0x0134 (0x0008) [0x0000000000000000] TArray WakeupAnims; // 0x013C (0x0010) [0x0000000000000000] float StunDuration; // 0x014C (0x0004) [0x0000000000000000] struct FVector2D PlayerStunDurationRange; // 0x0150 (0x0008) [0x0000000000000000] struct FVector2D StunDurationRange; // 0x0158 (0x0008) [0x0000000000000000] struct FName DazedFXSocketName; // 0x0160 (0x0008) [0x0000000000000000] struct FRotator DazedFXRelativeRotation; // 0x0168 (0x000C) [0x0000000000000000] class UParticleSystemComponent* DazedPSC; // 0x0174 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55463]; return pClassPointer; }; void AttachDazedEffect(); void SpecialMoveEnded(); void SpecialMoveFlagsUpdated(); void PlayWakeupAnimation(); void DoWakeup(); void DoStun(); void SpecialMoveStarted(); }; UClass* UKFSM_Stunned::pClassPointer = NULL; // Class KFGame.KFSM_Frozen // 0x0044 (0x0178 - 0x0134) class UKFSM_Frozen : public UKFSpecialMove { public: struct FName FrozenAnim; // 0x0134 (0x0008) [0x0000000000000000] TArray ThawAnims; // 0x013C (0x0010) [0x0000000000000000] float FreezeInTime; // 0x014C (0x0004) [0x0000000000000000] float FreezeOutTime; // 0x0150 (0x0004) [0x0000000000000000] struct FVector2D FreezeDuration; // 0x0154 (0x0008) [0x0000000000000000] float BeginFreezePhaseTime; // 0x015C (0x0004) [0x0000000000000000] float FreezeMatParamValue; // 0x0160 (0x0004) [0x0000000000000000] class UParticleSystem* FrozenSteamTemplate; // 0x0164 (0x0008) [0x0000000000000000] class UParticleSystemComponent* FrozenSteamEffect; // 0x016C (0x0008) [0x0000000000000000] DWORD bIsThawing : 1; // 0x0174 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55464]; return pClassPointer; }; void DelayedShatterTimer(); void PlayDeathEffects(); void SetFrozenParameter(); void OnGoreMeshSwap(); void SpecialMoveEnded(); void UpdateFreezeOutParam(); void UpdateFreezeInParam(); void SpecialMoveFlagsUpdated(); void PlayThawAnimation(); void DoThaw(); void DoFreeze(); void SpecialMoveStarted(); }; UClass* UKFSM_Frozen::pClassPointer = NULL; // Class KFGame.KFSM_Zed_WalkingTaunt // 0x0004 (0x0154 - 0x0150) class UKFSM_Zed_WalkingTaunt : public UKFSM_PlaySingleAnim { public: float WalkingTauntChance; // 0x0150 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55465]; return pClassPointer; }; void PlayAnimation(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_Zed_WalkingTaunt::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_HUD // 0x0124 (0x0308 - 0x01E4) class UKFGFxMoviePlayer_HUD : public UGFxMoviePlayer { public: class UKFGFxMoviePlayer_ScoreBoard* GfxScoreBoardPlayer; // 0x01E4 (0x0008) [0x0000000000000000] class UClass* ScoreBoardClass; // 0x01EC (0x0008) [0x0000000000000000] class UKFGFxHUD_SpectatorInfo* SpectatorInfoWidget; // 0x01F4 (0x0008) [0x0000000000000000] class UKFGFxHUD_PlayerStatus* PlayerStatusContainer; // 0x01FC (0x0008) [0x0000000000000000] class UKFGFxHUD_PlayerBackpack* PlayerBackpackContainer; // 0x0204 (0x0008) [0x0000000000000000] class UGFxObject* PriorityMessageContainer; // 0x020C (0x0008) [0x0000000000000000] class UGFxObject* BossNameplateContainer; // 0x0214 (0x0008) [0x0000000000000000] class UGFxObject* InteractionMessageContainer; // 0x021C (0x0008) [0x0000000000000000] class UKFGFxHUD_WeaponSelectWidget* KeyboardWeaponSelectWidget; // 0x0224 (0x0008) [0x0000000000000000] class UKFGFxHUD_WeaponSelectWidget* ControllerWeaponSelectWidget; // 0x022C (0x0008) [0x0000000000000000] class UKFGFxHUD_WeaponSelectWidget* WeaponSelectWidget; // 0x0234 (0x0008) [0x0000000000000000] class UKFGFxHUD_TraderCompass* TraderCompassWidget; // 0x023C (0x0008) [0x0000000000000000] class UKFGFxHUD_WaveInfo* WaveInfoWidget; // 0x0244 (0x0008) [0x0000000000000000] class UKFGFxWidget_VOIPNotification* VOIPWidget; // 0x024C (0x0008) [0x0000000000000000] class UKFGFxHUD_ChatBoxWidget* HudChatBox; // 0x0254 (0x0008) [0x0000000000000000] class UKFGFxWidget_LevelUpNotification* LevelUpNotificationWidget; // 0x025C (0x0008) [0x0000000000000000] class UKFGFxWidget_VoiceComms* VoiceCommsWidget; // 0x0264 (0x0008) [0x0000000000000000] class UKFGFxWidget_MusicNotification* MusicNotification; // 0x026C (0x0008) [0x0000000000000000] class UKFGFxWidget_KickVote* KickVoteWidget; // 0x0274 (0x0008) [0x0000000000000000] class UKFGFxWidget_NonCriticalGameMessage* NonCriticalGameMessageWidget; // 0x027C (0x0008) [0x0000000000000000] class UKFGFxWidget_RhythmCounter* RhythmCounterWidget; // 0x0284 (0x0008) [0x0000000000000000] class UKFGFxWidget_BossHealthBar* bossHealthBar; // 0x028C (0x0008) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x0294 (0x0008) [0x0000000000000000] float HUDScale; // 0x029C (0x0004) [0x0000000000000000] class UGFxObject* KFGXHUDManager; // 0x02A0 (0x0008) [0x0000000000000000] DWORD bIsSpectating : 1; // 0x02A8 (0x0004) [0x0000000000000000] [0x00000001] DWORD bIsVisible : 1; // 0x02A8 (0x0004) [0x0000000000000000] [0x00000002] DWORD bUsingGamepad : 1; // 0x02A8 (0x0004) [0x0000000000000000] [0x00000004] int CurrentInteractionIndex; // 0x02AC (0x0004) [0x0000000000000000] struct FString ControllerStringPrefix; // 0x02B0 (0x0010) [0x0000000000000000] struct FString HoldCommandDelimiter; // 0x02C0 (0x0010) [0x0000000000000000] struct FString ZEDTeamTextColor; // 0x02D0 (0x0010) [0x0000000000000000] struct FString HumanTeamTextColor; // 0x02E0 (0x0010) [0x0000000000000000] float UpdateInterval; // 0x02F0 (0x0004) [0x0000000000000000] float LastUpdateTime; // 0x02F4 (0x0004) [0x0000000000000000] struct FString PendingKickPlayerName; // 0x02F8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[55555]; return pClassPointer; }; void Callback_VoteKick(); void Callback_VoiceCommsSelection(); void Callback_VoiceCommsSay(); void Callback_WeaponSelectFadedOut(); void Callback_SelectWeapon(); void Callback_ChatBoxClosed(); void Callback_BroadcastChatMessage(); void ReceivePawn(); void PawnDied(); void ClearBuffIcons(); void NotifyHUDofWeapon(); void UpdateScale(); void UpdateKickVoteCount(); void HideKickVote(); void ShowKickVote(); void OpenChatBox(); void UpdateUsingGamePad(); void EatMyInput(); void UpdateRhythmCounterWidget(); void ShowNonCriticalMessage(); void HideInteractionMessage(); void SendInteractionMessageToGFX(); void GetInteractionMessagePriority(); void DisplayInteractionMessage(); void DisplayPriorityMessage(); void HideBossNamePlate(); void ShowBossNameplate(); void ShowKillMessage(); void NotifyHUDofPRIDestroyed(); void Cleanup(); void PlayerOwnerDied(); void ShowVoiceComms(); void ShowScoreboard(); void SetHUDSpectating(); void UpdateVisibilityState(); void NotifyVisibilityChange(); void UpdateWaveCount(); void TickHud(); void UpdateWeaponSelect(); void eventWidgetInitialized(); void UpdateRatio(); void ClearScoreboard(); void CreateScoreboard(); void Init(); }; UClass* UKFGFxMoviePlayer_HUD::pClassPointer = NULL; // Class KFGame.KFAISpawnSquad // 0x0014 (0x0074 - 0x0060) class UKFAISpawnSquad : public UObject { public: unsigned char MinVolumeType; // 0x0060 (0x0001) [0x0000000000000000] TArray MonsterList; // 0x0064 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56424]; return pClassPointer; }; }; UClass* UKFAISpawnSquad::pClassPointer = NULL; // Class KFGame.KFGameConductor // 0x01D8 (0x0238 - 0x0060) class UKFGameConductor : public UObject { public: float PlayersHealthStatus; // 0x0060 (0x0004) [0x0000000000000000] float PlayersAmmoStatus; // 0x0064 (0x0004) [0x0000000000000000] float AggregatePlayersStatus; // 0x0068 (0x0004) [0x0000000000000000] float PlayersLowHealthThreshold; // 0x006C (0x0004) [0x0000000000000000] float ZedVisibleAverageLifespan; // 0x0070 (0x0004) [0x0000000000000000] float TotalZedVisibleLifespan; // 0x0074 (0x0004) [0x0000000000000000] int TotalZedsKilled; // 0x0078 (0x0004) [0x0000000000000000] float CurrentWaveZedVisibleAverageLifeSpan; // 0x007C (0x0004) // [0x0000000000000000] float CurrentWaveTotalZedVisibleLifeSpan; // 0x0080 (0x0004) // [0x0000000000000000] int CurrentWaveTotalZedsKilled; // 0x0084 (0x0004) [0x0000000000000000] float RecentZedVisibleAverageLifeSpan; // 0x0088 (0x0004) // [0x0000000000000000] float RecentTotalZedVisibleLifeSpan; // 0x008C (0x0004) [0x0000000000000000] int RecentTotalZedsKilled; // 0x0090 (0x0004) [0x0000000000000000] float RecentZedLifeSpanTotalTracker[0xA]; // 0x0094 (0x0028) // [0x0000000000000000] float RecentZedKillTotalTracker[0xA]; // 0x00BC (0x0028) [0x0000000000000000] float AggregatePlayerSkill; // 0x00E4 (0x0004) [0x0000000000000000] float PlayersAverageAccuracy; // 0x00E8 (0x0004) [0x0000000000000000] float PlayersAverageHeadshotAccuracy; // 0x00EC (0x0004) [0x0000000000000000] float ParShotAccuracy; // 0x00F0 (0x0004) [0x0000000000000000] float ParHeadshotAccuracy; // 0x00F4 (0x0004) [0x0000000000000000] float HighlySkilledAccuracyMod; // 0x00F8 (0x0004) [0x0000000000000000] float HighlySkilledAccuracyModMax; // 0x00FC (0x0004) [0x0000000000000000] float LessSkilledAccuracyMod; // 0x0100 (0x0004) [0x0000000000000000] float LessSkilledAccuracyModMin; // 0x0104 (0x0004) [0x0000000000000000] float BaseLinePlayerShootingSkill; // 0x0108 (0x0004) [0x0000000000000000] float ShootingAccuracySkillWeight; // 0x010C (0x0004) [0x0000000000000000] float HeadShootingAccuracySkillWeight; // 0x0110 (0x0004) // [0x0000000000000000] float ParZedLifeSpan[0x4]; // 0x0114 (0x0010) [0x0000000000000000] float ParZedLifeSpanSolo[0x4]; // 0x0124 (0x0010) [0x0000000000000000] float ZedLifeSpanHighlySkilledThreshold; // 0x0134 (0x0004) // [0x0000000000000000] float ZedLifeSpanHighlySkilledThresholdMin; // 0x0138 (0x0004) // [0x0000000000000000] float ZedLifeSpanLessSkilledThreshold; // 0x013C (0x0004) // [0x0000000000000000] float ZedLifeSpanLessSkilledThresholdMax; // 0x0140 (0x0004) // [0x0000000000000000] float OverallRankAndSkillModifier; // 0x0144 (0x0004) [0x0000000000000000] float PerkRankPercentOfOverallSkill; // 0x0148 (0x0004) [0x0000000000000000] float AccuracyPercentOfOverallSkill; // 0x014C (0x0004) [0x0000000000000000] float ZedLifeSpanPercentOfOverallSkill; // 0x0150 (0x0004) // [0x0000000000000000] unsigned char GameConductorStatus; // 0x0154 (0x0001) [0x0000000000000000] float PlayerDeathForceLullLength; // 0x0158 (0x0004) [0x0000000000000000] float PlayerDeathForceLullTime; // 0x015C (0x0004) [0x0000000000000000] float SoloPlayerSurroundedForceLullLength; // 0x0160 (0x0004) // [0x0000000000000000] float SoloPlayerSurroundedForceLullTime; // 0x0164 (0x0004) // [0x0000000000000000] float AveragePlayerPerkRank; // 0x0168 (0x0004) [0x0000000000000000] struct FVector2D TargetPerkRankRange[0x4]; // 0x016C (0x0020) [0x0000000000000000] float CurrentTargetPerkRank; // 0x018C (0x0004) [0x0000000000000000] struct FInterpCurveFloat SpawnRateModificationRangeCurve[0x4]; // 0x0190 (0x0050) // [0x0000000000000000] float CurrentSpawnRateModification; // 0x01E0 (0x0004) [0x0000000000000000] struct FVector2D AIMovementSpeedModificationRange[0x4]; // 0x01E4 (0x0020) // [0x0000000000000000] float CurrentAIMovementSpeedMod; // 0x0204 (0x0004) [0x0000000000000000] float CurrentVersusZedHealthMod; // 0x0208 (0x0004) [0x0000000000000000] float CurrentVersusZedDamageMod; // 0x020C (0x0004) [0x0000000000000000] int AllowLowIntensityZedModeByDifficulty[0x4]; // 0x0210 (0x0010) // [0x0000000000000000] TArray LullSettings; // 0x0220 (0x0010) [0x0000000000000000] float LullCooldownStartTime; // 0x0230 (0x0004) [0x0000000000000000] DWORD bLogGameConductor : 1; // 0x0234 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bBypassGameConductor : 1; // 0x0234 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56437]; return pClassPointer; }; void Timer_EndLull(); void WithinRange(); void EvaluateAIMovementSpeedModification(); void EvaluateSpawnRateModification(); void UpdateOverallAttackCoolDowns(); void UpdateOverallStatus(); void GetParZedLifeSpan(); void UpdateZedLifespanStats(); void UpdatePlayerAccuracyStats(); void UpdatePlayersAggregateSkill(); void UpdatePlayersStatus(); void TimerUpdate(); void HandlePlayerChangedTeam(); void UpdateAveragePerkRank(); void ResetWaveStats(); void NotifySoloPlayerSurrounded(); void NotifyHumanTeamPlayerDeath(); void HandleZedKill(); void Initialize(); }; UClass* UKFGameConductor::pClassPointer = NULL; // Class KFGame.KFAISpawnManager_Long // 0x0000 (0x01C4 - 0x01C4) class UKFAISpawnManager_Long : public UKFAISpawnManager { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56510]; return pClassPointer; }; }; UClass* UKFAISpawnManager_Long::pClassPointer = NULL; // Class KFGame.KFAISpawnManager_Normal // 0x0000 (0x01C4 - 0x01C4) class UKFAISpawnManager_Normal : public UKFAISpawnManager { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56563]; return pClassPointer; }; }; UClass* UKFAISpawnManager_Normal::pClassPointer = NULL; // Class KFGame.KFAISpawnManager_Short // 0x0000 (0x01C4 - 0x01C4) class UKFAISpawnManager_Short : public UKFAISpawnManager { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56602]; return pClassPointer; }; }; UClass* UKFAISpawnManager_Short::pClassPointer = NULL; // Class KFGame.KFInterface_MinigameActor // 0x0000 (0x0060 - 0x0060) class UKFInterface_MinigameActor : public UInterface { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56779]; return pClassPointer; }; void eventCanPlayAkEvent(); void Deactivated(); void Activated(); void CanBeActivated(); }; UClass* UKFInterface_MinigameActor::pClassPointer = NULL; // Class KFGame.KFAnimNotify_PlayDialog // 0x0004 (0x0068 - 0x0064) class UKFAnimNotify_PlayDialog : public UAnimNotify_Scripted { public: int DialogID; // 0x0064 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56847]; return pClassPointer; }; void eventNotify(); }; UClass* UKFAnimNotify_PlayDialog::pClassPointer = NULL; // Class KFGame.KFAnimNotify_SpawnKActor // 0x0060 (0x00C4 - 0x0064) class UKFAnimNotify_SpawnKActor : public UAnimNotify_Scripted { public: class UStaticMesh* RigidBodyMesh; // 0x0064 (0x0008) [0x0000000000000000] struct FVector MinLinearVel; // 0x006C (0x000C) [0x0000000000000000] struct FVector MaxLinearVel; // 0x0078 (0x000C) [0x0000000000000000] struct FVector MinAngularVel; // 0x0084 (0x000C) [0x0000000000000000] struct FVector MaxAngularVel; // 0x0090 (0x000C) [0x0000000000000000] struct FVector MeshTranslation; // 0x009C (0x000C) [0x0000000000000000] struct FRotator MeshRotation; // 0x00A8 (0x000C) [0x0000000000000000] struct FName BoneName; // 0x00B4 (0x0008) [0x0000000000000000] DWORD bShouldHideBone : 1; // 0x00BC (0x0004) [0x0000000000000000] // [0x00000001] DWORD bNotifyPawnOwner : 1; // 0x00BC (0x0004) [0x0000000000000000] // [0x00000002] DWORD bClientOnly : 1; // 0x00BC (0x0004) [0x0000000000000000] [0x00000004] DWORD bIgnoreEffectRelevancy : 1; // 0x00BC (0x0004) [0x0000000000000000] // [0x00000008] float FirstPersonUnhideDelay; // 0x00C0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56854]; return pClassPointer; }; void eventNotify(); }; UClass* UKFAnimNotify_SpawnKActor::pClassPointer = NULL; // Class KFGame.KFWeapDef_Armor // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Armor : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[56976]; return pClassPointer; }; void GetItemLocalization(); }; UClass* UKFWeapDef_Armor::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_Manager // 0x0208 (0x03EC - 0x01E4) class UKFGFxMoviePlayer_Manager : public UGFxMoviePlayer { public: float LastForceCloseTime; // 0x01E4 (0x0004) [0x0000000000000000] float AllowMenusOpenAfterForceCloseTime; // 0x01E8 (0x0004) // [0x0000000000000000] TArray MenuSWFPaths; // 0x01EC (0x0010) [0x0000000000000000] class UKFGFxObject_Menu* CurrentMenu; // 0x01FC (0x0008) [0x0000000000000000] unsigned char CurrentMenuIndex; // 0x0204 (0x0001) [0x0000000000000000] unsigned char StartMenuState; // 0x0205 (0x0001) [0x0000000000000000] unsigned char CurrentPopUpType; // 0x0206 (0x0001) [0x0000000000000000] class UKFGFxMenu_StartGame* StartMenu; // 0x0208 (0x0008) [0x0000000000000000] class UKFGFxMenu_Perks* PerksMenu; // 0x0210 (0x0008) [0x0000000000000000] class UKFGFxMenu_Gear* GearMenu; // 0x0218 (0x0008) [0x0000000000000000] class UKFGFxMenu_Inventory* InventoryMenu; // 0x0220 (0x0008) [0x0000000000000000] class UKFGFxMenu_Store* StoreMenu; // 0x0228 (0x0008) [0x0000000000000000] class UKFGFxOptionsMenu_Controls* OptionsControlsMenu; // 0x0230 (0x0008) [0x0000000000000000] class UKFGFxOptionsMenu_Audio* OptionsAudioMenu; // 0x0238 (0x0008) [0x0000000000000000] class UKFGFxOptionsMenu_Graphics* OptionsGraphicsMenu; // 0x0240 (0x0008) [0x0000000000000000] class UKFGFxOptionsMenu_GameSettings* OptionsGameSettingsMenu; // 0x0248 (0x0008) [0x0000000000000000] class UKFGFxOptionsMenu_Selection* OptionsSelectionMenu; // 0x0250 (0x0008) [0x0000000000000000] class UKFGFxMenu_PostGameReport* PostGameMenu; // 0x0258 (0x0008) [0x0000000000000000] class UKFGFxMenu_Trader* TraderMenu; // 0x0260 (0x0008) [0x0000000000000000] class UKFGFxMenu_ServerBrowser* ServerBrowserMenu; // 0x0268 (0x0008) [0x0000000000000000] class UKFGFxMenu_Exit* ExitMenu; // 0x0270 (0x0008) [0x0000000000000000] class UKFGFxMenu_IIS* IISMenu; // 0x0278 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_ScreenSize* ScreenSizeMovie; // 0x0280 (0x0008) [0x0000000000000000] class UKFProfileSettings* CachedProfile; // 0x0288 (0x0008) [0x0000000000000000] DWORD bPostGameState : 1; // 0x0290 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bKickVotePopupActive : 1; // 0x0290 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUsingGamepad : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000004] DWORD bAfterLobby : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000008] DWORD bMenusOpen : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000010] DWORD bMenusActive : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000020] DWORD bSearchingForGame : 1; // 0x0290 (0x0004) [0x0000000000000000] // [0x00000040] DWORD bCanCloseMenu : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000080] DWORD bPlayerInLobby : 1; // 0x0290 (0x0004) [0x0000000000000000] // [0x00000100] DWORD bSetGamma : 1; // 0x0290 (0x0004) [0x0000000000000000] [0x00000200] class UClass* InGamePartyWidgetClass; // 0x0294 (0x0008) [0x0000000000000000] class UTextureMovie* CurrentBackgroundMovie; // 0x029C (0x0008) [0x0000000000000000] TArray DelayedPopups; // 0x02A4 (0x0010) [0x0000000000000000] int ActivePopup; // 0x02B4 (0x0004) [0x0000000000000000] class UKFGFxObject_Popup* CurrentPopup; // 0x02B8 (0x0008) [0x0000000000000000] TArray PopupData; // 0x02C0 (0x0010) [0x0000000000000000] struct FString FailedSearchTitleString; // 0x02D0 (0x0010) [0x0000000000000000] struct FString FailedSearchString; // 0x02E0 (0x0010) [0x0000000000000000] struct FString BrowseServersString; // 0x02F0 (0x0010) [0x0000000000000000] struct FString HasInvitedToGameString; // 0x0300 (0x0010) [0x0000000000000000] struct FString JoinGameString; // 0x0310 (0x0010) [0x0000000000000000] class UKFGFxWidget_MenuBar* MenuBarWidget; // 0x0320 (0x0008) [0x0000000000000000] class UKFGFxWidget_BaseParty* PartyWidget; // 0x0328 (0x0008) [0x0000000000000000] class UKFGFxWidget_ButtonPrompt* ButtonPromptWidget; // 0x0330 (0x0008) [0x0000000000000000] TArray WidgetPaths; // 0x0338 (0x0010) [0x0000000000000000] class APlayerReplicationInfo* VotePRI; // 0x0348 (0x0008) [0x0000000000000000] class UTWOnlineLobby* OnlineLobby; // 0x0350 (0x0008) [0x0000000000000000] struct FUniqueNetId CurrentInviteLobbyId; // 0x0358 (0x0008) [0x0000000000000000] struct FUniqueNetId ZeroUniqueId; // 0x0360 (0x0008) [0x0000000000000000] class UGFxObject* ManagerObject; // 0x0368 (0x0008) [0x0000000000000000] class AKFHUDBase* HUD; // 0x0370 (0x0008) [0x0000000000000000] TArray BackgroundMovies; // 0x0378 (0x0010) [0x0000000000000000] class UTextureMovie* IISMovie; // 0x0388 (0x0008) [0x0000000000000000] TArray IgnoredCommands; // 0x0390 (0x0010) [0x0000000000000000] struct FName SoundThemeName; // 0x03A0 (0x0008) [0x0000000000000000] int MouseInputChangedThreshold; // 0x03A8 (0x0004) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x03AC (0x0008) [0x0000000000000000] class UPlayfabInterface* PlayfabInter; // 0x03B4 (0x0008) [0x0000000000000000] struct FScriptDelegate __PendingRightButtonDelegate__Delegate; // 0x03BC (0x0010) // [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x03C0 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __PendingMiddleButtonDelegate__Delegate; // 0x03CC (0x0010) // [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x03D0 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __PendingLeftButtonDelegate__Delegate; // 0x03DC (0x0010) // [0x0000000000000000] unsigned char UnknownData02[0x4]; // 0x03E0 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57323]; return pClassPointer; }; void currentFocus(); void UpdateViewportSize(); void CloseScreenSizeMovie(); void OpenScreenSizeMovie(); void CastNoVote(); void CastYesVote(); void HideKickVote(); void ShowKickVote(); void NotifySpectateStateChanged(); void RemotePlayerDisconnected(); void UpdateVOIP(); void IsFocusIgnoreKey(); void GetKeyBindName(); void UpdateDynamicIgnoreKeys(); void GetUsingGamepad(); void OnInputTypeChanged(); void CheckIfUsingGamepad(); void eventFilterButtonInput(); void ChangeOverviewState(); void HandleSteamLobbyLeaderTakeOver(); void UpdateMenuBar(); void SetSearchingForMatch(); void SetStartMenuState(); void GetStartMenuState(); void GetMultiplayerMenuActive(); void IsInLobby(); void OnLobbyStatusChanged(); void ClientRecieveNewTeam(); void CanUnpauseMenuClosed(); void ConditionalPauseGame(); void UnloadPopups(); void LoadPopups(); void UnloadCurrentPopup(); void LoadPopup(); void OpenPopup(); void InitializePopup(); void AssignPendingRightButtonDelegate(); void AssignPendingMiddleButtonDelegate(); void AssignPendingLeftButtonDelegate(); void NotifyUnsuccessfulSearch(); void ShowWelcomeScreen(); void CloseTraderMenu(); void OnRoundOver(); void OnTraderTimeStart(); void SetHUDVisiblity(); void SetMenuVisibility(); void SetWidgetsVisible(); void eventMenusFinishedClosing(); void PlayOpeningSound(); void ToggleMenus(); void eventOnCleanup(); void eventOnClose(); void CloseMenus(); void ClosePostGameMenu(); void OnMenuOpen(); void LoadWidgets(); void LoadMenu(); void OpenMenu(); void SetMenusOpen(); void OneSecondLoop(); void OnForceUpdate(); void ForceUpdateNextFrame(); void AllowCloseMenu(); void StatsInitialized(); void eventWidgetInitialized(); void CheckSkipLobby(); void ShowDelayedPopupMessage(); void DelayedOpenPopup(); void DelayedShowDisconnectMessage(); void GetBackgroundMovie(); void UpdateBackgroundMovie(); void LaunchMenus(); void OnProfileSettingsRead(); void Init(); void PendingLeftButtonDelegate(); void PendingMiddleButtonDelegate(); void PendingRightButtonDelegate(); }; UClass* UKFGFxMoviePlayer_Manager::pClassPointer = NULL; // Class KFGame.KFCommon_LocalizedStrings // 0x0260 (0x02C0 - 0x0060) class UKFCommon_LocalizedStrings : public UObject { public: TArray DifficultyStrings; // 0x0060 (0x0010) [0x0000000000000000] TArray LengthStrings; // 0x0070 (0x0010) [0x0000000000000000] TArray ServerTypeStrings; // 0x0080 (0x0010) [0x0000000000000000] TArray PermissionStrings; // 0x0090 (0x0010) [0x0000000000000000] TArray ConsolePermissionStrings; // 0x00A0 (0x0010) [0x0000000000000000] TArray ModeStrings; // 0x00B0 (0x0010) [0x0000000000000000] struct FString TeamSwappedString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString NoPreferenceString; // 0x00D0 (0x0010) [0x0000000000000000] struct FString OKString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ConfirmString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString CancelString; // 0x0100 (0x0010) [0x0000000000000000] struct FString BackString; // 0x0110 (0x0010) [0x0000000000000000] struct FString PerkUpdateNoticeString; // 0x0120 (0x0010) [0x0000000000000000] struct FString NoticeString; // 0x0130 (0x0010) [0x0000000000000000] struct FString AcceptString; // 0x0140 (0x0010) [0x0000000000000000] struct FString DeclineString; // 0x0150 (0x0010) [0x0000000000000000] struct FString YesString; // 0x0160 (0x0010) [0x0000000000000000] struct FString NoString; // 0x0170 (0x0010) [0x0000000000000000] struct FString DisbandPartyString; // 0x0180 (0x0010) [0x0000000000000000] struct FString LeaveCurrentMenuString; // 0x0190 (0x0010) [0x0000000000000000] struct FString ZedString; // 0x01A0 (0x0010) [0x0000000000000000] struct FString HumanString; // 0x01B0 (0x0010) [0x0000000000000000] struct FString SpectatorString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString UnableToSwitchTeamString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString NoSwitchReasonString; // 0x01E0 (0x0010) [0x0000000000000000] struct FString TeamString; // 0x01F0 (0x0010) [0x0000000000000000] struct FString AllString; // 0x0200 (0x0010) [0x0000000000000000] struct FString LoadingString; // 0x0210 (0x0010) [0x0000000000000000] struct FString AutoTradeCompleteString; // 0x0220 (0x0010) [0x0000000000000000] struct FString AutoFillCompleteString; // 0x0230 (0x0010) [0x0000000000000000] struct FString WeaponUpgradeComepleteString; // 0x0240 (0x0010) [0x0000000000000000] struct FString SecondaryWeaponPurchasedString; // 0x0250 (0x0010) [0x0000000000000000] struct FString NoItemsPurchasedString; // 0x0260 (0x0010) [0x0000000000000000] struct FString SetTakeoverServerPasswordTitle; // 0x0270 (0x0010) [0x0000000000000000] struct FString FreeConsolePlayOverString; // 0x0280 (0x0010) [0x0000000000000000] struct FString BuyGameString; // 0x0290 (0x0010) [0x0000000000000000] struct FString CustomString; // 0x02A0 (0x0010) [0x0000000000000000] struct FString CancelConnectionString; // 0x02B0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57360]; return pClassPointer; }; void GetFriendlyMapName(); void GetGameModeString(); void GetGameModeStringsArray(); void GetPermissionStringsArray(); void GetPermissionString(); void GetServerTypeString(); void GetLengthString(); void GetLengthStringsArray(); void GetDifficultyString(); void GetDifficultyStringsArray(); }; UClass* UKFCommon_LocalizedStrings::pClassPointer = NULL; // Class KFGame.KFBossCamera // 0x006C (0x00D8 - 0x006C) class UKFBossCamera : public UGameCameraBase { public: struct FCameraOffsets BaseOffsets; // 0x006C (0x001C) [0x0000000000000000] struct FCameraOffsets BackupOffsets; // 0x0088 (0x001C) [0x0000000000000000] struct FCameraOffsets DeadOffsets; // 0x00A4 (0x001C) [0x0000000000000000] class UPointLightComponent* PointLightTemplate; // 0x00C0 (0x0008) [0x0000000000000000] class UPointLightComponent* PointLight; // 0x00C8 (0x0008) [0x0000000000000000] class AKFPawn_Monster* ViewedPawn; // 0x00D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57368]; return pClassPointer; }; void GetOffsets(); void UpdateCamera(); void OnBecomeInActive(); void OnBecomeActive(); }; UClass* UKFBossCamera::pClassPointer = NULL; // Class KFGame.KFEmit_CameraEffect // 0x0000 (0x028C - 0x028C) class AKFEmit_CameraEffect : public AEmitterCameraLensEffectBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57407]; return pClassPointer; }; }; UClass* AKFEmit_CameraEffect::pClassPointer = NULL; // Class KFGame.KFCameraLensEmit_BloodBase // 0x0000 (0x028C - 0x028C) class AKFCameraLensEmit_BloodBase : public AKFEmit_CameraEffect { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57410]; return pClassPointer; }; }; UClass* AKFCameraLensEmit_BloodBase::pClassPointer = NULL; // Class KFGame.KFCameraLensEmit_EMP // 0x0000 (0x028C - 0x028C) class AKFCameraLensEmit_EMP : public AKFEmit_CameraEffect { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57416]; return pClassPointer; }; }; UClass* AKFCameraLensEmit_EMP::pClassPointer = NULL; // Class KFGame.KFCameraLensEmit_Fire // 0x0000 (0x028C - 0x028C) class AKFCameraLensEmit_Fire : public AKFEmit_CameraEffect { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57420]; return pClassPointer; }; void NotifyRetriggered(); }; UClass* AKFCameraLensEmit_Fire::pClassPointer = NULL; // Class KFGame.KFCameraLensEmit_Puke // 0x0000 (0x028C - 0x028C) class AKFCameraLensEmit_Puke : public AKFEmit_CameraEffect { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57425]; return pClassPointer; }; }; UClass* AKFCameraLensEmit_Puke::pClassPointer = NULL; // Class KFGame.KFCameraLensEmit_Puke_Light // 0x0000 (0x028C - 0x028C) class AKFCameraLensEmit_Puke_Light : public AKFEmit_CameraEffect { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57429]; return pClassPointer; }; }; UClass* AKFCameraLensEmit_Puke_Light::pClassPointer = NULL; // Class KFGame.KFUnlockableAsset // 0x0000 (0x0060 - 0x0060) class UKFUnlockableAsset : public UInterface { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57741]; return pClassPointer; }; void GetAssetId(); }; UClass* UKFUnlockableAsset::pClassPointer = NULL; // Class KFGame.KFGibletInfo // 0x0034 (0x0094 - 0x0060) class UKFGibletInfo : public UObject { public: class UStaticMesh* GibStaticMesh; // 0x0060 (0x0008) [0x0000000000000000] class USkeletalMesh* GibSkelMesh; // 0x0068 (0x0008) [0x0000000000000000] class UPhysicsAsset* GibPhysAsset; // 0x0070 (0x0008) [0x0000000000000000] int CullDistance; // 0x0078 (0x0004) [0x0000000000000000] float DrawScale; // 0x007C (0x0004) [0x0000000000000000] int GibletMaxSpeed; // 0x0080 (0x0004) [0x0000000000000000] TArray GibletBones; // 0x0084 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[57793]; return pClassPointer; }; }; UClass* UKFGibletInfo::pClassPointer = NULL; // Class KFGame.KFGameExplosion // 0x0014 (0x0168 - 0x0154) class UKFGameExplosion : public UGameExplosion { public: class UClass* ShardClass; // 0x0154 (0x0008) [0x0000000000000000] int NumShards; // 0x015C (0x0004) [0x0000000000000000] class UKFImpactEffectInfo* ExplosionEffects; // 0x0160 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59048]; return pClassPointer; }; }; UClass* UKFGameExplosion::pClassPointer = NULL; // Class KFGame.KFDT_Sonic // 0x0000 (0x0164 - 0x0164) class UKFDT_Sonic : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59066]; return pClassPointer; }; void GetDamageeDialogID(); }; UClass* UKFDT_Sonic::pClassPointer = NULL; // Class KFGame.KFDebugFlare // 0x0008 (0x024C - 0x0244) class AKFDebugFlare : public AActor { public: class UPointLightComponent* FlareLight; // 0x0244 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59089]; return pClassPointer; }; }; UClass* AKFDebugFlare::pClassPointer = NULL; // Class KFGame.KFWeap_ScopedBase // 0x0038 (0x08F8 - 0x08C0) class AKFWeap_ScopedBase : public AKFWeapon { public: class UTWSceneCapture2DDPGComponent* SceneCapture; // 0x08C0 (0x0008) [0x0000000000000000] float ScopeTextureScale; // 0x08C8 (0x0004) [0x0000000000000000] int MaxSceneCaptureSize; // 0x08CC (0x0004) [0x0000000000000000] struct FName InterpParamName; // 0x08D0 (0x0008) [0x0000000000000000] class UTextureRenderTarget2D* SniperScopeTextureTarget; // 0x08D8 (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* ScopeLenseMICTemplate; // 0x08E0 (0x0008) [0x0000000000000000] class UMaterialInstanceConstant* ScopeLenseMIC; // 0x08E8 (0x0008) [0x0000000000000000] int CurrentScopeTextureSize; // 0x08F0 (0x0004) [0x0000000000000000] float ScopedSensitivityMod; // 0x08F4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59112]; return pClassPointer; }; void ZoomOutFastFinished(); void ZoomOut(); void ZoomIn(); void eventOnZoomOutFinished(); void eventOnZoomInFinished(); void eventTick(); void DetachWeapon(); void AttachWeaponTo(); void GetModifiedFOVAngle(); void eventSetPosition(); void ClientWeaponSet(); void InitFOV(); void ProcessInstantHitEx(); void eventGetTraderFilter(); void ScopeFOV(); }; UClass* AKFWeap_ScopedBase::pClassPointer = NULL; // Class KFGame.KFWeapAttach_SprayBase // 0x0078 (0x0460 - 0x03E8) class AKFWeapAttach_SprayBase : public AKFWeaponAttachment { public: DWORD bFireSpraying : 1; // 0x03E8 (0x0004) [0x0000000000000000] [0x00000001] DWORD bPilotLightOn : 1; // 0x03E8 (0x0004) [0x0000000000000000] [0x00000002] int NextFlamePoolIdx; // 0x03EC (0x0004) [0x0000000000000000] class AKFSprayActor* FlamePool[0x2]; // 0x03F0 (0x0010) [0x0000000000000000] class AKFSprayActor* ActiveFlameSpray; // 0x0400 (0x0008) [0x0000000000000000] class AKFSprayActor* FlameSprayArchetype; // 0x0408 (0x0008) [0x0000000000000000] class UAkEvent* PilotLightPlayEvent; // 0x0410 (0x0008) [0x0000000000000000] class UAkEvent* PilotLightStopEvent; // 0x0418 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* PSC_PilotLight; // 0x0420 (0x0008) [0x0000000000000000] struct FName PilotLightSocketName; // 0x0428 (0x0008) [0x0000000000000000] class UKFExplosionLight* PilotLightTemplate; // 0x0430 (0x0008) [0x0000000000000000] class UKFExplosionLightComponent* PilotLightComponent; // 0x0438 (0x0008) [0x0000000000000000] class UParticleSystemComponent* PSC_EndSpray; // 0x0440 (0x0008) [0x0000000000000000] float BarrelHeat; // 0x0448 (0x0004) [0x0000000000000000] float LastBarrelHeat; // 0x044C (0x0004) [0x0000000000000000] TArray PilotLights; // 0x0450 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59115]; return pClassPointer; }; void eventTick(); void GetFlickerVal(); void Destroyed(); void DetachFrom(); void AttachTo(); void StopThirdPersonFireEffects(); void ThirdPersonFireEffects(); void TurnOffFireSpray(); void TurnOnFireSpray(); void SetPilotDynamicLightEnabled(); void StopPilotSound(); void StartPilotSound(); void GetFlameSprayFromPool(); void TurnOffPilot(); void GetFlameSocketLocAndRot(); void TurnOnPilot(); void eventPreBeginPlay(); void SetFlameDebugFX(); void SetFlameDebugDamage(); }; UClass* AKFWeapAttach_SprayBase::pClassPointer = NULL; // Class KFGame.KFWeap_FlameBase // 0x006A (0x092A - 0x08C0) class AKFWeap_FlameBase : public AKFWeapon { public: DWORD bFireSpraying : 1; // 0x08C0 (0x0004) [0x0000000000000000] [0x00000001] DWORD bPilotLightOn : 1; // 0x08C0 (0x0004) [0x0000000000000000] [0x00000002] DWORD bWarnAIWhenFiring : 1; // 0x08C0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bArePilotLightsAllowed : 1; // 0x08C0 (0x0004) [0x0000000000000000] // [0x00000008] int NextFlamePoolIdx; // 0x08C4 (0x0004) [0x0000000000000000] class AKFSprayActor* FlamePool[0x2]; // 0x08C8 (0x0010) [0x0000000000000000] class AKFSprayActor* ActiveFlameSpray; // 0x08D8 (0x0008) [0x0000000000000000] class AKFSprayActor* FlameSprayArchetype; // 0x08E0 (0x0008) [0x0000000000000000] class UAkEvent* PilotLightPlayEvent; // 0x08E8 (0x0008) [0x0000000000000000] class UAkEvent* PilotLightStopEvent; // 0x08F0 (0x0008) [0x0000000000000000] class UKFParticleSystemComponent* PSC_PilotLight; // 0x08F8 (0x0008) [0x0000000000000000] struct FName PilotLightSocketName; // 0x0900 (0x0008) [0x0000000000000000] float BarrelHeat; // 0x0908 (0x0004) [0x0000000000000000] float LastBarrelHeat; // 0x090C (0x0004) [0x0000000000000000] TArray PilotLights; // 0x0910 (0x0010) [0x0000000000000000] class UKFParticleSystemComponent* PSC_EndSpray; // 0x0920 (0x0008) [0x0000000000000000] unsigned char MinAmmoConsumed; // 0x0928 (0x0001) [0x0000000000000000] unsigned char AmmoConsumed; // 0x0929 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59116]; return pClassPointer; }; void eventGetTraderFilter(); void CalculateTraderWeaponStatDamage(); void eventSetFOV(); void ChangeVisibility(); void CustomFire(); void DetachWeapon(); void Timer_CheckForAIWarning(); void TurnOffFireSpray(); void TurnOnFireSpray(); void GetFlameSprayFromPool(); void GetFlickerVal(); void StopLoopingFireEffects(); void StartLoopingFireEffects(); void StopPilotSound(); void StartPilotSound(); void SetPilotDynamicLightEnabled(); void TurnOffPilot(); void GetFlameSocketLocAndRot(); void TurnOnPilot(); void Destroyed(); void eventTick(); void SetFlameDebugFX(); void SetFlameDebugDamage(); void SetFlameComplex(); }; UClass* AKFWeap_FlameBase::pClassPointer = NULL; // Class KFGame.KFMapSummary // 0x0001 (0x00D5 - 0x00D4) class UKFMapSummary : public UUIMapSummary { public: unsigned char MapAssociation; // 0x00D4 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59206]; return pClassPointer; }; }; UClass* UKFMapSummary::pClassPointer = NULL; // Class KFGame.KFCustomizationCamera // 0x0044 (0x00B0 - 0x006C) class UKFCustomizationCamera : public UGameCameraBase { public: DWORD bInitialize : 1; // 0x006C (0x0004) [0x0000000000000000] [0x00000001] unsigned char BodyViewIndex; // 0x0070 (0x0001) [0x0000000000000000] unsigned char CurrentViewIndex; // 0x0071 (0x0001) [0x0000000000000000] struct FVector CharacterOffset; // 0x0074 (0x000C) [0x0000000000000000] struct FVector HeadOffset; // 0x0080 (0x000C) [0x0000000000000000] float CharacterDistance; // 0x008C (0x0004) [0x0000000000000000] float HeadDistance; // 0x0090 (0x0004) [0x0000000000000000] int RotationOffset; // 0x0094 (0x0004) [0x0000000000000000] int RotationRate; // 0x0098 (0x0004) [0x0000000000000000] int MaxRotationRate; // 0x009C (0x0004) [0x0000000000000000] int LastRotation; // 0x00A0 (0x0004) [0x0000000000000000] float FadeRotationStartTime; // 0x00A4 (0x0004) [0x0000000000000000] float FadeRotationDuration; // 0x00A8 (0x0004) [0x0000000000000000] float FadeRotationScaler; // 0x00AC (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59273]; return pClassPointer; }; void OnBecomeInActive(); void FadeCameraRotation(); void StartFadeRotation(); void UpdateRotation(); void RotatedCamera(); void SetCustomizationView(); void BlendCustomizationPart(); void SetBodyView(); void UpdateCamera(); void OnBecomeActive(); }; UClass* UKFCustomizationCamera::pClassPointer = NULL; // Class KFGame.KFCustomizationPoint // 0x0000 (0x037C - 0x037C) class AKFCustomizationPoint : public ANavigationPoint { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59323]; return pClassPointer; }; void eventPreBeginPlay(); }; UClass* AKFCustomizationPoint::pClassPointer = NULL; // Class KFGame.KFDebugCameraInput // 0x0000 (0x02C0 - 0x02C0) class UKFDebugCameraInput : public UPlayerInput { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59492]; return pClassPointer; }; void InputKey(); }; UClass* UKFDebugCameraInput::pClassPointer = NULL; // Class KFGame.KFInterface_MapObjective // 0x0000 (0x0060 - 0x0060) class UKFInterface_MapObjective : public UInterface { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[59768]; return pClassPointer; }; void GetIcon(); void GetIconLocation(); void GetProgress(); void CanActivateObjective(); void DeactivateObjective(); void ActivateObjective(); }; UClass* UKFInterface_MapObjective::pClassPointer = NULL; // Class KFGame.KFGFxObject_Popup // 0x0038 (0x00D8 - 0x00A0) class UKFGFxObject_Popup : public UGFxObject { public: class UKFGFxMoviePlayer_Manager* Manager; // 0x00A0 (0x0008) [0x0000000000000000] struct FScriptDelegate __LeftButtonPress__Delegate; // 0x00A8 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x00AC (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __MiddleButtonPress__Delegate; // 0x00B8 (0x0010) [0x0000000000000000] unsigned char UnknownData01[0x4]; // 0x00BC (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY struct FScriptDelegate __RightButtonPress__Delegate; // 0x00C8 (0x0010) [0x0000000000000000] unsigned char UnknownData02[0x4]; // 0x00CC (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61339]; return pClassPointer; }; void InitializePopup(); void OnClosed(); void UpdateDescritionText(); void ClearDelegates(); void AssignRightButtonDelegate(); void AssignMiddleButtonDelegate(); void AssignLeftButtonDelegate(); void RightButtonPress(); void MiddleButtonPress(); void LeftButtonPress(); void ClosePopUp(); void Callback_ClosedPopup(); }; UClass* UKFGFxObject_Popup::pClassPointer = NULL; // Class KFGame.KFGFxPopup_InputPrompt // 0x0030 (0x0108 - 0x00D8) class UKFGFxPopup_InputPrompt : public UKFGFxObject_Popup { public: struct FString ConfirmButtonString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString DeclineButtonString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString PlayerInputString; // 0x00F8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61338]; return pClassPointer; }; void Callback_ClosedPopup(); void Callback_ClickedConfirm(); void ClearDelegates(); void AssignRightButtonDelegate(); void AssignLeftButtonDelegate(); }; UClass* UKFGFxPopup_InputPrompt::pClassPointer = NULL; // Class KFGame.KFLocalMessage_VoiceComms // 0x0010 (0x02A8 - 0x0298) class UKFLocalMessage_VoiceComms : public UKFLocalMessage { public: TArray VoiceCommsOptionStrings; // 0x0298 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61351]; return pClassPointer; }; void GetHexColor(); void GetString(); }; UClass* UKFLocalMessage_VoiceComms::pClassPointer = NULL; // Class KFGame.KFLocalMessage_Interaction // 0x0150 (0x03E8 - 0x0298) class UKFLocalMessage_Interaction : public UKFLocalMessage { public: struct FString UseTraderMessage; // 0x0298 (0x0010) [0x0000000000000000] struct FString UseDoorMessage; // 0x02A8 (0x0010) [0x0000000000000000] struct FString EquipWelderMessage; // 0x02B8 (0x0010) [0x0000000000000000] struct FString RepairDoorMessage; // 0x02C8 (0x0010) [0x0000000000000000] struct FString AcceptObjectiveMessage; // 0x02D8 (0x0010) [0x0000000000000000] struct FString ReceiveAmmoMessage; // 0x02E8 (0x0010) [0x0000000000000000] struct FString ReceiveGrenadesMessage; // 0x02F8 (0x0010) [0x0000000000000000] struct FString HealSelfWarning; // 0x0308 (0x0010) [0x0000000000000000] struct FString HealSelfGamepadWarning; // 0x0318 (0x0010) [0x0000000000000000] struct FString PressToBashWarning; // 0x0328 (0x0010) [0x0000000000000000] struct FString GamepadWeaponSelectHint; // 0x0338 (0x0010) [0x0000000000000000] struct FString ZedUseDoorMessage; // 0x0348 (0x0010) [0x0000000000000000] struct FString ZedUseDoorWeldedMessage; // 0x0358 (0x0010) [0x0000000000000000] struct FString PlayerClotGrabWarningMessage; // 0x0368 (0x0010) [0x0000000000000000] struct FString UseMinigameMessage; // 0x0378 (0x0010) [0x0000000000000000] struct FString UseMinigameGeneratorMessage; // 0x0388 (0x0010) [0x0000000000000000] struct FString USE_COMMAND; // 0x0398 (0x0010) [0x0000000000000000] struct FString HEAL_COMMAND; // 0x03A8 (0x0010) [0x0000000000000000] struct FString HEAL_COMMAND_CONTROLLER; // 0x03B8 (0x0010) [0x0000000000000000] struct FString BASH_COMMAND; // 0x03C8 (0x0010) [0x0000000000000000] struct FString WEAPON_SELECT_CONTROLLER; // 0x03D8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61353]; return pClassPointer; }; void GetHexColor(); void GetPos(); void GetString(); void GetKeyBind(); void GetMessageDuration(); void ClientReceive(); }; UClass* UKFLocalMessage_Interaction::pClassPointer = NULL; // Class KFGame.KFGFxHudWrapper // 0x0018 (0x0688 - 0x0670) class AKFGFxHudWrapper : public AKFHUDBase { public: class UClass* HUDClass; // 0x0670 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_HUD* HudMovie; // 0x0678 (0x0008) [0x0000000000000000] class AKFPawn_Monster* BossPawn; // 0x0680 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61365]; return pClassPointer; }; void LocalizedMessage(); void PlayerOwnerDied(); void eventDrawHUD(); void SetShowScores(); void eventPostRender(); void ResolutionChanged(); void SetVisible(); void GetLocalPlayerOwnerIndex(); void RemoveMovies(); void eventDestroyed(); void CreateHUDMovie(); }; UClass* AKFGFxHudWrapper::pClassPointer = NULL; // Class KFGame.KFOnlineStatsReadDingo // 0x0000 (0x00D8 - 0x00D8) class UKFOnlineStatsReadDingo : public UKFOnlineStatsRead { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61433]; return pClassPointer; }; }; UClass* UKFOnlineStatsReadDingo::pClassPointer = NULL; // Class KFGame.KFOnlineStatsWriteDingo // 0x0000 (0x0234 - 0x0234) class UKFOnlineStatsWriteDingo : public UKFOnlineStatsWrite { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61434]; return pClassPointer; }; }; UClass* UKFOnlineStatsWriteDingo::pClassPointer = NULL; // Class KFGame.KFGFxHUD_WaveInfo // 0x0050 (0x00F0 - 0x00A0) class UKFGFxHUD_WaveInfo : public UGFxObject { public: class AKFGameReplicationInfo* KFGRI; // 0x00A0 (0x0008) [0x0000000000000000] int LastWaveMax; // 0x00A8 (0x0004) [0x0000000000000000] int LastZEDCount; // 0x00AC (0x0004) [0x0000000000000000] int LastWave; // 0x00B0 (0x0004) [0x0000000000000000] int LastTraderTimeRemaining; // 0x00B4 (0x0004) [0x0000000000000000] struct FString WaveString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString BossWaveString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString FinalWaveString; // 0x00D8 (0x0010) [0x0000000000000000] class UKFGFxHUD_ObjectiveConatiner* ObjectiveContainer; // 0x00E8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61444]; return pClassPointer; }; void UpdateTraderTimeRemaining(); void UpdateZEDCount(); void UpdateWaveCount(); void TickHud(); void InitializeHUD(); }; UClass* UKFGFxHUD_WaveInfo::pClassPointer = NULL; // Class KFGame.KFGFxHUD_WeaponSelectWidget // 0x0065 (0x0105 - 0x00A0) class UKFGFxHUD_WeaponSelectWidget : public UGFxObject { public: DWORD bChangingWeapons : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000001] struct FString PrimaryString; // 0x00A4 (0x0010) [0x0000000000000000] struct FString EquiptmentString; // 0x00B4 (0x0010) [0x0000000000000000] struct FString MeleeString; // 0x00C4 (0x0010) [0x0000000000000000] struct FString SecondaryString; // 0x00D4 (0x0010) [0x0000000000000000] struct FString ThrowString; // 0x00E4 (0x0010) [0x0000000000000000] struct FString ThrowGBA; // 0x00F4 (0x0010) [0x0000000000000000] unsigned char LastRefreshInvCount; // 0x0104 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61458]; return pClassPointer; }; void FadeOut(); void SetWeaponSwitchStayOpen(); void RefreshTimer(); void ShowAllHUDGroups(); void ShowOnlyHUDGroup(); void SendWeaponIndex(); void SetWeaponCategories(); void Hide(); void UpdateIndex(); void GetSelectedWeapon(); void SetSelectedWeapon(); void SetWeaponList(); void SetWeaponGroupList(); void UpdateWeaponGroupOnHUD(); void SetThowButton(); void RefreshWeaponSelect(); void InitializeObject(); }; UClass* UKFGFxHUD_WeaponSelectWidget::pClassPointer = NULL; // Class KFGame.KFGFxWidget_VoiceComms // 0x0038 (0x00D8 - 0x00A0) class UKFGFxWidget_VoiceComms : public UGFxObject { public: DWORD bPlayedVoiceComm : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bActive : 1; // 0x00A0 (0x0004) [0x0000000000000000] [0x00000002] struct FVector RawJoyVector; // 0x00A4 (0x000C) [0x0000000000000000] class APlayerController* PC; // 0x00B0 (0x0008) [0x0000000000000000] TArray IconPaths; // 0x00B8 (0x0010) [0x0000000000000000] float MouseDampening; // 0x00C8 (0x0004) [0x0000000000000000] float ControllerDampening; // 0x00CC (0x0004) [0x0000000000000000] int SavedSelectionIndex; // 0x00D0 (0x0004) [0x0000000000000000] float DeselectTime; // 0x00D4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61461]; return pClassPointer; }; void UpdateUICursorPosition(); void UpdateJoystickDirection(); void OnAxisModified(); void SayVoiceCommms(); void HandleInputChange(); void UpdateGFxEmoteState(); void UpdateEmoteState(); void DisableComm(); void EnableComm(); void SaveVoiceCommSelection(); void SetLocalizedText(); void InitializeHUD(); }; UClass* UKFGFxWidget_VoiceComms::pClassPointer = NULL; // Class KFGame.KFGFxWidget_BaseParty // 0x057C (0x0624 - 0x00A8) class UKFGFxWidget_BaseParty : public UKFGFxObject_Container { public: struct FString ReadyString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString LeaveString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString DefaultPlayerName; // 0x00C8 (0x0010) [0x0000000000000000] struct FString SquadString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString SoloString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString CreatePartyString; // 0x00F8 (0x0010) [0x0000000000000000] struct FString WaitingString; // 0x0108 (0x0010) [0x0000000000000000] struct FString DeployingString; // 0x0118 (0x0010) [0x0000000000000000] struct FString PlayerReadyString; // 0x0128 (0x0010) [0x0000000000000000] struct FString PartyLeaderString; // 0x0138 (0x0010) [0x0000000000000000] struct FString MuteString; // 0x0148 (0x0010) [0x0000000000000000] struct FString UnmuteString; // 0x0158 (0x0010) [0x0000000000000000] struct FString AddFriendString; // 0x0168 (0x0010) [0x0000000000000000] struct FString RemoveFriendString; // 0x0178 (0x0010) [0x0000000000000000] struct FString ViewProfileString; // 0x0188 (0x0010) [0x0000000000000000] struct FString VoteKickString; // 0x0198 (0x0010) [0x0000000000000000] struct FString PartyLeaderSearchingForMatchString; // 0x01A8 (0x0010) // [0x0000000000000000] struct FString PartyLeaderIsUpdatingMatchOptionsString; // 0x01B8 (0x0010) // [0x0000000000000000] struct FString PartyLeaderInServerBrowserString; // 0x01C8 (0x0010) // [0x0000000000000000] struct FString PartyLeaderInOtherMenuString; // 0x01D8 (0x0010) [0x0000000000000000] struct FString SearchingForGameString; // 0x01E8 (0x0010) [0x0000000000000000] struct FString PartHostLeftString; // 0x01F8 (0x0010) [0x0000000000000000] struct FString PartyLeaderChangedString; // 0x0208 (0x0010) [0x0000000000000000] struct FString DownloadingString; // 0x0218 (0x0010) [0x0000000000000000] struct FString RemainingString; // 0x0228 (0x0010) [0x0000000000000000] struct FString MatchOverString; // 0x0238 (0x0010) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x0248 (0x0008) [0x0000000000000000] class UTWOnlineLobby* OnlineLobby; // 0x0250 (0x0008) [0x0000000000000000] DWORD bInLobby : 1; // 0x0258 (0x0004) [0x0000000000000000] [0x00000001] DWORD bReadyButtonVisible : 1; // 0x0258 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bCreatePartyVisible : 1; // 0x0258 (0x0004) [0x0000000000000000] // [0x00000004] class AKFPlayerController* KFPC; // 0x025C (0x0008) [0x0000000000000000] class UKFGFxHUD_ChatBoxWidget* PartyChatWidget; // 0x0264 (0x0008) [0x0000000000000000] struct FString PerkPrefix; // 0x026C (0x0010) [0x0000000000000000] struct FString SearchingPrefix; // 0x027C (0x0010) [0x0000000000000000] struct FString ServerBrowserOpen; // 0x028C (0x0010) [0x0000000000000000] struct FString SearchingForGame; // 0x029C (0x0010) [0x0000000000000000] struct FString UpdatingOptions; // 0x02AC (0x0010) [0x0000000000000000] struct FString InOtherMenu; // 0x02BC (0x0010) [0x0000000000000000] struct FString ViewProfileKey; // 0x02CC (0x0010) [0x0000000000000000] struct FString AddFriendKey; // 0x02DC (0x0010) [0x0000000000000000] struct FString KickKey; // 0x02EC (0x0010) [0x0000000000000000] struct FString MuteKey; // 0x02FC (0x0010) [0x0000000000000000] int OccupiedSlots; // 0x030C (0x0004) [0x0000000000000000] struct FUniqueNetId LastLeaderID; // 0x0310 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_Manager* Manager; // 0x0318 (0x0008) [0x0000000000000000] class UGFxObject* ReadyButton; // 0x0320 (0x0008) [0x0000000000000000] class UGFxObject* LeaveButton; // 0x0328 (0x0008) [0x0000000000000000] class UGFxObject* CreatePartyButton; // 0x0330 (0x0008) [0x0000000000000000] class UGFxObject* SquadHeader; // 0x0338 (0x0008) [0x0000000000000000] class UGFxObject* Notification; // 0x0340 (0x0008) [0x0000000000000000] int PlayerSlots; // 0x0348 (0x0004) [0x0000000000000000] struct FUniqueNetId ZeroUniqueId; // 0x034C (0x0008) [0x0000000000000000] struct FSMemberSlot MemberSlots[0xC]; // 0x0354 (0x02D0) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61470]; return pClassPointer; }; void StopCountdown(); void StartCountdown(); void SendSearching(); void UpdateSearching(); void UpdatePerks(); void UpdateLock(); void ReceiveMessage(); void SetReadyButtonVisibility(); void OpenPlayerList(); void RefreshParty(); void UpdateVOIP(); void KickPlayer(); void RemoveFriend(); void AddFriend(); void ViewProfile(); void ToggelMuteOnPlayer(); void IsPlayerAFriend(); void ProfileOptionClicked(); void UpdateSoloSquadText(); void UpdateInLobby(); void AddStringOptionToList(); void CreatePlayerOptions(); void isUserYourFriend(); void InitializeMemberSlot(); void SetSearchingText(); void ShowDownLoadNotification(); void InitNotificationUI(); void LocalizeText(); void InitializeWidget(); }; UClass* UKFGFxWidget_BaseParty::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_ScoreBoard // 0x0028 (0x020C - 0x01E4) class UKFGFxMoviePlayer_ScoreBoard : public UGFxMoviePlayer { public: class UKFGFxHUD_ScoreboardWidget* ScoreboardWidget; // 0x01E4 (0x0008) [0x0000000000000000] class UKFGFxHUD_ScoreboardVersusWidget* ZEDScoreboardWidget; // 0x01EC (0x0008) [0x0000000000000000] float UpdateInterval; // 0x01F4 (0x0004) [0x0000000000000000] float LastUpdateTime; // 0x01F8 (0x0004) [0x0000000000000000] class USwfMovie* MovieInfoStandard; // 0x01FC (0x0008) [0x0000000000000000] class USwfMovie* MovieInfoVersus; // 0x0204 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61483]; return pClassPointer; }; void UpdateWaveCount(); void ShowScoreboard(); void TickHud(); void eventWidgetInitialized(); void GetMovieInfo(); void Init(); }; UClass* UKFGFxMoviePlayer_ScoreBoard::pClassPointer = NULL; // Class KFGame.KFInterface_Usable // 0x0000 (0x0060 - 0x0060) class UKFInterface_Usable : public UInterface { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61573]; return pClassPointer; }; void GetInteractionIndex(); void GetIsUsable(); }; UClass* UKFInterface_Usable::pClassPointer = NULL; // Class KFGame.KFLocalMessage_Game // 0x0280 (0x0518 - 0x0298) class UKFLocalMessage_Game : public UKFLocalMessage { public: struct FString ReceivedAmmoFromMessage; // 0x0298 (0x0010) [0x0000000000000000] struct FString GaveAmmoToMessage; // 0x02A8 (0x0010) [0x0000000000000000] struct FString HealedByMessage; // 0x02B8 (0x0010) [0x0000000000000000] struct FString HealedMessage; // 0x02C8 (0x0010) [0x0000000000000000] struct FString PickedupArmorMessage; // 0x02D8 (0x0010) [0x0000000000000000] struct FString FullArmorMessage; // 0x02E8 (0x0010) [0x0000000000000000] struct FString PickupAmmoMessage; // 0x02F8 (0x0010) [0x0000000000000000] struct FString AmmoFullMessage; // 0x0308 (0x0010) [0x0000000000000000] struct FString AlreadyCarryingWeaponMessage; // 0x0318 (0x0010) [0x0000000000000000] struct FString PickupWeaponAmmoMessage; // 0x0328 (0x0010) [0x0000000000000000] struct FString PickupMessage; // 0x0338 (0x0010) [0x0000000000000000] struct FString TooMuchWeightMessage; // 0x0348 (0x0010) [0x0000000000000000] struct FString ReceivedGrenadesFromMessage; // 0x0358 (0x0010) [0x0000000000000000] struct FString GaveGrenadesToMessage; // 0x0368 (0x0010) [0x0000000000000000] struct FString YourselfString; // 0x0378 (0x0010) [0x0000000000000000] struct FString FailedDropInventoryMessage; // 0x0388 (0x0010) [0x0000000000000000] struct FString PendingPerkChangesSet; // 0x0398 (0x0010) [0x0000000000000000] struct FString PendingPerkChangesApplied; // 0x03A8 (0x0010) [0x0000000000000000] struct FString KilledMessage; // 0x03B8 (0x0010) [0x0000000000000000] struct FString SuicideMessage; // 0x03C8 (0x0010) [0x0000000000000000] struct FString KillzedBy_PatriarchString; // 0x03D8 (0x0010) [0x0000000000000000] struct FString KillzedBy_HansString; // 0x03E8 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedCrawlerString; // 0x03F8 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedBloatString; // 0x0408 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedFleshpoundString; // 0x0418 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedGorefastString; // 0x0428 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedHuskString; // 0x0438 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedScrakeString; // 0x0448 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedSirenString; // 0x0458 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedStalkerString; // 0x0468 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedClot_CystString; // 0x0478 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedClot_AlphaString; // 0x0488 (0x0010) [0x0000000000000000] struct FString KillzedBy_ZedClot_SlasherString; // 0x0498 (0x0010) // [0x0000000000000000] struct FString FoundAMapCollectibleMessage; // 0x04A8 (0x0010) [0x0000000000000000] struct FString FoundAllMapCollectiblesMessage; // 0x04B8 (0x0010) [0x0000000000000000] struct FString MapCollectibleName; // 0x04C8 (0x0010) [0x0000000000000000] struct FString SharingContentString; // 0x04D8 (0x0010) [0x0000000000000000] struct FString HeadShotAddedString; // 0x04E8 (0x0010) [0x0000000000000000] struct FString HeadShotMaxString; // 0x04F8 (0x0010) [0x0000000000000000] struct FString HeadShotResetString; // 0x0508 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61576]; return pClassPointer; }; void GetPos(); void GetKilledByZedMessage(); void GetString(); void GetHexColor(); }; UClass* UKFLocalMessage_Game::pClassPointer = NULL; // Class KFGame.KFMusicStingerHelper // 0x0078 (0x00D8 - 0x0060) class UKFMusicStingerHelper : public UObject { public: class UAkEvent* RoundWonStinger; // 0x0060 (0x0008) [0x0000000000000000] class UAkEvent* RoundLostStinger; // 0x0068 (0x0008) [0x0000000000000000] class UAkEvent* MatchWonStinger; // 0x0070 (0x0008) [0x0000000000000000] class UAkEvent* MatchLostStinger; // 0x0078 (0x0008) [0x0000000000000000] class UAkEvent* WaveStartStinger; // 0x0080 (0x0008) [0x0000000000000000] class UAkEvent* WaveCompletedStinger; // 0x0088 (0x0008) [0x0000000000000000] class UAkEvent* ObjectiveWonStinger; // 0x0090 (0x0008) [0x0000000000000000] class UAkEvent* ObjectiveLostStinger; // 0x0098 (0x0008) [0x0000000000000000] class UAkEvent* PlayerDiedStinger; // 0x00A0 (0x0008) [0x0000000000000000] class UAkEvent* LevelUpStinger; // 0x00A8 (0x0008) [0x0000000000000000] class UAkEvent* TierUnlockedStinger; // 0x00B0 (0x0008) [0x0000000000000000] class UAkEvent* TeammateDeathStinger; // 0x00B8 (0x0008) [0x0000000000000000] class UAkEvent* ZedKillHumanStinger; // 0x00C0 (0x0008) [0x0000000000000000] class UAkEvent* ZedPlayerKilledStinger; // 0x00C8 (0x0008) [0x0000000000000000] class UAkEvent* ZedPlayerSuicideStinger; // 0x00D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61580]; return pClassPointer; }; void PlayPlayerDiedStinger(); void PlayTierUnlockedStinger(); void PlayLevelUpStinger(); void PlayObjectiveLostStinger(); void PlayObjectiveWonStinger(); void PlayWaveCompletedStinger(); void PlayWaveStartStinger(); void PlayMatchLostStinger(); void PlayMatchWonStinger(); void PlayRoundLostStinger(); void PlayRoundWonStinger(); void PlayZedPlayerSuicideStinger(); void PlayZedPlayerKilledStinger(); void PlayZedKillHumanStinger(); void PlayTeammateDeathStinger(); }; UClass* UKFMusicStingerHelper::pClassPointer = NULL; // Class KFGame.KFTeamInfo_Human // 0x0014 (0x0278 - 0x0264) class AKFTeamInfo_Human : public ATeamInfo { public: struct FsTeamScoreData TeamScoreDataPacket; // 0x0264 (0x0014) [0x0000000000180000] ( // CPF_Component ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61581]; return pClassPointer; }; void Reset(); void AddRoundScore(); void AddScore(); void GetHumanReadableName(); void RemoveFromTeam(); void AddToTeam(); void Timer_WaitingForGRI(); void PostBeginPlay(); }; UClass* AKFTeamInfo_Human::pClassPointer = NULL; // Class KFGame.KFLocalMessage_PlayerKills // 0x0020 (0x02B8 - 0x0298) class UKFLocalMessage_PlayerKills : public UKFLocalMessage { public: struct FString KilledString; // 0x0298 (0x0010) [0x0000000000000000] struct FString ZedString; // 0x02A8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61588]; return pClassPointer; }; void ResolveTeamName(); void GetString(); void GetHexColor(); }; UClass* UKFLocalMessage_PlayerKills::pClassPointer = NULL; // Class KFGame.KFGameWaveforms // 0x0010 (0x0090 - 0x0080) class UKFGameWaveforms : public UGameWaveForms { public: class UForceFeedbackWaveform* CameraShakeMediumVeryShort; // 0x0080 (0x0008) [0x0000000000000000] class UForceFeedbackWaveform* CameraShakeBigVeryShort; // 0x0088 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61604]; return pClassPointer; }; }; UClass* UKFGameWaveforms::pClassPointer = NULL; // Class KFGame.KFPlayerCamera // 0x0050 (0x0720 - 0x06D0) class AKFPlayerCamera : public AGamePlayerCamera { public: class UKFCustomizationCamera* CustomizationCam; // 0x06D0 (0x0008) [0x0000000000000000] class UClass* CustomizationCameraClass; // 0x06D8 (0x0008) [0x0000000000000000] class UKFBossCamera* BossCam; // 0x06E0 (0x0008) [0x0000000000000000] class UClass* BossCameraClass; // 0x06E8 (0x0008) [0x0000000000000000] class UKFFirstPersonCamera* FirstPersonCam; // 0x06F0 (0x0008) [0x0000000000000000] class UClass* FirstPersonCameraClass; // 0x06F8 (0x0008) [0x0000000000000000] class UKFEmoteCamera* EmoteCam; // 0x0700 (0x0008) [0x0000000000000000] class UClass* EmoteCameraClass; // 0x0708 (0x0008) [0x0000000000000000] float TargetFOV; // 0x0710 (0x0004) [0x0000000000000000] float TransitionStartFOV; // 0x0714 (0x0004) [0x0000000000000000] float TransitionTimeElapsed; // 0x0718 (0x0004) [0x0000000000000000] float TransitionTimeTotal; // 0x071C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61607]; return pClassPointer; }; void Reset(); void FindBestCameraType(); void CalcRadialShakeScale(); void SetFOV(); void GetOptionsFOVScale(); void TransitionFOV(); void UpdateCameraLensEffects(); void GetActualFOV(); void UpdateViewTarget(); void DoUpdateCamera(); void PostBeginPlay(); }; UClass* AKFPlayerCamera::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Perks // 0x0084 (0x0164 - 0x00E0) class UKFGFxMenu_Perks : public UKFGFxObject_Menu { public: class UKFGFxPerksContainer_Selection* SelectionContainer; // 0x00E0 (0x0008) [0x0000000000000000] class UKFGFxPerksContainer_Header* HeaderContainer; // 0x00E8 (0x0008) [0x0000000000000000] class UKFGFxPerksContainer_Details* DetailsContainer; // 0x00F0 (0x0008) [0x0000000000000000] class UKFGFxPerksContainer_Skills* SkillsContainer; // 0x00F8 (0x0008) [0x0000000000000000] class UKFGFxPerksContainer_SkillsSummary* SkillsSummaryContainer; // 0x0100 (0x0008) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x0108 (0x0008) [0x0000000000000000] struct FString LockIconPath; // 0x0110 (0x0010) [0x0000000000000000] unsigned char LastPerkIndex; // 0x0120 (0x0001) [0x0000000000000000] unsigned char LastPerkLevel; // 0x0121 (0x0001) [0x0000000000000000] unsigned char SelectedSkillsHolder[0x5]; // 0x0122 (0x0005) [0x0000000000000000] class UClass* PreviousPerk; // 0x0128 (0x0008) [0x0000000000000000] struct FString TierUnlockedText; // 0x0130 (0x0010) [0x0000000000000000] struct FString TierUnlockedSecondaryText; // 0x0140 (0x0010) [0x0000000000000000] class AKFPlayerReplicationInfo* MyKFPRI; // 0x0150 (0x0008) [0x0000000000000000] DWORD bModifiedSkills : 1; // 0x0158 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bModifiedPerk : 1; // 0x0158 (0x0004) [0x0000000000000000] [0x00000002] DWORD bChangesMadeDuringLobby : 1; // 0x0158 (0x0004) [0x0000000000000000] // [0x00000004] struct FName PerkLevelupSound; // 0x015C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61628]; return pClassPointer; }; void Callback_SkillSelectionOpened(); void Callback_SkillSelected(); void Callback_PerkSelected(); void Callback_ReadyClicked(); void SavePerkData(); void UpdateSkillsHolder(); void UpdateSkillsUI(); void UpdateContainers(); void UpdateLock(); void OneSecondLoop(); void PerkChanged(); void IsMatchStarted(); void OnRoundOver(); void eventOnTraderTimeStart(); void eventOnClose(); void CheckTiersForPopup(); void OnOpen(); void eventWidgetInitialized(); }; UClass* UKFGFxMenu_Perks::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_PostRoundMenu // 0x0008 (0x01EC - 0x01E4) class UKFGFxMoviePlayer_PostRoundMenu : public UGFxMoviePlayer { public: class UKFGFxHUD_PostRoundMenu* PostRoundMenu; // 0x01E4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61743]; return pClassPointer; }; void Callback_WinnerAnimationComplete(); void eventWidgetInitialized(); void Init(); }; UClass* UKFGFxMoviePlayer_PostRoundMenu::pClassPointer = NULL; // Class KFGame.KFDemoRecSpectator // 0x0010 (0x0D94 - 0x0D84) class AKFDemoRecSpectator : public AKFPlayerController { public: DWORD bFindPlayer : 1; // 0x0D84 (0x0004) [0x0000000000000000] [0x00000001] DWORD bLockRotationToViewTarget : 1; // 0x0D84 (0x0004) // [0x0000000000000000] [0x00000002] DWORD bAutoSwitchPlayers : 1; // 0x0D84 (0x0004) [0x0000000000000000] // [0x00000004] class APlayerReplicationInfo* MyRealViewTarget; // 0x0D88 (0x0008) [0x0000000000000000] float AutoSwitchPlayerInterval; // 0x0D90 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[61928]; return pClassPointer; }; void UpdateRotation(); void eventGetPlayerViewPoint(); void Pause(); void SetPause(); void ClientSetRealViewTarget(); void ServerViewSelf(); void SetViewTarget(); void DemoViewNextPlayer(); void ViewClass(); void Slomo(); void SetGFxHUD(); void InitPlayerReplicationInfo(); void eventReceivedPlayer(); void eventPostBeginPlay(); }; UClass* AKFDemoRecSpectator::pClassPointer = NULL; // Class KFGame.KFDT_Environment_KActorImpulse // 0x0000 (0x0164 - 0x0164) class UKFDT_Environment_KActorImpulse : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[62254]; return pClassPointer; }; }; UClass* UKFDT_Environment_KActorImpulse::pClassPointer = NULL; // Class KFGame.KFDT_NPCBump_Large // 0x0000 (0x0164 - 0x0164) class UKFDT_NPCBump_Large : public UKFDT_NPCBump { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[62255]; return pClassPointer; }; }; UClass* UKFDT_NPCBump_Large::pClassPointer = NULL; // Class KFGame.KFDialogEnvironmentVolume // 0x0001 (0x0281 - 0x0280) class AKFDialogEnvironmentVolume : public AVolume { public: unsigned char Environment; // 0x0280 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[62257]; return pClassPointer; }; void eventUnTouch(); void eventTouch(); }; UClass* AKFDialogEnvironmentVolume::pClassPointer = NULL; // Class KFGame.KFDialogManager // 0x00C4 (0x0308 - 0x0244) class AKFDialogManager : public AActor { public: DWORD bEnabled : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000001] DWORD bLogDialog : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000002] DWORD bIsTraderTime : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000004] TArray Cooldowns; // 0x0248 (0x0010) [0x0000000000000000] class APawn* NextSpotterPawn; // 0x0258 (0x0008) [0x0000000000000000] float LastSpotUpdateTime; // 0x0260 (0x0004) [0x0000000000000000] TArray DelayedDialog; // 0x0264 (0x0010) [0x0000000000000000] float LastIdleUpdateTime; // 0x0274 (0x0004) [0x0000000000000000] unsigned char InterruptPriorityThreshold; // 0x0278 (0x0001) [0x0000000000000000] unsigned char InterruptedByAnyPriorityThreshold; // 0x0279 (0x0001) // [0x0000000000000000] int WeldAboutToBreakThreshold; // 0x027C (0x0004) [0x0000000000000000] float NeedMoreHealingPctThreshold; // 0x0280 (0x0004) [0x0000000000000000] float NeedNoMoreHealingPctThreshold; // 0x0284 (0x0004) [0x0000000000000000] int CaughtSomeDoshAmt; // 0x0288 (0x0004) [0x0000000000000000] int CaughtMuchDoshAmt; // 0x028C (0x0004) [0x0000000000000000] int NumZedsForPressureReload; // 0x0290 (0x0004) [0x0000000000000000] float LowSpareAmmoPctThreshold; // 0x0294 (0x0004) [0x0000000000000000] int NumKillsForOnARoll; // 0x0298 (0x0004) [0x0000000000000000] float CloseCallKillHealthPctThreshold; // 0x029C (0x0004) // [0x0000000000000000] int NumZedsInAreaForMassacre; // 0x02A0 (0x0004) [0x0000000000000000] float AreaRadiusForMassacre; // 0x02A4 (0x0004) [0x0000000000000000] float TimeLimitForMassacre; // 0x02A8 (0x0004) [0x0000000000000000] int NumHitsForDeadHorse; // 0x02AC (0x0004) [0x0000000000000000] float TimeBetweenHitsForDeadHorse; // 0x02B0 (0x0004) [0x0000000000000000] float TimeForContinuousDamageThreshold; // 0x02B4 (0x0004) // [0x0000000000000000] float TimeBetweenHitsForContinuousDamage; // 0x02B8 (0x0004) // [0x0000000000000000] float PlayerHealthPctForNearDeath; // 0x02BC (0x0004) [0x0000000000000000] float PlayerTakeDamageStreakInterval; // 0x02C0 (0x0004) [0x0000000000000000] float PlayerTakeDamageStreakPctForScream; // 0x02C4 (0x0004) // [0x0000000000000000] float IdleTimeforSpottingZed; // 0x02C8 (0x0004) [0x0000000000000000] int SpotLargeHordeNumZeds; // 0x02CC (0x0004) [0x0000000000000000] float ZedAlmostDeadHealthPctThreshold; // 0x02D0 (0x0004) // [0x0000000000000000] float SprintTowardZedDuration; // 0x02D4 (0x0004) [0x0000000000000000] float IdleTimeForSituationalDialog; // 0x02D8 (0x0004) [0x0000000000000000] int IdleLowDoshThreshold; // 0x02DC (0x0004) [0x0000000000000000] int IdleHighDoshThreshold; // 0x02E0 (0x0004) [0x0000000000000000] int IdleLowAmmoPctThreshold; // 0x02E4 (0x0004) [0x0000000000000000] int IdleHighAmmoPctThreshold; // 0x02E8 (0x0004) [0x0000000000000000] float TimeUntilStartSprintPanting; // 0x02EC (0x0004) [0x0000000000000000] class UAkEvent* StopBreathingAkEvent; // 0x02F0 (0x0008) [0x0000000000000000] struct FScriptDelegate __OnFinishedDialog__Delegate; // 0x02F8 (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x02FC (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[62272]; return pClassPointer; }; void PlayPattyWhirlwindDialog(); void PlayPattyBattlePhaseDialog(); void PlayPattyKilledDialog(); void PlayPattyChildKilledDialog(); void PlayPattyTentaclePullDialog(); void PlayPattyMinigunAttackDialog(); void PlayPattyMinigunWarnDialog(); void PlayPatriarchTickDialog(); void PlayHansBattlePhaseDialog(); void PlayHansAOEDialog(); void PlayHansFrenzyDialog(); void PlayHansDamagePlayerDialog(); void PlayHansKilledDialog(); void PlayHansGasDialog(); void PlayHansSmokeDialog(); void PlayHansNadeDialog(); void PlayHansDrawGunsDialog(); void PlayHansTickDialog(); void PlayBossLandedDialog(); void PlayBossLeapedDialog(); void PlayBossDeathDialog(); void PlayBossTakeDamageDialog(); void PlayBossHealDialog(); void PlayBossGrabDialog(); void PlayBossChallengeDialog(); void PlayBossLoseSightOfDialog(); void PlayBossMonologue(); void PlayVoiceCommandDialog(); void PlaySwitchToFavoriteWeaponDialog(); void PlayDefendObjDialog(); void PlayObjectiveDialogOnRandomPlayers(); void GetHumanPawnsInObj(); void PlayLoseObjectiveDialog(); void PlayWinObjectiveDialog(); void PlayDeclineObjectiveDialog(); void PlayAcceptObjectiveDialog(); void PlayEnvironmentalDialog(); void PlayWaveStartDialog(); void PlayRandomSituationalResponse(); void PlayRandomSituationalDialog(); void PlaySituationalDialog(); void CheckIdleDialog(); void PlayBasicSpottedResponse(); void PlayLoseSightOfBossDialog(); void PlaySpotRunAwayDialog(); void PlaySpotZedHealingDialog(); void PlayBeingShotAtDialog(); void PlaySpotGrenadeDialog(); void PlaySpotRocketsDialog(); void PlaySpotChargeDialog(); void PlaySpotEnragedDialog(); void PlaySpotCloakDialog(); void CheckSpotPickupsDialog(); void SpotEnemyBehindPlayer(); void FindBestSpottedMonster(); void CheckSpottedDialog(); void CheckSpotMonsterDialog(); void CheckSpottedDialogPriority(); void PlayPlayerDeathDialog(); void PlayPlayerGrabbedByPatriarchDialog(); void PlayPlayerGrabbedDialog(); void CheckPlayerDamageGeneric(); void PlayPlayerDamageDialog(); void PlayBeatDeadHorseDialog(); void PlayDamageZedContinuousDialog(); void PlayDamagedZedDialog(); void PlayBasicKilledResponse(); void CheckKilledWithFavoriteWeaponDialog(); void CheckKillAsLastAliveDialog(); void CheckCloseCallKillDialog(); void CheckMassacreDialog(); void CheckOnARollDialog(); void PlayKilledZedDialog(); void PlayLevelUpDialog(); void StopBreathingDialog(); void PlaySprintPantingDialog(); void PlayJumpDialog(); void PlayIronsightsDialog(); void PlayMeleeAttackDialog(); void PlayDropWeaponDialog(); void PlayAmmoDialog(); void PlayReloadDialog(); void PlayDoshTossDialog(); void PlayDoshCaughtDialog(); void PlayHealingDialog(); void PlayHealMissResponse(); void PlayHealMissDialog(); void PlayDoorTakeDamageDialog(); void PlayUnweldDialog(); void PlayWeldDialog(); void AddDelayedDialogEvent(); void AddRandomDialogOption(); void PlayCustomDialogResponse(); void FindPlayerResponder(); void PlayBasicDialogResponse(); void BasicResponseDelegate(); void PlayerIsPlayingDialogEvent(); void PlayDialogEvent(); void DialogEventCanBePlayed(); void DialogIsCoolingDown(); void UpdateDelayedDialog(); void eventTick(); void SetTraderTime(); void PlayerCanSpotEnemy(); void PawnWithinPawnLOS(); void ActorWithinPawnRadius(); void ActorWithinPawnFOV(); void PawnCanSpotActor(); void PawnCanSpotPawn(); void PawnIsValidPlayer(); void GetEventIsOnlyPlayedLocally(); void GetEventCoolDownCategory(); void GetEventCoolDownRadiusSq(); void GetEventCoolDownRadius(); void GetEventCoolDownTime(); void GetEventPriority(); void GetEventFOV(); void GetEventRadiusSq(); void GetEventRadius(); void OnFinishedDialog(); }; UClass* AKFDialogManager::pClassPointer = NULL; // Class KFGame.KFDT_Toxic // 0x0000 (0x0164 - 0x0164) class UKFDT_Toxic : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63119]; return pClassPointer; }; void GetDamageeDialogID(); void GetDamagerDialogID(); void GetKillerDialogID(); }; UClass* UKFDT_Toxic::pClassPointer = NULL; // Class KFGame.KFKActorSpawnable_Door // 0x0000 (0x037C - 0x037C) class AKFKActorSpawnable_Door : public AKFKActorSpawnable { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63417]; return pClassPointer; }; void CheckOnFlatGround(); void HideNonFlatMesh(); void eventOnSleepRBPhysics(); }; UClass* AKFKActorSpawnable_Door::pClassPointer = NULL; // Class KFGame.KFDroppedPickup_Cash // 0x0014 (0x02E8 - 0x02D4) class AKFDroppedPickup_Cash : public AKFDroppedPickup { public: int CashAmount; // 0x02D4 (0x0004) [0x0000000000000000] class APlayerReplicationInfo* TosserPRI; // 0x02D8 (0x0008) [0x0000000000000000] class UAkEvent* PickupSound; // 0x02E0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63602]; return pClassPointer; }; void ServerNotifyMinigameHit(); void NotifyMinigameHit(); void eventDestroyed(); void SetPickupMesh(); void AddDoshForBenefector(); void GiveTo(); }; UClass* AKFDroppedPickup_Cash::pClassPointer = NULL; // Class KFGame.KFInterface_MinigameTarget // 0x0000 (0x0060 - 0x0060) class UKFInterface_MinigameTarget : public UInterface { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63623]; return pClassPointer; }; void IsAlive(); void InvalidHit(); void ValidHit(); }; UClass* UKFInterface_MinigameTarget::pClassPointer = NULL; // Class KFGame.KFDT_Ballistic_Shell // 0x0000 (0x0164 - 0x0164) class UKFDT_Ballistic_Shell : public UKFDT_Ballistic { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63638]; return pClassPointer; }; void CanDismemberHitZone(); }; UClass* UKFDT_Ballistic_Shell::pClassPointer = NULL; // Class KFGame.KFDT_Toxic_DemoNuke // 0x0000 (0x0164 - 0x0164) class UKFDT_Toxic_DemoNuke : public UKFDT_Toxic { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63657]; return pClassPointer; }; void AlwaysPoisons(); }; UClass* UKFDT_Toxic_DemoNuke::pClassPointer = NULL; // Class KFGame.KFDT_DemoNuke_Toxic_Lingering // 0x0000 (0x0164 - 0x0164) class UKFDT_DemoNuke_Toxic_Lingering : public UKFDT_Toxic_DemoNuke { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63661]; return pClassPointer; }; void AlwaysPoisons(); }; UClass* UKFDT_DemoNuke_Toxic_Lingering::pClassPointer = NULL; // Class KFGame.KFDT_DrainHealth // 0x0000 (0x0164 - 0x0164) class UKFDT_DrainHealth : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63665]; return pClassPointer; }; }; UClass* UKFDT_DrainHealth::pClassPointer = NULL; // Class KFGame.KFDT_EMP // 0x0000 (0x0164 - 0x0164) class UKFDT_EMP : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63667]; return pClassPointer; }; void GetDamagerDialogID(); void GetKillerDialogID(); }; UClass* UKFDT_EMP::pClassPointer = NULL; // Class KFGame.KFDT_Explosive_DoorTrap // 0x0000 (0x0164 - 0x0164) class UKFDT_Explosive_DoorTrap : public UKFDT_Explosive { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63700]; return pClassPointer; }; }; UClass* UKFDT_Explosive_DoorTrap::pClassPointer = NULL; // Class KFGame.KFDT_Explosive_Shrapnel // 0x0000 (0x0164 - 0x0164) class UKFDT_Explosive_Shrapnel : public UKFDT_Explosive { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63703]; return pClassPointer; }; }; UClass* UKFDT_Explosive_Shrapnel::pClassPointer = NULL; // Class KFGame.KFDT_ExplosiveSubmunition_HX25 // 0x0000 (0x0164 - 0x0164) class UKFDT_ExplosiveSubmunition_HX25 : public UKFDT_Explosive { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63705]; return pClassPointer; }; }; UClass* UKFDT_ExplosiveSubmunition_HX25::pClassPointer = NULL; // Class KFGame.KFWeapDef_HX25 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_HX25 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63707]; return pClassPointer; }; }; UClass* UKFWeapDef_HX25::pClassPointer = NULL; // Class KFGame.KFDT_Fire_Ground // 0x0000 (0x0164 - 0x0164) class UKFDT_Fire_Ground : public UKFDT_Fire { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63716]; return pClassPointer; }; void GetDamageeDialogID(); void GetDamagerDialogID(); void GetKillerDialogID(); }; UClass* UKFDT_Fire_Ground::pClassPointer = NULL; // Class KFGame.KFDT_Freeze // 0x0010 (0x0174 - 0x0164) class UKFDT_Freeze : public UKFDamageType { public: class UParticleSystem* FrozenShatterTemplate; // 0x0164 (0x0008) [0x0000000000000000] class UAkBaseSoundObject* ShatterSound; // 0x016C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63725]; return pClassPointer; }; void PlayShatter(); void GetDamagerDialogID(); void GetKillerDialogID(); }; UClass* UKFDT_Freeze::pClassPointer = NULL; // Class KFGame.KFDT_Healing // 0x0000 (0x0164 - 0x0164) class UKFDT_Healing : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63751]; return pClassPointer; }; void PlayImpactHitEffects(); }; UClass* UKFDT_Healing::pClassPointer = NULL; // Class KFGame.KFDT_NoGoVolume // 0x0000 (0x0164 - 0x0164) class UKFDT_NoGoVolume : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63759]; return pClassPointer; }; }; UClass* UKFDT_NoGoVolume::pClassPointer = NULL; // Class KFGame.KFDT_Piercing // 0x0000 (0x0164 - 0x0164) class UKFDT_Piercing : public UKFDamageType { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63766]; return pClassPointer; }; void CanDismemberHitZone(); }; UClass* UKFDT_Piercing::pClassPointer = NULL; // Class KFGame.KFDT_Toxic_AcidicRounds // 0x0000 (0x0164 - 0x0164) class UKFDT_Toxic_AcidicRounds : public UKFDT_Toxic { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63809]; return pClassPointer; }; void AlwaysPoisons(); }; UClass* UKFDT_Toxic_AcidicRounds::pClassPointer = NULL; // Class KFGame.KFDT_Toxic_MedicGrenade // 0x0000 (0x0164 - 0x0164) class UKFDT_Toxic_MedicGrenade : public UKFDT_Toxic { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63813]; return pClassPointer; }; }; UClass* UKFDT_Toxic_MedicGrenade::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Medic // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Medic : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63815]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Medic::pClassPointer = NULL; // Class KFGame.KFDynamicFogAndDamageVolumeInfo // 0x0048 (0x02A0 - 0x0258) class AKFDynamicFogAndDamageVolumeInfo : public AFogVolumeConstantDensityInfo { public: float DamagePerSec; // 0x0258 (0x0004) [0x0000000000000000] class UClass* DamageType; // 0x025C (0x0008) [0x0000000000000000] DWORD bPainCausing : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000001] DWORD bDamageZeds : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000002] DWORD bBlendingFogIn : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bBlendingFogOut : 1; // 0x0264 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bOldEnabled : 1; // 0x0264 (0x0004) [0x0000000000000000] [0x00000010] float PainInterval; // 0x0268 (0x0004) [0x0000000000000000] float FogBlendTime; // 0x026C (0x0004) [0x0000000000000000] float FogBlendTimeRemaining; // 0x0270 (0x0004) [0x0000000000000000] unsigned char FogBlendAmountRep; // 0x0274 (0x0001) [0x0000000000160000] ( // CPF_EditConst | CPF_GlobalConfig ) float InitialDensity; // 0x0278 (0x0004) [0x0000000000000000] float CurrentDensity; // 0x027C (0x0004) [0x0000000000000000] struct FString ActivateMessage; // 0x0280 (0x0010) [0x0000000000000000] struct FString DeactivateMessage; // 0x0290 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63820]; return pClassPointer; }; void TempMessagePlayers(); void SetEnabled(); void StartBlendOut(); void StartBlendIn(); void DeActivate(); void Activate(); void TimerPop(); void CausePainTo(); void eventTouch(); void eventTick(); void SetFogDensity(); void OnToggle(); void eventReplicatedEvent(); void eventPostBeginPlay(); }; UClass* AKFDynamicFogAndDamageVolumeInfo::pClassPointer = NULL; // Class KFGame.KFEmit_Path // 0x0038 (0x0290 - 0x0258) class AKFEmit_Path : public AEmitter { public: int WAYPOINT_HEIGHT; // 0x0258 (0x0004) [0x0000000000000000] int WAYPOINT_HEIGHT_NAV_MESH; // 0x025C (0x0004) [0x0000000000000000] float MinDistanceBetweenWayPointsOnNavMesh; // 0x0260 (0x0004) // [0x0000000000000000] class UParticleSystem* EmitterTemplate; // 0x0264 (0x0008) [0x0000000000000000] TArray WayPoints; // 0x026C (0x0010) [0x0000000000000000] int NumPoints; // 0x027C (0x0004) [0x0000000000000000] int Position; // 0x0280 (0x0004) [0x0000000000000000] float CURVE_TURNRATE; // 0x0284 (0x0004) [0x0000000000000000] float ACCEL_RATE; // 0x0288 (0x0004) [0x0000000000000000] DWORD bUseAccelerationPhysics : 1; // 0x028C (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHeadedRight : 1; // 0x028C (0x0004) [0x0000000000000000] [0x00000002] DWORD bShowEmitPathDebugArtifacts : 1; // 0x028C (0x0004) // [0x0000000000000000] [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63867]; return pClassPointer; }; void ShouldStopPathing(); void StartNextPath(); void eventSetTemplate(); void eventSetInitialState(); void SetDestination(); void PostBeginPlay(); }; UClass* AKFEmit_Path::pClassPointer = NULL; // Class KFGame.KFEmit_TraderPath // 0x0000 (0x0290 - 0x0290) class AKFEmit_TraderPath : public AKFEmit_Path { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63915]; return pClassPointer; }; void ShouldStopPathing(); }; UClass* AKFEmit_TraderPath::pClassPointer = NULL; // Class KFGame.KFEmit_ScriptedPath // 0x0000 (0x0290 - 0x0290) class AKFEmit_ScriptedPath : public AKFEmit_TraderPath { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63923]; return pClassPointer; }; void ShouldStopPathing(); }; UClass* AKFEmit_ScriptedPath::pClassPointer = NULL; // Class KFGame.KFEmitter // 0x0004 (0x025C - 0x0258) class AKFEmitter : public AEmitter { public: DWORD bClientsideKismetToggle : 1; // 0x0258 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63928]; return pClassPointer; }; void OnToggle(); }; UClass* AKFEmitter::pClassPointer = NULL; // Class KFGame.KFThirdPersonCamera // 0x0004 (0x01D8 - 0x01D4) class UKFThirdPersonCamera : public UGameThirdPersonCamera { public: DWORD bInvertY : 1; // 0x01D4 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63934]; return pClassPointer; }; void InvertViewOffset(); void SetViewOffset(); }; UClass* UKFThirdPersonCamera::pClassPointer = NULL; // Class KFGame.KFThirdPersonCameraMode // 0x0000 (0x0264 - 0x0264) class UKFThirdPersonCameraMode : public UGameThirdPersonCameraMode_Default { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63942]; return pClassPointer; }; void GetDefaultOffset(); void InvertViewOffset(); }; UClass* UKFThirdPersonCameraMode::pClassPointer = NULL; // Class KFGame.KFEmoteCamera // 0x0000 (0x01D8 - 0x01D8) class UKFEmoteCamera : public UKFThirdPersonCamera { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63944]; return pClassPointer; }; }; UClass* UKFEmoteCamera::pClassPointer = NULL; // Class KFGame.KFEmoteCameraMode // 0x0000 (0x0264 - 0x0264) class UKFEmoteCameraMode : public UKFThirdPersonCameraMode { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[63946]; return pClassPointer; }; }; UClass* UKFEmoteCameraMode::pClassPointer = NULL; // Class KFGame.KFExplosion_AirborneAgent // 0x0060 (0x0384 - 0x0324) class AKFExplosion_AirborneAgent : public AKFExplosionActorReplicated { public: class UClass* HealingDamageType; // 0x0324 (0x0008) [0x0000000000000000] float HealingAmount; // 0x032C (0x0004) [0x0000000000000000] class UAkEvent* LoopStartEvent; // 0x0330 (0x0008) [0x0000000000000000] class UAkEvent* LoopStopEvent; // 0x0338 (0x0008) [0x0000000000000000] float interval; // 0x0340 (0x0004) [0x0000000000000000] float maxTime; // 0x0344 (0x0004) [0x0000000000000000] DWORD bOnlyDamagePawns : 1; // 0x0348 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSkipLineCheckForPawns : 1; // 0x0348 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDoFullDamage : 1; // 0x0348 (0x0004) [0x0000000000000000] [0x00000004] DWORD bWasFadedOut : 1; // 0x0348 (0x0004) [0x0000000000000000] [0x00000008] class AKFPerk* CachedInstigatorPerk; // 0x034C (0x0008) [0x0000000000000000] class UParticleSystem* LoopingParticleEffect; // 0x0354 (0x0008) [0x0000000000000000] class UParticleSystemComponent* LoopingPSC; // 0x035C (0x0008) [0x0000000000000000] struct FString AAHealingDamageTypePath; // 0x0364 (0x0010) [0x0000000000000000] class UParticleSystemComponent* PSC; // 0x0374 (0x0008) [0x0000000000000000] class APawn* MyPawn; // 0x037C (0x0008) [0x0000000000190000] ( // CPF_Travel | CPF_Component ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[64093]; return pClassPointer; }; void ExplodePawns(); void DoExplosionDamage(); void StopLoopingParticleEffect(); void eventDestroyed(); void FadeOut(); void StartLoopingParticleEffect(); void Explode(); void SpawnExplosionParticleSystem(); void AffectsPawn(); void eventReplicatedEvent(); }; UClass* AKFExplosion_AirborneAgent::pClassPointer = NULL; // Class KFGame.KFExplosionActorLingering // 0x002C (0x0344 - 0x0318) class AKFExplosionActorLingering : public AKFExplosionActor { public: float interval; // 0x0318 (0x0004) [0x0000000000000000] float maxTime; // 0x031C (0x0004) [0x0000000000000000] DWORD bOnlyDamagePawns : 1; // 0x0320 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bSkipLineCheckForPawns : 1; // 0x0320 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bDoFullDamage : 1; // 0x0320 (0x0004) [0x0000000000000000] [0x00000004] DWORD bWasFadedOut : 1; // 0x0320 (0x0004) [0x0000000000000000] [0x00000008] class UAkEvent* LoopStartEvent; // 0x0324 (0x0008) [0x0000000000000000] class UAkEvent* LoopStopEvent; // 0x032C (0x0008) [0x0000000000000000] class UParticleSystem* LoopingParticleEffect; // 0x0334 (0x0008) [0x0000000000000000] class UParticleSystemComponent* LoopingPSC; // 0x033C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[64148]; return pClassPointer; }; void AffectsPawn(); void ExplodePawns(); void DoExplosionDamage(); void StopLoopingParticleEffect(); void eventDestroyed(); void FadeOut(); void StartLoopingParticleEffect(); void Explode(); }; UClass* AKFExplosionActorLingering::pClassPointer = NULL; // Class KFGame.KFExplosion_Nuke // 0x0004 (0x0348 - 0x0344) class AKFExplosion_Nuke : public AKFExplosionActorLingering { public: float NukeEffectRadius; // 0x0344 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[64185]; return pClassPointer; }; void GetNukeEffectCheckRadius(); void ExplodePawns(); void Explode(); void AffectsPawn(); }; UClass* AKFExplosion_Nuke::pClassPointer = NULL; // Class KFGame.KFExplosionActorPlaceable // 0x0000 (0x0318 - 0x0318) class AKFExplosionActorPlaceable : public AKFExplosionActor { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[64211]; return pClassPointer; }; }; UClass* AKFExplosionActorPlaceable::pClassPointer = NULL; // Class KFGame.KFFirstPersonCamera // 0x0000 (0x006C - 0x006C) class UKFFirstPersonCamera : public UGameCameraBase { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[64233]; return pClassPointer; }; void PlayerUpdateCamera(); void UpdateCamera(); }; UClass* UKFFirstPersonCamera::pClassPointer = NULL; // Class KFGame.KFGameInfo_Entry // 0x0008 (0x071C - 0x0714) class AKFGameInfo_Entry : public AKFGameInfo { public: DWORD bInitialized : 1; // 0x0714 (0x0004) [0x0000000000000000] [0x00000001] int LastSystemTimeMinutes; // 0x0718 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[65504]; return pClassPointer; }; void FinishCraft(); void Tick(); void GetSystemTimeMinutes(); void eventInitGame(); void StartMatch(); void InitTraderList(); void InitSpawnManager(); void SpawnDefaultPawnFor(); void NeedPlayers(); void PreloadContentClasses(); }; UClass* AKFGameInfo_Entry::pClassPointer = NULL; // Class KFGame.KFTraderVoiceGroupBase // 0x10D8 (0x1138 - 0x0060) class UKFTraderVoiceGroupBase : public UObject { public: struct FTraderDialogEventInfo DialogEvents[0x9A]; // 0x0060 (0x0C08) [0x0000000000000000] struct FName EventNames[0x9A]; // 0x0C68 (0x04D0) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[65505]; return pClassPointer; }; }; UClass* UKFTraderVoiceGroupBase::pClassPointer = NULL; // Class KFGame.KFGameInfoSummary // 0x0000 (0x00F8 - 0x00F8) class UKFGameInfoSummary : public UUIGameInfoSummary { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[65555]; return pClassPointer; }; }; UClass* UKFGameInfoSummary::pClassPointer = NULL; // Class KFGame.KFGameplayPoolManager // 0x0024 (0x0268 - 0x0244) class AKFGameplayPoolManager : public AActor { public: unsigned char MAX_ACTIVE_C4; // 0x0244 (0x0001) [0x0000000000000000] unsigned char MAX_ACTIVE_PUKE_MINES; // 0x0245 (0x0001) [0x0000000000000000] TArray ActiveC4; // 0x0248 (0x0010) [0x0000000000000000] TArray ActivePukeMines; // 0x0258 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[65754]; return pClassPointer; }; void eventReset(); void RemoveProjectileFromPool_Internal(); void AddProjectileToPool_Internal(); void RemoveProjectileFromPool(); void AddProjectileToPool(); void GetPoolManager(); }; UClass* AKFGameplayPoolManager::pClassPointer = NULL; // Class KFGame.KFSeqEvent_WaveStart // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_WaveStart : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66013]; return pClassPointer; }; void SetWaveNum(); }; UClass* UKFSeqEvent_WaveStart::pClassPointer = NULL; // Class KFGame.KFSeqEvent_TraderOpened // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_TraderOpened : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66014]; return pClassPointer; }; void SetWaveNum(); }; UClass* UKFSeqEvent_TraderOpened::pClassPointer = NULL; // Class KFGame.KFTraderDialogManager // 0x0054 (0x0298 - 0x0244) class AKFTraderDialogManager : public AActor { public: DWORD bEnabled : 1; // 0x0244 (0x0004) [0x0000000000000000] [0x00000001] TArray Cooldowns; // 0x0248 (0x0010) [0x0000000000000000] class UClass* TraderVoiceGroupClass; // 0x0258 (0x0008) [0x0000000000000000] struct FTraderDialogEventInfo ActiveEventInfo; // 0x0260 (0x0014) [0x0000000000000000] float FewZedsDeadPct; // 0x0274 (0x0004) [0x0000000000000000] float ManyZedsDeadPct; // 0x0278 (0x0004) [0x0000000000000000] float FarFromTraderDistance; // 0x027C (0x0004) [0x0000000000000000] float NeedHealPct; // 0x0280 (0x0004) [0x0000000000000000] float TeammateNeedsHealPct; // 0x0284 (0x0004) [0x0000000000000000] int ShareDoshAmount; // 0x0288 (0x0004) [0x0000000000000000] int LowDoshAmount; // 0x028C (0x0004) [0x0000000000000000] float WaveClearDialogDelay; // 0x0290 (0x0004) [0x0000000000000000] int DelayedWaveClearEventID; // 0x0294 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66015]; return pClassPointer; }; void PlaySelectItemDialog(); void PlayObjectiveDialog(); void PlayOpenTraderMenuDialog(); void WaveClearDialogTimer(); void PlayWaveClearDialog(); void IsSoloHumanPlayer(); void PlayPlayerSurvivedLastWaveDialog(); void PlayPlayerDiedLastWaveDialog(); void PlayBeginTraderTimeDialog(); void PlayTraderTickDialog(); void AddRandomOption(); void PlayCloseTraderDialog(); void PlayApproachTraderDialog(); void PlayOpenTraderDialog(); void PlayGlobalWaveProgressDialog(); void PlayGlobalDialog(); void PlayDialog(); void DialogIsCoolingDown(); void EndOfDialogTimer(); }; UClass* AKFTraderDialogManager::pClassPointer = NULL; // Class KFGame.KFGFxCollapsedObjectivesContainer // 0x0000 (0x00A8 - 0x00A8) class UKFGFxCollapsedObjectivesContainer : public UKFGFxObject_Container { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66112]; return pClassPointer; }; void GetWeeklyDataObject(); void PopulateData(); void Initialize(); }; UClass* UKFGFxCollapsedObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxSpecialEventObjectivesContainer // 0x0090 (0x0138 - 0x00A8) class UKFGFxSpecialEventObjectivesContainer : public UKFGFxObject_Container { public: struct FString CurrentSpecialEventString; // 0x00A8 (0x0010) [0x0000000000000000] TArray SpecialEventObjectiveInfoList; // 0x00B8 (0x0010) [0x0000000000000000] TArray ObjectiveIconURLs; // 0x00C8 (0x0010) [0x0000000000000000] struct FString AllCompleteRewardIconURL; // 0x00D8 (0x0010) [0x0000000000000000] struct FString AllCompleteRewardDescriptionString; // 0x00E8 (0x0010) // [0x0000000000000000] TArray ChanceDropIconURLs; // 0x00F8 (0x0010) [0x0000000000000000] TArray ChanceDropDescriptionStrings; // 0x0108 (0x0010) [0x0000000000000000] struct FString IconURL; // 0x0118 (0x0010) [0x0000000000000000] TArray ObjectiveStatusList; // 0x0128 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66134]; return pClassPointer; }; void PopulateChanceDrops(); void PopulateReward(); void HasObjectiveStatusChanged(); void PopulateData(); void LocalizeMenu(); void Initialize(); }; UClass* UKFGFxSpecialEventObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxControlsContainer_ControllerPresets // 0x00A6 (0x014E - 0x00A8) class UKFGFxControlsContainer_ControllerPresets : public UKFGFxObject_Container { public: struct FString InputSectionName; // 0x00A8 (0x0010) [0x0000000000000000] struct FString PackageName; // 0x00B8 (0x0010) [0x0000000000000000] struct FString MovementString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString LookString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString ShowScoardBoardString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString ShowIngameMenuString; // 0x00F8 (0x0010) [0x0000000000000000] struct FString HoldString; // 0x0108 (0x0010) [0x0000000000000000] struct FString TapString; // 0x0118 (0x0010) [0x0000000000000000] struct FString CurrentControllerPresetString; // 0x0128 (0x0010) [0x0000000000000000] TArray PresetStrings; // 0x0138 (0x0010) [0x0000000000000000] int numGamepadLayouts; // 0x0148 (0x0004) [0x0000000000000000] unsigned char CurrentLocalizedIndex; // 0x014C (0x0001) [0x0000000000000000] unsigned char CurrentPresetIndex; // 0x014D (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66141]; return pClassPointer; }; void ResetPresetOptions(); void AddBindingToGFxObject(); void UpdateButtonDescriptions(); void LocalizeText(); void UpdateCurrentPresetArray(); void Initialize(); }; UClass* UKFGFxControlsContainer_ControllerPresets::pClassPointer = NULL; // Class KFGame.KFGFxControlsContainer_Input // 0x00C8 (0x0170 - 0x00A8) class UKFGFxControlsContainer_Input : public UKFGFxObject_Container { public: struct FString SensitivityString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString InvertedString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString ControllerSensitivityString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString ControllerString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString MouseString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString MouseSmoothingString; // 0x00F8 (0x0010) [0x0000000000000000] struct FString ZoomSensitivityString; // 0x0108 (0x0010) [0x0000000000000000] struct FString ControllerZoomSensitivityString; // 0x0118 (0x0010) // [0x0000000000000000] struct FString AimAssistLockOnString; // 0x0128 (0x0010) [0x0000000000000000] struct FString AimAssistRotationString; // 0x0138 (0x0010) [0x0000000000000000] struct FString AimAssistSlowDownString; // 0x0148 (0x0010) [0x0000000000000000] struct FString ForceFeedbackString; // 0x0158 (0x0010) [0x0000000000000000] class UKFGFxOptionsMenu_Controls* ControlsMenu; // 0x0168 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66259]; return pClassPointer; }; void ResetInputOptions(); void InitializeOptions(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxControlsContainer_Input::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_Controls // 0x0058 (0x0138 - 0x00E0) class UKFGFxOptionsMenu_Controls : public UKFGFxObject_Menu { public: class UKFGFxControlsContainer_Keybinding* KeybindingsContainer; // 0x00E0 (0x0008) [0x0000000000000000] class UKFGFxControlsContainer_Input* InputContainer; // 0x00E8 (0x0008) [0x0000000000000000] class UKFGFxControlsContainer_ControllerPresets* ControllerPresetsContainer; // 0x00F0 (0x0008) [0x0000000000000000] float MinControllerLookSensitivity; // 0x00F8 (0x0004) [0x0000000000000000] float MaxControllerLookSensitivity; // 0x00FC (0x0004) [0x0000000000000000] float MinControllerZoomLookSensitivity; // 0x0100 (0x0004) // [0x0000000000000000] float MaxControllerZoomLookSensitivity; // 0x0104 (0x0004) // [0x0000000000000000] float MinMouseLookSensitivity; // 0x0108 (0x0004) [0x0000000000000000] float MaxMouseLookSensitivity; // 0x010C (0x0004) [0x0000000000000000] float MinMouseLookZoomSensitivity; // 0x0110 (0x0004) [0x0000000000000000] float MaxMouseLookZoomSensitivity; // 0x0114 (0x0004) [0x0000000000000000] TArray TabStrings; // 0x0118 (0x0010) [0x0000000000000000] struct FString HeaderText; // 0x0128 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66349]; return pClassPointer; }; void CallBack_ResetInputOptions(); void CallBack_ResetPresetOptions(); void Callback_UpdateControllerPreset(); void Callback_CloseMenu(); void Callback_AcceptBind(); void Callback_ResetControls(); void Callback_ChangeBind(); void Callback_ForceFeedbackChanged(); void Callback_AimAssistSlowDownChanged(); void Callback_AimAssistRotationChanged(); void Callback_AimAssistZoomLockOnChanged(); void Callback_MouseSmoothingChanged(); void Callback_InvertChanged(); void Callback_MouseZoomSensitivity(); void Callback_MouseSensitivity(); void Callback_ControllerInvertChanged(); void Callback_ControllerZoomSensitivity(); void Callback_ControllerSensitivity(); void eventFilterButtonInput(); void SaveConfigValues(); void eventOnClose(); void OnOpen(); void eventWidgetInitialized(); void OnInputTypeChanged(); void LocalizeText(); void InitializeMenu(); }; UClass* UKFGFxOptionsMenu_Controls::pClassPointer = NULL; // Class KFGame.KFGFxControlsContainer_Keybinding // 0x0168 (0x0210 - 0x00A8) class UKFGFxControlsContainer_Keybinding : public UKFGFxObject_Container { public: class UKFGFxMoviePlayer_Manager* Manager; // 0x00A8 (0x0008) [0x0000000000000000] TArray MovementBindList; // 0x00B0 (0x0010) [0x0000000000000000] TArray CombatBindList; // 0x00C0 (0x0010) [0x0000000000000000] TArray WeaponSelectBindList; // 0x00D0 (0x0010) [0x0000000000000000] TArray InteractionBindList; // 0x00E0 (0x0010) [0x0000000000000000] TArray VoiceCommBindList; // 0x00F0 (0x0010) [0x0000000000000000] struct FKeyBind PendingKeyBind; // 0x0100 (0x001C) [0x0000000000000000] struct FKeyBind OldKeyBind; // 0x011C (0x001C) [0x0000000000000000] struct FString bindCommand; // 0x0138 (0x0010) [0x0000000000000000] unsigned char CurrentlySelectedSection; // 0x0148 (0x0001) [0x0000000000000000] unsigned char TotalBindSections; // 0x0149 (0x0001) [0x0000000000000000] DWORD bModCtrl : 1; // 0x014C (0x0004) [0x0000000000000000] [0x00000001] DWORD bModShift : 1; // 0x014C (0x0004) [0x0000000000000000] [0x00000002] DWORD bModAlt : 1; // 0x014C (0x0004) [0x0000000000000000] [0x00000004] DWORD bWaitForInput : 1; // 0x014C (0x0004) [0x0000000000000000] [0x00000008] struct FString SectionName; // 0x0150 (0x0010) [0x0000000000000000] TArray SectionHeaders; // 0x0160 (0x0010) [0x0000000000000000] struct FString ResetString; // 0x0170 (0x0010) [0x0000000000000000] struct FString ApplyString; // 0x0180 (0x0010) [0x0000000000000000] struct FString KeyAlreadyBoundString; // 0x0190 (0x0010) [0x0000000000000000] struct FString PressKeyString; // 0x01A0 (0x0010) [0x0000000000000000] struct FString WarningString; // 0x01B0 (0x0010) [0x0000000000000000] struct FString RebindString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString ClearedString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString CancelString; // 0x01E0 (0x0010) [0x0000000000000000] struct FString AcceptString; // 0x01F0 (0x0010) [0x0000000000000000] struct FString IgnoredKeyString; // 0x0200 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66359]; return pClassPointer; }; void ClearInputOnContainer(); void ResetControls(); void AcceptBind(); void SetConflictMessage(); void SetKeyBind(); void ResetModKeys(); void UpdateModKeys(); void BindKey(); void ChangeBind(); void SetSectionBindings(); void UpdateBindList(); void UpdateAllBindings(); void InitalizeCommandList(); void Initialize(); }; UClass* UKFGFxControlsContainer_Keybinding::pClassPointer = NULL; // Class KFGame.KFGFxExpandedObjectivesContainer // 0x0018 (0x00C0 - 0x00A8) class UKFGFxExpandedObjectivesContainer : public UKFGFxObject_Container { public: class UKFGFxSpecialEventObjectivesContainer* SpecialEventsContainer; // 0x00A8 (0x0008) [0x0000000000000000] class UKFGFxWeeklyObjectivesContainer* WeeklyEventContainer; // 0x00B0 (0x0008) [0x0000000000000000] class UKFGFxMenu_StartGame* StartMenu; // 0x00B8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66444]; return pClassPointer; }; void LocalizeMenu(); void Refresh(); void Initialize(); }; UClass* UKFGFxExpandedObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxWeeklyObjectivesContainer // 0x0004 (0x00AC - 0x00A8) class UKFGFxWeeklyObjectivesContainer : public UKFGFxObject_Container { public: DWORD bInitialDataPopulated : 1; // 0x00A8 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bLastWeeklyComplete : 1; // 0x00A8 (0x0004) [0x0000000000000000] // [0x00000002] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66458]; return pClassPointer; }; void LocalizeMenu(); void CreateRewardItem(); void PopulateRewards(); void PopulateModifiers(); void PopulateData(); void Initialize(); }; UClass* UKFGFxWeeklyObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxGearContainer_PerksSelection // 0x0010 (0x00B8 - 0x00A8) class UKFGFxGearContainer_PerksSelection : public UKFGFxObject_Container { public: TArray PerksData; // 0x00A8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66462]; return pClassPointer; }; void UpdatePerkSelection(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxGearContainer_PerksSelection::pClassPointer = NULL; // Class KFGame.KFGFxHUD_ChatBoxWidget // 0x0004 (0x00A4 - 0x00A0) class UKFGFxHUD_ChatBoxWidget : public UGFxObject { public: DWORD bChatBoxVisible : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66487]; return pClassPointer; }; void ClearAndCloseChat(); void SetLobbyChatVisible(); void SetDataObjects(); void GetDataObjects(); void OpenInputField(); void AddChatMessage(); void Init(); }; UClass* UKFGFxHUD_ChatBoxWidget::pClassPointer = NULL; // Class KFGame.KFGFxHUD_ObjectiveConatiner // 0x0000 (0x00A0 - 0x00A0) class UKFGFxHUD_ObjectiveConatiner : public UGFxObject { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66510]; return pClassPointer; }; void SetCurrentProgress(); void SetCurrentIcon(); void SetActive(); }; UClass* UKFGFxHUD_ObjectiveConatiner::pClassPointer = NULL; // Class KFGame.KFGFxHUD_PlayerBackpack // 0x0044 (0x00E4 - 0x00A0) class UKFGFxHUD_PlayerBackpack : public UGFxObject { public: class AKFPlayerController* MyKFPC; // 0x00A0 (0x0008) [0x0000000000000000] int LastDosh; // 0x00A8 (0x0004) [0x0000000000000000] int LastSpareAmmo; // 0x00AC (0x0004) [0x0000000000000000] unsigned char LastMagazineAmmo; // 0x00B0 (0x0001) [0x0000000000000000] unsigned char LastSecondaryAmmo; // 0x00B1 (0x0001) [0x0000000000000000] DWORD bUsesAmmo : 1; // 0x00B4 (0x0004) [0x0000000000000000] [0x00000001] DWORD bWasUsingAltFireMode : 1; // 0x00B4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUsesSecondaryAmmo : 1; // 0x00B4 (0x0004) [0x0000000000000000] // [0x00000004] int LastFlashlightBattery; // 0x00B8 (0x0004) [0x0000000000000000] int LastGrenades; // 0x00BC (0x0004) [0x0000000000000000] int LastSavedBuild; // 0x00C0 (0x0004) [0x0000000000000000] int LastMaxWeight; // 0x00C4 (0x0004) [0x0000000000000000] int LastWeight; // 0x00C8 (0x0004) [0x0000000000000000] class UClass* LastPerkClass; // 0x00CC (0x0008) [0x0000000000000000] class AKFWeapon* LastWeapon; // 0x00D4 (0x0008) [0x0000000000000000] class AKFInventoryManager* MyKFInvManager; // 0x00DC (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66518]; return pClassPointer; }; void SetFlashlightBattery(); void UpdateFlashlight(); void RefreshWeapon(); void UpdateFireModeIcon(); void UpdateWeapon(); void UpdateGrenades(); void UpdateDosh(); void UpdateWeight(); void TickHud(); void InitializeHUD(); }; UClass* UKFGFxHUD_PlayerBackpack::pClassPointer = NULL; // Class KFGame.KFGFxHUD_PlayerMoveList // 0x0064 (0x0104 - 0x00A0) class UKFGFxHUD_PlayerMoveList : public UGFxObject { public: TArray CurrentMoves; // 0x00A0 (0x0010) [0x0000000000000000] class UGFxObject* MoveListObjectArray; // 0x00B0 (0x0008) [0x0000000000000000] class UTexture2D* ZedIconTexture; // 0x00B8 (0x0008) [0x0000000000000000] class AKFPawn_Monster* MyKFPM; // 0x00C0 (0x0008) [0x0000000000000000] class UKFPlayerInput* MyInput; // 0x00C8 (0x0008) [0x0000000000000000] TArray PlayerMoveKeyBinds; // 0x00D0 (0x0010) [0x0000000000000000] TArray GamepadMoveKeyBinds; // 0x00E0 (0x0010) [0x0000000000000000] TArray GamepadKeyPriority; // 0x00F0 (0x0010) [0x0000000000000000] DWORD bUsingGamepadControls : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66576]; return pClassPointer; }; void ClearMoveList(); void BuildObjectArray(); void UpdateMoveList(); void GetAlternateBindName(); void InitializeMoveList(); void TickHud(); void ChangeOwner(); void InitializeHUD(); }; UClass* UKFGFxHUD_PlayerMoveList::pClassPointer = NULL; // Class KFGame.KFGFxHud_PlayerRosterWidget // 0x0018 (0x00B8 - 0x00A0) class UKFGFxHud_PlayerRosterWidget : public UGFxObject { public: TArray ZedPlayerInfoList; // 0x00A0 (0x0010) [0x0000000000000000] class APlayerReplicationInfo* MyPRI; // 0x00B0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66626]; return pClassPointer; }; void UpdatePlayerData(); void TickHud(); void InitializeHUD(); }; UClass* UKFGFxHud_PlayerRosterWidget::pClassPointer = NULL; // Class KFGame.KFGFxHUD_PlayerStatus // 0x0044 (0x00E4 - 0x00A0) class UKFGFxHUD_PlayerStatus : public UGFxObject { public: class AKFPlayerController* MyPC; // 0x00A0 (0x0008) [0x0000000000000000] class AKFPawn_Human* MyHumanPawn; // 0x00A8 (0x0008) [0x0000000000000000] class AKFInventoryManager* MyInventoryManager; // 0x00B0 (0x0008) [0x0000000000000000] class UClass* LastPerkClass; // 0x00B8 (0x0008) [0x0000000000000000] int LastPerkLevel; // 0x00C0 (0x0004) [0x0000000000000000] int LastHealth; // 0x00C4 (0x0004) [0x0000000000000000] int LastArmor; // 0x00C8 (0x0004) [0x0000000000000000] float LastHealerAmmoPct; // 0x00CC (0x0004) [0x0000000000000000] int LastEXPValue; // 0x00D0 (0x0004) [0x0000000000000000] struct FString EXPString; // 0x00D4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66650]; return pClassPointer; }; void ShowXPBark(); void UpdateXP(); void UpdateArmor(); void UpdateHealth(); void UpdatePerk(); void UpdateHealer(); void ClearBuffIcons(); void ShowActiveIndicators(); void TickHud(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxHUD_PlayerStatus::pClassPointer = NULL; // Class KFGame.KFGFxHUD_PostRoundMenu // 0x00A0 (0x0140 - 0x00A0) class UKFGFxHUD_PostRoundMenu : public UGFxObject { public: class UKFGFxPostRoundContainer_Team* TeamOneContainer; // 0x00A0 (0x0008) [0x0000000000000000] class UKFGFxPostRoundContainer_Team* TeamTwoContainer; // 0x00A8 (0x0008) [0x0000000000000000] struct FString RoundResultsString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString MatchResultsString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString SurvivorVictory; // 0x00D0 (0x0010) [0x0000000000000000] struct FString ZedVictory; // 0x00E0 (0x0010) [0x0000000000000000] struct FString TieString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString YourTeamString; // 0x0100 (0x0010) [0x0000000000000000] struct FString OpposingTeamString; // 0x0110 (0x0010) [0x0000000000000000] struct FString MatchOnGoingString; // 0x0120 (0x0010) [0x0000000000000000] class AKFTeamInfo_Human* WinningTeam; // 0x0130 (0x0008) [0x0000000000000000] class AKFGameReplicationInfo* KFGRI; // 0x0138 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66692]; return pClassPointer; }; void DisplayProgress(); void eventWidgetInitialized(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxHUD_PostRoundMenu::pClassPointer = NULL; // Class KFGame.KFGFxPostRoundContainer_Team // 0x0088 (0x0128 - 0x00A0) class UKFGFxPostRoundContainer_Team : public UGFxObject { public: struct FString TitleString; // 0x00A0 (0x0010) [0x0000000000000000] struct FString WavesCompleteString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString BossDeadString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString DeathsString; // 0x00D0 (0x0010) [0x0000000000000000] struct FString DamageString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString TotalString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString YourTeamString; // 0x0100 (0x0010) [0x0000000000000000] struct FString OpponentsString; // 0x0110 (0x0010) [0x0000000000000000] int TeamValue; // 0x0120 (0x0004) [0x0000000000000000] int TeamID; // 0x0124 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66720]; return pClassPointer; }; void LocalizeText(); void CreateResultsForTeam(); void Initialize(); }; UClass* UKFGFxPostRoundContainer_Team::pClassPointer = NULL; // Class KFGame.KFGFxHUD_ScoreboardMapInfoContainer // 0x003C (0x00DC - 0x00A0) class UKFGFxHUD_ScoreboardMapInfoContainer : public UGFxObject { public: int LastMatchTime; // 0x00A0 (0x0004) [0x0000000000000000] struct FString WaveString; // 0x00A4 (0x0010) [0x0000000000000000] struct FString FinalString; // 0x00B4 (0x0010) [0x0000000000000000] int CurrentGameDifficulty; // 0x00C4 (0x0004) [0x0000000000000000] struct FString GameTypeString; // 0x00C8 (0x0010) [0x0000000000000000] DWORD bLocalized : 1; // 0x00D8 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66724]; return pClassPointer; }; void UpdateWaveCount(); void UpdateMatchInfo(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxHUD_ScoreboardMapInfoContainer::pClassPointer = NULL; // Class KFGame.KFGFxHUD_ScoreboardWidget // 0x0074 (0x0114 - 0x00A0) class UKFGFxHUD_ScoreboardWidget : public UGFxObject { public: DWORD bUpdateScoreboard : 1; // 0x00A0 (0x0004) [0x0000000000000000] // [0x00000001] float ScoreboardUpdateInterval; // 0x00A4 (0x0004) [0x0000000000000000] float LastScoreboardUpdateTime; // 0x00A8 (0x0004) [0x0000000000000000] class UKFGFxHUD_ScoreboardMapInfoContainer* MatchInfoContainer; // 0x00AC (0x0008) [0x0000000000000000] TArray CurrentPlayerList; // 0x00B4 (0x0010) [0x0000000000000000] struct FString PlayerString; // 0x00C4 (0x0010) [0x0000000000000000] struct FString DoshString; // 0x00D4 (0x0010) [0x0000000000000000] struct FString KillsString; // 0x00E4 (0x0010) [0x0000000000000000] struct FString AssistsString; // 0x00F4 (0x0010) [0x0000000000000000] struct FString PingString; // 0x0104 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66744]; return pClassPointer; }; void UpdatePlayerData(); void SortPlayerList(); void UpdatePlayerList(); void UpdateMatchInfo(); void SetOpen(); void ForceUpdateNextFrame(); void TickHud(); void eventWidgetInitialized(); void SendServerInfoToGFX(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxHUD_ScoreboardWidget::pClassPointer = NULL; // Class KFGame.KFGFxHUD_ScoreboardVersusWidget // 0x001C (0x0130 - 0x0114) class UKFGFxHUD_ScoreboardVersusWidget : public UKFGFxHUD_ScoreboardWidget { public: struct FString ScoreString; // 0x0114 (0x0010) [0x0000000000000000] int AssistValue; // 0x0124 (0x0004) [0x0000000000000000] int KillValue; // 0x0128 (0x0004) [0x0000000000000000] int DamageValue; // 0x012C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66791]; return pClassPointer; }; void UpdatePlayerData(); void TickHud(); void LocalizeText(); }; UClass* UKFGFxHUD_ScoreboardVersusWidget::pClassPointer = NULL; // Class KFGame.KFGFxHUD_SpectatorInfo // 0x004C (0x00EC - 0x00A0) class UKFGFxHUD_SpectatorInfo : public UGFxObject { public: struct FString PrevPlayerString; // 0x00A0 (0x0010) [0x0000000000000000] struct FString NextPlayerString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString ChangeCameraString; // 0x00C0 (0x0010) [0x0000000000000000] class UGFxObject* SpectatorInfoMC; // 0x00D0 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* SpectatedKFPRI; // 0x00D8 (0x0008) [0x0000000000000000] unsigned char LastPerkLevel; // 0x00E0 (0x0001) [0x0000000000000000] class UClass* LastPerkClass; // 0x00E4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66808]; return pClassPointer; }; void UpdatePlayerInfo(); void UpdateSpectateeInfo(); void SetSpectatedKFPRI(); void UpdateUsingGamePad(); void TickHud(); void SetPlayerInfoVisible(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxHUD_SpectatorInfo::pClassPointer = NULL; // Class KFGame.KFGFxHUD_SpectatorInfo_Versus // 0x0000 (0x00EC - 0x00EC) class UKFGFxHUD_SpectatorInfo_Versus : public UKFGFxHUD_SpectatorInfo { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66835]; return pClassPointer; }; void UpdatePlayerInfo(); }; UClass* UKFGFxHUD_SpectatorInfo_Versus::pClassPointer = NULL; // Class KFGame.KFGFxWidget_PartyInGame // 0x0018 (0x063C - 0x0624) class UKFGFxWidget_PartyInGame : public UKFGFxWidget_BaseParty { public: class AKFGameReplicationInfo* KFGRI; // 0x0624 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* MyKFPRI; // 0x062C (0x0008) [0x0000000000000000] class UGFxObject* MatchStartContainer; // 0x0634 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66841]; return pClassPointer; }; void KickPlayer(); void AddFriend(); void ViewProfile(); void ToggelMuteOnPlayer(); void RefreshSlot(); void RefreshParty(); void GetKFPRIArray(); void UpdateVOIP(); void OneSecondLoop(); void UpdateReadyButtonVisibility(); void InitializeWidget(); }; UClass* UKFGFxWidget_PartyInGame::pClassPointer = NULL; // Class KFGame.KFGFxWidget_PartyInGame_Versus // 0x0040 (0x067C - 0x063C) class UKFGFxWidget_PartyInGame_Versus : public UKFGFxWidget_PartyInGame { public: struct FString SwitchTeamsString; // 0x063C (0x0010) [0x0000000000000000] struct FString balanceWarningString; // 0x064C (0x0010) [0x0000000000000000] class UGFxObject* SwitchTeamsButton; // 0x065C (0x0008) [0x0000000000000000] class UTexture2D* ZedIconTexture; // 0x0664 (0x0008) [0x0000000000000000] struct FScriptDelegate __SortPlayers__Delegate; // 0x066C (0x0010) [0x0000000000000000] unsigned char UnknownData00[0x4]; // 0x0670 (0x0004) FIX WRONG TYPE SIZE OF // PREVIUS PROPERTY private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66840]; return pClassPointer; }; void RefreshSlot(); void SortPlayers(); void GetKFPRIArray(); void UpdateTeams(); void UpdateBalanceWarning(); void OneSecondLoop(); void LocalizeText(); void InitializeWidget(); }; UClass* UKFGFxWidget_PartyInGame_Versus::pClassPointer = NULL; // Class KFGame.KFGFxHUD_TraderCompass // 0x0034 (0x00D4 - 0x00A0) class UKFGFxHUD_TraderCompass : public UGFxObject { public: class APlayerController* MyPC; // 0x00A0 (0x0008) [0x0000000000000000] class AKFGameReplicationInfo* MyKFGRI; // 0x00A8 (0x0008) [0x0000000000000000] class UGFxObject* TraderPing; // 0x00B0 (0x0008) [0x0000000000000000] float LastDistToTrader; // 0x00B8 (0x0004) [0x0000000000000000] unsigned char LastArrowDirection; // 0x00BC (0x0001) [0x0000000000000000] float LastViewAngleDotProduct; // 0x00C0 (0x0004) [0x0000000000000000] struct FString TraderString; // 0x00C4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[66844]; return pClassPointer; }; void UpdateTraderCompassPosition(); void UpdateDistanceToTrader(); void GetCurrentTraderLocation(); void TickHud(); void InitializeHUD(); void eventWidgetInitialized(); }; UClass* UKFGFxHUD_TraderCompass::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Exit // 0x0050 (0x0130 - 0x00E0) class UKFGFxMenu_Exit : public UKFGFxObject_Menu { public: struct FString HeaderString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ExitToMainDescription; // 0x00F0 (0x0010) [0x0000000000000000] struct FString ExitToMainMenu; // 0x0100 (0x0010) [0x0000000000000000] struct FString ExitKF2; // 0x0110 (0x0010) [0x0000000000000000] TArray OptionStrings; // 0x0120 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67075]; return pClassPointer; }; void OnLeaveGameConfirm(); void ShowLeaveGamePopUp(); void ShowExitToOSPopUp(); void HandleAutoExit(); void Callback_MenuSelected(); void SetMenuText(); void SetExitOptions(); void OnOpen(); void InitializeMenu(); }; UClass* UKFGFxMenu_Exit::pClassPointer = NULL; // Class KFGame.KFGFxMenu_Inventory // 0x0320 (0x0400 - 0x00E0) class UKFGFxMenu_Inventory : public UKFGFxObject_Menu { public: struct FString RecycleOneString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString RecycleDuplicatesString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString NoItemsString; // 0x0100 (0x0010) [0x0000000000000000] struct FString InventoryPopulatingString; // 0x0110 (0x0010) [0x0000000000000000] struct FString InventoryString; // 0x0120 (0x0010) [0x0000000000000000] struct FString EquipString; // 0x0130 (0x0010) [0x0000000000000000] struct FString UnequipString; // 0x0140 (0x0010) [0x0000000000000000] struct FString UseString; // 0x0150 (0x0010) [0x0000000000000000] struct FString RecycleString; // 0x0160 (0x0010) [0x0000000000000000] struct FString CraftString; // 0x0170 (0x0010) [0x0000000000000000] struct FString AllString; // 0x0180 (0x0010) [0x0000000000000000] struct FString WeaponSkinString; // 0x0190 (0x0010) [0x0000000000000000] struct FString CosmeticString; // 0x01A0 (0x0010) [0x0000000000000000] struct FString EmotesString; // 0x01B0 (0x0010) [0x0000000000000000] struct FString CraftingMatsString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString ItemString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString FiltersString; // 0x01E0 (0x0010) [0x0000000000000000] struct FString CraftWeaponString; // 0x01F0 (0x0010) [0x0000000000000000] struct FString CraftCosmeticString; // 0x0200 (0x0010) [0x0000000000000000] struct FString CraftItemString; // 0x0210 (0x0010) [0x0000000000000000] struct FString ConfirmCraftItemString; // 0x0220 (0x0010) [0x0000000000000000] struct FString RecycleWarningString; // 0x0230 (0x0010) [0x0000000000000000] struct FString RecycleItemString; // 0x0240 (0x0010) [0x0000000000000000] TArray CraftWeaponStrings; // 0x0250 (0x0010) [0x0000000000000000] TArray CraftCosmeticStrings; // 0x0260 (0x0010) [0x0000000000000000] struct FString FailedToExchangeString; // 0x0270 (0x0010) [0x0000000000000000] struct FString MoreItemsString; // 0x0280 (0x0010) [0x0000000000000000] struct FString ItemExchangeTimeOutString; // 0x0290 (0x0010) [0x0000000000000000] struct FString TryAgainString; // 0x02A0 (0x0010) [0x0000000000000000] struct FString FailedToCraftItemString; // 0x02B0 (0x0010) [0x0000000000000000] struct FString CraftRequirementString; // 0x02C0 (0x0010) [0x0000000000000000] struct FString CraftCosmeticDescriptionString; // 0x02D0 (0x0010) [0x0000000000000000] struct FString CraftWeaponDescriptionString; // 0x02E0 (0x0010) [0x0000000000000000] struct FString RequiresString; // 0x02F0 (0x0010) [0x0000000000000000] struct FString PurchaseKeyString; // 0x0300 (0x0010) [0x0000000000000000] struct FString LookUpOnMarketString; // 0x0310 (0x0010) [0x0000000000000000] class UGFxObject* CraftingSubMenu; // 0x0320 (0x0008) [0x0000000000000000] class UGFxObject* ItemListContainer; // 0x0328 (0x0008) [0x0000000000000000] class UGFxObject* ItemDetailsContainer; // 0x0330 (0x0008) [0x0000000000000000] class UGFxObject* EquipButton; // 0x0338 (0x0008) [0x0000000000000000] class UGFxObject* CraftWeaponButton; // 0x0340 (0x0008) [0x0000000000000000] class UGFxObject* CraftCosmeticButton; // 0x0348 (0x0008) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x0350 (0x0008) [0x0000000000000000] class UPlayfabInterface* PlayfabInter; // 0x0358 (0x0008) [0x0000000000000000] class AKFPawn_Customization* KFPH; // 0x0360 (0x0008) [0x0000000000000000] DWORD bInitialInventoryPassComplete : 1; // 0x0368 (0x0004) // [0x0000000000000000] [0x00000001] int TempItemIdHolder; // 0x036C (0x0004) [0x0000000000000000] int UncommonCosmeticID; // 0x0370 (0x0004) [0x0000000000000000] int RareCosmeticID; // 0x0374 (0x0004) [0x0000000000000000] int ExceptionalCosmeticID; // 0x0378 (0x0004) [0x0000000000000000] int MasterCosmeticID; // 0x037C (0x0004) [0x0000000000000000] int UncommonWeaponID; // 0x0380 (0x0004) [0x0000000000000000] int RareWeaponID; // 0x0384 (0x0004) [0x0000000000000000] int ExceptionalWeaponID; // 0x0388 (0x0004) [0x0000000000000000] int MasterWeaponID; // 0x038C (0x0004) [0x0000000000000000] struct FName SoundEvent_Common; // 0x0390 (0x0008) [0x0000000000000000] struct FName SoundEvent_Uncommon; // 0x0398 (0x0008) [0x0000000000000000] struct FName SoundEvent_Rare; // 0x03A0 (0x0008) [0x0000000000000000] struct FName SoundEvent_Legendary; // 0x03A8 (0x0008) [0x0000000000000000] struct FName SoundEvent_ExceedinglyRare; // 0x03B0 (0x0008) [0x0000000000000000] struct FName SoundEvent_Mythical; // 0x03B8 (0x0008) [0x0000000000000000] struct FName SoundThemeName; // 0x03C0 (0x0008) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x03C8 (0x0008) [0x0000000000000000] int ValueToPromptDuplicateRecycle; // 0x03D0 (0x0004) [0x0000000000000000] TArray SpecialEventItemIDs; // 0x03D4 (0x0010) [0x0000000000000000] unsigned char CurrentInventoryFilter; // 0x03E4 (0x0001) [0x0000000000000000] struct FExchangeRuleSets RuleToExchange; // 0x03E8 (0x0018) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67366]; return pClassPointer; }; void Callback_PreviewItem(); void CallBack_RequestWeaponCraftInfo(); void CallBack_RequestCosmeticCraftInfo(); void Callback_CraftOption(); void Callback_RecycleItem(); void Callback_CharacterSkin(); void Callback_UseItem(); void CallBack_ItemDetailsClicked(); void Callback_Equip(); void Callback_InventoryFilter(); void Callback_RequestInitialnventory(); void Callback_CrateOpenComplete(); void GetItemCount(); void ConfirmCraft(); void CancelRecycle(); void ConfirmDuplicatesRecycle(); void ExchangeDuplicatesEx(); void ConfirmRecycle(); void PerformExchange(); void OnPlayfabExchangeComplete(); void GetCountOfItem(); void SetCosmeticCraftDetails(); void SetWeaponCraftDetails(); void LocalizeText(); void IsItemActive(); void IsSpecialEventItem(); void IsItemExchangeable(); void IsItemRecyclable(); void OnInventoryReadComplete(); void OnReadPlayfabInventoryComplete(); void ClearMatinee(); void SetMatineeColor(); void FinishCraft(); void OnItemExhangeTimeOut(); void InitInventory(); void OnClose(); void OnOpen(); void UpdateCraftButtons(); void InitializeMenu(); }; UClass* UKFGFxMenu_Inventory::pClassPointer = NULL; // Class KFGame.KFInventoryCatalog // 0x0010 (0x0070 - 0x0060) class UKFInventoryCatalog : public UObject { public: TArray ItemKeyArray; // 0x0060 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67530]; return pClassPointer; }; void GetItemSeries(); void GetItemDisplayContainerType(); }; UClass* UKFInventoryCatalog::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer // 0x0010 (0x00B8 - 0x00A8) class UKFGFxPerksContainer : public UKFGFxObject_Container { public: struct FString LevelString; // 0x00A8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67720]; return pClassPointer; }; }; UClass* UKFGFxPerksContainer::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer_Header // 0x0030 (0x00E8 - 0x00B8) class UKFGFxPerksContainer_Header : public UKFGFxPerksContainer { public: class UGFxObject* PerkTextField; // 0x00B8 (0x0008) [0x0000000000000000] class UGFxObject* LevelTextField; // 0x00C0 (0x0008) [0x0000000000000000] struct FString PrestigeLevelString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString ExperienceString; // 0x00D8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67719]; return pClassPointer; }; void UpdatePerkHeader(); void Initialize(); }; UClass* UKFGFxPerksContainer_Header::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer_Selection // 0x0068 (0x0120 - 0x00B8) class UKFGFxPerksContainer_Selection : public UKFGFxPerksContainer { public: struct FString HeaderTitle; // 0x00B8 (0x0010) [0x0000000000000000] struct FString EndOfWaveString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString ChangesAppliedOnCloseString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString OncePerWaveString; // 0x00E8 (0x0010) [0x0000000000000000] TArray PerksData; // 0x00F8 (0x0010) [0x0000000000000000] class UKFGFxMenu_Perks* PerksMenu; // 0x0108 (0x0008) [0x0000000000000000] class AKFGameReplicationInfo* KFGRI; // 0x0110 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* KFPRI; // 0x0118 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67721]; return pClassPointer; }; void SavePerk(); void SetPendingPerkChanges(); void UpdatePendingPerkInfo(); void SetPerkListEnabled(); void UpdatePerkSelection(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxPerksContainer_Selection::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer_Details // 0x0040 (0x00F8 - 0x00B8) class UKFGFxPerksContainer_Details : public UKFGFxPerksContainer { public: struct FString ExperienceString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString ObjectivesString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString PerkBonusesString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString BasicLoadoutString; // 0x00E8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67722]; return pClassPointer; }; void UpdatePassives(); void AddWeaponInfo(); void UpdateDetails(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxPerksContainer_Details::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer_Skills // 0x0024 (0x00DC - 0x00B8) class UKFGFxPerksContainer_Skills : public UKFGFxPerksContainer { public: int MAX_SLOTS; // 0x00B8 (0x0004) [0x0000000000000000] struct FString ConfigureSkillsString; // 0x00BC (0x0010) [0x0000000000000000] struct FString BackButtonString; // 0x00CC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67723]; return pClassPointer; }; void GetSkillObject(); void UpdateTierUnlockState(); void UpdateSkills(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxPerksContainer_Skills::pClassPointer = NULL; // Class KFGame.KFGFxPerksContainer_SkillsSummary // 0x0030 (0x00E8 - 0x00B8) class UKFGFxPerksContainer_SkillsSummary : public UKFGFxPerksContainer { public: class UKFGFxMenu_Perks* PerkMenu; // 0x00B8 (0x0008) [0x0000000000000000] unsigned char SelectedSkillsHolder[0x5]; // 0x00C0 (0x0005) [0x0000000000000000] struct FString ConfigureString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString SkillsString; // 0x00D8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67724]; return pClassPointer; }; void UpdateSkills(); void LocalizeContainer(); void DelayedRefresh(); void Initialize(); }; UClass* UKFGFxPerksContainer_SkillsSummary::pClassPointer = NULL; // Class KFGame.KFGFxMenu_PostGameReport // 0x00F4 (0x01D4 - 0x00E0) class UKFGFxMenu_PostGameReport : public UKFGFxObject_Menu { public: struct FString MapVoteString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString PlayerStatsString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString TeamAwardsString; // 0x0100 (0x0010) [0x0000000000000000] struct FString PostGameReportString; // 0x0110 (0x0010) [0x0000000000000000] struct FString NextMapString; // 0x0120 (0x0010) [0x0000000000000000] struct FString WaveString; // 0x0130 (0x0010) [0x0000000000000000] struct FString XPString; // 0x0140 (0x0010) [0x0000000000000000] struct FString VictoryString; // 0x0150 (0x0010) [0x0000000000000000] struct FString DefeatString; // 0x0160 (0x0010) [0x0000000000000000] struct FString ItemDropTitleString; // 0x0170 (0x0010) [0x0000000000000000] class UKFGFxPostGameContainer_PlayerStats* PlayerStatsContainer; // 0x0180 (0x0008) [0x0000000000000000] class UKFGFxPostGameContainer_MapVote* MapVoteContainer; // 0x0188 (0x0008) [0x0000000000000000] class UKFGFxPostGameContainer_TeamAwards* TeamAwardsContainer; // 0x0190 (0x0008) [0x0000000000000000] class UKFGFxPostGameContainer_PlayerXP* playerXPContainer; // 0x0198 (0x0008) [0x0000000000000000] class UKFGFxHUD_ChatBoxWidget* ChatBoxWidget; // 0x01A0 (0x0008) [0x0000000000000000] class UOnlineSubsystem* OnlineSub; // 0x01A8 (0x0008) [0x0000000000000000] int LastNextMapTimeRemaining; // 0x01B0 (0x0004) [0x0000000000000000] TArray CurrentPlayerList; // 0x01B4 (0x0010) [0x0000000000000000] TArray TalkerPRIs; // 0x01C4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67726]; return pClassPointer; }; void Callback_MapVote(); void Callback_BroadcastChatMessage(); void StartCountdown(); void RecieveTopMaps(); void ReceiveMessage(); void eventWidgetInitialized(); void OnClose(); void OnOpen(); void FormatTime(); void UpdateNextMapTime(); void VOIPEventTriggered(); void SendVoipData(); void InitPlayerList(); void SetPlayerInfo(); void SetSumarryInfo(); void OnItemRecieved(); void SearchInventoryForNewItem(); void OnProcessEndGameRewardsComplete(); void SearchPlayfabInventoryForNewItem(); void LocalizeText(); void OneSecondLoop(); void InitializeMenu(); }; UClass* UKFGFxMenu_PostGameReport::pClassPointer = NULL; // Class KFGame.KFGFxPostGameContainer_PlayerStats // 0x00C4 (0x016C - 0x00A8) class UKFGFxPostGameContainer_PlayerStats : public UKFGFxObject_Container { public: struct FString AchievementsString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString ZedKillsString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString TopWeaponsString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString TotalDamageDealtString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString HeadShotsString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString LargeZedKillsString; // 0x00F8 (0x0010) [0x0000000000000000] struct FString TotalDoshEarnedString; // 0x0108 (0x0010) [0x0000000000000000] struct FString TotalKillsString; // 0x0118 (0x0010) [0x0000000000000000] struct FString AssistsString; // 0x0128 (0x0010) [0x0000000000000000] struct FString DamageDealtString; // 0x0138 (0x0010) [0x0000000000000000] struct FString KnifeString; // 0x0148 (0x0010) [0x0000000000000000] struct FString PlayerStatsString; // 0x0158 (0x0010) [0x0000000000000000] int ItemCount; // 0x0168 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67851]; return pClassPointer; }; void MakeAwardObject(); void MakeWeaponObject(); void MakeZedKillObject(); void MakeTextObject(); void SetPlayerStats(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxPostGameContainer_PlayerStats::pClassPointer = NULL; // Class KFGame.KFGFxPostGameContainer_MapVote // 0x0030 (0x00D8 - 0x00A8) class UKFGFxPostGameContainer_MapVote : public UKFGFxObject_Container { public: struct FString YourVoteString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString TopVotesString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString MapVoteString; // 0x00C8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67853]; return pClassPointer; }; void GetMapSource(); void IndexToTopMapObject(); void RecieveTopMaps(); void SetMapOptions(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxPostGameContainer_MapVote::pClassPointer = NULL; // Class KFGame.KFGFxPostGameContainer_TeamAwards // 0x0038 (0x00E0 - 0x00A8) class UKFGFxPostGameContainer_TeamAwards : public UKFGFxObject_Container { public: struct FString NoTeamAwardsGivenString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString TeamAwardsString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString PersonalBestsString; // 0x00C8 (0x0010) [0x0000000000000000] class UGFxObject* NoAwardsTextField; // 0x00D8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67855]; return pClassPointer; }; void SendTeamAwards(); void SendPersonalBests(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxPostGameContainer_TeamAwards::pClassPointer = NULL; // Class KFGame.KFGFxPostGameContainer_PlayerXP // 0x0004 (0x00AC - 0x00A8) class UKFGFxPostGameContainer_PlayerXP : public UKFGFxObject_Container { public: int ItemCount; // 0x00A8 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67856]; return pClassPointer; }; void MakePerkXPObject(); void SetXPList(); void Initialize(); }; UClass* UKFGFxPostGameContainer_PlayerXP::pClassPointer = NULL; // Class KFGame.KFGFxMenu_ServerBrowser // 0x0208 (0x02E8 - 0x00E0) class UKFGFxMenu_ServerBrowser : public UKFGFxObject_Menu { public: class UGFxObject* ServerBrowserHeader; // 0x00E0 (0x0008) [0x0000000000000000] class UKFGFxServerBrowser_ServerList* ServerListContainer; // 0x00E8 (0x0008) [0x0000000000000000] class UKFGFxServerBrowser_Filters* FiltersContainer; // 0x00F0 (0x0008) [0x0000000000000000] class UKFGFxServerBrowser_ServerDetails* ServerDetailsContainer; // 0x00F8 (0x0008) [0x0000000000000000] DWORD ApplyFilters : 1; // 0x0100 (0x0004) [0x0000000000000000] [0x00000001] DWORD bLogServerBrowser : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bUIComponentsInit : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bJoiningAsSpectator : 1; // 0x0100 (0x0004) [0x0000000000000000] // [0x00000008] struct FString FavoriteString; // 0x0104 (0x0010) [0x0000000000000000] struct FString NameString; // 0x0114 (0x0010) [0x0000000000000000] struct FString RefreshString; // 0x0124 (0x0010) [0x0000000000000000] struct FString ServerBrowserString; // 0x0134 (0x0010) [0x0000000000000000] struct FString RankedString; // 0x0144 (0x0010) [0x0000000000000000] struct FString UnrankedString; // 0x0154 (0x0010) [0x0000000000000000] struct FString DedicatedString; // 0x0164 (0x0010) [0x0000000000000000] struct FString VACSecureString; // 0x0174 (0x0010) [0x0000000000000000] struct FString InLobbyString; // 0x0184 (0x0010) [0x0000000000000000] struct FString InProgressString; // 0x0194 (0x0010) [0x0000000000000000] struct FString BackString; // 0x01A4 (0x0010) [0x0000000000000000] struct FString ApplyString; // 0x01B4 (0x0010) [0x0000000000000000] struct FString ResetString; // 0x01C4 (0x0010) [0x0000000000000000] struct FString PingString; // 0x01D4 (0x0010) [0x0000000000000000] struct FString LengthString; // 0x01E4 (0x0010) [0x0000000000000000] struct FString DifficultyString; // 0x01F4 (0x0010) [0x0000000000000000] struct FString MapString; // 0x0204 (0x0010) [0x0000000000000000] struct FString GameModeString; // 0x0214 (0x0010) [0x0000000000000000] struct FString FiltersString; // 0x0224 (0x0010) [0x0000000000000000] struct FString SearchString; // 0x0234 (0x0010) [0x0000000000000000] struct FString WaveString; // 0x0244 (0x0010) [0x0000000000000000] struct FString PlayersString; // 0x0254 (0x0010) [0x0000000000000000] struct FString ZedCountString; // 0x0264 (0x0010) [0x0000000000000000] struct FString GamesFoundString; // 0x0274 (0x0010) [0x0000000000000000] struct FString PasswordPromptString; // 0x0284 (0x0010) [0x0000000000000000] struct FString JoinString; // 0x0294 (0x0010) [0x0000000000000000] struct FString LeaveMenuString; // 0x02A4 (0x0010) [0x0000000000000000] struct FString MultiplayerMenuString; // 0x02B4 (0x0010) [0x0000000000000000] TArray PingOptionStrings; // 0x02C4 (0x0010) [0x0000000000000000] TArray TabStrings; // 0x02D4 (0x0010) [0x0000000000000000] int WidgetsInited; // 0x02E4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67858]; return pClassPointer; }; void OneSecondLoop(); void Callback_ResetFilters(); void CallBack_ServerSelected(); void CallBack_ServerDetailsClicked(); void CallBack_ServerSpectateGame(); void eventOnClose(); void OnOpen(); void OnCancelPassword(); void OnAttemptPassword(); void ShowPasswordPopUp(); void CallBack_ServerJoinGame(); void CallBack_ServerJoinGameWithPassword(); void CallBack_ServerRefesh(); void CallBack_ServerFavorited(); void CallBack_SearchTabChanged(); void Callback_PingFilter(); void Callback_MapFilter(); void Callback_DifficultyFilter(); void Callback_LengthFilter(); void Callback_ModeFilter(); void Callback_SortList(); void Callback_FilterChanged(); void CallBack_FiltersApplied(); void Callback_RefreshServer(); void Callback_CloseServerBrowser(); void CloseMenu(); void SetAllowSpectate(); void OnLobbyStatusChanged(); void HandleCloseRequest(); void ApproveServerBroswerLeave(); void GoToMultiplayerMenu(); void CancelGameSearch(); void CancelLeaveMenu(); void LocalizeTabs(); void OnContainerOpen(); void eventWidgetInitialized(); void InitializeMenu(); }; UClass* UKFGFxMenu_ServerBrowser::pClassPointer = NULL; // Class KFGame.KFGFxServerBrowser_ServerDetails // 0x0058 (0x0100 - 0x00A8) class UKFGFxServerBrowser_ServerDetails : public UKFGFxObject_Container { public: class UKFGFxMenu_ServerBrowser* ServerMenu; // 0x00A8 (0x0008) [0x0000000000000000] struct FString MutatorsString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString ServerInfoString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString JoinGameString; // 0x00D0 (0x0010) [0x0000000000000000] struct FString SpectateGameString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString UnfavoriteString; // 0x00F0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[67977]; return pClassPointer; }; void GetMapSource(); void UpdatePlayerList(); void CreatePlayerListGFXObject(); void SetDetails(); void SetFavoriteButtonActive(); void GetFavoriteButtonActive(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxServerBrowser_ServerDetails::pClassPointer = NULL; // Class KFGame.KFGFxStartGameContainer_FindGame // 0x0068 (0x0110 - 0x00A8) class UKFGFxStartGameContainer_FindGame : public UKFGFxObject_Container { public: class UKFGFxMenu_StartGame* StartMenu; // 0x00A8 (0x0008) [0x0000000000000000] TArray WhatsNewItems; // 0x00B0 (0x0010) [0x0000000000000000] TArray PS4WhatsNewItems; // 0x00C0 (0x0010) [0x0000000000000000] TArray PS4ActiveWhatsNewItems; // 0x00D0 (0x0010) [0x0000000000000000] struct FString MultiplayerString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString SoloString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString TutorialString; // 0x0100 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68268]; return pClassPointer; }; void LocalizeMenu(); void SetWhatsNewItems(); void DisableSoloButton(); void Initialize(); }; UClass* UKFGFxStartGameContainer_FindGame::pClassPointer = NULL; // Class KFGame.KFGFxStartContainer_InGameOverview // 0x0078 (0x0120 - 0x00A8) class UKFGFxStartContainer_InGameOverview : public UKFGFxObject_Container { public: class UKFGFxMenu_StartGame* StartMenu; // 0x00A8 (0x0008) [0x0000000000000000] unsigned char LastDifficultyIndex; // 0x00B0 (0x0001) [0x0000000000000000] unsigned char LastLengthIndex; // 0x00B1 (0x0001) [0x0000000000000000] unsigned char LastPrivacyIndex; // 0x00B2 (0x0001) [0x0000000000000000] struct FString OverviewString; // 0x00B4 (0x0010) [0x0000000000000000] struct FString ChangeString; // 0x00C4 (0x0010) [0x0000000000000000] struct FString AuthorString; // 0x00D4 (0x0010) [0x0000000000000000] struct FString SharedByString; // 0x00E4 (0x0010) [0x0000000000000000] struct FString SharedContentString; // 0x00F4 (0x0010) [0x0000000000000000] class UGFxObject* SharedContentButton; // 0x0104 (0x0008) [0x0000000000000000] class UGFxObject* ServerWelcomeScreen; // 0x010C (0x0008) [0x0000000000000000] DWORD bContentShared : 1; // 0x0114 (0x0004) [0x0000000000000000] // [0x00000001] class UKFHTTPImageDownloader* ImageDownLoader; // 0x0118 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68274]; return pClassPointer; }; void SetCurrentMapInfo(); void UpdateOverviewInGame(); void UpdatePrivacy(); void UpdateServerType(); void UpdateLength(); void UpdateDifficulty(); void UpdateMap(); void UpdateGameMode(); void GetKFPRIArray(); void UpdateSharedContent(); void ShowWelcomeScreen(); void ImageDownloadComplete(); void LocalizeWelcomeScreen(); void LocalizeContainer(); void HideLengthInfo(); void Initialize(); }; UClass* UKFGFxStartContainer_InGameOverview::pClassPointer = NULL; // Class KFGame.KFGFxMissionObjectivesContainer // 0x0014 (0x00BC - 0x00A8) class UKFGFxMissionObjectivesContainer : public UKFGFxObject_Container { public: class UKFGFxCollapsedObjectivesContainer* CollapsedObjectiveContainer; // 0x00A8 (0x0008) [0x0000000000000000] class UKFGFxExpandedObjectivesContainer* ExpandedObjectiveContainer; // 0x00B0 (0x0008) [0x0000000000000000] DWORD bInitialAutoExpandCheckComplete : 1; // 0x00B8 (0x0004) // [0x0000000000000000] // [0x00000001] DWORD bLastShowSpecialEvent : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bLastShowWeekly : 1; // 0x00B8 (0x0004) [0x0000000000000000] // [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68276]; return pClassPointer; }; void Refresh(); void ShowShouldSpecialEvent(); void UpdateSpecialEventActive(); void UpdateWeeklyUIActive(); void UpdateMissionObjectiveState(); void Initialize(); }; UClass* UKFGFxMissionObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxStartContainer_ServerBrowserOverview // 0x0020 (0x00C8 - 0x00A8) class UKFGFxStartContainer_ServerBrowserOverview : public UKFGFxObject_Container { public: struct FString DescriptionString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString OverviewString; // 0x00B8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68279]; return pClassPointer; }; void SetDescriptionString(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxStartContainer_ServerBrowserOverview::pClassPointer = NULL; // Class KFGame.KFGFxSummerSideShowObjectivesContainer // 0x0000 (0x0138 - 0x0138) class UKFGFxSummerSideShowObjectivesContainer : public UKFGFxSpecialEventObjectivesContainer { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68280]; return pClassPointer; }; void Initialize(); }; UClass* UKFGFxSummerSideShowObjectivesContainer::pClassPointer = NULL; // Class KFGame.KFGFxStoreContainer_Details // 0x0030 (0x00D8 - 0x00A8) class UKFGFxStoreContainer_Details : public UKFGFxObject_Container { public: struct FString AddToCartString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString PreviewString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString LookUpOnMarketString; // 0x00C8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68318]; return pClassPointer; }; void LocalizeText(); void Initialize(); }; UClass* UKFGFxStoreContainer_Details::pClassPointer = NULL; // Class KFGame.KFGFxStoreContainer_Main // 0x0069 (0x0111 - 0x00A8) class UKFGFxStoreContainer_Main : public UKFGFxObject_Container { public: struct FString WeaponSkinsRotationString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString WeaponSkinsString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString MarketConsumablesString; // 0x00C8 (0x0010) [0x0000000000000000] struct FString MarketCosmeticsString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString MarketEmotesString; // 0x00E8 (0x0010) [0x0000000000000000] struct FString LookUpOnMarketString; // 0x00F8 (0x0010) [0x0000000000000000] class UKFGFxMenu_Store* StoreMenu; // 0x0108 (0x0008) [0x0000000000000000] unsigned char CurrentStoreFilter; // 0x0110 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68322]; return pClassPointer; }; void IsFilterSame(); void CreateStoreItem(); void SendItems(); void UpdateFilter(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxStoreContainer_Main::pClassPointer = NULL; // Class KFGame.KFGFxStoreContainer_Cart // 0x0030 (0x00D8 - 0x00A8) class UKFGFxStoreContainer_Cart : public UKFGFxObject_Container { public: struct FString CartString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString TotalString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString CheckOutString; // 0x00C8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68324]; return pClassPointer; }; void LocalizeText(); void Initialize(); }; UClass* UKFGFxStoreContainer_Cart::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_GameInfo // 0x0030 (0x00D8 - 0x00A8) class UKFGFxTraderContainer_GameInfo : public UKFGFxObject_Container { public: struct FString TimeLeftString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString WaveString; // 0x00B8 (0x0010) [0x0000000000000000] struct FString BossWaveString; // 0x00C8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68440]; return pClassPointer; }; void SetCurrentWeight(); void SetDosh(); void UpdateTraderTimer(); void UpdateGameInfo(); void Initialize(); }; UClass* UKFGFxTraderContainer_GameInfo::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_Filter // 0x0050 (0x00F8 - 0x00A8) class UKFGFxTraderContainer_Filter : public UKFGFxObject_Container { public: TArray TabsArray; // 0x00A8 (0x0010) [0x0000000000000000] TArray WeaponTypeStrings; // 0x00B8 (0x0010) [0x0000000000000000] struct FString OffPerkString; // 0x00C8 (0x0010) [0x0000000000000000] TArray TabIconPaths; // 0x00D8 (0x0010) [0x0000000000000000] TArray WeaponTypePath; // 0x00E8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68441]; return pClassPointer; }; void SetTabsData(); void SetTypeFilterData(); void SetPerkFilterData(); void ClearFilters(); }; UClass* UKFGFxTraderContainer_Filter::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_Store // 0x0030 (0x00D8 - 0x00A8) class UKFGFxTraderContainer_Store : public UKFGFxObject_Container { public: class UKFGFxMenu_Trader* MyTraderMenu; // 0x00A8 (0x0008) [0x0000000000000000] TArray SlotsItemList; // 0x00B0 (0x0010) [0x0000000000000000] struct FString TraderString; // 0x00C0 (0x0010) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x00D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68442]; return pClassPointer; }; void IsItemFiltered(); void SetItemInfo(); void RefreshAllItems(); void RefreshFavoriteItems(); void RefreshItemsByType(); void RefreshWeaponListByPerk(); void SetSelectedIndex(); void OnTraderReopened(); void DelayedRefresh(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxTraderContainer_Store::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_PlayerInventory // 0x0074 (0x011C - 0x00A8) class UKFGFxTraderContainer_PlayerInventory : public UKFGFxObject_Container { public: class UKFGFxMenu_Trader* MyTraderMenu; // 0x00A8 (0x0008) [0x0000000000000000] struct FString FillString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString MagString; // 0x00C0 (0x0010) [0x0000000000000000] struct FString AutoFillString; // 0x00D0 (0x0010) [0x0000000000000000] struct FString BuyGrenadeString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ChangePerkString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString ArmorString; // 0x0100 (0x0010) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x0110 (0x0008) [0x0000000000000000] float LowAmmoPercentThreshold; // 0x0118 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68443]; return pClassPointer; }; void GetButtonState(); void SetAutoFill(); void SetSellInfo(); void SetFillInfo(); void SetMagInfo(); void SetItemInfo(); void SetGrenadeInfo(); void SetArmorInfo(); void RefreshPlayerInventory(); void UpdateLock(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxTraderContainer_PlayerInventory::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_PlayerInfo // 0x0020 (0x00C8 - 0x00A8) class UKFGFxTraderContainer_PlayerInfo : public UKFGFxObject_Container { public: struct FString PlayerHeaderString; // 0x00A8 (0x0010) [0x0000000000000000] struct FString SelectPerkString; // 0x00B8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68444]; return pClassPointer; }; void SetCharacterImage(); void SetPerkList(); void SetPerkInfo(); void UpdatePlayerInfo(); void LocalizeText(); void Initialize(); }; UClass* UKFGFxTraderContainer_PlayerInfo::pClassPointer = NULL; // Class KFGame.KFGFxTraderContainer_ItemDetails // 0x0130 (0x01D8 - 0x00A8) class UKFGFxTraderContainer_ItemDetails : public UKFGFxObject_Container { public: float MAX_RPM; // 0x00A8 (0x0004) [0x0000000000000000] float MAX_PENETRATION; // 0x00AC (0x0004) [0x0000000000000000] class UKFGFxMenu_Trader* MyTraderMenu; // 0x00B0 (0x0008) [0x0000000000000000] struct FString DamageTitle; // 0x00B8 (0x0010) [0x0000000000000000] struct FString FireRateTitle; // 0x00C8 (0x0010) [0x0000000000000000] struct FString RangeTitle; // 0x00D8 (0x0010) [0x0000000000000000] struct FString PenetrationTitle; // 0x00E8 (0x0010) [0x0000000000000000] struct FString BlockTitle; // 0x00F8 (0x0010) [0x0000000000000000] struct FString ParryTitle; // 0x0108 (0x0010) [0x0000000000000000] struct FString AccuracyTitle; // 0x0118 (0x0010) [0x0000000000000000] struct FString CapacityTitle; // 0x0128 (0x0010) [0x0000000000000000] struct FString MagTitle; // 0x0138 (0x0010) [0x0000000000000000] struct FString HealAmountTitle; // 0x0148 (0x0010) [0x0000000000000000] struct FString HealRechargeTitle; // 0x0158 (0x0010) [0x0000000000000000] struct FString BuyString; // 0x0168 (0x0010) [0x0000000000000000] struct FString SellString; // 0x0178 (0x0010) [0x0000000000000000] struct FString CannotSellString; // 0x0188 (0x0010) [0x0000000000000000] struct FString CannotBuyString; // 0x0198 (0x0010) [0x0000000000000000] struct FString FavoriteString; // 0x01A8 (0x0010) [0x0000000000000000] struct FString UnfavoriteString; // 0x01B8 (0x0010) [0x0000000000000000] class UGFxObject* DetailsContainer; // 0x01C8 (0x0008) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x01D0 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68445]; return pClassPointer; }; void SetGenericItemDetails(); void GetStatMax(); void GetLocalizedStatString(); void SetPlayerItemDetails(); void SetShopItemDetails(); void SetDetailsText(); void SetDetailsVisible(); void LocalizeContainer(); void Initialize(); }; UClass* UKFGFxTraderContainer_ItemDetails::pClassPointer = NULL; // Class KFGame.KFGFxWidget_ButtonPrompt // 0x0020 (0x0100 - 0x00E0) class UKFGFxWidget_ButtonPrompt : public UKFGFxObject_Menu { public: struct FString CancelString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ConfirmString; // 0x00F0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68450]; return pClassPointer; }; void LocalizeWidget(); void InitializeMenu(); }; UClass* UKFGFxWidget_ButtonPrompt::pClassPointer = NULL; // Class KFGame.KFGFxWidget_BossHealthBar // 0x0034 (0x00D4 - 0x00A0) class UKFGFxWidget_BossHealthBar : public UGFxObject { public: class UGFxObject* bossNameTextField; // 0x00A0 (0x0008) [0x0000000000000000] class AKFPawn_Monster* BossPawn; // 0x00A8 (0x0008) [0x0000000000000000] float UpdateTickTime; // 0x00B0 (0x0004) [0x0000000000000000] float LastUpdateTime; // 0x00B4 (0x0004) [0x0000000000000000] TArray BattlePhaseColors; // 0x00B8 (0x0010) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x00C8 (0x0008) [0x0000000000000000] DWORD bLastHideValue : 1; // 0x00D0 (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68611]; return pClassPointer; }; void UpdateBossShield(); void UpdateBossBattlePhase(); void UpdateBossHealth(); void SetBossName(); void OnNamePlateHidden(); void SetBossPawn(); void TickHud(); void InitializeHUD(); }; UClass* UKFGFxWidget_BossHealthBar::pClassPointer = NULL; // Class KFGame.KFGFxWidget_KickVote // 0x0034 (0x00D4 - 0x00A0) class UKFGFxWidget_KickVote : public UGFxObject { public: struct FString VoteKickString; // 0x00A0 (0x0010) [0x0000000000000000] DWORD bIsVoteActive : 1; // 0x00B0 (0x0004) [0x0000000000000000] [0x00000001] struct FString GBA_VoteYes; // 0x00B4 (0x0010) [0x0000000000000000] struct FString GBA_VoteNo; // 0x00C4 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68612]; return pClassPointer; }; void OnNoReleased(); void OnNoPressed(); void OnYesReleased(); void OnYesPressed(); void VoteClosed(); void UpdateKickVoteCount(); void UpdateUsingGamePad(); void SendVoteKickToAS3(); void ShowKickVote(); void LocalizeText(); void InitializeHUD(); }; UClass* UKFGFxWidget_KickVote::pClassPointer = NULL; // Class KFGame.KFGFxWidget_VOIPNotification // 0x0010 (0x00B0 - 0x00A0) class UKFGFxWidget_VOIPNotification : public UGFxObject { public: TArray TalkerPRIs; // 0x00A0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68613]; return pClassPointer; }; void UpdateWidget(); void VOIPEventTriggered(); }; UClass* UKFGFxWidget_VOIPNotification::pClassPointer = NULL; // Class KFGame.KFGFxWidget_LevelUpNotification // 0x0030 (0x00D0 - 0x00A0) class UKFGFxWidget_LevelUpNotification : public UGFxObject { public: struct FString LevelUpString; // 0x00A0 (0x0010) [0x0000000000000000] struct FString TierUnlockedString; // 0x00B0 (0x0010) [0x0000000000000000] struct FString ObjectiveCompleteString; // 0x00C0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68614]; return pClassPointer; }; void ShowAchievementNotification(); void ShowObjectiveCompleteNotification(); void ShowLevelUpNotification(); void FinishedSpecialEvent(); void SetLocalizedText(); void InitializeHUD(); }; UClass* UKFGFxWidget_LevelUpNotification::pClassPointer = NULL; // Class KFGame.KFGFxWidget_MusicNotification // 0x0000 (0x00A0 - 0x00A0) class UKFGFxWidget_MusicNotification : public UGFxObject { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68615]; return pClassPointer; }; void ShowSongInfo(); void InitializeHUD(); }; UClass* UKFGFxWidget_MusicNotification::pClassPointer = NULL; // Class KFGame.KFGFxWidget_NonCriticalGameMessage // 0x0000 (0x00A0 - 0x00A0) class UKFGFxWidget_NonCriticalGameMessage : public UGFxObject { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68616]; return pClassPointer; }; void ShowMessage(); }; UClass* UKFGFxWidget_NonCriticalGameMessage::pClassPointer = NULL; // Class KFGame.KFGFxWidget_RhythmCounter // 0x0000 (0x00A0 - 0x00A0) class UKFGFxWidget_RhythmCounter : public UGFxObject { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68617]; return pClassPointer; }; void SetBonusPercentage(); void SetCount(); }; UClass* UKFGFxWidget_RhythmCounter::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_ScreenSize // 0x0044 (0x0228 - 0x01E4) class UKFGFxMoviePlayer_ScreenSize : public UGFxMoviePlayer { public: struct FName SoundThemeName; // 0x01E4 (0x0008) [0x0000000000000000] DWORD bUsingGamepad : 1; // 0x01EC (0x0004) [0x0000000000000000] [0x00000001] class UGFxObject* ManagerObject; // 0x01F0 (0x0008) [0x0000000000000000] class UKFGFxMoviePlayer_Manager* GFxMenuManager; // 0x01F8 (0x0008) [0x0000000000000000] class AKFPlayerController* KFPC; // 0x0200 (0x0008) [0x0000000000000000] float AdjustMovePercentage; // 0x0208 (0x0004) [0x0000000000000000] float SafeFrameMinScale; // 0x020C (0x0004) [0x0000000000000000] class UKFGameEngine* KFEngine; // 0x0210 (0x0008) [0x0000000000000000] class UKFProfileSettings* Profile; // 0x0218 (0x0008) [0x0000000000000000] class UKFGFxScreenSizeContainer* ScreenSizeContainer; // 0x0220 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68831]; return pClassPointer; }; void SaveAndClose(); void Callback_Cancel(); void Callback_Confirm(); void Callback_Shrink(); void Callback_Enlarge(); void NotifyControllerReconnected(); void NotifyControllerDisconnected(); void GetUsingGamepad(); void OnInputTypeChanged(); void CheckIfUsingGamepad(); void eventFilterButtonInput(); void eventWidgetInitialized(); void Init(); }; UClass* UKFGFxMoviePlayer_ScreenSize::pClassPointer = NULL; // Class KFGame.KFGFxWidget_MenuBar // 0x00B8 (0x0198 - 0x00E0) class UKFGFxWidget_MenuBar : public UKFGFxObject_Menu { public: TArray MenuStrings; // 0x00E0 (0x0010) [0x0000000000000000] struct FString ExitString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString CancelString; // 0x0100 (0x0010) [0x0000000000000000] struct FString ServerBrowserString; // 0x0110 (0x0010) [0x0000000000000000] struct FString MatchmakingString; // 0x0120 (0x0010) [0x0000000000000000] struct FString SoloString; // 0x0130 (0x0010) [0x0000000000000000] struct FString OverviewString; // 0x0140 (0x0010) [0x0000000000000000] TArray TitleStrings; // 0x0150 (0x0010) [0x0000000000000000] TArray DescriptionStrings; // 0x0160 (0x0010) [0x0000000000000000] struct FString LastHomeString; // 0x0170 (0x0010) [0x0000000000000000] class UGFxObject* InventoryButton; // 0x0180 (0x0008) [0x0000000000000000] class UGFxObject* StoreButton; // 0x0188 (0x0008) [0x0000000000000000] int SaveCurrentMenuIndex; // 0x0190 (0x0004) [0x0000000000000000] DWORD bCachedGameFullyInstalled : 1; // 0x0194 (0x0004) // [0x0000000000000000] [0x00000001] DWORD bAllowBumper : 1; // 0x0194 (0x0004) [0x0000000000000000] [0x00000002] DWORD bGearButtonEnabled : 1; // 0x0194 (0x0004) [0x0000000000000000] // [0x00000004] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68857]; return pClassPointer; }; void CanUseStore(); void CanUseInventory(); void CanUseGearButton(); void ShouldStartMenuPulse(); void GetHomeButtonName(); void OnLogoutConfirm(); void OpenLogoutPopup(); void OnQuitConfirm(); void OpenQuitPopUp(); void CheckGameFullyInstalled(); void SetGearMenuEnabled(); void UpdateGearButtonState(); void UpdateInventoryButtonState(); void HandleButtonSpecialCase(); void UpdateMenu(); void UnblockBumper(); void CalloutButtonBumperPress(); void InitializeCurrentMenu(); }; UClass* UKFGFxWidget_MenuBar::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_Selection // 0x0030 (0x0110 - 0x00E0) class UKFGFxOptionsMenu_Selection : public UKFGFxObject_Menu { public: class UKFGFxControlsContainer_Keybinding* KeybindingsContainer; // 0x00E0 (0x0008) [0x0000000000000000] class UKFGFxControlsContainer_Input* InputContainer; // 0x00E8 (0x0008) [0x0000000000000000] struct FString HeaderString; // 0x00F0 (0x0010) [0x0000000000000000] TArray OptionStrings; // 0x0100 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68868]; return pClassPointer; }; void Callback_MenuSelected(); void InitializeMenu(); }; UClass* UKFGFxOptionsMenu_Selection::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_Audio // 0x00D8 (0x01B8 - 0x00E0) class UKFGFxOptionsMenu_Audio : public UKFGFxObject_Menu { public: struct FString SectionNameString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString OptionsString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString AudioString; // 0x0100 (0x0010) [0x0000000000000000] struct FString DialogVolumeString; // 0x0110 (0x0010) [0x0000000000000000] struct FString MasterVolumeString; // 0x0120 (0x0010) [0x0000000000000000] struct FString MusicString; // 0x0130 (0x0010) [0x0000000000000000] struct FString SFxString; // 0x0140 (0x0010) [0x0000000000000000] struct FString VOIPVolumeString; // 0x0150 (0x0010) [0x0000000000000000] struct FString ConfigureMicString; // 0x0160 (0x0010) [0x0000000000000000] struct FString VocalsString; // 0x0170 (0x0010) [0x0000000000000000] struct FString BattleChatterString; // 0x0180 (0x0010) [0x0000000000000000] struct FString PushToVoIPString; // 0x0190 (0x0010) [0x0000000000000000] struct FString ScreenSizeString; // 0x01A0 (0x0010) [0x0000000000000000] float VoIPMin; // 0x01B0 (0x0004) [0x0000000000000000] float VoIPMax; // 0x01B4 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68871]; return pClassPointer; }; void ResetAudioOptions(); void CallBack_ResetAudioOptions(); void Callback_VOIPVolumeChanged(); void Callback_SFxVolumeChanged(); void Callback_MusicVolumeChanged(); void Callback_DialogVolumeChanged(); void Callback_MasterVolumeChanged(); void Callback_ConfigureControllerSound(); void Callback_ConfigureVocals(); void Callback_PushToTalkChanged(); void Callback_ConfigureBattleChatter(); void Callback_ConfigureMicPress(); void Callback_CloseMenu(); void Callback_ScreenSizePress(); void SaveConfigValues(); void eventOnClose(); void SetVoIPMinMax(); void InitValues(); void ConditionallyHideDurangoButton(); void LocalizeText(); void InitializeMenu(); }; UClass* UKFGFxOptionsMenu_Audio::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_GameSettings // 0x0135 (0x0215 - 0x00E0) class UKFGFxOptionsMenu_GameSettings : public UKFGFxObject_Menu { public: struct FString SectionNameString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString GameSettingsString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString FOVString; // 0x0100 (0x0010) [0x0000000000000000] struct FString FriendlyHudScaleString; // 0x0110 (0x0010) [0x0000000000000000] struct FString GoreString; // 0x0120 (0x0010) [0x0000000000000000] struct FString ShowCrosshairString; // 0x0130 (0x0010) [0x0000000000000000] struct FString WiderString; // 0x0140 (0x0010) [0x0000000000000000] struct FString NormalString; // 0x0150 (0x0010) [0x0000000000000000] struct FString ClassicWeaponSelectString; // 0x0160 (0x0010) [0x0000000000000000] struct FString KillTickerString; // 0x0170 (0x0010) [0x0000000000000000] struct FString DisableAutoUpgradeString; // 0x0180 (0x0010) [0x0000000000000000] struct FString HideBossHealthBarString; // 0x0190 (0x0010) [0x0000000000000000] struct FString ShowWelderInInvString; // 0x01A0 (0x0010) [0x0000000000000000] struct FString UseAltAimOnDualString; // 0x01B0 (0x0010) [0x0000000000000000] struct FString AntiMotionSicknessString; // 0x01C0 (0x0010) [0x0000000000000000] struct FString AutoTurnOffString; // 0x01D0 (0x0010) [0x0000000000000000] struct FString ReduceHighPitchNoiseString; // 0x01E0 (0x0010) [0x0000000000000000] TArray GoreOptionStrings; // 0x01F0 (0x0010) [0x0000000000000000] float FOVMinValue; // 0x0200 (0x0004) [0x0000000000000000] float FOVMaxValue; // 0x0204 (0x0004) [0x0000000000000000] float FOVCurrentValue; // 0x0208 (0x0004) [0x0000000000000000] float FriendlyHudScaleMinValue; // 0x020C (0x0004) [0x0000000000000000] float FriendlyHudScaleMaxValue; // 0x0210 (0x0004) [0x0000000000000000] unsigned char SHOW_NO_GORE_LEVEL; // 0x0214 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68874]; return pClassPointer; }; void ResetGameOptions(); void CallBack_ResetGameOptions(); void Callback_ReduceHighPitchNoiseChanged(); void Callback_AutoTurnOffChanged(); void Callback_bShowWelderInInvChanged(); void Callback_AntiMotionSicknessChanged(); void Callback_HideBossHealthBarChanged(); void Callback_UseAltAimOnDualsChanged(); void Callback_GoreChanged(); void Callback_KillTickerChanged(); void Callback_DisableAutoUpgradeChanged(); void Callback_WeaponSelectChanged(); void Callback_FriendlyHudChanged(); void Callback_FOVChanged(); void Callback_ToggleCrosshair(); void Callback_CloseMenu(); void SetFriendlyHudMinMax(); void SetFOVMinMax(); void InitValues(); void LocalizeText(); void InitializeMenu(); }; UClass* UKFGFxOptionsMenu_GameSettings::pClassPointer = NULL; // Class KFGame.KFGFxWidget_PartyMainMenu // 0x0008 (0x062C - 0x0624) class UKFGFxWidget_PartyMainMenu : public UKFGFxWidget_BaseParty { public: DWORD bIsInParty : 1; // 0x0624 (0x0004) [0x0000000000000000] [0x00000001] int prevMemberCount; // 0x0628 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68876]; return pClassPointer; }; void SendMyOptions(); void AddFriend(); void ViewProfile(); void ToggelMuteOnPlayer(); void UpdateSearching(); void UpdatePerkInfoForPlayerID(); void UpdatePerks(); void RefreshSlot(); void HandleLeaderChange(); void RefreshParty(); void SetSearchingText(); void SendSearching(); void InitializeWidget(); void OneSecondLoop(); }; UClass* UKFGFxWidget_PartyMainMenu::pClassPointer = NULL; // Class KFGame.KFGFxOptionsMenu_Graphics_DX10 // 0x0010 (0x0A20 - 0x0A10) class UKFGFxOptionsMenu_Graphics_DX10 : public UKFGFxOptionsMenu_Graphics { public: TArray AmbientOcclusionStringOptions_DX10; // 0x0A10 (0x0010) // [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68881]; return pClassPointer; }; void SetAmbientOcclusionOptions(); }; UClass* UKFGFxOptionsMenu_Graphics_DX10::pClassPointer = NULL; // Class KFGame.KFGFxPopup_Gamma // 0x0018 (0x00F0 - 0x00D8) class UKFGFxPopup_Gamma : public UKFGFxObject_Popup { public: class UGFxObject* GammaSlider; // 0x00D8 (0x0008) [0x0000000000000000] struct FString GammaImagePath; // 0x00E0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68968]; return pClassPointer; }; void Callback_DefaultGamma(); void Callback_GammaChanged(); void Callback_ClosedPopup(); void ResetGamma(); void SetGamma(); void eventOnClosed(); void InitializePopup(); }; UClass* UKFGFxPopup_Gamma::pClassPointer = NULL; // Class KFGame.KFGFxPopup_ConnectionError // 0x0000 (0x00D8 - 0x00D8) class UKFGFxPopup_ConnectionError : public UKFGFxObject_Popup { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68969]; return pClassPointer; }; }; UClass* UKFGFxPopup_ConnectionError::pClassPointer = NULL; // Class KFGame.KFGFxPopup_Confirmation // 0x0020 (0x00F8 - 0x00D8) class UKFGFxPopup_Confirmation : public UKFGFxObject_Popup { public: struct FString ConfirmButtonString; // 0x00D8 (0x0010) [0x0000000000000000] struct FString DeclineButtonString; // 0x00E8 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68970]; return pClassPointer; }; void Callback_ClickedRightOption(); void Callback_ClickedMiddleOption(); void Callback_ClickedLeftOption(); void ClearDelegates(); void AssignRightButtonDelegate(); void AssignMiddleButtonDelegate(); void AssignLeftButtonDelegate(); }; UClass* UKFGFxPopup_Confirmation::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_Manager_Versus // 0x0000 (0x03EC - 0x03EC) class UKFGFxMoviePlayer_Manager_Versus : public UKFGFxMoviePlayer_Manager { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68971]; return pClassPointer; }; void eventWidgetInitialized(); void ClientRecieveNewTeam(); }; UClass* UKFGFxMoviePlayer_Manager_Versus::pClassPointer = NULL; // Class KFGame.KFGFxWidget_MenuBarVersus // 0x0000 (0x0198 - 0x0198) class UKFGFxWidget_MenuBarVersus : public UKFGFxWidget_MenuBar { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68978]; return pClassPointer; }; void CanUseGearButton(); }; UClass* UKFGFxWidget_MenuBarVersus::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_PlayerInfo // 0x0074 (0x0258 - 0x01E4) class UKFGFxMoviePlayer_PlayerInfo : public UGFxMoviePlayer { public: class AKFPawn_Human* MyKFPH; // 0x01E4 (0x0008) [0x0000000000000000] class AKFPlayerReplicationInfo* MyKFPRI; // 0x01EC (0x0008) [0x0000000000000000] class UGFxObject* PartyMemberHudMC; // 0x01F4 (0x0008) [0x0000000000000000] class UGFxObject* PlayerName; // 0x01FC (0x0008) [0x0000000000000000] class UGFxObject* IconMC; // 0x0204 (0x0008) [0x0000000000000000] class UGFxObject* Icon; // 0x020C (0x0008) [0x0000000000000000] class UGFxObject* ArmorMeter; // 0x0214 (0x0008) [0x0000000000000000] class UGFxObject* HealthMeter; // 0x021C (0x0008) [0x0000000000000000] int LastPerkIndex; // 0x0224 (0x0004) [0x0000000000000000] float LastHealthPct; // 0x0228 (0x0004) [0x0000000000000000] int LastArmor; // 0x022C (0x0004) [0x0000000000000000] struct FString LastPlayerName; // 0x0230 (0x0010) [0x0000000000000000] DWORD bVisible : 1; // 0x0240 (0x0004) [0x0000000000000000] [0x00000001] struct FVector2D MovieSize; // 0x0244 (0x0008) [0x0000000000000000] struct FVector ScreenPosition; // 0x024C (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[68980]; return pClassPointer; }; void Callback_MovieSize(); void SetPlayerPawn(); void UpdatePlayerName(); void UpdateArmor(); void UpdateHealth(); void UpdatePerk(); void GetMovieHeight(); void GetMovieWitdth(); void SetVisible(); void TickHud(); void eventWidgetInitialized(); void Init(); }; UClass* UKFGFxMoviePlayer_PlayerInfo::pClassPointer = NULL; // Class KFGame.KFGFxScreenSizeContainer // 0x0048 (0x0128 - 0x00E0) class UKFGFxScreenSizeContainer : public UKFGFxObject_Menu { public: struct FString TitleString; // 0x00E0 (0x0010) [0x0000000000000000] struct FString DescriptionString; // 0x00F0 (0x0010) [0x0000000000000000] struct FString EnlargeString; // 0x0100 (0x0010) [0x0000000000000000] struct FString ShrinkString; // 0x0110 (0x0010) [0x0000000000000000] class UKFPlayerInput* KFPI; // 0x0120 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[69151]; return pClassPointer; }; void LocalizeText(); void UpdateUsingGamePad(); void HideButtonsThatWeDoNotWantForNow(); void InitMenu(); }; UClass* UKFGFxScreenSizeContainer::pClassPointer = NULL; // Class KFGame.KFGFxMoviePlayer_World // 0x0008 (0x01EC - 0x01E4) class UKFGFxMoviePlayer_World : public UGFxMoviePlayer { public: class UGFxObject* MainComponent; // 0x01E4 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[69156]; return pClassPointer; }; }; UClass* UKFGFxMoviePlayer_World::pClassPointer = NULL; // Class KFGame.KFGFxWorld_C4Screen // 0x0008 (0x01F4 - 0x01EC) class UKFGFxWorld_C4Screen : public UKFGFxMoviePlayer_World { public: int CurrentMaxCharges; // 0x01EC (0x0004) [0x0000000000000000] int CurrenActiveCharges; // 0x01F0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72649]; return pClassPointer; }; void SetReadOut(); void SetActiveCharges(); void SetMaxCharges(); void eventWidgetInitialized(); }; UClass* UKFGFxWorld_C4Screen::pClassPointer = NULL; // Class KFGame.KFGFxWorld_HealerScreen // 0x0001 (0x01ED - 0x01EC) class UKFGFxWorld_HealerScreen : public UKFGFxMoviePlayer_World { public: unsigned char CurrentCharge; // 0x01EC (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72670]; return pClassPointer; }; void SetCharge(); void eventWidgetInitialized(); }; UClass* UKFGFxWorld_HealerScreen::pClassPointer = NULL; // Class KFGame.KFGFxWorld_MedicOptics // 0x0010 (0x01F4 - 0x01E4) class UKFGFxWorld_MedicOptics : public UGFxMoviePlayer { public: unsigned char CurrentAmmoCount; // 0x01E4 (0x0001) [0x0000000000000000] unsigned char CurrentCharge; // 0x01E5 (0x0001) [0x0000000000000000] class UGFxObject* OpticsContainer; // 0x01E8 (0x0008) [0x0000000000000000] float MinPercentPerShot; // 0x01F0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72684]; return pClassPointer; }; void LockedOn(); void StartLockOn(); void ClearLockOn(); void SetHealerCharge(); void SetShotPercentCost(); void SetPrimaryAmmo(); void InitValues(); void eventWidgetInitialized(); }; UClass* UKFGFxWorld_MedicOptics::pClassPointer = NULL; // Class KFGame.KFGFxWorld_WelderScreen // 0x0002 (0x01EE - 0x01EC) class UKFGFxWorld_WelderScreen : public UKFGFxMoviePlayer_World { public: unsigned char CurrentCharge; // 0x01EC (0x0001) [0x0000000000000000] unsigned char IntegrityPercentage; // 0x01ED (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72709]; return pClassPointer; }; void SetIntegrity(); void SetCharge(); void eventWidgetInitialized(); }; UClass* UKFGFxWorld_WelderScreen::pClassPointer = NULL; // Class KFGame.KFGibStaticMeshComponent // 0x0000 (0x02DC - 0x02DC) class UKFGibStaticMeshComponent : public UStaticMeshComponent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72743]; return pClassPointer; }; }; UClass* UKFGibStaticMeshComponent::pClassPointer = NULL; // Class KFGame.KFGibSkeletalMeshComponent // 0x0000 (0x0820 - 0x0820) class UKFGibSkeletalMeshComponent : public USkeletalMeshComponent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72748]; return pClassPointer; }; }; UClass* UKFGibSkeletalMeshComponent::pClassPointer = NULL; // Class KFGame.KFGoreChunkAttachment_Skull // 0x0000 (0x0080 - 0x0080) class UKFGoreChunkAttachment_Skull : public UKFGoreChunkAttachmentInfo { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[72760]; return pClassPointer; }; void ShouldDetachGoreChunk(); void ShouldAttachGoreChunk(); }; UClass* UKFGoreChunkAttachment_Skull::pClassPointer = NULL; // Class KFGame.KFImpactFXEmitterPool // 0x0000 (0x02BC - 0x02BC) class AKFImpactFXEmitterPool : public AEmitterPool { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[73208]; return pClassPointer; }; }; UClass* AKFImpactFXEmitterPool::pClassPointer = NULL; // Class KFGame.KFWeap_HealerBase // 0x0058 (0x0918 - 0x08C0) class AKFWeap_HealerBase : public AKFWeapon { public: float HealSelfRechargeSeconds; // 0x08C0 (0x0004) [0x0000000000000000] float HealOtherRechargeSeconds; // 0x08C4 (0x0004) [0x0000000000000000] float HealRechargeTime; // 0x08C8 (0x0004) [0x0000000000000000] float HealingIncrement; // 0x08CC (0x0004) [0x0000000000000000] float HealRechargePerSecond; // 0x08D0 (0x0004) [0x0000000000000000] DWORD bIsAmmoRecharging : 1; // 0x08D4 (0x0004) [0x0000000000200000] // [0x00000001] DWORD bQuickHealMode : 1; // 0x08D4 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bPlayHealAndReload : 1; // 0x08D4 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bIsQuickHealMessageShowing : 1; // 0x08D4 (0x0004) // [0x0000000000000000] [0x00000008] class UAkEvent* RechargeCompleteSound; // 0x08D8 (0x0008) [0x0000000000000000] float HealAttemptWeakZedGrabCooldown; // 0x08E0 (0x0004) [0x0000000000000000] float HealingRangeSQ; // 0x08E4 (0x0004) [0x0000000000000000] class APawn* HealTarget; // 0x08E8 (0x0008) [0x0000000000000000] class APawn* LastValidHealTarget; // 0x08F0 (0x0008) [0x0000000000000000] float LastReadyHealTime; // 0x08F8 (0x0004) [0x0000000000000000] float StandAloneHealAmount; // 0x08FC (0x0004) [0x0000000000000000] class UClass* ScreenUIClass; // 0x0900 (0x0008) [0x0000000000000000] class UKFGFxWorld_HealerScreen* ScreenUI; // 0x0908 (0x0008) [0x0000000000000000] float LastUIUpdateTime; // 0x0910 (0x0004) [0x0000000000000000] float UIUpdateInterval; // 0x0914 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[73591]; return pClassPointer; }; void GetActivePlayerCount(); void ServerStartQuickHeal(); void Activate(); void QuickHealFireTimer(); void QuickHealEndTimer(); void UpdateHealTarget(); void UpdateScreenUI(); void UpdateInteractionMessage(); void eventTick(); void ShouldRefire(); void GetFireInterval(); void GetHealAnimName(); void PlayFireEffects(); void ServerMissHeal(); void MissHeal(); void ServerStartHeal(); void IsValidHealingTarget(); void StartFire(); void CustomFire(); void AltFireMode(); void CanReload(); void HealAmmoRegeneration(); void PerformReload(); void HasAnyAmmo(); void GetSpareAmmoForHUD(); void eventDestroyed(); void DetachWeapon(); void AttachWeaponTo(); void GivenTo(); void eventReplicatedEvent(); }; UClass* AKFWeap_HealerBase::pClassPointer = NULL; // Class KFGame.KFKActor // 0x0001 (0x0379 - 0x0378) class AKFKActor : public AKActor { public: unsigned char NetworkType; // 0x0378 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[73607]; return pClassPointer; }; void eventPreBeginPlay(); }; UClass* AKFKActor::pClassPointer = NULL; // Class KFGame.KFKAsset // 0x0000 (0x0260 - 0x0260) class AKFKAsset : public AKAsset { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[73632]; return pClassPointer; }; }; UClass* AKFKAsset::pClassPointer = NULL; // Class KFGame.KFLocalMessage_ServerNotification // 0x0010 (0x02A8 - 0x0298) class UKFLocalMessage_ServerNotification : public UKFLocalMessage { public: struct FString TeamPendingBalanceMessage; // 0x0298 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[73951]; return pClassPointer; }; void GetString(); }; UClass* UKFLocalMessage_ServerNotification::pClassPointer = NULL; // Class KFGame.KFMeleeHelperWeapon // 0x0088 (0x0148 - 0x00C0) class UKFMeleeHelperWeapon : public UKFMeleeHelperBase { public: DWORD bUseDirectionalMelee : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000001] DWORD bHasChainAttacks : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000002] DWORD bResetChainSequence : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000004] DWORD bUseMeleeHitTimer : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000008] DWORD bHitEnemyThisAttack : 1; // 0x00C0 (0x0004) [0x0000000000000000] // [0x00000010] unsigned char ChooseAtkCount; // 0x00C4 (0x0001) [0x0000000000000000] unsigned char NextAttackDir; // 0x00C5 (0x0001) [0x0000000000000000] unsigned char NextAttackType; // 0x00C6 (0x0001) [0x0000000000000000] unsigned char CurrentAttackDir; // 0x00C7 (0x0001) [0x0000000000000000] unsigned char CurrentAtkChainIdx; // 0x00C8 (0x0001) [0x0000000000000000] TArray ChainSequence_F; // 0x00CC (0x0010) [0x0000000000000000] TArray ChainSequence_B; // 0x00DC (0x0010) [0x0000000000000000] TArray ChainSequence_L; // 0x00EC (0x0010) [0x0000000000000000] TArray ChainSequence_R; // 0x00FC (0x0010) [0x0000000000000000] TArray AttackChainSequence; // 0x010C (0x0010) [0x0000000000000000] int NumChainedAttacks; // 0x011C (0x0004) [0x0000000000000000] float LastMeleeAnimEnd_ActorTime; // 0x0120 (0x0004) [0x0000000000000000] float InitialImpactDelay; // 0x0124 (0x0004) [0x0000000000000000] float ImpactRetryDuration; // 0x0128 (0x0004) [0x0000000000000000] float ImpactComplete_ActorTime; // 0x012C (0x0004) [0x0000000000000000] struct FInterpCurveFloat FatigueCurve; // 0x0130 (0x0014) [0x0000000000000000] float MeleeImpactCamShakeScale; // 0x0144 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[74152]; return pClassPointer; }; void PlayMeleeHitEffects(); void GetDamageScaleByAngle(); void GetDamageType(); void ProcessMeleeHit(); void ContinueMeleeAttack(); void MeleeCheckTimer(); void InitAttackSequence(); void ChooseAttackDir(); void GetMeleeBlendInTime(); void PlayMeleeAttackAnimation(); void BeginMeleeAttack(); void HitboxSimpleWorldTrace(); void eventInitWorldTraceForHitboxCollision(); void eventProcessHitboxCollision(); void GetAdjustedRayDir(); void CalcVictimImpactList(); void CalcWeaponMeleeAttack(); void MeleeAttackImpact(); void MeleeImpactTimer(); void MeleeImpactNotify(); }; UClass* UKFMeleeHelperWeapon::pClassPointer = NULL; // Class KFGame.KFSM_InteractionPawnFollower // 0x0009 (0x013D - 0x0134) class UKFSM_InteractionPawnFollower : public UKFSpecialMove { public: class AKFPawn* Leader; // 0x0134 (0x0008) [0x0000000000000000] unsigned char LeaderSpecialMove; // 0x013C (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[74290]; return pClassPointer; }; void InteractionStarted(); void MessageEvent(); void SpecialMoveEnded(); void OnLeaderLeavingSpecialMove(); void SpecialMoveStarted(); }; UClass* UKFSM_InteractionPawnFollower::pClassPointer = NULL; // Class KFGame.KFMutator // 0x0008 (0x0268 - 0x0260) class AKFMutator : public AMutator { public: class AKFGameInfo* MyKFGI; // 0x0260 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[74415]; return pClassPointer; }; void ModifyActivatedPickupFactory(); void ModifyPickupFactories(); void ModifyZedTime(); void ModifyAIEnemy(); void ModifyAI(); void ModifyNextTraderIndex(); void InitMutator(); }; UClass* AKFMutator::pClassPointer = NULL; // Class KFGame.KFMutatorSummary // 0x0054 (0x00E8 - 0x0094) class UKFMutatorSummary : public UUIResourceDataProvider { public: struct FString ClassName; // 0x0094 (0x0010) [0x0000000000000000] TArray SupportedGameTypes; // 0x00A4 (0x0010) [0x0000000000000000] TArray GroupNames; // 0x00B4 (0x0010) [0x0000000000000000] struct FString FriendlyName; // 0x00C4 (0x0010) [0x0000000000000000] struct FString Description; // 0x00D4 (0x0010) [0x0000000000000000] DWORD bIsDisabled : 1; // 0x00E4 (0x0004) [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[74436]; return pClassPointer; }; }; UClass* UKFMutatorSummary::pClassPointer = NULL; // Class KFGame.KFSM_GrappleVictim // 0x001F (0x015C - 0x013D) class UKFSM_GrappleVictim : public UKFSM_InteractionPawnFollower { public: class AKFPlayerController* OwnerController; // 0x0140 (0x0008) [0x0000000000000000] class UAkEvent* GrabbedSoundModeStartEvent; // 0x0148 (0x0008) [0x0000000000000000] class UAkEvent* GrabbedSoundModeEndEvent; // 0x0150 (0x0008) [0x0000000000000000] float GrabVictimCooldownTime; // 0x0158 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75288]; return pClassPointer; }; void SetGrabEffect(); void SpecialMoveEnded(); void SpecialMoveStarted(); }; UClass* UKFSM_GrappleVictim::pClassPointer = NULL; // Class KFGame.KFSM_DisabledGrappleVictim // 0x0000 (0x015C - 0x015C) class UKFSM_DisabledGrappleVictim : public UKFSM_GrappleVictim { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75289]; return pClassPointer; }; }; UClass* UKFSM_DisabledGrappleVictim::pClassPointer = NULL; // Class KFGame.KFSM_HansGrappleVictim // 0x0008 (0x0164 - 0x015C) class UKFSM_HansGrappleVictim : public UKFSM_GrappleVictim { public: struct FName AnimName; // 0x015C (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75290]; return pClassPointer; }; void SetGrabEffect(); void SpecialMoveEnded(); void SpecialMoveStarted(); }; UClass* UKFSM_HansGrappleVictim::pClassPointer = NULL; // Class KFGame.KFSM_Player_Emote // 0x0044 (0x0194 - 0x0150) class UKFSM_Player_Emote : public UKFSM_PlaySingleAnim { public: class UCameraAnim* CameraAnim; // 0x0150 (0x0008) [0x0000000000000000] struct FName LastCameraMode; // 0x0158 (0x0008) [0x0000000000000000] struct FColor FadeInColor; // 0x0160 (0x0004) [0x0000000000000000] struct FColor FadeOutColor; // 0x0164 (0x0004) [0x0000000000000000] float FadeInTime; // 0x0168 (0x0004) [0x0000000000000000] float FadeOutTime; // 0x016C (0x0004) [0x0000000000000000] struct FRotator InitialRotation; // 0x0170 (0x000C) [0x0000000000000000] float EmoteCooldownTime; // 0x017C (0x0004) [0x0000000000000000] float LastEmoteTime; // 0x0180 (0x0004) [0x0000000000000000] TArray AnimParticles; // 0x0184 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75291]; return pClassPointer; }; void GetSMAimRotation(); void SpecialMoveEnded(); void Tick(); void OnAnimNotifyParticleSystemSpawned(); void SetParticlesVisible(); void ClearSMParticles(); void PlayAnimation(); void SpecialMoveStarted(); void PackFlagsBase(); void CanDrawCrosshair(); void InternalCanDoSpecialMove(); }; UClass* UKFSM_Player_Emote::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Commando // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Commando : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75797]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Commando::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Berserker // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Berserker : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75798]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Berserker::pClassPointer = NULL; // Class KFGame.KFWeapDef_Crovel // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Crovel : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75960]; return pClassPointer; }; }; UClass* UKFWeapDef_Crovel::pClassPointer = NULL; // Class KFGame.KFweapDef_Knife_Berserker // 0x0000 (0x00A4 - 0x00A4) class UKFweapDef_Knife_Berserker : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75961]; return pClassPointer; }; }; UClass* UKFweapDef_Knife_Berserker::pClassPointer = NULL; // Class KFGame.KFWeapDef_Nailgun // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Nailgun : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75962]; return pClassPointer; }; }; UClass* UKFWeapDef_Nailgun::pClassPointer = NULL; // Class KFGame.KFWeapDef_Pulverizer // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Pulverizer : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75963]; return pClassPointer; }; }; UClass* UKFWeapDef_Pulverizer::pClassPointer = NULL; // Class KFGame.KFWeapDef_Eviscerator // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Eviscerator : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[75964]; return pClassPointer; }; }; UClass* UKFWeapDef_Eviscerator::pClassPointer = NULL; // Class KFGame.KFWeapDef_AR15 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_AR15 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76107]; return pClassPointer; }; }; UClass* UKFWeapDef_AR15::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Commando // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Commando : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76108]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Commando::pClassPointer = NULL; // Class KFGame.KFWeapDef_Bullpup // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Bullpup : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76109]; return pClassPointer; }; }; UClass* UKFWeapDef_Bullpup::pClassPointer = NULL; // Class KFGame.KFWeapDef_AK12 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_AK12 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76110]; return pClassPointer; }; }; UClass* UKFWeapDef_AK12::pClassPointer = NULL; // Class KFGame.KFWeapDef_SCAR // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_SCAR : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76111]; return pClassPointer; }; }; UClass* UKFWeapDef_SCAR::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Demo // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Demo : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76336]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Demo::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Demo // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Demo : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76337]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Demo::pClassPointer = NULL; // Class KFGame.KFWeapDef_M79 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_M79 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76338]; return pClassPointer; }; }; UClass* UKFWeapDef_M79::pClassPointer = NULL; // Class KFGame.KFWeapDef_M16M203 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_M16M203 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76339]; return pClassPointer; }; }; UClass* UKFWeapDef_M16M203::pClassPointer = NULL; // Class KFGame.KFWeapDef_RPG7 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_RPG7 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76340]; return pClassPointer; }; }; UClass* UKFWeapDef_RPG7::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Medic // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Medic : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76453]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Medic::pClassPointer = NULL; // Class KFGame.KFWeapDef_MedicSMG // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MedicSMG : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76454]; return pClassPointer; }; }; UClass* UKFWeapDef_MedicSMG::pClassPointer = NULL; // Class KFGame.KFWeapDef_MedicShotgun // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MedicShotgun : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76455]; return pClassPointer; }; }; UClass* UKFWeapDef_MedicShotgun::pClassPointer = NULL; // Class KFGame.KFWeapDef_MedicRifle // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MedicRifle : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76456]; return pClassPointer; }; }; UClass* UKFWeapDef_MedicRifle::pClassPointer = NULL; // Class KFGame.KFWeapDef_CaulkBurn // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_CaulkBurn : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76585]; return pClassPointer; }; }; UClass* UKFWeapDef_CaulkBurn::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Firebug // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Firebug : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76586]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Firebug::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Firebug // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Firebug : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76587]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Firebug::pClassPointer = NULL; // Class KFGame.KFWeapDef_DragonsBreath // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_DragonsBreath : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76588]; return pClassPointer; }; }; UClass* UKFWeapDef_DragonsBreath::pClassPointer = NULL; // Class KFGame.KFWeapDef_FlameThrower // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_FlameThrower : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76589]; return pClassPointer; }; }; UClass* UKFWeapDef_FlameThrower::pClassPointer = NULL; // Class KFGame.KFWeapDef_MicrowaveGun // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MicrowaveGun : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76590]; return pClassPointer; }; }; UClass* UKFWeapDef_MicrowaveGun::pClassPointer = NULL; // Class KFGame.KFWeapDef_Remington1858Dual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Remington1858Dual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76763]; return pClassPointer; }; }; UClass* UKFWeapDef_Remington1858Dual::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Gunslinger // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Gunslinger : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76764]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Gunslinger::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Gunslinger // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Gunslinger : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76765]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Gunslinger::pClassPointer = NULL; // Class KFGame.KFWeapDef_Colt1911Dual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Colt1911Dual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76766]; return pClassPointer; }; }; UClass* UKFWeapDef_Colt1911Dual::pClassPointer = NULL; // Class KFGame.KFWeapDef_DeagleDual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_DeagleDual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76767]; return pClassPointer; }; }; UClass* UKFWeapDef_DeagleDual::pClassPointer = NULL; // Class KFGame.KFWeapDef_SW500Dual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_SW500Dual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76768]; return pClassPointer; }; }; UClass* UKFWeapDef_SW500Dual::pClassPointer = NULL; // Class KFGame.KFWeapDef_Winchester1894 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Winchester1894 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76908]; return pClassPointer; }; }; UClass* UKFWeapDef_Winchester1894::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_SharpShooter // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_SharpShooter : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76909]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_SharpShooter::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Sharpshooter // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Sharpshooter : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76910]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Sharpshooter::pClassPointer = NULL; // Class KFGame.KFWeapDef_Crossbow // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Crossbow : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76911]; return pClassPointer; }; }; UClass* UKFWeapDef_Crossbow::pClassPointer = NULL; // Class KFGame.KFWeapDef_M14EBR // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_M14EBR : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76912]; return pClassPointer; }; }; UClass* UKFWeapDef_M14EBR::pClassPointer = NULL; // Class KFGame.KFWeapDef_RailGun // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_RailGun : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[76913]; return pClassPointer; }; }; UClass* UKFWeapDef_RailGun::pClassPointer = NULL; // Class KFGame.KFWeapDef_MB500 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MB500 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77073]; return pClassPointer; }; }; UClass* UKFWeapDef_MB500::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_Support // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_Support : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77074]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_Support::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_Support // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_Support : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77075]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_Support::pClassPointer = NULL; // Class KFGame.KFWeapDef_DoubleBarrel // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_DoubleBarrel : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77076]; return pClassPointer; }; }; UClass* UKFWeapDef_DoubleBarrel::pClassPointer = NULL; // Class KFGame.KFWeapDef_M4 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_M4 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77077]; return pClassPointer; }; }; UClass* UKFWeapDef_M4::pClassPointer = NULL; // Class KFGame.KFWeapDef_AA12 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_AA12 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77078]; return pClassPointer; }; }; UClass* UKFWeapDef_AA12::pClassPointer = NULL; // Class KFGame.KFWeapDef_MP7 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MP7 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77239]; return pClassPointer; }; }; UClass* UKFWeapDef_MP7::pClassPointer = NULL; // Class KFGame.KFWeapDef_Random // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Random : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77241]; return pClassPointer; }; }; UClass* UKFWeapDef_Random::pClassPointer = NULL; // Class KFGame.KFWeapDef_9mmDual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_9mmDual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77363]; return pClassPointer; }; }; UClass* UKFWeapDef_9mmDual::pClassPointer = NULL; // Class KFGame.KFWeapDef_Knife_SWAT // 0x0000 (0x00A4 - 0x00A4) class UKFWeapDef_Knife_SWAT : public UKFweapDef_Knife_Base { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77365]; return pClassPointer; }; }; UClass* UKFWeapDef_Knife_SWAT::pClassPointer = NULL; // Class KFGame.KFWeapDef_Grenade_SWAT // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Grenade_SWAT : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77366]; return pClassPointer; }; }; UClass* UKFWeapDef_Grenade_SWAT::pClassPointer = NULL; // Class KFGame.KFWeapDef_MP5RAS // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MP5RAS : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77367]; return pClassPointer; }; }; UClass* UKFWeapDef_MP5RAS::pClassPointer = NULL; // Class KFGame.KFWeapDef_P90 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_P90 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77368]; return pClassPointer; }; }; UClass* UKFWeapDef_P90::pClassPointer = NULL; // Class KFGame.KFWeapDef_Kriss // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Kriss : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77369]; return pClassPointer; }; }; UClass* UKFWeapDef_Kriss::pClassPointer = NULL; // Class KFGame.KFPerkFXEmitterPool // 0x0000 (0x02BC - 0x02BC) class AKFPerkFXEmitterPool : public AEmitterPool { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[77370]; return pClassPointer; }; }; UClass* AKFPerkFXEmitterPool::pClassPointer = NULL; // Class KFGame.KFPlayerStart // 0x0004 (0x0390 - 0x038C) class AKFPlayerStart : public APlayerStart { public: DWORD bDefaultEnabled : 1; // 0x038C (0x0004) [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78276]; return pClassPointer; }; void Reset(); void PreBeginPlay(); }; UClass* AKFPlayerStart::pClassPointer = NULL; // Class KFGame.KFProj_BallisticExplosive // 0x002C (0x03C8 - 0x039C) class AKFProj_BallisticExplosive : public AKFProjectile { public: DWORD bDud : 1; // 0x039C (0x0004) [0x00000000001E0000] [0x00000001] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) DWORD bCollideWithTeammates : 1; // 0x039C (0x0004) [0x0000000000000000] // [0x00000002] DWORD bClientDudHit : 1; // 0x039C (0x0004) [0x0000000000000000] [0x00000004] float ArmDistSquared; // 0x03A0 (0x0004) [0x00000000001F0022] ( CPF_Const | // CPF_Net | CPF_Travel | CPF_EditConst | // CPF_GlobalConfig | CPF_Component ) class UParticleSystem* ProjDudTemplate; // 0x03A4 (0x0008) [0x0000000000000000] class UKFImpactEffectInfo* GrenadeBounceEffectInfo; // 0x03AC (0x0008) [0x0000000000000000] float DampenFactor; // 0x03B4 (0x0004) [0x0000000000000000] float DampenFactorParallel; // 0x03B8 (0x0004) [0x0000000000000000] struct FVector LandedTranslationOffset; // 0x03BC (0x000C) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78614]; return pClassPointer; }; void SetExplosionActorClass(); void PrepareExplosionTemplate(); void TraceProjHitZones(); void ProcessTouch(); void GetTerminalVelocity(); void eventHitWall(); void CallExplode(); void Explode(); void eventPreBeginPlay(); void SyncOriginalLocation(); }; UClass* AKFProj_BallisticExplosive::pClassPointer = NULL; // Class KFGame.KFProj_ExplosiveSubmunition_HX25 // 0x0008 (0x03D0 - 0x03C8) class AKFProj_ExplosiveSubmunition_HX25 : public AKFProj_BallisticExplosive { public: class AKFWeapon* OwnerWeapon; // 0x03C8 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78687]; return pClassPointer; }; void AllowNuke(); void eventHitWall(); void PrepareExplosionTemplate(); void ShouldWarnAIWhenFired(); void Init(); }; UClass* AKFProj_ExplosiveSubmunition_HX25::pClassPointer = NULL; // Class KFGame.KFProj_RicochetStickBullet // 0x0094 (0x0444 - 0x03B0) class AKFProj_RicochetStickBullet : public AKFProj_RicochetBullet { public: struct FStickInfo RepStickInfo; // 0x03B0 (0x002C) [0x00000000001E0000] ( // CPF_EditConst | CPF_GlobalConfig | CPF_Component ) struct FStickInfo DelayedStickInfo; // 0x03DC (0x002C) [0x0000000000000000] float PickupRadius; // 0x0408 (0x0004) [0x0000000000000000] float PickupHeight; // 0x040C (0x0004) [0x0000000000000000] struct FName WeaponClassName; // 0x0410 (0x0008) [0x0000000000000000] class UClass* WeaponClass; // 0x0418 (0x0008) [0x0000000000000000] class UAkEvent* AmmoPickupSound; // 0x0420 (0x0008) [0x0000000000000000] struct FVector LastLocation; // 0x0428 (0x000C) [0x0000000000000000] DWORD bStuck : 1; // 0x0434 (0x0004) [0x0000000000000000] [0x00000001] class UParticleSystem* ProjPickupTemplate; // 0x0438 (0x0008) [0x0000000000000000] float LifeSpanAfterStick; // 0x0440 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78796]; return pClassPointer; }; void ShouldProcessBulletTouch(); void ProcessTouch(); void Tick(); void DelayedStick(); void Stick(); void SpawnFlightEffects(); void DecodeSmallVector(); void EncodeSmallVector(); void eventHitWall(); void eventPreBeginPlay(); void eventReplicatedEvent(); }; UClass* AKFProj_RicochetStickBullet::pClassPointer = NULL; // Class KFGame.KFSeqAct_ShowPath // 0x000E (0x015E - 0x0150) class UKFSeqAct_ShowPath : public USequenceAction { public: DWORD bPathActive : 1; // 0x0150 (0x0004) [0x0000000000000000] [0x00000001] class AKFReplicatedShowPathActor* ReplicatedPathActor; // 0x0154 (0x0008) [0x0000000000000000] unsigned char VolumeCheckType; // 0x015C (0x0001) [0x0000000000000000] unsigned char TeamToDisplayPathTo; // 0x015D (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78878]; return pClassPointer; }; void eventActivated(); }; UClass* UKFSeqAct_ShowPath::pClassPointer = NULL; // Class KFGame.KFReplicatedShowPathActor // 0x0014 (0x0258 - 0x0244) class AKFReplicatedShowPathActor : public AActor { public: unsigned char PathTeamNum; // 0x0244 (0x0001) [0x0000000000150000] ( // CPF_Travel | CPF_GlobalConfig ) unsigned char VolumeCheckType; // 0x0245 (0x0001) [0x0000000000160000] ( // CPF_EditConst | CPF_GlobalConfig ) class AVolume* CheckVolume; // 0x0248 (0x0008) [0x0000000000170000] ( // CPF_Travel | CPF_EditConst | CPF_GlobalConfig ) class AActor* Target; // 0x0250 (0x0008) [0x0000000000180000] ( // CPF_Component ) private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78887]; return pClassPointer; }; void ShowPath(); void Timer_ShowPath(); void InitPath(); void SetPathTarget(); void eventReplicatedEvent(); }; UClass* AKFReplicatedShowPathActor::pClassPointer = NULL; // Class KFGame.KFSeqAct_SetTraderVolumeIgnore // 0x0001 (0x0151 - 0x0150) class UKFSeqAct_SetTraderVolumeIgnore : public USequenceAction { public: unsigned char VolumeCheckType; // 0x0150 (0x0001) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[78910]; return pClassPointer; }; void IsActorInVolume(); void eventActivated(); }; UClass* UKFSeqAct_SetTraderVolumeIgnore::pClassPointer = NULL; // Class KFGame.KFSeqAct_SetPawnIconVisibility // 0x0000 (0x0150 - 0x0150) class UKFSeqAct_SetPawnIconVisibility : public USequenceAction { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79043]; return pClassPointer; }; void eventActivated(); }; UClass* UKFSeqAct_SetPawnIconVisibility::pClassPointer = NULL; // Class KFGame.KFSeqAct_SetTeleporterURLNum // 0x0000 (0x0150 - 0x0150) class UKFSeqAct_SetTeleporterURLNum : public USequenceAction { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79047]; return pClassPointer; }; }; UClass* UKFSeqAct_SetTeleporterURLNum::pClassPointer = NULL; // Class KFGame.KFSeqAct_SetTrader // 0x0004 (0x0154 - 0x0150) class UKFSeqAct_SetTrader : public USequenceAction { public: DWORD bAutoSetNextTraderWhenClearing : 1; // 0x0150 (0x0004) // [0x0000000000000000] // [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79049]; return pClassPointer; }; void eventActivated(); }; UClass* UKFSeqAct_SetTrader::pClassPointer = NULL; // Class KFGame.KFSeqEvent_MinigameActivated // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_MinigameActivated : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79066]; return pClassPointer; }; void NotifyStartup(); void NotifyDeactivation(); void NotifyDelayedActivation(); void NotifyActivation(); }; UClass* UKFSeqEvent_MinigameActivated::pClassPointer = NULL; // Class KFGame.KFSeqEvent_MinigameStateChanged // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_MinigameStateChanged : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79088]; return pClassPointer; }; void StateChanged(); }; UClass* UKFSeqEvent_MinigameStateChanged::pClassPointer = NULL; // Class KFGame.KFSeqEvent_WaveEnd // 0x0000 (0x0170 - 0x0170) class UKFSeqEvent_WaveEnd : public USequenceEvent { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79101]; return pClassPointer; }; void SetWaveNum(); }; UClass* UKFSeqEvent_WaveEnd::pClassPointer = NULL; // Class KFGame.KFSFXVolume // 0x0018 (0x0298 - 0x0280) class AKFSFXVolume : public AVolume { public: float MinInterval; // 0x0280 (0x0004) [0x0000000000000000] float MaxInterval; // 0x0284 (0x0004) [0x0000000000000000] TArray SFXEvents; // 0x0288 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79114]; return pClassPointer; }; void GetRandomInterval(); void PlaySFX(); void eventPostBeginPlay(); }; UClass* AKFSFXVolume::pClassPointer = NULL; // Class KFGame.KFSkeletalMeshActor // 0x0004 (0x02A8 - 0x02A4) class AKFSkeletalMeshActor : public ASkeletalMeshActor { public: DWORD bClientsideKismetSetMaterial : 1; // 0x02A4 (0x0004) // [0x0000000000000000] [0x00000001] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79176]; return pClassPointer; }; void OnSetMaterial(); }; UClass* AKFSkeletalMeshActor::pClassPointer = NULL; // Class KFGame.KFSM_PlayerMeleeBase // 0x001C (0x0170 - 0x0154) class UKFSM_PlayerMeleeBase : public UKFSM_MeleeAttack { public: DWORD bAnimCanBeInterrupted : 1; // 0x0154 (0x0004) [0x0000000000000000] // [0x00000001] TArray Attacks; // 0x0158 (0x0010) [0x0000000000000000] class UAkEvent* SoundStopEvent; // 0x0168 (0x0008) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[79885]; return pClassPointer; }; void SpecialMoveButtonReleased(); void SpecialMoveButtonRetriggered(); void SpecialMoveFlagsUpdated(); void Timer_AnimInterrupt(); void UnpackSpecialMoveFlags(); void GetFourWayMoveDirection(); void IsInSpecialMode(); void SpecialMoveEnded(); void SpecialMoveStarted(); void PackFlagsBase(); }; UClass* UKFSM_PlayerMeleeBase::pClassPointer = NULL; // Class KFGame.KFTeleporter // 0x0014 (0x03BC - 0x03A8) class AKFTeleporter : public ATeleporter { public: int URLNum; // 0x03A8 (0x0004) [0x0000000000000000] TArray URLs; // 0x03AC (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[80387]; return pClassPointer; }; void eventSpecialHandling(); void eventPostTouch(); void eventPostBeginPlay(); void OnSetURLNum(); }; UClass* AKFTeleporter::pClassPointer = NULL; // Class KFGame.KFVoiceInfo // 0x00BC (0x011C - 0x0060) class UKFVoiceInfo : public UObject { public: TArray AckSounds; // 0x0060 (0x0010) [0x0000000000000000] TArray FriendlyFireSounds; // 0x0070 (0x0010) [0x0000000000000000] TArray GotYourBackSounds; // 0x0080 (0x0010) [0x0000000000000000] TArray NeedOurFlagSounds; // 0x0090 (0x0010) [0x0000000000000000] TArray SniperSounds; // 0x00A0 (0x0010) [0x0000000000000000] TArray InPositionSounds; // 0x00B0 (0x0010) [0x0000000000000000] TArray HaveFlagSounds; // 0x00C0 (0x0010) [0x0000000000000000] TArray AreaSecureSounds; // 0x00D0 (0x0010) [0x0000000000000000] class USoundNodeWave* IncomingSound; // 0x00E0 (0x0008) [0x0000000000000000] class USoundNodeWave* EnemyFlagCarrierSound; // 0x00E8 (0x0008) [0x0000000000000000] class USoundNodeWave* EnemyFlagCarrierHereSound; // 0x00F0 (0x0008) [0x0000000000000000] class USoundNodeWave* EnemyFlagCarrierHighSound; // 0x00F8 (0x0008) [0x0000000000000000] class USoundNodeWave* EnemyFlagCarrierLowSound; // 0x0100 (0x0008) [0x0000000000000000] class USoundNodeWave* MidfieldSound; // 0x0108 (0x0008) [0x0000000000000000] class USoundNodeWave* GotOurFlagSound; // 0x0110 (0x0008) [0x0000000000000000] int LocationSpeechOffset; // 0x0118 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[80768]; return pClassPointer; }; void GetNeedOurFlagMessageIndex(); void GetGotYourBackMessageIndex(); void GetFriendlyFireMessageIndex(); void GetAckMessageIndex(); }; UClass* UKFVoiceInfo::pClassPointer = NULL; // Class KFGame.KFWaterMeshActor // 0x0000 (0x02B0 - 0x02B0) class AKFWaterMeshActor : public AStaticMeshActor { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[80925]; return pClassPointer; }; }; UClass* AKFWaterMeshActor::pClassPointer = NULL; // Class KFGame.KFWeap_GrenadeLauncher_Base // 0x0004 (0x08C4 - 0x08C0) class AKFWeap_GrenadeLauncher_Base : public AKFWeapon { public: float ForceReloadTime; // 0x08C0 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[82457]; return pClassPointer; }; void ProcessInstantHitEx(); void GetReloadAnimName(); void ShouldPlayFireLast(); void GetForceReloadDelay(); void eventGetTraderFilter(); void CalculateTraderWeaponStatDamage(); }; UClass* AKFWeap_GrenadeLauncher_Base::pClassPointer = NULL; // Class KFGame.KFWeap_RifleBase // 0x0000 (0x08C0 - 0x08C0) class AKFWeap_RifleBase : public AKFWeapon { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[82938]; return pClassPointer; }; void ProcessInstantHitEx(); void eventGetTraderFilter(); }; UClass* AKFWeap_RifleBase::pClassPointer = NULL; // Class KFGame.KFWeap_ShotgunBase // 0x0010 (0x08D0 - 0x08C0) class AKFWeap_ShotgunBase : public AKFWeapon { public: TArray NumPellets; // 0x08C0 (0x0010) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83005]; return pClassPointer; }; void eventGetTraderFilter(); void CalculateTraderWeaponStatDamage(); void AddMultiShotSpread(); void AddSpread(); void HandleWeaponShotTaken(); void GetNumProjectilesToFire(); void SpawnProjectile(); }; UClass* AKFWeap_ShotgunBase::pClassPointer = NULL; // Class KFGame.KFWeap_SMGBase // 0x0000 (0x08C0 - 0x08C0) class AKFWeap_SMGBase : public AKFWeapon { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83044]; return pClassPointer; }; void eventGetTraderFilter(); }; UClass* AKFWeap_SMGBase::pClassPointer = NULL; // Class KFGame.KFWeap_ThrownBase // 0x0044 (0x0904 - 0x08C0) class AKFWeap_ThrownBase : public AKFWeapon { public: TArray IdleLastAnims; // 0x08C0 (0x0010) [0x0000000000000000] TArray IdleLastPickupAnims; // 0x08D0 (0x0010) [0x0000000000000000] TArray MeleeAttackLastAnims; // 0x08E0 (0x0010) [0x0000000000000000] struct FName EquipLastAnim; // 0x08F0 (0x0008) [0x0000000000000000] struct FName PutDownLastAnim; // 0x08F8 (0x0008) [0x0000000000000000] float ConsumeSpareAmmoDelay; // 0x0900 (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83051]; return pClassPointer; }; void CalculateTraderWeaponStatDamage(); void ShouldIncrementFlashCountOnFire(); void SendToFiringState(); void PerformArtificialReload(); void ClientNotifyAmmoAddedEmpty(); void AllowSprinting(); void ShouldAutoReload(); void ShouldPlayFireLast(); void GetGrenadeThrowAnim(); void GetEquipAnimName(); void GetSprintEndAnimName(); void GetSprintLoopAnimName(); void GetSprintStartAnimName(); void GetWeaponPutDownAnimName(); void GetMeleeAnimName(); void ShouldPlayLastAnims(); }; UClass* AKFWeap_ThrownBase::pClassPointer = NULL; // Class KFGame.KFWeapAttach_DualBase // 0x0038 (0x0420 - 0x03E8) class AKFWeapAttach_DualBase : public AKFWeaponAttachment { public: class USkeletalMesh* LeftHandSkelMesh; // 0x03E8 (0x0008) [0x0000000000000000] class UAnimSet* LeftWeaponAnimSet; // 0x03F0 (0x0008) [0x0000000000000000] class USkeletalMeshComponent* LeftWeapMesh; // 0x03F8 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* LeftMuzzleFlash; // 0x0400 (0x0008) [0x0000000000000000] class UKFMuzzleFlash* LeftMuzzleFlashTemplate; // 0x0408 (0x0008) [0x0000000000000000] class UAnimNodeSequence* LeftWeapAnimNode; // 0x0410 (0x0008) [0x0000000000000000] DWORD bPlayFXOnSecondWeapon : 1; // 0x0418 (0x0004) [0x0000000000000000] // [0x00000001] float LastChooseWeaponTime; // 0x041C (0x0004) [0x0000000000000000] private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83392]; return pClassPointer; }; void HasOutdoorLighting(); void HasIndoorLighting(); void SetMeshLightingChannels(); void PlayWeaponMeshAnim(); void GetMuzzleLocation(); void CauseMuzzleFlash(); void PlayPawnFireAnim(); void PlayWeaponFireAnim(); void ThirdPersonFireEffects(); void ChooseActiveWeapon(); void SetWeaponSkin(); void AttachMuzzleFlash(); void DetachFrom(); void AttachTo(); void eventChangeVisibility(); void eventPreBeginPlay(); }; UClass* AKFWeapAttach_DualBase::pClassPointer = NULL; // Class KFGame.KFWeapDef_C4 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_C4 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83552]; return pClassPointer; }; }; UClass* UKFWeapDef_C4::pClassPointer = NULL; // Class KFGame.KFWeapDef_CenterfireMB464 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_CenterfireMB464 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83555]; return pClassPointer; }; }; UClass* UKFWeapDef_CenterfireMB464::pClassPointer = NULL; // Class KFGame.KFWeapDef_FlareGun // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_FlareGun : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83567]; return pClassPointer; }; }; UClass* UKFWeapDef_FlareGun::pClassPointer = NULL; // Class KFGame.KFWeapDef_FlareGunDual // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_FlareGunDual : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83569]; return pClassPointer; }; }; UClass* UKFWeapDef_FlareGunDual::pClassPointer = NULL; // Class KFGame.KFWeapDef_Healer // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Healer : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83580]; return pClassPointer; }; }; UClass* UKFWeapDef_Healer::pClassPointer = NULL; // Class KFGame.KFWeapDef_HZ12 // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_HZ12 : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83583]; return pClassPointer; }; }; UClass* UKFWeapDef_HZ12::pClassPointer = NULL; // Class KFGame.KFWeapDef_Katana // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Katana : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83585]; return pClassPointer; }; }; UClass* UKFWeapDef_Katana::pClassPointer = NULL; // Class KFGame.KFWeapDef_MaceAndShield // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_MaceAndShield : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83602]; return pClassPointer; }; }; UClass* UKFWeapDef_MaceAndShield::pClassPointer = NULL; // Class KFGame.KFWeapDef_Stoner63A // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Stoner63A : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83621]; return pClassPointer; }; }; UClass* UKFWeapDef_Stoner63A::pClassPointer = NULL; // Class KFGame.KFWeapDef_Welder // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Welder : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83625]; return pClassPointer; }; }; UClass* UKFWeapDef_Welder::pClassPointer = NULL; // Class KFGame.KFWeapDef_Zweihander // 0x0001 (0x00A4 - 0x00A3) class UKFWeapDef_Zweihander : public UKFWeaponDefinition { public: private: static UClass* pClassPointer; public: static UClass* StaticClass() { if (!pClassPointer) pClassPointer = (UClass*)UObject::GObjObjects()->Data[83628]; return pClassPointer; }; }; UClass* UKFWeapDef_Zweihander::pClassPointer = NULL; #ifdef _MSC_VER #pragma pack(pop) #endif