CommonLibVR
CombatGroup.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/AITimeStamp.h"
4 #include "RE/A/AITimer.h"
6 #include "RE/B/BSAtomic.h"
7 #include "RE/B/BSPointerHandle.h"
9 
10 namespace RE
11 {
12  class BSPathingLOSGridMap;
13  class CombatSearchLocation;
14 
16  {
17  public:
18  enum class Flags
19  {
20  kNone = 0,
21  kTargetKnown = 1 << 0,
22  kTargetLost = 1 << 1
23  };
24 
25  // members
27  std::int32_t detectLevel; // 04
28  float stealthPoints; // 08
29  float unk0C; // 0C
35  AITimeStamp unk88; // 88 - unk40
36  AITimeStamp unk8C; // 8C - unk28
37  AITimeStamp lastKnownTimeStamp; // 90 - lastKnownLoc
38  AITimeStamp unk94; // 94 - ??
39  AITimeStamp unk98; // 98 - unk58
40  AITimeStamp unk9C; // 9C - unk70
42  std::uint16_t attackerCount; // A4
44  private:
45  KEEP_FOR_RE()
46  };
47  static_assert(sizeof(CombatTarget) == 0xA8);
48 
50  {
51  public:
52  // members
55  float threatValue; // 08
56  private:
57  KEEP_FOR_RE()
58  };
59  static_assert(sizeof(CombatMember) == 0x0C);
60 
62  {
63  public:
64  // members
67  std::uint8_t unk08; // 08
68  std::uint8_t unk09; // 09
69  std::uint8_t unk0A; // 0A
70  };
71  static_assert(sizeof(CombatSearchDoor) == 0xC);
72 
74  {
75  public:
76  // members
77  std::uint32_t groupID; // 000
78  std::uint32_t groupIndex; // 004
84  AITimer unk50; // 050
88  AITimer unkC0; // 0C0
89  float unkC8; // 0C8
90  float unkCC; // 0CC
91  float unkD0; // 0D0
92  float unkD4; // 0D4
93  std::uint32_t searchState; // 0D8
94  std::uint32_t padDC; // 0DC
95  BSPathingLOSGridMap* gridMap; // 0E0
101  float searchRadius; // 118
102  std::uint32_t pad11C; // 11C
105  std::uint32_t initializedMemberCount; // 150 - count
106  std::uint32_t fleeCount; // 154
107  std::uint32_t fightCount; // 158
108  std::uint8_t musicState; // 15C
109  std::uint8_t unk15D; // 15D
110  std::uint8_t unk15E; // 15E
111  std::uint8_t unk15F; // 15F
112  mutable BSReadWriteLock lock; // 160
113  private:
114  KEEP_FOR_RE()
115  };
116  static_assert(sizeof(CombatGroup) == 0x168);
117 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: BSAtomic.h:112
Definition: BSTArray.h:378
Definition: CombatGroupDetectionListener.h:8
Definition: CombatGroup.h:74
std::uint32_t pad11C
Definition: CombatGroup.h:102
AITimer unkC0
Definition: CombatGroup.h:88
BGSWorldLocation searchTargetLoc
Definition: CombatGroup.h:100
AITimer updateTimer
Definition: CombatGroup.h:86
ActorHandle targetToSearchFor
Definition: CombatGroup.h:99
BSTArray< CombatSearchLocation > searchLocations
Definition: CombatGroup.h:103
BSPathingLOSGridMap * gridMap
Definition: CombatGroup.h:95
BSReadWriteLock lock
Definition: CombatGroup.h:112
BSTArray< CombatSearchDoor > searchDoors
Definition: CombatGroup.h:104
BSTArray< CombatMember > members
Definition: CombatGroup.h:80
float unkC8
Definition: CombatGroup.h:89
AITimer musicThreatRatioTimer
Definition: CombatGroup.h:87
std::uint32_t searchState
Definition: CombatGroup.h:93
std::uint8_t unk15D
Definition: CombatGroup.h:109
std::uint32_t initializedMemberCount
Definition: CombatGroup.h:105
AITimer avoidThreathTimer
Definition: CombatGroup.h:83
float unkCC
Definition: CombatGroup.h:90
std::uint8_t musicState
Definition: CombatGroup.h:108
std::uint32_t fleeCount
Definition: CombatGroup.h:106
std::uint32_t groupIndex
Definition: CombatGroup.h:78
AITimer unk50
Definition: CombatGroup.h:84
AITimer searchAreaUpdateTimer
Definition: CombatGroup.h:97
std::uint32_t groupID
Definition: CombatGroup.h:77
float searchRadius
Definition: CombatGroup.h:101
AITimer allyKilledTimer
Definition: CombatGroup.h:82
std::uint32_t padDC
Definition: CombatGroup.h:94
float unkD4
Definition: CombatGroup.h:92
BSTArray< CombatTarget > targets
Definition: CombatGroup.h:79
std::uint32_t fightCount
Definition: CombatGroup.h:107
CombatGroupDetectionListener * detectionListener
Definition: CombatGroup.h:81
float unkD0
Definition: CombatGroup.h:91
std::uint8_t unk15E
Definition: CombatGroup.h:110
AITimeStamp searchStartedTimeStamp
Definition: CombatGroup.h:98
AITimer detectionDialogueTimers[11]
Definition: CombatGroup.h:85
AITimer searchUpdateTimer
Definition: CombatGroup.h:96
std::uint8_t unk15F
Definition: CombatGroup.h:111
Definition: CombatGroup.h:50
ActorHandle memberHandle
Definition: CombatGroup.h:53
float groupStrengthUpdateTimer
Definition: CombatGroup.h:54
float threatValue
Definition: CombatGroup.h:55
Definition: CombatGroup.h:16
ActorHandle attackedMember
Definition: CombatGroup.h:41
stl::enumeration< Flags, std::uint16_t > flags
Definition: CombatGroup.h:43
BGSWorldLocation lastKnownLoc
Definition: CombatGroup.h:30
AITimeStamp unk9C
Definition: CombatGroup.h:40
AITimeStamp lastKnownTimeStamp
Definition: CombatGroup.h:37
ActorHandle targetHandle
Definition: CombatGroup.h:26
BGSWorldLocation searchLoc
Definition: CombatGroup.h:33
AITimeStamp unk88
Definition: CombatGroup.h:35
Flags
Definition: CombatGroup.h:19
BGSWorldLocation unk70
Definition: CombatGroup.h:34
BGSWorldLocation unk40
Definition: CombatGroup.h:32
BGSWorldLocation unk28
Definition: CombatGroup.h:31
std::int32_t detectLevel
Definition: CombatGroup.h:27
AITimeStamp unk98
Definition: CombatGroup.h:39
float unk0C
Definition: CombatGroup.h:29
AITimeStamp unk94
Definition: CombatGroup.h:38
float stealthPoints
Definition: CombatGroup.h:28
AITimeStamp unk8C
Definition: CombatGroup.h:36
std::uint16_t attackerCount
Definition: CombatGroup.h:42
Definition: AbsorbEffect.h:6
Definition: AITimeStamp.h:6
Definition: AITimer.h:6
Definition: BGSWorldLocation.h:10
Definition: CombatGroup.h:62
ObjectRefHandle linkedDoorHandle
Definition: CombatGroup.h:66
std::uint8_t unk08
Definition: CombatGroup.h:67
std::uint8_t unk0A
Definition: CombatGroup.h:69
ObjectRefHandle doorHandle
Definition: CombatGroup.h:65
std::uint8_t unk09
Definition: CombatGroup.h:68