CommonLibSSE NG
Loading...
Searching...
No Matches
EffectArchetypes.h
Go to the documentation of this file.
1#pragma once
2
3namespace RE
4{
6 {
7 enum class ArchetypeID
8 {
9 kNone = static_cast<std::underlying_type_t<ArchetypeID>>(-1),
10 kValueModifier = 0,
11 kScript = 1,
12 kDispel = 2,
13 kCureDisease = 3,
14 kAbsorb = 4,
15 kDualValueModifier = 5,
16 kCalm = 6,
17 kDemoralize = 7,
18 kFrenzy = 8,
19 kDisarm = 9,
20 kCommandSummoned = 10,
21 kInvisibility = 11,
22 kLight = 12,
23 kDarkness = 13,
24 kNightEye = 14,
25 kLock = 15,
26 kOpen = 16,
27 kBoundWeapon = 17,
28 kSummonCreature = 18,
29 kDetectLife = 19,
30 kTelekinesis = 20,
31 kParalysis = 21,
32 kReanimate = 22,
33 kSoulTrap = 23,
34 kTurnUndead = 24,
35 kGuide = 25,
36 kWerewolfFeed = 26,
37 kCureParalysis = 27,
38 kCureAddiction = 28,
39 kCurePoison = 29,
40 kConcussion = 30,
41 kValueAndParts = 31,
42 kAccumulateMagnitude = 32,
43 kStagger = 33,
44 kPeakValueModifier = 34,
45 kCloak = 35,
46 kWerewolf = 36,
47 kSlowTime = 37,
48 kRally = 38,
49 kEnhanceWeapon = 39,
50 kSpawnHazard = 40,
51 kEtherealize = 41,
52 kBanish = 42,
53 kSpawnScriptedRef = 43,
54 kDisguise = 44,
55 kGrabActor = 45,
56 kVampireLord = 46
57 };
58 };
60
61 [[nodiscard]] std::string_view EffectArchetypeToString(EffectArchetype a_archetype) noexcept;
62}
63
64namespace std
65{
66 [[nodiscard]] inline std::string to_string(RE::EffectArchetype a_archetype)
67 {
68 return RE::EffectArchetypeToString(a_archetype).data();
69 }
70}
71
72namespace fmt
73{
74 template <>
75 struct formatter<RE::EffectArchetype>
76 {
77 template <class ParseContext>
78 constexpr auto parse(ParseContext& a_ctx)
79 {
80 return a_ctx.begin();
81 }
82
83 template <class FormatContext>
84 auto format(const RE::EffectArchetype& a_archetype, FormatContext& a_ctx)
85 {
86 return fmt::format_to(a_ctx.out(), "{}", RE::EffectArchetypeToString(a_archetype));
87 }
88 };
89}
90
91#ifdef __cpp_lib_format
92namespace std
93{
94 template <class CharT>
95 struct formatter<RE::EffectArchetype, CharT> : std::formatter<std::string_view, CharT>
96 {
97 template <class FormatContext>
98 auto format(RE::EffectArchetype a_archetype, FormatContext& a_ctx)
99 {
100 return formatter<std::string_view, CharT>::format(RE::EffectArchetypeToString(a_archetype), a_ctx);
101 }
102 };
103}
104#endif
Definition AbsorbEffect.h:6
EffectArchetypes::ArchetypeID EffectArchetype
Definition EffectArchetypes.h:59
std::string_view EffectArchetypeToString(EffectArchetype a_archetype) noexcept
Definition ActorValueList.h:50
Definition ActorValueList.h:28
std::string to_string(RE::ActorValue a_actorValue)
Definition ActorValueList.h:29
Definition EffectArchetypes.h:6
ArchetypeID
Definition EffectArchetypes.h:8
constexpr auto parse(ParseContext &a_ctx)
Definition EffectArchetypes.h:78
auto format(const RE::EffectArchetype &a_archetype, FormatContext &a_ctx)
Definition EffectArchetypes.h:84