CommonLibSSE NG
ValueModifierEffect.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/A/ActiveEffect.h"
4 #include "RE/A/ActorValues.h"
5 
6 namespace RE
7 {
9  {
10  public:
11  inline static constexpr auto RTTI = RTTI_ValueModifierEffect;
12  inline static constexpr auto VTABLE = VTABLE_ValueModifierEffect;
13 
14  // override (ActiveEffect)
15  void OnAdd(MagicTarget* a_target) override; // 01
16  void Update(float a_delta) override; // 04
17  bool IsCausingHealthDamage() override; // 06
18  bool GetAllowMultipleCastingSourceStacking() override; // 11 - { return 1; };
19  void ClearTargetImpl() override; // 12
20 
21  ~ValueModifierEffect() override; // 13
22 
23  void Start() override; // 14
24  void Finish() override; // 15
25  bool CheckCustomSkillUseConditions() const override; // 17
26  float GetCustomSkillUseMagnitudeMultiplier(float a_mult) const override; // 18
27 
28  // add
29  virtual void SetActorValue(ActorValue a_actorValue); // 19 - { actorValue = a_actorValue; }
30  virtual bool ShouldModifyOnStart(); // 1A
31  virtual void ModifyOnStart(); // 1B
32  virtual bool ShouldModifyOnUpdate() const; // 1C
33  virtual void ModifyOnUpdate(float a_delta); // 1D
34  virtual bool ShouldModifyOnFinish() const; // 1E
35  virtual void ModifyOnFinish(Actor* a_caster, Actor* a_target, float a_value); // 1F
36  virtual void ModifyActorValue(Actor* a_actor, float a_value, ActorValue a_actorValue); // 20
37 
38  // members
40  float value; // 94
41  };
42  static_assert(sizeof(ValueModifierEffect) == 0x98);
43 }
Definition: ActiveEffect.h:27
Definition: Actor.h:135
Definition: MagicTarget.h:26
Definition: ValueModifierEffect.h:9
virtual void ModifyOnFinish(Actor *a_caster, Actor *a_target, float a_value)
virtual bool ShouldModifyOnUpdate() const
void Start() override
virtual void ModifyOnUpdate(float a_delta)
virtual void ModifyActorValue(Actor *a_actor, float a_value, ActorValue a_actorValue)
float value
Definition: ValueModifierEffect.h:40
virtual void SetActorValue(ActorValue a_actorValue)
virtual bool ShouldModifyOnStart()
void OnAdd(MagicTarget *a_target) override
static constexpr auto RTTI
Definition: ValueModifierEffect.h:11
float GetCustomSkillUseMagnitudeMultiplier(float a_mult) const override
virtual void ModifyOnStart()
bool IsCausingHealthDamage() override
ActorValue actorValue
Definition: ValueModifierEffect.h:39
void Update(float a_delta) override
~ValueModifierEffect() override
bool GetAllowMultipleCastingSourceStacking() override
void ClearTargetImpl() override
virtual bool ShouldModifyOnFinish() const
void Finish() override
bool CheckCustomSkillUseConditions() const override
static constexpr auto VTABLE
Definition: ValueModifierEffect.h:12
Definition: AbsorbEffect.h:6
constexpr std::array< REL::VariantID, 1 > VTABLE_ValueModifierEffect
Definition: Offsets_VTABLE.h:1953
ActorValue
Definition: ActorValues.h:6
constexpr REL::VariantID RTTI_ValueModifierEffect(686470, 394302, 0x1efe4e8)