rodecomp/Source/Contents/Skills/AutomaticSkills.h
ragnarok-clanker 9ac3d05245 Maintenance: Add mandatory field offset markers /* XXXX */ and assertions to Contents headers (part 2: Items, Models, Movies, Skills,
Batch #1063 by ragnarok-clanker: no function's compiled code changes; checked with 62 compiled unit(s), including every includer of Source/Contents/Items/ItemNaming.h, Source/Contents/Models/ModelActor.h, Source/Contents/Models/ModelRendering.h, Source/Contents/Models/ModelSpatial.h, Source/Contents/Movies/BinkMovie.h, Source/Contents/Movies/BinkMovies.h, Source/Contents/PlayerNameDictionary.h, Source/Contents/Skills/AutomaticSkills.h, Source/Contents/Skills/ClientSkills.h, Source/Contents/Skills/PlayerSkillBundle.h, Source/Contents/Skills/SkillInfo.h, Source/Contents/Sound/SoundMgr.h, Source/Contents/UserData/NormalItemSlots.h, Source/Contents/World/WorldModelLoading.h, Source/Contents/World/WorldModelView.h, Source/Contents/World/WorldRayQuery.h.
2026-10-27 13:52:05 +00:00

37 lines
933 B
C++

#ifndef RAGNAROK_SOURCE_CONTENTS_SKILLS_AUTOMATICSKILLS_H
#define RAGNAROK_SOURCE_CONTENTS_SKILLS_AUTOMATICSKILLS_H
#include "Network/Connection/Connection.h"
#include <cstdint>
#include <set>
struct AutomaticSkillContext {
ClientOptions& options;
CConnection& connection;
int& activeKey;
const int& currentKey;
};
class AutomaticSkills {
public:
explicit AutomaticSkills(AutomaticSkillContext& context);
~AutomaticSkills();
bool Contains(int id) const;
static int CancelOption(std::int16_t id);
void DisableAll();
void Use(std::int16_t id, std::int16_t level, std::uint32_t target);
void Complete(int id);
private:
/* 0000 */ std::set<int> m_ids;
AutomaticSkillContext* m_context;
AutomaticSkills(const AutomaticSkills&) = delete;
AutomaticSkills& operator=(const AutomaticSkills&) = delete;
};
#if defined(_WIN32) && !defined(_WIN64)
static_assert(sizeof(AutomaticSkills) == 12);
#endif
#endif