📄 itemtable.h
字号:
int poisoning;
int entrapment;
int scrooling;
int cunning;
int bomb_play;
int tactice;
int crapple;
int sword;
int archey;
int fencing;
int mace;
int pierce;
int whid;
int hurt;
int parrying;
int double_sword;
int double_mace;
int change_music;
int change_detect;
int change_hide;
int change_amping;
int change_taming;
int weight;
int max_duration;
int object;
int wear_able;
int base_value;
int base_store;
int store_const;
int store_plus_const;
int Item_kind;
int Mouse_MR;
int Mouse_MRD;
int Mouse_MR_Effect;
int Mouse_Mr_Wave;
int Use_Junk;
int kind_of_magic;
int Incr_damage;
public:
virtual int GetImageNumber() { return Image_Number;}
virtual int GetObjectNumber() { return object; }
virtual int ReadItemTable( char *temp );
virtual int GetItemId(){return Item_id;}
virtual int GetItemClass(){return wear_able;}
virtual int GetItemWeight(){ return weight; }
virtual int GetItemValue(){ return base_value; }
virtual void SetItemValue(int p) { base_value = p; return; }
virtual int GetItemDuration() { if( max_duration ) return max_duration; else return 1; }
virtual char *GetItemName() { return Name; }
virtual char *GetItemHanName()
{
#ifdef USA_LOCALIZING_
return Name;
#else
return Han_Name;
#endif
}
virtual int GetRButton() { return Mouse_MR; }
virtual int GetUseJunk() { return Use_Junk; }
virtual int EquipItem();
virtual int CurrEquip();
virtual int ReleaseItem();
virtual int GetDamage() { return Damage; }
virtual int GetRButtonSound() { return Mouse_Mr_Wave; }
virtual int GetItemKind() { return Item_kind; }
virtual int is_equipable();
virtual void GetItemNeedAbility( int &count, int *type, int *value );
virtual void GetItemChangeAbility( int &count, int *type, int *value );
virtual int is_equipable2(int dest_pos );
virtual int GetRepairAble() { return Repairable; }
virtual int GetGender() { return Need3_gender; }
void CopyItemClass( CItem_Etc *source, int ct );
virtual int GetSkillAbility() { return Skill_Ability; }
virtual int GetMouse_MRD() { return Mouse_MRD; }
virtual int GetAR_or_DH() { return AR_or_DH; }
virtual int GetHit_rate() { return Hit_rate; }
virtual int GetDefense_rate() { return Defense_rate; }
virtual int GetMovePoint() { return Defense_power; }
virtual int GetMouse_MR_Effect() { return Mouse_MR_Effect; }
virtual int GetItemColor( ) { return ( int )ReturnBlendRGB( imunity_Cure_1, Imunity_Cure_2, Imunity_Cure_3 ); } // 011018 KHS 噶肚
virtual int GetNeedNation() { return Imunity_Cure_4; }
virtual int GetNeedLv() { return Imunity_Cure_5; }
virtual int GetNeedFame() { return Imunity_Cure_6; }
virtual int GetNeedDualStep(){ return Need2_max_age; }//021113 lsw
virtual int GetClassWarriorAble(){ return Class_Warrior;}
virtual int GetClassArcherAble(){ return Class_Archer;}
virtual int GetClassThiefAble(){ return Class_Thief;}
virtual int GetClassWizardAble(){ return Class_Wizard;}
virtual int GetClassClericAble(){ return Class_Cleric;}
};
struct CItem_List
{
CItem *Item_type[Num_Of_Item_Type][ITEM_MAX];
int nItem[Num_Of_Item_Type] ;
};
/////////////////////////////////////////////////////////////////////////////////
// 酒捞袍 盔贰 器瘤记阑 困茄 叼颇牢苞 胶飘钒
#define HAND 0
#define INV 1
#define EQUIP 2
#define QUICK 3
#define BANK 4
#define BOX 5
#define MAKE 6
#define OTHER_CH 7
#define IM_CHARACTER 124
#define GROUND 125
#define USE 126
/////////////////////////////////////////////////////////////////////////////////
typedef struct tagPOS
{
char type;
short int p1, p2, p3;
} POS; // 酒捞袍 困摹 历厘
/////////////////////////////////////////////////////////////////////////////////
// 040105 YGI 焊拱
///////////////////////////////////////////////////////
struct CTreasureMapItem
{
DWORD mapnumber :7;
DWORD x :10;
DWORD y :10;
// DWORD use :1; // 荤侩沁绰啊?
DWORD isChecked :1; // 积己茄 饶俊 谅钎甫 掘绢 吭绰啊?
DWORD offset :2;
DWORD offset2 :2;
};
/////////////////////////////////////////////////////////////////
// 酒捞袍 按眉 加己
typedef struct ITEMATTR//021126 lsw
{
short int item_no;
unsigned int attr[6];
} ItemAttr;
#define OTHER_INV_MAX 15
typedef struct tag_Other_Ch // 促弗 PC 沥焊
{
DWORD id;
bool bLive;
ItemAttr inv[OTHER_INV_MAX];
}OtherCharacter, *lpOtherCharacter;
extern OtherCharacter You;
//////////////////////////////////////////////////////////////////
typedef struct tagMakeItem // 累诀措俊辑 荤侩且 酒捞袍 备炼眉
{
int item_no;
int x;
int y;
RECT rect;
ItemAttr attr;
POS pos;
} MakeItem;
extern MakeItem make_item_list[20];
// ----------------------- magic -----------------------//
#define WZD 0
#define PRI 1
#define Link 0 // 炼钦 付过
#define ImgNum 1 // 弊覆 锅龋
#define MagicClass 2 // 拌凯
#define Lv 3 // 概流 饭骇
//#define Lv_Img 4 // 2饭骇 弊覆
//#define Lv_Rect 6 // 2饭骇 灌篮 弊覆
#define MAGIC_DATA_MAX 4
#define MAX_MAGIC_ 200
#define Explain_MAX 200
#define MAGIC_SPR_MAX 108
class CMagic
{
private :
int m_iMagicNum;
char m_szName[ITEM_NAME_MAX];
char m_szHanName[ITEM_NAME_MAX];
int m_data[MAGIC_DATA_MAX];
char m_szExplain[1024];
public :
int GetImage( ) { return m_data[ImgNum]; }
int GetClass() { return m_data[MagicClass]; }
void Explain(const int iX, const int iY, const BOOL bSpell ); // wizard
void SetArray(); // 弊 概流捞 甸绢哎 磊府俊 悸泼茄促.
void SetArray2();
const char* GetName() const { return m_szName; }
void SetName(const char* szName) { strcpy(m_szName,szName); }
const char* GetHanName() const { return m_szHanName; }
void SetHanName(const char* szName) { strcpy(m_szHanName,szName); }
char* GetExplain() { return m_szExplain; }
void SetExplain(const char* szName) { strcpy(m_szExplain,szName); }
int GetMagicNum() const{ return m_iMagicNum; }
void SetMagicNum(const int iValue) { m_iMagicNum = iValue;}
void SetData(const int iType, const int iValue){m_data[iType] = iValue; }
void DeleteMagic( );
void LoadExplain( int num, FILE *fp );
};
//#### 坷弗率 付快胶 努腐窍搁 唱坷绰 皋春狼 弊覆 锅龋 沥狼 ####
#define BOX_OPEN 941
#define MONEY_BOX 942
#define MAGIC_BOOK 943
//#### 坷弗率 付快胶 滚瓢 努腐饶 角青窍绰 辆幅 沥狼 ####
#define USE_ITEM 1 // 家厚登绢 荤扼柳促.
#define DIVIDE_ITEM 3 // 酒捞袍狼 箭磊甫 盒府茄促.
#define REMAIN_ITEM 4 // 荤侩饶 伯单扁 巢澜
#define MAGIC_BOOK_ITEM 5 // 付过氓捞 夺促.
#define DIARY_ITEM 6 // 老扁氓捞 夺促.
#define BOX_ITEM 7 // 购瘤 舅瘤?
#define TIME_LIMIT 9 // 购瘤 舅瘤?//011212 lsw
#define DUAL_CHANGE_ITEM 8 // 掂倔 努贰胶肺 函券窍扁 困茄 酒捞袍
#define SOKSUNG_ITEM 9 // 掂倔 努贰胶肺 函券窍扁 困茄 酒捞袍
class CItem_Join
{
public :
int no;
int item_id;
char item_name[31];
int item_amount;
char han_name[31];
int need_know;
int teach_place;
int need_skill1;
int skill1_minimum;
int skill1_maximum;
int need_skill2;
int skill2_minimum;
int skill2_maximum;
int tech_price;
int Tool_kind;
int Flatform_kind;
int resource1;
int resource1_amount;
int resource2;
int resource2_amount;
int resource3;
int resource3_amount;
int resource4;
int resource4_amount;
int Result_resource1;
int Result_resource1_amount;
int Result_resource2;
int Result_resource2_amount;
int reutilizerble;
int k1;
int k2;
char explain[MAX_STRING];
public :
void ReadItemJoin( char *string );
};
typedef struct tag_ItemJoinSelect // 酒捞袍 父甸扁俊辑 急琶
{
int join_no; // 搬窃 抛捞喉狼 墨款飘 锅龋 --> 犁丰 抛捞喉阑 啊廉坷扁困茄 梅磊肺 荤侩
int item_no; // 酒捞袍 酒捞叼
int skill_min;
int kind;
int skillability;
}ItemJoinSelect;
typedef struct tag_PosItem
{
int item_no;
POS pos;
}PosItem;
typedef struct tag_MagicByClass
{
int magic[13][20];
int max[13];
}MagicByClass;
#define ITEM_JOIN_MAX 1000
#define MAX_SKILL 200
#define MAX_ITEM_EXPLAIN_MSG 500
#define MAX_ITEM_EXPLAIN_COUNT 50 // 汲疙啊瓷茄 酒捞袍
struct CItemExplainBasic
{
public :
int m_nItemId;
char m_szHanName[30];
char explain[MAX_ITEM_EXPLAIN_MSG];
};
class CItemExplain
{
public :
CItemExplainBasic m_Item[MAX_ITEM_EXPLAIN_COUNT];
int m_nCount; // 角力 荐...
public :
CItemExplain() { memset( m_Item, 0 , sizeof( CItemExplainBasic) * MAX_ITEM_EXPLAIN_COUNT ); }
void GetItemExplain( int n = 0 );
void SortingById(); // text肺 佬绢 甸老锭 酒捞叼 鉴栏肺 家泼阑 茄促.
int SearchById( int id ); // 2盒过栏肺 蔼阑 茫绰促. // 颇扼皋鸥甫 逞败林绊 茫瘤 给窍搁 -1阑 逞败 霖促.
char *GetName( int para );
char *GetExplain( int para );
int SetValue( int para, char *text );
};
extern CItemExplain g_GM_Item;
/////////////////////////////////////////////////////////////////////////////////
extern CMagic magic[MAX_MAGIC_];
extern Spr magic_spr[MAGIC_SPR_MAX];
extern CItem_Join item_join[ITEM_JOIN_MAX];
extern int inclusive_to_skill[MAX_SKILL_KIND][8];
extern int Hero_Ability[20];
/////////////////////////////////////////////////////////////////////////////////
extern Spr Icon1[ITEM_MAX][10];
extern Spr Icon2[ITEM_MAX][10];
extern Spr Icon3[ITEM_MAX][10];
extern Spr Icon4[ITEM_MAX][10];
extern Spr Icon5[ITEM_MAX][10];
extern Spr Icon6[ITEM_MAX][10];
extern Spr Icon7[ITEM_MAX][10];
extern Spr Icon8[ITEM_MAX][10];
extern Spr Icon9[ITEM_MAX][10];
extern Spr Icon10[ITEM_MAX][10];
extern Spr Icon11[ITEM_MAX][10];
extern Spr Icon12[ITEM_MAX][10];
extern Spr Icon13[ITEM_MAX][10];
extern struct CItem_List Item_Ref; // 酒捞袍
extern int HandItemOn;
extern void InventoryBackUp();
extern void InventoryRestore();
extern void ChangeEquip( LPCHARACTER lpCharacter , ItemAttr *equip_item, int type ); // Menu.cpp
extern int CallItemVirtualFunction( int function, int item_number );
extern void SetItemMakeOk( ItemAttr Item );
////////////////////////////////////////////////////////////////////////////////////
#define CIA_DURATION 101
#define CIA_VIEW_CHANGE 102
#define CIA_MUCH 103
extern int ChangeItemAttr( ItemAttr *item, int type, int plus, int skill );
extern CItem *ItemUnit( int type, int item_no );
extern CItem *ItemUnit( ItemAttr item );
extern CItem *ItemUnit( int item_no );
extern int DeleteItem( ItemAttr *item );
extern int DeleteItem( POS pos );
extern bool CanLearnItem( int item, int price, int &join_no);
extern bool CanLearnItemForExplain( int item );
extern ItemAttr Item_Number2Attr( int item );
extern void ReqItemInfo0();
extern void ReqItemInfo1();
extern void ReqItemInfo2( int count );
extern void ReqMagicInfo();
extern void ReqSkillInfo();
extern void ReqConnectInfo();
extern void SendLearnSkill( int skill_no, int guild_no );
extern void GetItemDuration( ItemAttr item, WORD &d_curr, WORD &d_max );
extern inline int GetItemNumber( int item_number , int& type, int& num );
extern void SetItemPos(int type, POS*);
extern void SetItemPos(int type, int p, POS*);
extern void SetItemPos(int type, int p1, int p2, int p3, POS*);
extern POS IP_base; // 酒捞袍捞 盔贰 乐菌带 磊府
extern ItemAttr InvItemAttr[3][3][8];
extern ItemAttr EquipItemAttr[8];
extern ItemAttr QuickItemAttr[7];
extern ItemAttr BankItemAttr[5][3][6];
extern ItemAttr HandItemAttr;
extern ItemAttr SupperItemAttr[3][15];
extern ItemAttr InvAttrBackUp[3][3][8];
extern ItemAttr EquipAttrBackUp[8];
extern ItemAttr QuickAttrBackUp[7];
extern ItemAttr HandAttrBackUp;
extern void FreeItemIcon();
extern int GetTotalWeight( ); // 泅犁 郴啊 家瘤窍绊 乐绰 酒捞袍狼 醚 公霸
extern int CalMovpByWeight(); // 酒捞袍 公霸俊 狼茄 捞悼荐摹 函券 拌魂 皋家靛
extern char g_MagicName[MAX_MAGIC_][31];
extern int n_MagicBagic[2][12][15];
extern ItemAttr GenerateItem( int item_no ) ;
extern int GetLineItemExplain( ItemAttr item , char explain[5][40]);
extern void FreeItemTable();
extern int menu_to_set[];
extern char *GetItemHanName( int item_id );
extern void CheckAbility();
extern void ItemSoundOfGetItem( int item_no );
extern int CheckInventory( const int iItemNo, const int iNeedCount );//021111 lsw
extern int GetSkillMother( int kind , int skill_mother[], int max );
extern bool EqualItem( const ItemAttr *source, const ItemAttr *target ); // 滴 酒捞袍捞 鞍篮瘤 眉农
#endif//AFX_ITEM_TABLE_H__9E46C0B2_FD86_4EBD_B107_B9D8B67B0669__INCLUDED_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -