📄 citem.h
字号:
#include "stdafx.h"
#ifndef _DRAGON_PROTOCOL_
#include "network.h"
#endif
#ifndef CItem_Class
#define CItem_Class
#include "kein_item.h"
#define ITEM_NAME_MAX 31
///////////////////////////////////////
#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 CHARACTER 124
#define GROUND 125
#define USE 126
#define CC_NORMAL 0
#define OK 1
#define NOT 0
////////////////////////////////////////////
// 公扁 厘馒 (equip)
#define WT_WEAPON 0
#define WT_SHIELD 1
#define WT_HELMET 2
#define WT_ARMOR 3
#define WT_NECK 4
#define WT_SHOES 5
#define WT_UNIQUE1 6
#define WT_UNIQUE2 7
#define WT_POTION 8
enum WearTypeGroup
{
WEAR_ANYTHING =0,
WEAR_ONLY_INVEN =1,
WEAR_RIGHT_HAND =2,
WEAR_LEFT_HAND =3,
WEAR_HEAD =4,
WEAR_BODY =5,
WEAR_NECK =6,
WEAR_SHOES =7,
WEAR_UNIQUE =8,
WEAR_BELT =9,
WEAR_TWO_HAND =10
};
//////////////////////////////////////////////
#define PLANT 0
#define MINERAL 1
#define HERB 2
#define COOK 3
#define POTION 4
#define TOOL 5
#define WEAPON 6
#define DISPOSABLE 7
#define ARMOR 8
#define ACCESSORY 9
#define ETC 10 //扁鸥 拱前
#define OBJECTITEM 13
enum IA2_TYPE
{
IA2_HIDE = 0x00000001,
IA2_NOTMOVE = 0x00000002,
IA2_POISONED = 0x00000004,
IA2_OPENED = 0x00000008,
IA2_BROKEN = 0x00000010,
IA2_HOUSE = 0x00000020,
IA2_MAGICED = 0x00000040,
IA2_CANNOTUSE = 0x00000080,
IA2_NOIDENTIFIED = 0x00000100,
IA2_DOOR = 0x00000200,
IA2_BOX = 0x00000400,
IA2_CHAIR = 0x00000800,
IA2_TABLE = 0x00001000,
IA2_FARM0 = 0x00002000,
IA2_FARM1 = 0x00004000,
IA2_FARM2 = 0x00008000,
IA2_FARM3 = 0x00010000,
IA2_FARM4 = 0x00020000,
IA2_FARM5 = 0x00040000,
IA2_FARM6 = 0x00080000,
IA2_FARM7 = 0x00100000,
IA2_FIRE = 0x00200000,
IA2_TRAPED0 = 0x00400000,
IA2_TRAPED1 = 0x00800000,
IA2_TRAPED2 = 0x01000000,
// IA2_FIRST_ITEM = 0x02000000,
IA2_SEAL_NOR = 0x04000000,
IA2_SEAL_SPC = 0x08000000,
IA2_COLOSSUS_STONE = 0x10000000,
IA2_SCENARIO_POTAL = 0x20000000,
};
// 酒捞袍 Type捞 13捞惑牢 版快 秦寸
#define ITEMTYPE_NORMAL 0
#define ITEMTYPE_CHAIR 1
#define ITEMTYPE_TABLE 2
#define ITEMTYPE_DOOR 3
#define ITEMTYPE_BOX 4
#define Num_Of_Item_Type 11
#define MAX_ITEM_NUM 1000
#define Num_Of_CItem_Plant 14
#define Num_Of_CItem_Mineral 12
#define Num_Of_CItem_Herb 20
#define Num_Of_CItem_Cook 27
#define Num_Of_CItem_Potion 6
#define Num_Of_CItem_Tool 27
#define Num_Of_CItem_Weapon 50
#define Num_Of_CItem_Disposable 19
#define Num_Of_CItem_Armor 40
#define Num_Of_CItem_Accessory 18
#define Num_Of_CItem_Etc 47
//########### 坷弗率 付快胶 滚瓢 努腐饶 角青窍绰 辆幅 沥狼 ###########
#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 // 冠胶啊 凯赴促.
//////////////////////////////////////////////////////////////////////////////////////////////
// 酒捞袍 kind
#define IK_NONE 0 // non
#define IK_GON 1 // 帮
#define IK_PENCING 2 // 奇教八
#define IK_ONE_SWORD 3 // 茄颊八
#define IK_ONE_AXE 4 // 茄颊档尝
#define IK_ONE_MACE 5 // 茄颊枚硼
#define IK_CLUB 6 // 根嫡捞
#define IK_WHIRL 7 // 豪
#define IK_STAFE 8 // 瘤莆捞
#define IK_SPEAR 9 // 焊烹芒
#define IK_FORK 10 // 器农
#define IK_HURL 11 // 厚八,带瘤绰公扁
#define IK_SHORT_BOW 12 // 家屈劝
#define IK_TWO_SWORD 13 // 剧颊八
#define IK_TWO_AXE 14 // 剧颊档尝
#define IK_TWO_MACE 15 // 剧颊 枚硼
#define IK_TWO_ARROW 16 // 拳混
#define IK_IRON_ARMOR 17 // 艰癌渴
#define IK_LEATHER_ARMOR 18 // 啊磷癌渴
#define IK_RING 19 // 馆瘤
#define IK_SHIELD 20 // 规菩
#define IK_SHOES 21 // 脚惯
#define IK_ROBE 22 // 肺宏
#define IK_FULL_HELMET 23 // 敲秋镐
#define IK_HALF_HELMET 24 // 窍橇秋镐
#define IK_NORMAL_CLOTHE 25 // 焊烹渴
#define IK_AMULET 26 // 格芭府
#define IK_ARMLET 27 // 迫骂
#define IK_MUSIC 28 // 厩扁
#define IK_SCROLL 29 // 胶农费
#define IK_LONG_BOW 30 // 措屈劝
#define IK_BOX 31 // 惑磊
#define IK_GRAIN 32 // 邦侥
#define IK_POTION 33 // 器记
#define IK_FOOD_MASS 34 // 耽绢府 澜侥
#define IK_PLATE_FOOD 35 // 里馆 澜侥
#define IK_DRINK 36 // 澜丰
#define IK_ARROW_POINT 37 // 拳混 盟
#define IK_FEATHER 38 // 标判
#define IK_SEED 39 // 揪狙.
#define IK_MONEY 40 // 捣
#define IK_MINERAL 41 // 堡籍
#define IK_MINERAL_LUMP 42 // 啊傍茄 堡籍( 枚鲍, 陛鲍... )
////////////////////////////////////////////////////////////////////////////////////////
class CItem
{
public:
//int Item_id ;
int m_Much; //1214
int ThisMapValue;
int cur_value;
protected :
// 31
public:
virtual int getAllData(void) { printf("\nCITEM") ; return 1 ; }
virtual void print_data(void) { printf("\nCITEM_PRINT_DATA") ; }
virtual int is_equipable(int a, t_chr_status_info *b, POS c, POS d) { return 0 ; }
virtual int unequip(int a, t_chr_status_info *b, POS c, POS d) { return 0 ; }
virtual int use(int a, t_chr_status_info *b, POS c, POS d) { return 0 ; }
virtual int GetValue() { return 0 ; }
virtual int GetDuration() { return 10; } // 0414 YGI
virtual int GetCirculation() { return 1;}
virtual int UseItem( CHARLIST *ch) { return 0; }
virtual int EatItem( CHARLIST *ch) { return 0; }
virtual int GetUseJunk() { return 0; }
virtual int GetRbutton() { return 0; }
virtual int GetItemDuration() { return 1; }
virtual int GetItemKind() { return 0; }
virtual int GetKindOfMagic() { return 0; }
virtual int GetIncrDamage() { return 0; }
virtual int GetLevel() { return 0; }
virtual int EquipItem(CHARLIST *ch) { return 0; } //1214 YGI
virtual int CurrEquip(CHARLIST *ch ){ return 0; } // 0206 YGI
virtual int ReleaseItem(CHARLIST *ch ){ return 0; } // 0206 YGI
virtual int GetWearAble() { return 0; }
// 1221 KHS
virtual int Getbody() { return 0; }
virtual int Getarms() { return 0; }
virtual int Gethead() { return 0; }
virtual int Getleg () { return 0; }
virtual int Getneck() { return 0; }
virtual int Gethand() { return 0; }
virtual int GetDamage () { return 0; }
virtual int GetHit_rate () { return 0; }
virtual int GetDefense_rate () { return 0; }
virtual int GetAR_or_DH () { return 0; }
virtual int GetDefense_power() { return 0; }
virtual int GetSkill_Ability(){ return 0; }
virtual int GetRepairAble() { return 0; }
virtual int Getrange() { return 0; }
virtual int GetWeight() { return 0; }
virtual int GetItemShow( int is_man ) { return 0; }
virtual int GetItemImage() { return 0; }
virtual char *GetHanName() { return NULL; }
virtual int GetChange_health_max() { return 0; }
virtual int GetObjectNumber() { return 0; }
virtual int Getmouse_MRD(){ return 0;}
};
class CItem_Plant : public CItem
{
//protected:
public:
int Item_id ;
char Name[ITEM_NAME_MAX] ;
char Han_Name[ITEM_NAME_MAX] ;
int lv ;
int Image_Number ;
int hp ;
int ap ;
int mp ;
int nutrition1 ;
int nutrition2 ;
int nutrition3 ;
int anti_poison ;
int anti_paralysis ;
int anti_magic ;
int anti_fire ;
int anti_ice ;
int anti_electric ;
int Time_maintain ;
int cure_disease1 ;
int cure_disease2 ;
int cure_disease3 ;
int cure_disease4 ;
int cure_disease5 ;
int take_disease1 ;
int take_disease2 ;
int take_disease3 ;
int take_disease4 ;
int take_disease5 ;
int weight ;
int circulation_limit ;
int max_duration ;
int Maximum ;
int object ;
int wear_able ;
int base_value ;
int base_store ;
int store_const ;
int store_plus_const ;
int Mouse_MR;
int Mouse_MRD;
int Mouse_MR_Effect;
int Mouse_Mr_Wave;
int Item_kind;
public:
virtual int getAllData(void) ;
virtual void print_data(void) {
printf("\n%d %s %s %d", Item_id, Name, Han_Name, lv) ;
}
virtual int use(int a, t_chr_status_info *b, POS c, POS d) ;
virtual int GetValue()
{
int value;
value = base_value -( m_Much * store_const / 100000);
return value;
}
virtual int GetDuration() { return max_duration; }
virtual int GetCirculation() { return circulation_limit;}
virtual int EatItem( CHARLIST *ch);
virtual int GetRbutton() { return Mouse_MR; }
virtual int GetItemKind() { return Item_kind; }
virtual int GetLevel() { return lv; }
virtual int GetWearAble() { return wear_able; }
virtual int GetWeight() { return weight; }
virtual int GetItemImage() { return Image_Number; }
virtual char *GetHanName() { return Han_Name; }
// virtual int GetChange_health_max() { return Change_health_max; }
virtual int GetObjectNumber() { return object; }
virtual int Getmouse_MRD(){ return Mouse_MRD;}
};
class CItem_Mineral : public CItem
{
//protected :
public :
int Item_id ;
char Name[ITEM_NAME_MAX] ;
char Han_Name[ITEM_NAME_MAX] ;
int lv ;
int Image_Number ;
int weight ;
int object ;
int wear_able ;
int base_value ;
int base_store ;
int store_const ;
int store_plus_const ;
int Mouse_MR;
int Mouse_MRD;
int Mouse_MR_Effect;
int Mouse_Mr_Wave;
int Item_kind;
public:
virtual int getAllData(void) ;
virtual void print_data(void) {
printf("\n%d %s %s %d", Item_id, Name, Han_Name, lv) ;
}
virtual int use(int a, t_chr_status_info *b, POS c, POS d) ;
virtual int GetValue()
{
int value;
value = base_value -( m_Much * store_const / 100000);
return value;
}
virtual int GetRbutton() { return Mouse_MR; }
virtual int GetItemKind() { return Item_kind; }
virtual int GetLevel() { return lv; }
virtual int GetWearAble() { return wear_able; }
virtual int GetWeight() { return weight; }
virtual int GetItemImage() { return Image_Number; }
virtual char *GetHanName() { return Han_Name; }
//// virtual int GetChange_health_max() { return Change_health_max; } // 0129 KHS
virtual int GetObjectNumber() { return object; }
virtual int Getmouse_MRD(){ return Mouse_MRD;}
};
class CItem_Herb : public CItem
{
//protected :
public :
int Item_id ;
char Name[ITEM_NAME_MAX] ;
char Han_Name[ITEM_NAME_MAX] ;
int lv ;
int Image_Number ;
int hp ;
int ap ;
int mp ;
int nutrition1 ;
int nutrition2 ;
int nutrition3 ;
int anti_poison ;
int anti_paralysis ;
int anti_magic ;
int anti_fire ;
int anti_ice ;
int anti_electric ;
int Time_maintain ;
int cure_disease1 ;
int cure_disease2 ;
int cure_disease3 ;
int cure_disease4 ;
int cure_disease5 ;
int cure_disease6 ;
int take_disease1 ;
int take_disease2 ;
int take_disease3 ;
int take_disease4 ;
int take_disease5 ;
int take_disease6 ;
int Change_str ;
int Change_dex ;
int Change_con ;
int Change_wis ;
int Change_int ;
int Change_cha ;
int Change_Movp ;
int Change_end ;
int Change_mor ;
int Change_luc ;
int Change_WS ;
int Change_PS ;
int Time_maintain2 ;
int Cure_poison ;
int Cure_stone_paralysis ;
int Cure_Mad ;
int Cure_sluggish ;
int Cure_Active ;
int ChangeNatural2 ;
int Time_maintain3 ;
int weight ;
int circulation_limit ;
int object ;
int wear_able ;
int base_value ;
int base_store ;
int store_const ;
int store_plus_const ;
int Mouse_MR;
int Mouse_MRD;
int Mouse_MR_Effect;
int Mouse_Mr_Wave;
int Item_kind;
public:
virtual int getAllData(void) ;
virtual void print_data(void) {
printf("\n%d %s %s %d", Item_id, Name, Han_Name, lv) ;
}
virtual int use(int a, t_chr_status_info *b, POS c, POS d) ;
virtual int GetValue()
{
int value;
value = base_value -( m_Much * store_const / 100000);
return value;
}
virtual int UseItem( CHARLIST *ch);
virtual int EatItem( CHARLIST *ch);
virtual int GetCirculation() { return circulation_limit;}
virtual int GetRbutton() { return Mouse_MR; }
virtual int GetItemKind() { return Item_kind; }
virtual int GetLevel() { return lv; }
virtual int GetWearAble() { return wear_able; }
virtual int GetWeight() { return weight; }
virtual int GetItemImage() { return Image_Number; }
virtual char *GetHanName() { return Han_Name; }
// virtual int GetChange_health_max() { return Change_health_max; }
virtual int GetObjectNumber() { return object; }
virtual int Getmouse_MRD(){ return Mouse_MRD;}
};
class CItem_Cook : public CItem
{
//protected :
public :
int Item_id ;
char Name[ITEM_NAME_MAX] ;
char Han_Name[ITEM_NAME_MAX] ;
int lv ;
int Image_Number ;
int hp ;
int ap ;
int mp ;
int nutrition1 ;
int nutrition2 ;
int nutrition3 ;
int anti_poison ;
int anti_paralysis ;
int anti_magic ;
int anti_fire ;
int anti_ice ;
int anti_electric ;
int Time_maintain ;
int cure_disease1 ;
int cure_disease2 ;
int cure_disease3 ;
int cure_disease4 ;
int cure_disease5 ;
int cure_disease6 ;
int take_disease1 ;
int take_disease2 ;
int take_disease3 ;
int take_disease4 ;
int take_disease5 ;
int take_disease6 ;
int Change_str ;
int Change_dex ;
int Change_con ;
int Change_wis ;
int Change_int ;
int Change_cha ;
int Change_end ;
int Change_Movp ;
int Change_mor ;
int Change_luc ;
int Change_WS ;
int Change_Ps ;
int Time_maintain2;
int weight ;
int circulation_limit ;
int object ;
int wear_able ;
int base_value ;
int base_store ;
int store_const ;
int store_plus_const ;
int Mouse_MR;
int Mouse_MRD;
int Mouse_MR_Effect;
int Mouse_Mr_Wave;
int Use_Junk;
int Item_kind;
public:
virtual int getAllData(void) ;
virtual void print_data(void) {
printf("\n%d %s %s %d", Item_id, Name, Han_Name, lv) ;
}
virtual int use(int A, t_chr_status_info *B, POS C, POS D) ;
virtual int GetValue()
{
int value;
value = base_value -( m_Much * store_const / 100000);
return value;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -