📄 item.h
字号:
//declare class here
class CItem : public IItem
{
public:
CItem();
virtual ~CItem();
static CItemData s_ItemData;
static int ItemGetSort (OBJID idType);
static int ItemGetSubType (OBJID idTyep);
protected:
OBJID m_idItem;
OBJID m_idOwner;
ItemTypeInfo m_infoType;
unsigned char m_ucPosition;
DWORD m_dwSellPrice;
int m_nMaxAttackModify;
int m_nMinAttackModify;
int m_nDefenceModify;
int m_nDexterityModify;
int m_nDodgeModify;
int m_nMagicAttackModify;
int m_nMagicDefenceModify;
int m_nFrameIndex;
unsigned short m_usPercent;
unsigned short m_usOriginalAmount;
unsigned short m_usOriginalAmountLimit;
DWORD m_dwWarGhostExp; // 战魂经验 //幻兽当前生命
DWORD m_dwGemAtkType; // 宝石类型 //幻兽经验
DWORD m_dwAvailabeTime; // 使用次数
DWORD m_dwGrow; //成长率 //筹码的兑换价格
char m_szMonsterName[16]; //幻兽名字
BOOL m_bMonsterDie; //幻兽是否死亡
public:
void SetMonsterDie(BOOL bDie){m_bMonsterDie = bDie;}
BOOL IsMonsterDie(){return m_bMonsterDie;}
DWORD GetWarGhostExp(){return m_dwWarGhostExp;}
int GetWarGhostLevel(){return (int)powf((float)m_dwWarGhostExp/(float)2,(float)1/(float)3);}
void SetMonsterGrow(DWORD dwGrow){m_dwGrow = dwGrow;}
int GetMonsterGrow(){return m_dwGrow;}
int GetMonsterMaxAtk();
int GetMonsterMinAtk();
int GetMonsterMagicMaxAtk();
int GetMonsterMagicMinAtk();
int GetMonsterMagicDef();
int GetMonsterDef();
int GetMonsterMaxLife();
DWORD IsMonsterCanEvolve(int nMode); //幻兽是否能进化
void SetWarGhostExp(DWORD dwWarGhostExp){m_dwWarGhostExp = dwWarGhostExp;}
DWORD GetGemAtkType(){return m_dwGemAtkType;}
void SetGemAtkType(DWORD dwGemAtkType){m_dwGemAtkType = dwGemAtkType;}
DWORD GetAvailabeTime(){return m_dwAvailabeTime;}
void SetAvailabeTime(DWORD dwAvailabeTime){m_dwAvailabeTime = dwAvailabeTime;}
void SetMonsterName(char* szName) {strcpy(m_szMonsterName,szName);}
char* GetMonsterName();
unsigned short GetPercent(){return m_usPercent;}
BOOL Create(OBJID idItem, OBJID idItemType);
void SetAmount(unsigned short usAmount){m_infoType.usAmount = usAmount;}
void SetAmountLimit(unsigned short usAmountLimit){m_infoType.usAmountLimit = usAmountLimit;}
void SetGem1(unsigned char ucGem1){m_infoType.ucGem1 = ucGem1;}
void SetGem2(unsigned char ucGem2){m_infoType.ucGem2 = ucGem2;}
void SetMagic1(unsigned char ucMagic1){m_infoType.ucMagic1 = ucMagic1;}
void SetMagic2(unsigned char ucMagic2){m_infoType.ucMagic2 = ucMagic2;}
void SetMagic3(unsigned char ucMagic3){m_infoType.ucMagic3 = ucMagic3;}
void SetPosition(unsigned char ucPosition){m_ucPosition = ucPosition;}
void SetStatus(unsigned char ucStatus);
unsigned char GetStatus();
BOOL TestStatus(unsigned char ucStatus);
OBJID GetID(){return m_idItem;}
unsigned long Release(){delete this; return 0;}
int GetSort();
int GetSubType();
OBJID GetTypeID(){return m_infoType.uID;}
char* GetName(){return m_infoType.szName;}
unsigned char GetProfessionRequired(){return m_infoType.ucRequiredProfession;}
unsigned char GetWeaponSkillRequired(){return m_infoType.ucRequiredWeaponSkill;}
unsigned char GetLevelRequired(){return m_infoType.ucRequiredLevel;}
unsigned char GetSexRequried(){return m_infoType.ucRequiredSex;}
unsigned short GetForceRequired(){return m_infoType.usRequiredForce;}
unsigned short GetSpeedRequired(){return m_infoType.usRequiredSpeed;}
unsigned short GetHealthRequired(){return m_infoType.usRequiredHealth;}
unsigned short GetSoulRequired(){return m_infoType.usRequiredSoul;}
unsigned char GetMonopoly(){return m_infoType.ucMonopoly;}
unsigned short GetWeight();
unsigned int GetPrice(){return m_infoType.uPrice;}
unsigned short GetMaxAttack(){return m_infoType.usMaxAttack;}
unsigned short GetMinAttack(){return m_infoType.usMinAttack;}
short GetDefense(){return m_infoType.usDefense;}
short GetDexterity(){return m_infoType.usDexterity;}
short GetDodge(){return m_infoType.usDodge;}
short GetLife(){return m_infoType.sLife;}
short GetMana(){return m_infoType.sMana;}
unsigned short GetAmount(){return m_infoType.usAmount;}
unsigned short GetOriginalAmountLimit(){return m_usOriginalAmountLimit;}
unsigned short GetOriginalAmount(){return m_usOriginalAmount;}
unsigned short GetAmountLimit(){return m_infoType.usAmountLimit;}
unsigned char GetGem1(){return m_infoType.ucGem1;}
unsigned char GetGem2(){return m_infoType.ucGem2;}
unsigned char GetMagic1(){return m_infoType.ucMagic1;}
unsigned char GetLucky(){return m_infoType.ucMagic2;}
unsigned char GetAddition(){return m_infoType.ucMagic3;}
unsigned char GetPosition(){return m_ucPosition;}
DWORD GetSellPrice();
DWORD GetRepairCost();
DWORD GetWeaponSkillType();
int GetAtkRange () { return m_infoType.usRange; }
int GetHitarte(){return m_infoType.nHitarte;}
unsigned short GetTarget() {return m_infoType.usTarget;}
BOOL TestTarget(unsigned short usTarget) ;
unsigned short GetMinMagicAttack(){return m_infoType.usDexterity;}
unsigned short GetMaxMagicAttack(){return m_infoType.usMagicAttack;}
unsigned short GetSoul(){return m_infoType.usDodge;}
unsigned short GetMagicDefence();
unsigned short GetAttackSpeed(){return m_infoType.usAttackSpeed;}
//升级品质宝石type:1037160
//升级魔魂等级宝石type:1037150
enum {TREASURE_DRAGONBALL=1037160, TREASURE_SHOOTINGSTAR=1037170,TREASURE_SOULSTONE=1037150};
BOOL IsDragonBall(void) { return (TREASURE_DRAGONBALL == GetTypeID()); }
BOOL IsShootingStar(void) { return (TREASURE_SHOOTINGSTAR == GetTypeID()); }
BOOL IsSoulStone(void) {return (TREASURE_SOULSTONE == GetTypeID()); }
//复活幻兽宝石type: 1033020
//强化幻兽宝石type: 1033030
enum {SOULSTONE_ALIVE=1033020,SOULSTONE_IMPROVE=1033030};
BOOL IsAliveSoulStone(void) {return (SOULSTONE_ALIVE == GetTypeID()); }
BOOL IsImproveSoulStone(void) {return (SOULSTONE_IMPROVE == GetTypeID()); }
char* GetDesc();
BOOL IsActionItem(void) { return ITEMSORT_OTHER == GetSort() && OTHER_ACTIONITEM == GetSubType(); }
BOOL IsTaskItem (void) { return ITEMSORT_OTHER == GetSort() && OTHER_TASKITEM == GetSubType(); }
BOOL IsMonopolyItem(void) {return this->GetMonopoly() == _MONOPOLY_NOT_DISAPPEAR || this->GetMonopoly() == _MONOPOLY_DISAPPEAR; }
BOOL TestMonopolyItem(unsigned char ucMonopoly);
BOOL IsGem (void) { return ITEMSORT_OTHER == GetSort() && OTHER_GEM == GetSubType(); }
BOOL IsArrow (void) { return ITEMSORT_EXPEND == GetSort() && EXPEND_ARROW == GetSubType(); }
BOOL IsBow (void) { return ITEMSORT_WEAPON_DOUBLE_HAND == GetSort() && DWEAPON_BOW == GetSubType(); }
BOOL IsMoneyItem(){ return GetTypeID () == MONEYITEM_TYPE;} //是不是筹码
DWORD GetMoneyItemPrice() {return m_dwGrow;}
void SetBoothSellPrice(DWORD dwPrice);
DWORD GetBoothSellPrice();
void SetOwnerID(OBJID idOwner);
OBJID GetOwnerID();
int GetMaxAttackModify();
int GetMinAttackModify();
int GetDefenceModify();
int GetDexterityModify();
int GetDodgeModify();
int GetMagicAttackModify();
int GetMagicDefenceModify();
void ShowMiniItem(int nX, int nY ,BOOL bScale = true);
static BOOL IsNonsuchItem(OBJID idItemType);
int GetQuality(void);
BOOL WantCombin();
int GetPackageType();
};
#include <deque>
using namespace std;
typedef deque<CItem*>DEQUE_ITEM;
//end class declaration
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -