CommonLibVR
MagicSystem.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSString.h"
4 
5 namespace RE
6 {
7  class BGSSoundDescriptorForm;
8  class MagicItem;
9 
10  namespace MagicSystem
11  {
12  enum class CannotCastReason
13  {
14  kOK = 0,
15  kMagicka = 1,
16  kPowerUsed = 2,
18  kMultipleCast = 4,
19  kItemCharge = 5,
24  };
25 
26  enum class CastingSource
27  {
28  kLeftHand = 0,
29  kRightHand = 1,
30  kOther = 2,
31  kInstant = 3
32  };
33 
34  enum class CastingType
35  {
36  kConstantEffect = 0,
37  kFireAndForget = 1,
38  kConcentration = 2,
39  kScroll = 3
40  };
41 
42  enum class Delivery
43  {
44  kSelf = 0,
45  kTouch = 1,
46  kAimed = 2,
47  kTargetActor = 3,
48  kTargetLocation = 4,
49 
50  kTotal
51  };
52 
53  enum class SoundID
54  {
55  kDrawSheatheLPM = 0,
56  kCharge = 1,
57  kReadyLoop = 2,
58  kRelease = 3,
59  kCastLoop = 4,
60  kHit = 5
61  };
62 
63  enum class SpellType
64  {
65  kSpell = 0,
66  kDisease = 1,
67  kPower = 2,
68  kLesserPower = 3,
69  kAbility = 4,
70  kPoison = 5,
71  kEnchantment = 6,
72 
73  kPotion = 7,
74  kAlchemy = static_cast<std::underlying_type_t<SpellType>>(kPotion),
75 
76  kWortCraft = 8,
77  kIngredient = static_cast<std::underlying_type_t<SpellType>>(kWortCraft),
78 
79  kLeveledSpell = 9,
80  kAddiction = 10,
81  kVoicePower = 11,
82  kStaffEnchantment = 12,
83  kScroll = 13
84  };
85 
86  enum class WardState
87  {
88  kNone = 0,
89  kAbsorb = 1,
90  kBreak = 2,
91 
92  kTotal
93  };
94 
95  const char* GetCannotCastString(CannotCastReason a_reason);
98  void GetMagicItemDescription(BSString& a_out, MagicItem* a_magicItem, const char* a_beginTagFormat, const char* a_endTagFormat);
99  }
100 }
Definition: BGSSoundDescriptorForm.h:14
Definition: MagicItem.h:30
SoundID
Definition: MagicSystem.h:54
SpellType
Definition: MagicSystem.h:64
CannotCastReason
Definition: MagicSystem.h:13
BGSSoundDescriptorForm * GetMagicFailureSound(SpellType a_type)
float GetMagicCasterTargetUpdateInterval()
CastingType
Definition: MagicSystem.h:35
CastingSource
Definition: MagicSystem.h:27
void GetMagicItemDescription(BSString &a_out, MagicItem *a_magicItem, const char *a_beginTagFormat, const char *a_endTagFormat)
const char * GetCannotCastString(CannotCastReason a_reason)
Delivery
Definition: MagicSystem.h:43
WardState
Definition: MagicSystem.h:87
Definition: AbsorbEffect.h:6