20class AngerLevelComponent {
30 struct ConditionalSound {
40 ConditionalSound& operator=(ConditionalSound
const&);
41 ConditionalSound(ConditionalSound
const&);
47 MCAPI ~ConditionalSound();
68 Nuisance& operator=(Nuisance
const&);
69 Nuisance(Nuisance
const&);
73 struct NuisanceCompare {
82 NuisanceCompare& operator=(NuisanceCompare
const&);
83 NuisanceCompare(NuisanceCompare
const&);
87 using ActorNuisance = ::std::pair<::Actor*, int>;
92 ::ll::TypedStorage<8, 8, ::Tick> mNextAngerDecrementTick;
93 ::ll::TypedStorage<4, 4, int> mDefaultAnnoyingness;
94 ::ll::TypedStorage<4, 4, int> mDefaultProjectileAnnoyingness;
95 ::ll::TypedStorage<4, 4, int> mAngerDecrementIntervalTicks;
96 ::ll::TypedStorage<4, 4, int> mMaxAngerLevel;
97 ::ll::TypedStorage<4, 4, int> mAngryThreshold;
98 ::ll::TypedStorage<1, 1, bool> mRemoveTargetWhenBelowAngryThreshold;
99 ::ll::TypedStorage<4, 4, int> mAngryBoost;
100 ::ll::TypedStorage<4, 4, int> mTopAnger;
101 ::ll::TypedStorage<8, 72, ::std::optional<::ActorFilterGroup>> mNuisanceFilter;
102 ::ll::TypedStorage<8, 24, ::std::vector<::AngerLevelComponent::ConditionalSound>> mOnIncreaseSoundDefinitions;
103 ::ll::TypedStorage<4, 4, ::AngerLevelComponent::NuisanceCompare> mNuisanceCompare;
104 ::ll::TypedStorage<8, 24, ::std::multiset<::AngerLevelComponent::Nuisance, ::AngerLevelComponent::NuisanceCompare>>
110 AngerLevelComponent& operator=(AngerLevelComponent
const&);
111 AngerLevelComponent(AngerLevelComponent
const&);
112 AngerLevelComponent();
117 MCAPI AngerLevelComponent(::AngerLevelComponent&&);
119 MCAPI
void _createOrModifyAngerLevel(
::Actor const& nuisanceSource, ::std::function<
int(
int)>
const& modifyingFn);
121 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> _getListeningSoundEvent(
::Actor& actor)
const;
129 MCAPI ::std::optional<::std::pair<::Actor*, int>> getTopActiveNuisance(
::Actor* owner,
::ILevel const& level)
const;
131 MCAPI ::AngerLevelComponent& operator=(::AngerLevelComponent&&);
135 MCAPI
void tryIncreaseAngerAt(
::Actor& owner,
::Actor& nuisance,
int anger,
bool playSounds);
137 MCAPI ~AngerLevelComponent();
143 MCAPI
static int const& DEFAULT_ANGRY_BOOST();
145 MCAPI
static int const& DEFAULT_ANGRY_THRESHOLD();
147 MCAPI
static int const& DEFAULT_MAX_ANGER_LEVEL();
153 MCAPI
void* $ctor(::AngerLevelComponent&&);