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.
37 lines
933 B
C++
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
|