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