LeviLamina
Loading...
Searching...
No Matches
AngerLevelComponent.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
7
8// auto generated forward declare list
9// clang-format off
10class Actor;
12class CompoundTag;
13class ILevel;
14struct ActorUniqueID;
15struct Tick;
16// clang-format on
17
19public:
20 // AngerLevelComponent inner types declare
21 // clang-format off
22 struct ConditionalSound;
23 struct Nuisance;
24 struct NuisanceCompare;
25 // clang-format on
26
27 // AngerLevelComponent inner types define
28 struct Nuisance {
29 public:
30 // member variables
31 // NOLINTBEGIN
35 // NOLINTEND
36
37 public:
38 // prevent constructor by default
39 Nuisance& operator=(Nuisance const&);
40 Nuisance(Nuisance const&);
41 Nuisance();
42 };
43
45 public:
46 // member variables
47 // NOLINTBEGIN
49 // NOLINTEND
50
51 public:
52 // prevent constructor by default
53 NuisanceCompare& operator=(NuisanceCompare const&);
56 };
57
58 using ActorNuisance = ::std::pair<::Actor*, int>;
59
61 public:
62 // member variables
63 // NOLINTBEGIN
66 // NOLINTEND
67
68 public:
69 // prevent constructor by default
70 ConditionalSound& operator=(ConditionalSound const&);
73
74 public:
75 // member functions
76 // NOLINTBEGIN
77 MCAPI ~ConditionalSound();
78 // NOLINTEND
79
80 public:
81 // destructor thunk
82 // NOLINTBEGIN
83 MCFOLD void $dtor();
84 // NOLINTEND
85 };
86
87public:
88 // member variables
89 // NOLINTBEGIN
90 ::ll::TypedStorage<8, 8, ::Tick> mNextAngerDecrementTick;
91 ::ll::TypedStorage<4, 4, int> mDefaultAnnoyingness;
92 ::ll::TypedStorage<4, 4, int> mDefaultProjectileAnnoyingness;
93 ::ll::TypedStorage<4, 4, int> mAngerDecrementIntervalTicks;
94 ::ll::TypedStorage<4, 4, int> mMaxAngerLevel;
95 ::ll::TypedStorage<4, 4, int> mAngryThreshold;
96 ::ll::TypedStorage<1, 1, bool> mRemoveTargetWhenBelowAngryThreshold;
97 ::ll::TypedStorage<4, 4, int> mAngryBoost;
98 ::ll::TypedStorage<4, 4, int> mTopAnger;
99 ::ll::TypedStorage<8, 72, ::std::optional<::ActorFilterGroup>> mNuisanceFilter;
100 ::ll::TypedStorage<8, 24, ::std::vector<::AngerLevelComponent::ConditionalSound>> mOnIncreaseSoundDefinitions;
101 ::ll::TypedStorage<4, 4, ::AngerLevelComponent::NuisanceCompare> mNuisanceCompare;
102 ::ll::TypedStorage<8, 24, ::std::multiset<::AngerLevelComponent::Nuisance, ::AngerLevelComponent::NuisanceCompare>>
103 mNuisances;
104 // NOLINTEND
105
106public:
107 // prevent constructor by default
108 AngerLevelComponent& operator=(AngerLevelComponent const&);
109
110public:
111 // member functions
112 // NOLINTBEGIN
114
116
117 MCAPI void _createOrModifyAngerLevel(::Actor const& nuisanceSource, ::std::function<int(int)> const& modifyingFn);
118
119 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> _getListeningSoundEvent(::Actor& actor) const;
120
121 MCAPI void addAdditionalSaveData(::CompoundTag& tag) const;
122
123 MCAPI bool belowAngryThreshold(::ActorUniqueID id) const;
124
125 MCAPI bool canBeNuisance(::Actor* owner, ::Actor* target) const;
126
127 MCAPI ::std::optional<::std::pair<::Actor*, int>> getTopActiveNuisance(::Actor* owner, ::ILevel const& level) const;
128
129 MCAPI ::AngerLevelComponent& operator=(::AngerLevelComponent&&);
130
131 MCAPI void tick(::Actor* owner, ::ILevel const& level);
132
133 MCAPI void tryIncreaseAngerAt(::Actor& owner, ::Actor& nuisance, int anger, bool playSounds);
134
135 MCAPI ~AngerLevelComponent();
136 // NOLINTEND
137
138public:
139 // static variables
140 // NOLINTBEGIN
141 MCAPI static int const& DEFAULT_ANGRY_BOOST();
142
143 MCAPI static int const& DEFAULT_ANGRY_THRESHOLD();
144
145 MCAPI static int const& DEFAULT_MAX_ANGER_LEVEL();
146 // NOLINTEND
147
148public:
149 // constructor thunks
150 // NOLINTBEGIN
151 MCAPI void* $ctor(::AngerLevelComponent&&);
152
153 MCAPI void* $ctor(::AngerLevelComponent const&);
154 // NOLINTEND
155
156public:
157 // destructor thunk
158 // NOLINTBEGIN
159 MCAPI void $dtor();
160 // NOLINTEND
161};
Definition ActorFilterGroup.h:16
Definition Actor.h:104
Definition AngerLevelComponent.h:18
Definition CompoundTag.h:13
Definition ILevel.h:203
Definition ActorUniqueID.h:5
Definition AngerLevelComponent.h:60
Definition AngerLevelComponent.h:44
Definition AngerLevelComponent.h:28
Definition Tick.h:5
Definition Alias.h:14