2021-03-13 20:22:29 +00:00
|
|
|
#include "Abilities.hpp"
|
|
|
|
#include "PlayerManager.hpp"
|
|
|
|
#include "Player.hpp"
|
|
|
|
#include "NPCManager.hpp"
|
2021-03-16 22:29:13 +00:00
|
|
|
#include "Nanos.hpp"
|
|
|
|
#include "Groups.hpp"
|
2021-03-17 21:28:24 +00:00
|
|
|
#include "Eggs.hpp"
|
2021-03-13 20:22:29 +00:00
|
|
|
|
2021-06-20 15:02:16 +00:00
|
|
|
std::map<int32_t, SkillData> Abilities::SkillTable;
|
2021-03-13 20:22:29 +00:00
|
|
|
|
2022-05-16 20:47:30 +00:00
|
|
|
/*
|
|
|
|
// New email notification
|
|
|
|
static void emailUpdateCheck(CNSocket* sock, CNPacketData* data) {
|
|
|
|
INITSTRUCT(sP_FE2CL_REP_PC_NEW_EMAIL, resp);
|
|
|
|
resp.iNewEmailCnt = Database::getUnreadEmailCount(PlayerManager::getPlayer(sock)->iID);
|
|
|
|
sock->sendPacket(resp, P_FE2CL_REP_PC_NEW_EMAIL);
|
|
|
|
}
|
|
|
|
*/
|
2021-03-13 20:22:29 +00:00
|
|
|
|
2022-05-17 00:28:27 +00:00
|
|
|
std::vector<EntityRef> Abilities::matchTargets(SkillData *skill, int count, int32_t *ids) {
|
|
|
|
|
|
|
|
std::vector<int> tempTargs;
|
|
|
|
switch (skill->effectTarget)
|
|
|
|
{
|
|
|
|
case SkillEffectTarget::POINT:
|
|
|
|
std::cout << "[SKILL] POINT; ";
|
|
|
|
break;
|
|
|
|
case SkillEffectTarget::SELF:
|
|
|
|
std::cout << "[SKILL] SELF; ";
|
|
|
|
break;
|
|
|
|
case SkillEffectTarget::CONE:
|
|
|
|
std::cout << "[SKILL] CONE; ";
|
|
|
|
break;
|
|
|
|
case SkillEffectTarget::AREA_SELF:
|
|
|
|
std::cout << "[SKILL] AREA_SELF; ";
|
|
|
|
break;
|
|
|
|
case SkillEffectTarget::AREA_TARGET:
|
|
|
|
std::cout << "[SKILL] AREA_TARGET; ";
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (int i = 0; i < count; i++) std::cout << ids[i] << " ";
|
|
|
|
std::cout << std::endl;
|
|
|
|
|
|
|
|
std::vector<EntityRef> targets;
|
|
|
|
return targets;
|
|
|
|
}
|
|
|
|
|
2022-05-16 20:47:30 +00:00
|
|
|
void Abilities::init() {
|
2022-05-17 00:28:27 +00:00
|
|
|
//REGISTER_SHARD_PACKET(P_CL2FE_REQ_PC_EMAIL_UPDATE_CHECK, emailUpdateCheck);
|
2022-05-16 20:47:30 +00:00
|
|
|
}
|