CommonLibVR
Loading...
Searching...
No Matches
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"
9
10namespace 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:
46 };
47 static_assert(sizeof(CombatTarget) == 0xA8);
48
50 {
51 public:
52 // members
55 float threatValue; // 08
56 private:
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:
115 };
116 static_assert(sizeof(CombatGroup) == 0x168);
117}
#define KEEP_FOR_RE()
Definition PCH.h:517
Definition EnumSet.h:9
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
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: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