1
Fork 0
mirror of https://github.com/SapphireServer/Sapphire.git synced 2025-04-30 08:07:46 +00:00

Effect IPC updated; Definitions for status effect exd;

This commit is contained in:
Maru 2017-10-10 23:08:52 -03:00
parent 3288ed7ca8
commit dcf38ce2ac
3 changed files with 32 additions and 4 deletions

View file

@ -136,6 +136,16 @@ bool Core::Data::ExdData::loadStatusEffectInfo()
StatusEffectInfo info { 0 };
info.id = id;
info.name = getField< std::string >( fields, 0 );
info.lock_movement = getField< bool >( fields, 7 ); // 7
info.lock_actions = getField< bool >( fields, 9 ); // 9
info.lock_control = getField< bool >( fields, 10 ); // 10
info.transfiguration = getField< bool >( fields, 11 ); // 11
info.can_dispel = getField< bool >( fields, 13 ); // 13
info.is_permanent = getField< bool >( fields, 15 ); // 15
info.inflicted_by_actor = getField< bool >( fields, 17 ); // 17
info.is_fc_buff = getField< bool >( fields, 21 ); // 21
info.invisibility = getField< bool >( fields, 22 ); // 22
m_statusEffectInfoMap[id] = info;
}
@ -355,6 +365,9 @@ bool Core::Data::ExdData::loadActionInfo()
uint16_t toggle_status_id = getField< uint16_t >( fields, 42 ); // 42
bool affects_position = getField< bool >( fields, 47 ); // 47
bool no_effect_in_battle = getField< bool >( fields, 60 ); // 60
info->id = id;
info->name = name;
info->category = category;
@ -389,6 +402,8 @@ bool Core::Data::ExdData::loadActionInfo()
info->toggle_status_id = toggle_status_id;
info->affects_position = affects_position;
info->no_effect_in_battle = no_effect_in_battle;
// If action type is SingleTarget with an AoE radius set, or if action type isn't SingleTarget
info->is_aoe = ( info->aoe_type == 1 && info->aoe_width != 0 ) || ( info->aoe_type != 1 );

View file

@ -255,7 +255,11 @@ namespace Core {
bool affects_position; // 47
bool no_effect_in_battle; // 60
bool is_aoe; // Internal only
};
struct EventItemInfo
@ -269,7 +273,16 @@ namespace Core {
struct StatusEffectInfo
{
uint32_t id;
std::string name; //0
std::string name; // 0
bool lock_movement; // 7
bool lock_actions; // 9
bool lock_control; // 10
bool transfiguration; // 11
bool can_dispel; // 13
bool is_permanent; // 15
bool inflicted_by_actor; // 17
bool is_fc_buff; // 21
bool invisibility; // 22
};
class ExdData

View file

@ -66,8 +66,8 @@ namespace Packets {
BlackList = 0x00D4, // updated 4.1
LogMessage = 0x00D0,
LinkshellList = 0x00D1,
StatusEffectList = 0x00FA,
Effect = 0x00F1,
StatusEffectList = 0x00FA, // updated 4.1
Effect = 0x00FB, // updated 4.1
GCAffiliation = 0x00FC,
ActorSetPos = 0x0114,
@ -94,7 +94,7 @@ namespace Packets {
ActorControl142 = 0x0142,
ActorControl143 = 0x0143,
ActorControl144 = 0x0144,
UpdateHpMpTp = 0x0145,
UpdateHpMpTp = 0x0145, // updated 4.1