forked from metin2/server
43 lines
1.3 KiB
C
43 lines
1.3 KiB
C
|
#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
|