LeviLamina
Loading...
Searching...
No Matches
Raid.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/math/Vec3.h"
7#include "mc/legacy/ActorUniqueID.h"
8#include "mc/world/level/Tick.h"
9
10// auto generated forward declare list
11// clang-format off
12class Actor;
13// clang-format on
14
15class Raid {
16public:
17 // Raid inner types define
18 enum class RaidState : int {
19 PreparingGroup = 0,
20 PickingSpawnPoint = 1,
21 SpawningGroup = 2,
22 GroupInPlay = 3,
23 AwardingRewards = 4,
24 Finished = 5,
25 Stopped = 6,
26 };
27
28 enum class RaidStatus : int {
29 Ongoing = 0,
30 Victory = 1,
31 Defeat = 2,
32 };
33
34 using ActorIDCollection = ::std::unordered_set<::ActorUniqueID>;
35
36 using ActorRemovedFromRaidCallback = ::std::function<void(::ActorUniqueID const&)>;
37
38 using ApplyHeroOfTheVillageCallback = ::std::function<void(::ActorUniqueID const&)>;
39
40 using CallbackCallCountType = uint64;
41
42 using DoesActorExistCallback = ::std::function<bool(::ActorUniqueID const&)>;
43
44 using DurationType = int;
45
46 using FailureCountType = uchar;
47
48 using GroupNumberType = uchar;
49
50 using IsVillageDefeatedCallback = ::std::function<bool()>;
51
52 using NotificationCallback = ::std::function<void(::Raid const&)>;
53
54 using PickSpawnPointCallback = ::std::function<bool(uint64, ::Vec3&)>;
55
56 using RaiderCountType = uchar;
57
58 using RaiderHealthCallback = ::std::function<float(::ActorUniqueID const&)>;
59
60 using SpawnGroupCallback = ::std::function<bool(uint64, ::Vec3, uchar, ::std::unordered_set<::ActorUniqueID>&)>;
61
62public:
63 // member variables
64 // NOLINTBEGIN
65 ::ll::TypedStorage<4, 4, ::Raid::RaidState> mCurrentRaidState;
66 ::ll::TypedStorage<4, 4, ::Raid::RaidStatus> mRaidStatus;
67 ::ll::TypedStorage<1, 1, uchar> mCurrentGroupNumber;
68 ::ll::TypedStorage<1, 1, uchar> mNumGroupsInRaid;
69 ::ll::TypedStorage<8, 8, ::Tick> mGameTick;
70 ::ll::TypedStorage<8, 8, ::Tick> mTicksInState;
71 ::ll::TypedStorage<4, 4, int> mRaidPreparationTime;
72 ::ll::TypedStorage<4, 4, int const> mGroupCompleteDelay;
73 ::ll::TypedStorage<4, 4, int> mTicksUntilGroupComplete;
74 ::ll::TypedStorage<4, 4, int const> mLocationHelpDelay;
75 ::ll::TypedStorage<4, 4, int> mTicksUntilLocationHelp;
76 ::ll::TypedStorage<4, 4, int const> mFinishedDelay;
77 ::ll::TypedStorage<4, 12, ::Vec3> mCurrentGroupSpawnPoint;
78 ::ll::TypedStorage<8, 64, ::std::unordered_set<::ActorUniqueID>> mRaiders;
79 ::ll::TypedStorage<1, 1, uchar> mNumRaidersSpawnedInCurrentGroup;
80 ::ll::TypedStorage<4, 4, float> mCurrentGroupTotalMaxHealth;
81 ::ll::TypedStorage<1, 1, uchar const> mAllowedSpawnFailures;
82 ::ll::TypedStorage<1, 1, uchar> mSpawnFailures;
83 ::ll::TypedStorage<8, 64, ::std::unordered_set<::ActorUniqueID>> mHeroesOfTheVillage;
84 ::ll::TypedStorage<8, 64, ::std::function<bool(uint64, ::Vec3&)> const> mPickSpawnPointCallback;
85 ::ll::
86 TypedStorage<8, 64, ::std::function<bool(uint64, ::Vec3, uchar, ::std::unordered_set<::ActorUniqueID>&)> const>
87 mSpawnGroupCallback;
88 ::ll::TypedStorage<8, 64, ::std::function<bool(::ActorUniqueID const&)> const> mDoesActorExistCallback;
89 ::ll::TypedStorage<8, 64, ::std::function<bool()> const> mIsVillageDefeatedCallback;
90 ::ll::TypedStorage<8, 64, ::std::function<void(::Raid const&)>> mOnSpawnPointChosenCallback;
91 ::ll::TypedStorage<8, 64, ::std::function<void(::Raid const&)>> mOnGroupSpawnedCallback;
92 ::ll::TypedStorage<8, 64, ::std::function<void(::Raid const&)>> mOnAwardRewardsCallback;
93 ::ll::TypedStorage<8, 64, ::std::function<void(::Raid const&)>> mOnHelpLocateRaidersCallback;
94 ::ll::TypedStorage<8, 64, ::std::function<void(::Raid const&)>> mOnVillageDefeatedCallback;
95 ::ll::TypedStorage<8, 64, ::std::function<void(::ActorUniqueID const&)>> mApplyHeroOfTheVillageCallback;
96 ::ll::TypedStorage<8, 64, ::std::function<void(::ActorUniqueID const&)>> mOnActorRemovedFromRaidCallback;
97 ::ll::TypedStorage<8, 64, ::std::function<float(::ActorUniqueID const&)>> mGetRaiderHealthCallback;
98 // NOLINTEND
99
100public:
101 // member functions
102 // NOLINTBEGIN
103 MCAPI void addPlayerToHeroList(::Actor const& actor);
104
105 MCAPI float getBossBarFilledFraction() const;
106
107 MCAPI bool isRaider(::ActorUniqueID actor) const;
108 // NOLINTEND
109};
Definition Actor.h:113
Definition Raid.h:15
Definition Vec3.h:10
Definition ActorUniqueID.h:5