OpenFusion/src/Abilities.hpp

42 lines
753 B
C++
Raw Normal View History

#pragma once
#include "core/Core.hpp"
#include "Combat.hpp"
2022-05-17 00:28:27 +00:00
enum class SkillEffectTarget {
POINT = 1,
SELF = 2,
CONE = 3,
WEAPON = 4,
AREA_SELF = 5,
AREA_TARGET = 6
};
enum class SkillTargetType {
MOBS = 1,
PLAYERS = 2,
SELF = 3 // only used once by client /shrug
};
struct SkillData {
int skillType;
2022-05-17 00:28:27 +00:00
SkillEffectTarget effectTarget;
int effectType; // always 1?
SkillTargetType targetType;
2022-05-16 20:47:30 +00:00
int batteryDrainType;
int effectArea;
2022-05-16 20:47:30 +00:00
int batteryUse[4];
int durationTime[4];
2022-05-16 20:47:30 +00:00
int valueTypes[3];
int values[3][4];
};
namespace Abilities {
extern std::map<int32_t, SkillData> SkillTable;
2022-05-16 20:47:30 +00:00
2022-05-17 00:28:27 +00:00
std::vector<EntityRef> matchTargets(SkillData*, int, int32_t*);
2022-05-16 20:47:30 +00:00
void init();
}