stoneage8.5/石器时代8.5客户端最新源代码/石器源码/systeminc/field.h

196 lines
4.6 KiB
C
Raw Permalink Normal View History

2020-06-23 15:53:23 +08:00
#ifndef _FIELD_H_
2020-06-23 15:27:59 +08:00
#define _FIELD_H_
#include<time.h>
2020-06-23 15:53:23 +08:00
// ??????????
#define FIELD_BTN_PUSH_WAIT 500 // 0.5
2020-06-23 15:27:59 +08:00
2020-06-23 15:53:23 +08:00
// ?????????
#define FIELD_MAIL_LAMP_FLASH_TIME 1000 // 1??
2020-06-23 15:27:59 +08:00
enum
{
FIELD_FUNC_MENU,
FIELD_FUNC_CARD,
FIELD_FUNC_PARTY,
FIELD_FUNC_JOIN_BATTLE,
FIELD_FUNC_DUEL,
FIELD_FUNC_ACT,
FIELD_FUNC_TRADE, // Robin 04/12 trade
FIELD_FUNC_CHANNEL,
#ifdef __HELP
FIELD_FUNC_HELP, //CARY
#endif
#ifdef __PHONEMESSAGE
FIELD_FUNC_MSG, //LeiBoy
#endif
#ifdef _STREET_VENDOR
FIELD_FUNC_STREET_VENDOR,
#else
#ifdef _TABLEOFSKILL
FIELD_FUNC_SKILL,
#endif
#endif
2020-06-23 15:53:23 +08:00
#ifdef _FRIENDCHANNEL //ROG ADD 好友频道
2020-06-23 15:27:59 +08:00
FIELD_FUNC_CHATROOM,
#endif
#ifdef _ANGEL_SUMMON
FIELD_FUNC_ANGEL,
#endif
#ifdef _TEACHER_SYSTEM
FIELD_FUNC_TEACHER,
#endif
#ifdef _MO_SIGN_IN
FIELD_FUNC_SIGNIN,
#endif
#ifdef _NEWSHOP_
FIELD_FUNC_MARKET,
#endif
#ifdef _CHANGETEAM_
FIELD_FUNC_CHANGETEAM,
#endif
#ifdef _RED_MEMOY_
FIELD_FUNC_RED_MEMOY,
#endif
FIELD_FUNC_END
};
#ifdef _PET_ITEM
typedef struct SPetItemInfo
{
2020-06-23 15:53:23 +08:00
int bmpNo; // 图号
int color; // 文字颜色
char memo[ITEM_MEMO_LEN+1]; // 说明
char name[ITEM_NAME_LEN+1]; // 名字
char damage[16]; // 耐久度
2020-06-23 15:27:59 +08:00
}PetItemInfo;
#endif
#ifdef _STREET_VENDOR
2020-06-23 15:53:23 +08:00
#define MAX_SELL_ITEM 20 // 道具加宠物共可卖二十个
2020-06-23 15:27:59 +08:00
typedef struct _Show_Sell_Item{
2020-06-23 15:53:23 +08:00
int index; // 索引
int pile; // 数量
int price; // 价格
bool needGetPrice; // 是否要得到价格
bool usage; // 是否使用中
char name[ITEM_NAME_LEN+1]; // 名字
char freeName[ITEM_NAME_LEN+1]; // 名字
char kind; // 道具或是宠物 0:道具 1:宠物
2020-06-23 15:27:59 +08:00
}Show_Sell_Item;
typedef struct _Show_Vendor_Item{
2020-06-23 15:53:23 +08:00
int bmpNo; // 图号
int pile; // 数量
int price; // 价格
int color; // 文字颜色
int level; // 等级
int maxhp,attack,defence,dex; // 四围
int earth,water,fire,wind,fidelity; // 四属性及忠诚度
int maxSkill; // 宠技数量
int index; // 在server的储存位置
bool usage; // 是否使用中
bool bBuy; // 是否要买
bool bGetData; // 是否已接收到详细资料
char name[ITEM_NAME_LEN+1]; // 名字
char freeName[ITEM_NAME_LEN+1]; // 名字
char memo[ITEM_MEMO_LEN+1]; // 说明
char damage[20]; // 耐久度
char skillname[MAX_SKILL][SKILL_NAME_LEN+1]; // 宠技名称
char kind; // 道具或是宠物 0:道具 1:宠物
char trans; // 转生数
2020-06-23 15:27:59 +08:00
#ifdef _PET_ITEM
2020-06-23 15:53:23 +08:00
PetItemInfo oPetItemInfo[MAX_PET_ITEM]; // 宠物身上的道具
2020-06-23 15:27:59 +08:00
#endif
#ifdef _NPC_ITEMUP
int itemup;
#endif
#ifdef _PETCOM_
2020-06-23 15:53:23 +08:00
int ylv,yhp,yack,ydef,ydex; //初始四围
2020-06-23 15:27:59 +08:00
#endif
}Show_Vendor_Item;
#endif
#ifdef _JOBDAILY
#define MAXMISSION 300
typedef struct _JOBDAILY{
2020-06-23 15:53:23 +08:00
int JobId; // 任务编号
char explain[200]; // 任务说明
char state[10]; // 状态
2020-06-23 15:27:59 +08:00
}JOBDAILY;
#endif
2020-06-23 15:53:23 +08:00
#ifdef _FRIENDCHANNEL //ROG ADD 好友频道
2020-06-23 15:27:59 +08:00
extern short chatRoomBtn;
extern short SelRoomBtn;
#endif
#ifdef _ANGEL_SUMMON
extern int angelFlag;
extern int angelRecvType;
extern int angelRecvButton;
extern char angelMsg[];
#endif
extern short drawTimeAnimeFlag;
extern short etcSendFlag;
extern short actBtn;
extern short menuBtn;
extern short mailLamp;
extern unsigned int fieldInfoTime;
extern struct tm serverAliveTime;
extern time_t serverAliveLongTime;
void initFieldProc( void );
void resetFieldProc( void );
void fieldProc( void );
void fieldProc2( void );
void drawField( void );
BOOL checkFieldMenuFlag( void );
void closeCharActionAnimeChange( void );
void closeEtcSwitch( void );
void closeJoinChannelWN( void );
int disconnectServer( void );
void drawFieldInfoWin( void );
void actionShortCutKeyProc( void );
2020-06-23 15:53:23 +08:00
#ifdef _SPECIALSPACEANIM // Syu ADD 特殊场景动画配置
#ifdef _SURFACE_ANIM //动态地上物显示
//#define TOTAL_ANIM 5 //阵列总量
2020-06-23 15:27:59 +08:00
#ifdef _SA_VERSION_25
2020-06-23 15:53:23 +08:00
#define MAX_ANIM 256 //同一个floor限定最大量动画数
2020-06-23 15:27:59 +08:00
#endif
#else
2020-06-23 15:53:23 +08:00
#ifdef _MOON_FAIRYLAND // ROG ADD 月之仙境
#define TOTAL_ANIM 5 //阵列总量
#define MAX_ANIM 4 //同一个floor内现存最大量Anim
2020-06-23 15:27:59 +08:00
#else
2020-06-23 15:53:23 +08:00
#define TOTAL_ANIM 1 //阵列总量
#define MAX_ANIM 1 //同一个floor内现存最大量Anim
2020-06-23 15:27:59 +08:00
#endif
#endif
void SpecAnim ( int ) ;
void ReleaseSpecAnim( void );
#endif
#endif