📄 itemdata.h
字号:
const int ITEMTYPE_EUDEMON_SPEED = 71000; // 速度型
const int ITEMTYPE_EUDEMON_PATK = 72000; // 攻击型
const int ITEMTYPE_EUDEMON_DEF = 73000; // 防御型
const int ITEMTYPE_EUDEMON_MATK = 74000; // 魔法攻击型
const int ITEMTYPE_EUDEMON_BOMB = 75000; // 爆破型
const int ITEMTYPE_EUDEMON_PROTECTIVE = 76000; // 保护型
const int ITEMTYPE_EUDEMON_ATTACH = 77000; // 附身型
const int ITEMTYPE_EUDEMON_VARIATIONAL = 78000; // 变异型
const int ITEMTYPE_EUDEMON_EGG = 80000; // 幻兽蛋
//===================================
/*
const int ITEMTYPE_MEDICINE = 00000;// 补药
const int ITEMTYPE_POISON = 10000;// 毒药
const int ITEMTYPE_DART = 20000;// 矢
const int ITEMTYPE_BOOK = 30000;// 秘笈
const int ITEMTYPE_NOTUSE = 40000;// 不用
const int ITEMTYPE_ARROW = 50000;// 箭
const int ITEMTYPE_SPELL = 60000;// 符咒类
const int ITEMTYPE_NOT_DIRECTUSE = 70000;// 不可以双击使用的(如任务物品,宝石,木材等资源类,千位继续分类)
const int ITEMTYPE_EX0 = 80000;// 扩展0
const int ITEMTYPE_EX1 = 90000;// 扩展1
*/
//////////////////////////////////////////////////////////////////////
// ITEMSORT_OTHER 类别物品
const int ITEMTYPE_GEM = 00000;// 宝石物品
const int ITEMTYPE_TASKITEM = 10000;// 任务物品
const int ITEMTYPE_ACTIONITEM = 20000;// Action物品
const int ITEMTYPE_GAMECARD = 80000;// 点卡,月卡
/*/////////////////////////////////////////////////////////////////////
//2003-01-13 10:36:24 黄宇航
// Necklace type define
const int ITEMTYPE_NECKLACE = 00000;// 项链
const int ITEMTYPE_SACHET = 10000;// 香袋
const int ITEMTYPE_AMULET = 20000;// 护身符
//2003-01-13 10:46:37 黄宇航
// Ring type define
const int ITEMTYPE_RING = 00000;// 戒指
const int ITEMTYPE_THUMB_RING = 10000;// 扳指
const int ITEMTYPE_BANGLE = 20000;// 手镯
//2003-01-13 11:05:03 黄宇航
// Singlehand Weapon define
const int SWEAPON_NONE = 00000;// 空手
const int SWEAPON_BLADE = 10000;// 刀
const int SWEAPON_AXE = 20000;// 斧
const int SWEAPON_HAMMER = 30000;// 锤
const int SWEAPON_HOOK = 40000;// 钩
const int SWEAPON_CLUB = 50000;// 棒/杵
const int SWEAPON_SWORD = 60000;// 剑
const int SWEAPON_CRUTCH = 70000;// 拐
const int SWEAPON_SCOURGE = 80000;// 鞭/锏
const int SWEAPON_SHORT = 90000;// 短兵器
*/
// Doublehand Weapon define
const int DWEAPON_BOW = 00000;// 弓
const int DWEAPON_CROSSBOW = 1000;// 弩
const int DWEAPON_BLADE = 10000;// 刀
const int DWEAPON_AXE = 20000;// 斧
const int DWEAPON_HAMMER = 30000;// 锤
const int DWEAPON_HOOK = 40000;// 钩
const int DWEAPON_STAFF = 50000;// 棍
const int DWEAPON_SHOVEL = 60000;// 铲
const int DWEAPON_HALBERD = 70000;// 戟
const int DWEAPON_FORK = 80000;// 叉
const int DWEAPON_SPEAR = 90000;// 枪
//////////////////////////////////////////////////////////////////////
// add by zlong 2003-12-01
const int MAX_SPRITE_GROWTH = 500; // 精灵的最大成长率*100
const int MAX_SOUL_SPRITE_GROWTH = 200; // 加精神的精灵最大成长率*100
const int EUDEMON_DEC_FIDELITY_WHEN_DIE = 10; // 幻兽死亡扣10点亲密度
const int EUDEMON_DEC_FIDELITY_WHEN_DEAL = 30; // 幻兽转手要扣30点亲密度
//////////////////////////////////////////////////////////////////////
//const int ITEMPOSITION_BACKPACK = 0; // 普通物品背包
//const int ITEMPOSITION_NONE = 0;
const int ITEMPOSITION_EQUIPBEGIN = 1;
const int ITEMPOSITION_HELMET = 1; // 头盔
const int ITEMPOSITION_NECKLACE = 2; // 项链
const int ITEMPOSITION_ARMOR = 3; // 铠甲
const int ITEMPOSITION_WEAPONR = 4; // 武器
const int ITEMPOSITION_WEAPONL = 5;
const int ITEMPOSITION_RINGR = 6;
const int ITEMPOSITION_RINGL = 7; // 手镯
const int ITEMPOSITION_SHOES = 8; // 鞋子
const int ITEMPOSITION_MOUNT = 9;
const int ITEMPOSITION_SPRITE = 10; // 精灵 -- add by zlong 2003-11-27
const int ITEMPOSITION_MANTLE = 11; // 披风 -- zlong 2004-02-04
const int ITEMPOSITION_EQUIPEND = 12;
const int ITEMPOSITION_PACK_BEGIN = 50;
const int ITEMPOSITION_BACKPACK = 50; // 普通物品背包
const int ITEMPOSITION_GHOSTGEM_PACK = 51; // 魔魂宝石背包
const int ITEMPOSITION_EUDEMONEGG_PACK = 52; // 幻兽蛋背包
const int ITEMPOSITION_EUDEMON_PACK = 53; // 幻兽背包
const int ITEMPOSITION_PACK_END = 54;
const int ITEMPOSITION_PACK_LIMIT = 70;
const int ITEMPOSITION_USER_LIMIT = 199;
const int ITEMPOSITION_STORAGE = 201;
const int ITEMPOSITION_TRUNK = 202;
const int ITEMPOSITION_CHEST = 203;
const int ITEMPOSITION_PLAYERTASK = 204; // 佣兵任务奖品
const int ITEMPOSITION_EUDEMON_BROODER = 205; // 幻兽孵化器
const int ITEMPOSITION_EUDEMON_STORAGE = 206; // 幻兽存储仓库
const int ITEMPOSITION_AUCTION_STORAGE = 207; // Npc拍买仓库(玩家物品)
const int ITEMPOSITION_AUCTION_SYS_STORAGE= 208; // Npc拍买仓库(系统物品)
const int ITEMPOSITION_GROUND = 254; // 不存数据库
const int ITEMPOSITION_NONE = 255; // 非法位置
//////////////////////////////////////////////////////////////////////
char szItemTable[];
typedef CGameData<ITEMDATA,szItemTable,szID> CGameItemData;
//////////////////////////////////////////////////////////////////////
enum EUDEMONDATA{
EUDEMONDATA_ID = 0, // 幻兽ID
EUDEMONDATA_OWNERID, // 幻兽物品ID
EUDEMONDATA_NAME, // 幻兽名字
EUDEMONDATA_RELATIONSHIP, // 与其它幻兽关系
};
char szEudemonTable[];
typedef CGameData<EUDEMONDATA, szEudemonTable, szID> CEudemonData;
//////////////////////////////////////////////////////////////////////
#include "T_SingleObjSet2.h"
#include "T_SingleMap2.h"
#include "UserTable.h"
#include "ItemAddition.h"
//////////////////////////////////////////////////////////////////////
class IDatabase;
class IRecord;
class IRecordset;
class CItemData : public CGameObj
{
protected:
CItemData();
virtual ~CItemData();
public:
bool Create (IRecord* pDefault, const ItemInfoStruct* pInfo, IRecord* pDefaultEudemonData, bool bInsert=true, OBJID idNew=ID_NONE); // false: 不存数据库
bool Create (IRecord* pDefault, OBJID idType, OBJID idUser, int nPosition, IRecord* pDefaultEudemonData=NULL);
bool Create (OBJID idItem, IDatabase* pDb);
bool Create (IRecordset* pRes, IDatabase* pDb);
bool DeleteRecord ();
static bool DeleteItemRecord (OBJID id, IDatabase* pDb);
public: // info
bool GetInfo (ItemInfoStruct* pInfo);
bool SaveInfo (void);
public: // get set
OBJID GetID() { return m_pData->GetKey(); }
int GetInt(ITEMDATA idx);
LPCTSTR GetStr(ITEMDATA idx);
void SetInt(ITEMDATA idx, int nData, bool bUpdate = false);
void SetStr(ITEMDATA idx, LPCTSTR szData, int nSize, bool bUpdate = false);
protected:
bool IsMount() { return ((m_pData->GetInt(ITEMDATA_TYPE)%10000000)/100000) == ITEMSORT_MOUNT; } // 用于GEM1和INTIMACY分类处理
bool IsSprite() { return ((m_pData->GetInt(ITEMDATA_TYPE)%10000000)/100000) == ITEMSORT_EXPEND && ((m_pData->GetInt(ITEMDATA_TYPE)%100000)/10000)*10000 == ITEMTYPE_SPRITE; }
bool IsEudemon() { return ((m_pData->GetInt(ITEMDATA_TYPE)%10000000)/100000) == ITEMSORT_EXPEND && ((m_pData->GetInt(ITEMDATA_TYPE)%100000)/10000)*10000 == ITEMTYPE_EUDEMON; }
bool IsEudemonEgg() { return ((m_pData->GetInt(ITEMDATA_TYPE)%10000000)/100000) == ITEMSORT_EXPEND && ((m_pData->GetInt(ITEMDATA_TYPE)%100000)/10000)*10000 == ITEMTYPE_EUDEMON_EGG; }
bool LoadEudemonData(OBJID idOwner, IDatabase* pDb);
public:
bool CreateEudemonData(IRecord* pDefaultData, OBJID idOwner, const char* pszName, bool bInsert=true);
protected: // data & type
CGameItemData* m_pData;
CItemTypeData* m_pType;
// CMonsterTypeData* m_pEudemonType; // 幻兽类型数据引用 -- zlong 2004-02-05
// 追加属性——允许为NULL
CItemAdditionData* m_pAddition;
CEudemonData* m_pEudemonData; // 幻兽数据
};
#endif // !defined(AFX_ITEMDATA_H__28794933_A926_4C9A_AACF_1A95340DA94B__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -