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

Merge pull request #130 from itsMaru/master

Effect IPC updated; Definitions for status effect exd;
This commit is contained in:
Mordred 2017-10-11 07:20:33 +02:00 committed by GitHub
commit fb1a6297c4
3 changed files with 31 additions and 3 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

@ -69,7 +69,7 @@ namespace Packets {
LinkshellList = 0x00DC, // updated 4.1
StatusEffectList = 0x00FA, // updated 4.1
Effect = 0x00F1,
Effect = 0x00FB, // updated 4.1
GCAffiliation = 0x00FC,
ActorSetPos = 0x0114,
@ -80,8 +80,8 @@ namespace Packets {
HateList = 0x011A,
UpdateClassInfo = 0x011D,
InitUI = 0x012B, // updated 4.1
PlayerStats = 0x0138, // updated 4.1
ActorOwner = 0x012D, // updated 4.1
PlayerStats = 0x0138, // updated 4.1
PlayerStateFlags = 0x013A, // updated 4.1
PlayerClassInfo = 0x013B, // updated 4.1
ModelEquip = 0x013C, // updated 4.1