34 ::ll::TypedStorage<4, 4, ::SharedTypes::Legacy::LevelSoundEvent> mSoundEvent;
35 ::ll::TypedStorage<8, 16, ::ExpressionNode> mCondition;
43 ::ll::TypedStorage<8, 8, ::ActorUniqueID> mActorId;
44 ::ll::TypedStorage<4, 4, int> mAnger;
45 ::ll::TypedStorage<1, 1, uchar> mPriority;
53 ::ll::TypedStorage<4, 4, int> mAngerThreshold;
57 using ActorNuisance = ::std::pair<::Actor*, int>;
62 ::ll::TypedStorage<8, 8, ::Tick> mNextAngerDecrementTick;
63 ::ll::TypedStorage<4, 4, int> mDefaultAnnoyingness;
64 ::ll::TypedStorage<4, 4, int> mDefaultProjectileAnnoyingness;
65 ::ll::TypedStorage<4, 4, int> mAngerDecrementIntervalTicks;
66 ::ll::TypedStorage<4, 4, int> mMaxAngerLevel;
67 ::ll::TypedStorage<4, 4, int> mAngryThreshold;
68 ::ll::TypedStorage<1, 1, bool> mRemoveTargetWhenBelowAngryThreshold;
69 ::ll::TypedStorage<4, 4, int> mAngryBoost;
70 ::ll::TypedStorage<4, 4, int> mTopAnger;
71 ::ll::TypedStorage<8, 72, ::std::optional<::ActorFilterGroup>> mNuisanceFilter;
72 ::ll::TypedStorage<8, 24, ::std::vector<::AngerLevelComponent::ConditionalSound>> mOnIncreaseSoundDefinitions;
73 ::ll::TypedStorage<4, 4, ::AngerLevelComponent::NuisanceCompare> mNuisanceCompare;
74 ::ll::TypedStorage<8, 24, ::std::multiset<::AngerLevelComponent::Nuisance, ::AngerLevelComponent::NuisanceCompare>>
83 MCAPI ::std::optional<::SharedTypes::Legacy::LevelSoundEvent> _getListeningSoundEvent(
::Actor& actor)
const;
91 MCAPI
int getAngerForAnimations(
::Actor& owner)
const;
93 MCAPI ::std::optional<::std::pair<::Actor*, int>> getTopActiveNuisance(
::Actor* owner,
::ILevel const& level)
const;
95 MCAPI
bool isAngry()
const;
101 MCAPI
void tryIncreaseAngerAt(
::Actor& owner,
::Actor& nuisance,
int anger,
bool playSounds);
109 MCAPI
static float const& DEFAULT_ANGER_DECREMENT_INTERVAL_SECONDS();
111 MCAPI
static int const& DEFAULT_ANGRY_BOOST();
113 MCAPI
static int const& DEFAULT_ANGRY_THRESHOLD();
115 MCAPI
static int const& DEFAULT_MAX_ANGER_LEVEL();
117 MCAPI
static bool const& DEFAULT_SHOULD_REMOVE_TARGET();