CommonLibSSE (powerof3)
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  };
45  static_assert(sizeof(CombatTarget) == 0xA8);
46 
48  {
49  public:
50  // members
53  float threatValue; // 08
54  };
55  static_assert(sizeof(CombatMember) == 0x0C);
56 
58  {
59  public:
60  // members
63  std::uint8_t unk08; // 08
64  std::uint8_t unk09; // 09
65  std::uint8_t unk0A; // 0A
66  };
67  static_assert(sizeof(CombatSearchDoor) == 0xC);
68 
70  {
71  public:
72  // members
73  std::uint32_t groupID; // 000
74  std::uint32_t groupIndex; // 004
80  AITimer unk50; // 050
84  AITimer unkC0; // 0C0
85  float unkC8; // 0C8
86  float unkCC; // 0CC
87  float unkD0; // 0D0
88  float unkD4; // 0D4
89  std::uint32_t searchState; // 0D8
90  std::uint32_t padDC; // 0DC
91  BSPathingLOSGridMap* gridMap; // 0E0
97  float searchRadius; // 118
98  std::uint32_t pad11C; // 11C
101  std::uint32_t initializedMemberCount; // 150 - count
102  std::uint32_t fleeCount; // 154
103  std::uint32_t fightCount; // 158
104  std::uint8_t musicState; // 15C
105  std::uint8_t unk15D; // 15D
106  std::uint8_t unk15E; // 15E
107  std::uint8_t unk15F; // 15F
108  mutable BSReadWriteLock lock; // 160
109  };
110  static_assert(sizeof(CombatGroup) == 0x168);
111 }
Definition: BSAtomic.h:112
Definition: BSTArray.h:378
Definition: CombatGroupDetectionListener.h:8
Definition: CombatGroup.h:70
std::uint32_t pad11C
Definition: CombatGroup.h:98
AITimer unkC0
Definition: CombatGroup.h:84
BGSWorldLocation searchTargetLoc
Definition: CombatGroup.h:96
AITimer updateTimer
Definition: CombatGroup.h:82
ActorHandle targetToSearchFor
Definition: CombatGroup.h:95
BSTArray< CombatSearchLocation > searchLocations
Definition: CombatGroup.h:99
BSPathingLOSGridMap * gridMap
Definition: CombatGroup.h:91
BSReadWriteLock lock
Definition: CombatGroup.h:108
BSTArray< CombatSearchDoor > searchDoors
Definition: CombatGroup.h:100
BSTArray< CombatMember > members
Definition: CombatGroup.h:76
float unkC8
Definition: CombatGroup.h:85
AITimer musicThreatRatioTimer
Definition: CombatGroup.h:83
std::uint32_t searchState
Definition: CombatGroup.h:89
std::uint8_t unk15D
Definition: CombatGroup.h:105
std::uint32_t initializedMemberCount
Definition: CombatGroup.h:101
AITimer avoidThreathTimer
Definition: CombatGroup.h:79
float unkCC
Definition: CombatGroup.h:86
std::uint8_t musicState
Definition: CombatGroup.h:104
std::uint32_t fleeCount
Definition: CombatGroup.h:102
std::uint32_t groupIndex
Definition: CombatGroup.h:74
AITimer unk50
Definition: CombatGroup.h:80
AITimer searchAreaUpdateTimer
Definition: CombatGroup.h:93
std::uint32_t groupID
Definition: CombatGroup.h:73
float searchRadius
Definition: CombatGroup.h:97
AITimer allyKilledTimer
Definition: CombatGroup.h:78
std::uint32_t padDC
Definition: CombatGroup.h:90
float unkD4
Definition: CombatGroup.h:88
BSTArray< CombatTarget > targets
Definition: CombatGroup.h:75
std::uint32_t fightCount
Definition: CombatGroup.h:103
CombatGroupDetectionListener * detectionListener
Definition: CombatGroup.h:77
float unkD0
Definition: CombatGroup.h:87
std::uint8_t unk15E
Definition: CombatGroup.h:106
AITimeStamp searchStartedTimeStamp
Definition: CombatGroup.h:94
AITimer detectionDialogueTimers[11]
Definition: CombatGroup.h:81
AITimer searchUpdateTimer
Definition: CombatGroup.h:92
std::uint8_t unk15F
Definition: CombatGroup.h:107
Definition: CombatGroup.h:48
ActorHandle memberHandle
Definition: CombatGroup.h:51
float groupStrengthUpdateTimer
Definition: CombatGroup.h:52
float threatValue
Definition: CombatGroup.h:53
Definition: CombatGroup.h:16
REX::EnumSet< Flags, std::uint16_t > flags
Definition: CombatGroup.h:43
ActorHandle attackedMember
Definition: CombatGroup.h:41
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:58
ObjectRefHandle linkedDoorHandle
Definition: CombatGroup.h:62
std::uint8_t unk08
Definition: CombatGroup.h:63
std::uint8_t unk0A
Definition: CombatGroup.h:65
ObjectRefHandle doorHandle
Definition: CombatGroup.h:61
std::uint8_t unk09
Definition: CombatGroup.h:64