server/game/src/buff_on_attributes.h

43 lines
1.3 KiB
C
Raw Normal View History

2022-03-05 12:44:06 +02:00
#ifndef __METIN2_BUFF_ON_ATTRIBUTES_H
#define __METIN2_BUFF_ON_ATTRIBUTES_H
class CHARACTER;
class CBuffOnAttributes
{
public:
CBuffOnAttributes(LPCHARACTER pOwner, BYTE m_point_type, std::vector <BYTE>* vec_buff_targets);
~CBuffOnAttributes();
// <20><><EFBFBD><EFBFBD> <20><> <20≯鼭, m_p_vec_buff_wear_targets<74><73> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȿ<><C8BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
void RemoveBuffFromItem(LPITEM pItem);
// m_p_vec_buff_wear_targets<74><73> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20>ش<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> attribute<74><65> <20><><EFBFBD><EFBFBD> ȿ<><C8BF> <20>߰<EFBFBD>.
void AddBuffFromItem(LPITEM pItem);
// m_bBuffValue<75><65> <20>ٲٰ<D9B2>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ٲ<EFBFBD>.
void ChangeBuffValue(BYTE bNewValue);
// CHRACTRE::ComputePoints<74><73><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>ġ<EFBFBD><C4A1> <20>ʱ<EFBFBD>ȭ<EFBFBD>ϰ<EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϹǷ<CFB9>,
// <20><><EFBFBD><EFBFBD> <20>Ӽ<EFBFBD>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> owner<65><72><EFBFBD><EFBFBD> <20><>.
void GiveAllAttributes();
// m_p_vec_buff_wear_targets<74><73> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> attribute<74><65> type<70><65><EFBFBD><EFBFBD> <20>ջ<EFBFBD><D5BB>ϰ<EFBFBD>,
// <20><> attribute<74><65><EFBFBD><EFBFBD> (m_bBuffValue)% <20><>ŭ<EFBFBD><C5AD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>.
bool On(BYTE bValue);
// <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>, <20>ʱ<EFBFBD>ȭ
void Off();
void Initialize();
private:
LPCHARACTER m_pBuffOwner;
BYTE m_bPointType;
BYTE m_bBuffValue;
std::vector <BYTE>* m_p_vec_buff_wear_targets;
// apply_type, apply_value <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>
typedef std::map <BYTE, int> TMapAttr;
// m_p_vec_buff_wear_targets<74><73> <20>ش<EFBFBD><D8B4>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> attribute<74><65> type<70><65><EFBFBD><EFBFBD> <20>ջ<EFBFBD><D5BB>Ͽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
TMapAttr m_map_additional_attrs;
};
#endif