2073 lines
57 KiB
C
2073 lines
57 KiB
C
#ifndef __CHAR_BASE_H__
|
||
#define __CHAR_BASE_H__
|
||
|
||
#include "version.h"
|
||
#include "skill.h"
|
||
#include "title.h"
|
||
/*#include "magicinfo.h"*/
|
||
#include "addressbook.h"
|
||
#ifdef _ALLBLUES_LUA
|
||
#include "lua.h"
|
||
#include "lauxlib.h"
|
||
#include "lualib.h"
|
||
#endif
|
||
#define CHAR_DELIMITER "\n"
|
||
|
||
#define NONCHAR_DELIMITER "|"
|
||
|
||
#define STATUSSENDDELIMITER "|"
|
||
|
||
#define CHAR_MAXGOLDHAVE (10000*10000)
|
||
#define CHAR_MAXBANKGOLDHAVE (10000*10000)
|
||
#define CHAR_MAXFMBANKGOLDHAVE (10000*100000)
|
||
|
||
#ifdef _NEW_MANOR_LAW
|
||
#define MAX_PERSONAL_MOMENTUM 10000000
|
||
#endif
|
||
#ifdef _PERSONAL_FAME // Arminius 8.30: 家族个人声望
|
||
#define MAX_PERSONALFAME 100000000
|
||
#endif
|
||
#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能
|
||
#define CHAR_SKILLMAXHAVE 26 // 职业技能上限
|
||
#else
|
||
#define CHAR_SKILLMAXHAVE 5
|
||
#endif
|
||
|
||
#ifdef _STREET_VENDOR
|
||
#define MAX_SELL_ITEM 20 // 道具加宠物共可卖二十个
|
||
#endif
|
||
#define CHAR_TITLEMAXHAVE 30
|
||
|
||
#define NULLSKILL "0"
|
||
|
||
#define CHAR_MAXPETHAVE 5
|
||
#define CHAR_MAXPERSONAGOLD 50000000
|
||
|
||
#ifdef _ADD_POOL_ITEM // WON ADD 增加可寄放的道具
|
||
#define CHAR_MAXPOOLPETHAVE 15
|
||
#else
|
||
#define CHAR_MAXPOOLPETHAVE 10
|
||
#endif
|
||
|
||
#define CHAR_MAXPETSKILLHAVE 7
|
||
#define CHAR_PARTYMAX 5
|
||
#define CHAR_PLAYERNPCMAX 4
|
||
#define CHAR_MAXATTRIB 100
|
||
#define CHAR_MAXUPLEVEL 200
|
||
#define CHAR_MAXDUELPOINT 100000000
|
||
#define CHAR_DEFAULTMAXAI (60)
|
||
#define CHAR_MAXVARIABLEAI (100*100)
|
||
#define CHAR_MINVARIABLEAI (-100*100)
|
||
#define CHAR_POISONSTRING "中毒"
|
||
#define CHAR_RECOVERPOISONSTRING "解毒了"
|
||
#define CHAR_PARALYSISSTRING "麻痹了"
|
||
#define CHAR_RECOVERPARALYSISSTRING "麻醉退了"
|
||
#define CHAR_SILENCESTRING "无法念魔法了"
|
||
#define CHAR_RECOVERSILENCESTRING "可以念魔法了"
|
||
#define CHAR_STONESTRING "石化了"
|
||
#define CHAR_RECOVERSTONESTRING "变灵活了"
|
||
#define CHAR_DARKNESSSTRING "四周不见了"
|
||
#define CHAR_RECOVERDARKNESSSTRING "四周出现了"
|
||
#define CHAR_CONFUSIONSTRING "陷入恐慌"
|
||
#define CHAR_RECOVERCONFUSIONSTRING "恢复正常"
|
||
|
||
#define CHAR_DEFAULTSEESIZ 23
|
||
#define MAP_CHAR_DEFAULTSEESIZ (CHAR_DEFAULTSEESIZ+4)
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_HEAD,
|
||
CHAR_BODY,
|
||
CHAR_ARM,
|
||
CHAR_DECORATION1,
|
||
CHAR_DECORATION2,
|
||
#ifdef _ITEM_EQUITSPACE
|
||
CHAR_EQBELT, //腰带
|
||
CHAR_EQSHIELD, //盾
|
||
CHAR_EQSHOES, //鞋子
|
||
#endif
|
||
#ifdef _EQUIT_NEWGLOVE
|
||
CHAR_EQGLOVE,
|
||
#endif
|
||
CHAR_EQUIPPLACENUM,
|
||
}CHAR_EquipPlace;
|
||
|
||
|
||
#ifdef _PET_ITEM
|
||
typedef enum
|
||
{
|
||
CHAR_PET_HEAD, //头
|
||
CHAR_PET_TOOTH, //牙
|
||
CHAR_PET_CLAW, //爪
|
||
CHAR_PET_BREAST, //胸
|
||
CHAR_PET_BACK, //背
|
||
CHAR_PET_WING, //翅
|
||
CHAR_PET_FEET, //脚
|
||
|
||
CHAR_PETITEMNUM,
|
||
}CHAR_petitem;
|
||
#endif
|
||
|
||
|
||
typedef struct tagCharHaveSkill
|
||
{
|
||
int use;
|
||
Skill skill;
|
||
}CHAR_HaveSkill;
|
||
|
||
#ifdef _STREET_VENDOR
|
||
typedef struct STREET_VENDDOR_t{
|
||
int pile; // 数量
|
||
int price; // 价格
|
||
int index; // 索引
|
||
int kind; // 道具或是宠物 0:道具 1:宠物
|
||
BOOL usage; // 是否使用中
|
||
}StreetVendor_t;
|
||
|
||
enum{
|
||
SV_PILE,
|
||
SV_PRICE,
|
||
SV_INDEX,
|
||
SV_KIND,
|
||
SV_USAGE,
|
||
MAX_SV
|
||
};
|
||
#endif
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_ACTSTAND,
|
||
CHAR_ACTWALK,
|
||
CHAR_ACTATTACK,
|
||
CHAR_ACTTHROW,
|
||
CHAR_ACTDAMAGE,
|
||
CHAR_ACTDEAD,
|
||
CHAR_ACTMAGIC,
|
||
CHAR_ACTITEM,
|
||
CHAR_ACTEFFECT,
|
||
CHAR_ACTDOWN = 10,
|
||
CHAR_ACTSIT,
|
||
CHAR_ACTHAND,
|
||
CHAR_ACTPLEASURE,
|
||
CHAR_ACTANGRY,
|
||
CHAR_ACTSAD,
|
||
CHAR_ACTGUARD,
|
||
CHAR_ACTACTIONWALK,
|
||
CHAR_ACTNOD,
|
||
CHAR_ACTACTIONSTAND,
|
||
CHAR_ACTBATTLE = 20,
|
||
CHAR_ACTLEADER,
|
||
CHAR_ACTBATTLEWATCH,
|
||
CHAR_ACTPOPUPNAME,
|
||
CHAR_ACTTURN = 30,
|
||
CHAR_ACTWARP,
|
||
CHAR_ACTTRADE,
|
||
#ifdef _ANGEL_SUMMON
|
||
CHAR_ACTANGEL = 34,
|
||
#endif
|
||
|
||
#ifdef _MIND_ICON
|
||
CHAR_MIND = 40,
|
||
#endif
|
||
#ifdef _STREET_VENDOR
|
||
CHAR_STREETVENDOR_OPEN,
|
||
CHAR_STREETVENDOR_CLOSE,
|
||
#endif
|
||
#ifdef _ITEM_CRACKER
|
||
CHAR_ITEM_CRACKER = 50,
|
||
#endif
|
||
}CHAR_ACTION;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_CLIACTATTACK,
|
||
CHAR_CLIACTDAMAGE,
|
||
CHAR_CLIACTDOWN,
|
||
CHAR_CLIACTSTAND,
|
||
CHAR_CLIACTWALK,
|
||
CHAR_CLIACTSIT,
|
||
CHAR_CLIACTHAND,
|
||
CHAR_CLIACTPLEASURE,
|
||
CHAR_CLIACTANGRY,
|
||
CHAR_CLIACTSAD,
|
||
CHAR_CLIACTGUARD,
|
||
CHAR_CLIACTNOD,
|
||
CHAR_CLIACTTHROW,
|
||
|
||
}CHAR_CLIENTACTION;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_TYPENONE,
|
||
CHAR_TYPEPLAYER,
|
||
CHAR_TYPEENEMY,
|
||
CHAR_TYPEPET,
|
||
CHAR_TYPEDOOR,
|
||
CHAR_TYPEBOX,
|
||
CHAR_TYPEMSG,
|
||
CHAR_TYPEWARP,
|
||
CHAR_TYPESHOP,
|
||
CHAR_TYPEHEALER,
|
||
CHAR_TYPEOLDMAN,
|
||
CHAR_TYPEROOMADMIN,
|
||
CHAR_TYPETOWNPEOPLE,
|
||
CHAR_TYPEDENGON,
|
||
CHAR_TYPEADM,
|
||
CHAR_TYPETEMPLE,
|
||
CHAR_TYPESTORYTELLER,
|
||
CHAR_TYPERANKING,
|
||
CHAR_TYPEOTHERNPC,
|
||
CHAR_TYPEPRINTPASSMAN,
|
||
CHAR_TYPENPCENEMY,
|
||
CHAR_TYPEACTION,
|
||
CHAR_TYPEWINDOWMAN,
|
||
CHAR_TYPESAVEPOINT,
|
||
CHAR_TYPEWINDOWHEALER,
|
||
CHAR_TYPEITEMSHOP,
|
||
CHAR_TYPESTONESHOP,
|
||
CHAR_TYPEDUELRANKING,
|
||
CHAR_TYPEWARPMAN,
|
||
CHAR_TYPEEVENT,
|
||
CHAR_TYPEMIC,
|
||
CHAR_TYPELUCKYMAN,
|
||
CHAR_TYPEBUS,
|
||
CHAR_TYPECHARM,
|
||
CHAR_TYPECHECKMAN,
|
||
CHAR_TYPEJANKEN,
|
||
CHAR_TYPETRANSMIGRATION,
|
||
CHAR_TYPEFMWARPMAN, // 家族PK场管理员
|
||
CHAR_TYPEFMSCHEDULEMAN, // 家族PK场登记员
|
||
CHAR_TYPEMANORSCHEDULEMAN, // 庄园PK场预约人
|
||
#ifdef _GAMBLE_BANK
|
||
CHAR_GAMBLEBANK,
|
||
#endif
|
||
#ifdef _NEW_WARPMAN
|
||
CHAR_NEWNPCMAN,
|
||
#endif
|
||
|
||
#ifdef _GAMBLE_ROULETTE
|
||
CHAR_GAMBLEROULETTE,
|
||
CHAR_GAMBLEMASTER,
|
||
#endif
|
||
#ifdef _TRANSER_MAN
|
||
CHAR_TRANSERMANS,
|
||
#endif
|
||
|
||
#ifdef _NPC_MAKEPAIR
|
||
CHAR_MAKEPAIR,
|
||
#endif
|
||
#ifdef _NPC_FUSION
|
||
CHAR_PETFUSIONMAN,
|
||
#endif
|
||
|
||
#ifdef _ITEM_NPCCHANGE
|
||
CHAR_ITEMCHANGENPC,
|
||
#endif
|
||
#ifdef _CFREE_petskill
|
||
CHAR_FREESKILLSHOP,
|
||
#endif
|
||
#ifdef _PETRACE
|
||
CHAR_PETRACEMASTER, // 宠物竞速
|
||
CHAR_PETRACEPET,
|
||
#endif
|
||
|
||
#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC
|
||
CHAR_TYPEALLDOMAN,
|
||
#endif
|
||
|
||
CHAR_TYPEPETMAKER, // petmaker
|
||
|
||
#ifdef _NPC_WELFARE
|
||
CHAR_TYPEWELFARE,
|
||
#endif
|
||
#ifdef _ALLBLUES_LUA
|
||
CHAR_TYPELUANPC,
|
||
#endif
|
||
#ifdef _JZ_NEWSCRIPT_LUA
|
||
CHAR_LUANPC,
|
||
#endif
|
||
|
||
#ifdef _PLAYER_NPC
|
||
CHAR_TYPEPLAYERNPC,
|
||
CHAR_TYPEPLAYERPETNPC,
|
||
#endif
|
||
CHAR_TYPENUM,
|
||
}CHAR_TYPE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_EVENT_NONE,
|
||
CHAR_EVENT_NPC,
|
||
CHAR_EVENT_ENEMY,
|
||
CHAR_EVENT_WARP,
|
||
CHAR_EVENT_DOOR,
|
||
CHAR_EVENT_ALTERRATIVE,
|
||
CHAR_EVENT_WARP_MORNING,
|
||
CHAR_EVENT_WARP_NOON,
|
||
CHAR_EVENT_WARP_NIGHT,
|
||
CHAR_EVENTNUM,
|
||
}CHAR_EVENT;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_PARTY_NONE,
|
||
CHAR_PARTY_LEADER,
|
||
CHAR_PARTY_CLIENT,
|
||
}CHAR_PARTY_MODE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_TRADE_FREE, /* 可交易 */
|
||
CHAR_TRADE_SENDING, /* 交易请求中 */
|
||
CHAR_TRADE_TRADING, /* 交易中 */
|
||
CHAR_TRADE_LOCK, /* 交易锁定中 */
|
||
}CHAR_TRADE_MODE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_PETMAIL_NONE,
|
||
CHAR_PETMAIL_IDLE1,
|
||
CHAR_PETMAIL_IDLE2,
|
||
CHAR_PETMAIL_RETURNWAIT,
|
||
CHAR_PETMAIL_IDLE3,
|
||
CHAR_PETMAIL_IDLE4,
|
||
CHAR_PETMAIL_IDLE5,
|
||
}CHAR_PETMAIL_MODE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_PETFOLLOW_NONE,
|
||
CHAR_PETFOLLOW_NOW,
|
||
}CHAR_PETFOLLOW_MODE;
|
||
|
||
#ifdef _DROPSTAKENEW
|
||
typedef enum
|
||
{
|
||
DICE_BIG = 1, // 骰子_大
|
||
DICE_SMALL, // 骰子_小
|
||
DICE_ALLEAT, // 骰子_通吃
|
||
PET_RACE1 = 5, // 竞速场_宠物1
|
||
PET_RACE2, // 竞速场_宠物2
|
||
PET_RACE3, // 竞速场_宠物3
|
||
ROULETTE1 = 11, ROULETTE2, ROULETTE3, ROULETTE4, ROULETTE5, ROULETTE6, ROULETTE7,
|
||
ROULETTE8, ROULETTE9, ROULETTE10, ROULETTE11, ROULETTE12, ROULETTE13, ROULETTE14,
|
||
ROULETTE15, ROULETTE16, ROULETTE17, ROULETTE18, ROULETTE19, ROULETTE20,
|
||
ROULETTE21 = 41, ROULETTE22, ROULETTE23, ROULETTE24, ROULETTE25, ROULETTE26,
|
||
ROULETTE27, ROULETTE28, ROULETTE29, ROULETTE30, ROULETTE31, ROULETTE32,
|
||
ROULETTE33, ROULETTE34, ROULETTE35, ROULETTE36, ROULETTE37, ROULETTE38,
|
||
ROULETTE39, ROULETTE40,
|
||
ROULETTE41 = 71, ROULETTE42, ROULETTE43, ROULETTE44, ROULETTE45,
|
||
ROULETTE51 = 101, ROULETTE52, ROULETTE53, //横列
|
||
ROULETTE61 = 111, ROULETTE62, //1到10 10到11
|
||
PETFIGHT_WIN1 = 120,
|
||
PETFIGHT_WIN2,
|
||
PETFIGHT_DUEL,
|
||
}GAMBLE_TYPE;
|
||
#endif
|
||
|
||
#ifdef _CHAR_POOLITEM
|
||
#ifdef _NPC_DEPOTPET // 开放宠物仓库同时增加道具仓库容量
|
||
#define CHAR_MAXDEPOTITEMHAVE 80
|
||
#else
|
||
#define CHAR_MAXDEPOTITEMHAVE 60
|
||
#endif
|
||
#endif
|
||
|
||
#ifdef _CHAR_POOLPET
|
||
#define CHAR_MAXDEPOTPETHAVE 30
|
||
#endif
|
||
|
||
|
||
#ifdef _ADD_POOL_ITEM // (不可开) WON ADD 增加可寄放的道具
|
||
#define CHAR_MAXPOOLITEMHAVE 30
|
||
#else
|
||
#define CHAR_MAXPOOLITEMHAVE 20
|
||
#endif
|
||
|
||
#define CHAR_MAXITEMNUM 15
|
||
#define CHAR_STARTITEMARRAY CHAR_EQUIPPLACENUM
|
||
#define CHAR_MAXITEMHAVE (CHAR_STARTITEMARRAY+CHAR_MAXITEMNUM)
|
||
|
||
#ifdef _PET_ITEM
|
||
#define CHAR_MAXPETITEMHAVE CHAR_PETITEMNUM
|
||
#endif
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_DATAPLACENUMBER,
|
||
CHAR_BASEIMAGENUMBER,
|
||
CHAR_BASEBASEIMAGENUMBER,
|
||
CHAR_FACEIMAGENUMBER,
|
||
CHAR_FLOOR,
|
||
CHAR_X,
|
||
CHAR_Y,
|
||
CHAR_DIR,
|
||
CHAR_LV,
|
||
CHAR_GOLD,
|
||
CHAR_HP,
|
||
CHAR_MP,
|
||
CHAR_MAXMP,
|
||
CHAR_VITAL,
|
||
CHAR_STR,
|
||
CHAR_TOUGH,
|
||
CHAR_DEX,
|
||
CHAR_CHARM,
|
||
CHAR_LUCK,
|
||
CHAR_EARTHAT,
|
||
CHAR_WATERAT,
|
||
CHAR_FIREAT,
|
||
CHAR_WINDAT,
|
||
CHAR_DEFAULTPET,
|
||
CHAR_CRITIAL,
|
||
CHAR_COUNTER,
|
||
CHAR_RARE,
|
||
CHAR_RADARSTRENGTH,
|
||
CHAR_CHATVOLUME,
|
||
CHAR_MERCHANTLEVEL,
|
||
CHAR_HEALERLEVEL,
|
||
CHAR_SAVEPOINT = CHAR_HEALERLEVEL,
|
||
CHAR_DETERMINEITEM,
|
||
CHAR_INDEXOFEQTITLE,
|
||
CHAR_POISON,
|
||
CHAR_PARALYSIS,
|
||
CHAR_SLEEP,
|
||
CHAR_STONE,
|
||
CHAR_DRUNK,
|
||
CHAR_CONFUSION,
|
||
CHAR_LOGINCOUNT,
|
||
CHAR_NPCCREATEINDEX=CHAR_LOGINCOUNT,
|
||
CHAR_DEADCOUNT,
|
||
CHAR_WALKCOUNT,
|
||
CHAR_TALKCOUNT,
|
||
CHAR_DAMAGECOUNT,
|
||
CHAR_GETPETCOUNT,
|
||
CHAR_KILLPETCOUNT,
|
||
CHAR_DEADPETCOUNT,
|
||
CHAR_SENDMAILCOUNT,
|
||
CHAR_MERGEITEMCOUNT,
|
||
CHAR_DUELBATTLECOUNT,
|
||
CHAR_DUELWINCOUNT,
|
||
CHAR_DUELLOSECOUNT,
|
||
CHAR_DUELSTWINCOUNT,
|
||
CHAR_DUELMAXSTWINCOUNT,
|
||
CHAR_WHICHTYPE,
|
||
CHAR_WALKINTERVAL,
|
||
CHAR_LOOPINTERVAL,
|
||
#ifdef _NEWOPEN_MAXEXP
|
||
CHAR_OLDEXP,
|
||
CHAR_EXP,
|
||
#else
|
||
CHAR_EXP,
|
||
#endif
|
||
CHAR_LASTTALKELDER,
|
||
CHAR_SKILLUPPOINT,
|
||
CHAR_LEVELUPPOINT,
|
||
CHAR_IMAGETYPE,
|
||
CHAR_NAMECOLOR,
|
||
CHAR_POPUPNAMECOLOR,
|
||
CHAR_LASTTIMESETLUCK,
|
||
CHAR_DUELPOINT,
|
||
CHAR_ENDEVENT, /* (0~31) */
|
||
CHAR_ENDEVENT2, /* (32~63) */
|
||
CHAR_ENDEVENT3, /* (64~96) */
|
||
#ifdef _NEWEVENT
|
||
CHAR_ENDEVENT4, /* (96~127) */
|
||
CHAR_ENDEVENT5, /* (128~159) */
|
||
CHAR_ENDEVENT6, /* (160~191) */
|
||
#endif
|
||
#ifdef _ADD_NEWEVENT // WON 多增任务旗标
|
||
CHAR_ENDEVENT7,
|
||
CHAR_ENDEVENT8,
|
||
CHAR_ENDEVENT9,
|
||
CHAR_ENDEVENT10,
|
||
CHAR_ENDEVENT11,
|
||
CHAR_ENDEVENT12,
|
||
CHAR_ENDEVENT13,
|
||
CHAR_ENDEVENT14,
|
||
CHAR_ENDEVENT15,
|
||
CHAR_ENDEVENT16,
|
||
#endif
|
||
|
||
CHAR_NOWEVENT, /* (0~31) */
|
||
CHAR_NOWEVENT2, /* (32~63) */
|
||
CHAR_NOWEVENT3, /* (64~96) */
|
||
#ifdef _NEWEVENT
|
||
CHAR_NOWEVENT4, /* (96~127) */
|
||
CHAR_NOWEVENT5, /* (128~159) */
|
||
CHAR_NOWEVENT6, /* (160~191) */
|
||
#endif
|
||
#ifdef _ADD_NEWEVENT // WON 多增任务旗标
|
||
CHAR_NOWEVENT7,
|
||
CHAR_NOWEVENT8, // 224~255 精灵召唤专用
|
||
CHAR_NOWEVENT9,
|
||
CHAR_NOWEVENT10,
|
||
CHAR_NOWEVENT11,
|
||
CHAR_NOWEVENT12,
|
||
CHAR_NOWEVENT13,
|
||
CHAR_NOWEVENT14,
|
||
CHAR_NOWEVENT15,
|
||
CHAR_NOWEVENT16,
|
||
#endif
|
||
CHAR_TRANSMIGRATION,
|
||
CHAR_TRANSEQUATION,
|
||
CHAR_INITDATA,
|
||
CHAR_SILENT, /* char shutup time */
|
||
CHAR_FMINDEX, // 家族 index
|
||
CHAR_FMLEADERFLAG, /* 家族成员种类
|
||
* FMMEMBER_NONE :没有加入任何家族
|
||
* FMMEMBER_APPLY :申请加入家族中
|
||
* FMMEMBER_LEADER :族长
|
||
* FMMEMBER_MEMBER :一般成员
|
||
* FMMEMBER_ELDER :长老
|
||
* FMMEMBER_INVITE :祭司 // 暂时不用
|
||
* FMMEMBER_BAILEE :财务长 // 暂时不用
|
||
* FMMEMBER_VICELEADER :副族长 // 暂时不用
|
||
*/
|
||
CHAR_FMSPRITE, // 家族守护精灵
|
||
|
||
CHAR_BANKGOLD,
|
||
CHAR_RIDEPET,
|
||
CHAR_LEARNRIDE,
|
||
#ifdef _NEW_RIDEPETS
|
||
CHAR_LOWRIDEPETS,
|
||
#endif
|
||
CHAR_LIMITLEVEL,
|
||
#ifdef _PET_FUSION
|
||
CHAR_FUSIONCODE, //物种编码
|
||
CHAR_FUSIONINDEX, //孵化宠物编号
|
||
CHAR_FUSIONRAISE, // 养次数
|
||
CHAR_FUSIONBEIT, //宠蛋旗标
|
||
CHAR_FUSIONTIMELIMIT, // 养时间
|
||
#endif
|
||
|
||
#ifdef _PERSONAL_FAME // Arminius 8.30: 家族个人声望
|
||
CHAR_FAME,
|
||
#endif
|
||
|
||
#ifdef _NEWSAVE
|
||
CHAR_SAVEINDEXNUMBER, /* SaveFile .0.char or .1.char */
|
||
#endif
|
||
|
||
#ifdef _ATTACK_MAGIC
|
||
CHAR_EARTH_EXP, // 玩家的地魔法熟练度
|
||
CHAR_WATER_EXP, // 玩家的水魔法熟练度
|
||
CHAR_FIRE_EXP, // 玩家的火魔法熟练度
|
||
CHAR_WIND_EXP, // 玩家的风魔法熟练度
|
||
CHAR_EARTH_RESIST, // 玩家的地魔法抗性
|
||
CHAR_WATER_RESIST, // 玩家的水魔法抗性
|
||
CHAR_FIRE_RESIST, // 玩家的火魔法抗性
|
||
CHAR_WIND_RESIST, // 玩家的风魔法抗性
|
||
CHAR_EARTH_ATTMAGIC_EXP, // 玩家的地魔法熟练度经验值
|
||
CHAR_WATER_ATTMAGIC_EXP, // 玩家的水魔法熟练度经验值
|
||
CHAR_FIRE_ATTMAGIC_EXP, // 玩家的火魔法熟练度经验值
|
||
CHAR_WIND_ATTMAGIC_EXP, // 玩家的风魔法熟练度经验值
|
||
CHAR_EARTH_DEFMAGIC_EXP, // 玩家的地魔法抗性经验值
|
||
CHAR_WATER_DEFMAGIC_EXP, // 玩家的水魔法抗性经验值
|
||
CHAR_FIRE_DEFMAGIC_EXP, // 玩家的火魔法抗性经验值
|
||
CHAR_WIND_DEFMAGIC_EXP, // 玩家的风魔法抗性经验值
|
||
#endif
|
||
|
||
|
||
#ifdef _GAMBLE_BANK
|
||
CHAR_PERSONAGOLD, //赌场个人银行
|
||
#endif
|
||
#ifdef _DROPSTAKENEW
|
||
CHAR_GAMBLENUM, //赌场积分
|
||
#endif
|
||
#ifdef _ADD_ACTION //npc动作
|
||
CHAR_ACTIONSTYLE,
|
||
#endif
|
||
#ifdef _PET_EVOLUTION
|
||
CHAR_EVOLUTIONBASEVTL,
|
||
CHAR_EVOLUTIONBASESTR,
|
||
CHAR_EVOLUTIONBASETGH,
|
||
CHAR_EVOLUTIONBASEDEX,
|
||
#endif
|
||
|
||
#ifdef _FM_JOINLIMIT
|
||
CHAR_FMTIMELIMIT,
|
||
#endif
|
||
|
||
#ifdef _CHAR_PROFESSION // WON ADD 人物职业
|
||
PROFESSION_CLASS, // 职业别
|
||
PROFESSION_LEVEL, // 职业等级
|
||
// PROFESSION_EXP, // 职业经验值
|
||
PROFESSION_SKILL_POINT, // 技能点数
|
||
ATTACHPILE, // 增加堆叠
|
||
PROFESSION_FIRE_P, // 火熟练度
|
||
PROFESSION_ICE_P, // 冰熟练度
|
||
PROFESSION_THUNDER_P, // 雷熟练度
|
||
PROFESSION_FIRE_R, // 火抗性
|
||
PROFESSION_ICE_R, // 冰抗性
|
||
PROFESSION_THUNDER_R, // 雷抗性
|
||
#endif
|
||
#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC
|
||
CHAR_HEROFLOOR,
|
||
#endif
|
||
#ifdef _PETSKILL_BECOMEPIG
|
||
CHAR_BECOMEPIG,
|
||
CHAR_BECOMEPIG_BBI,//要变成的图号
|
||
#endif
|
||
CHAR_LASTLEAVETIME, // Robin add 最後离线时间
|
||
|
||
#ifdef _NEW_MANOR_LAW
|
||
CHAR_MOMENTUM,
|
||
#endif
|
||
|
||
#ifdef _ITEM_ADDEXP2
|
||
CHAR_ADDEXPPOWER,
|
||
CHAR_ADDEXPTIME,
|
||
#endif
|
||
|
||
#ifdef _VIP_BATTLE_EXP
|
||
CHAR_NVIPEXP,
|
||
CHAR_NVIPTIME,
|
||
#endif
|
||
|
||
#ifdef _ANGEL_SUMMON
|
||
CHAR_HEROCNT, // 完成勇者任务的次数
|
||
#endif
|
||
|
||
#ifdef _TEACHER_SYSTEM
|
||
CHAR_TEACHER_FAME, // 导师领导声望
|
||
#endif
|
||
|
||
#ifdef _GM_ITEM
|
||
CHAR_GMTIME, // 玩家GM命令次数
|
||
#endif
|
||
|
||
#ifdef _VIP_SERVER
|
||
CHAR_AMPOINT, // 会员点数
|
||
#endif
|
||
|
||
#ifdef _VIP_RIDE
|
||
CHAR_VIPRIDE, // 会员骑黑鸡
|
||
CHAR_VIPTIME, // 会员时间
|
||
#endif
|
||
#ifdef _AUTO_PK
|
||
CHAR_AUTOPK, // 自动化PK
|
||
#endif
|
||
#ifdef _BATTLE_PK
|
||
CHAR_BATTLEPK,
|
||
#endif
|
||
|
||
#ifdef _PET_BEATITUDE
|
||
CHAR_BEATITUDE,
|
||
#endif
|
||
#ifdef _RIDE_CF
|
||
CHAR_LOWRIDEPETS1,
|
||
CHAR_HIGHRIDEPETS2, //备用数据
|
||
#endif
|
||
#ifdef _SUPER_MAN_ITEM
|
||
CHAR_SUPER, //极品人
|
||
#endif
|
||
#ifdef _EV_NUM
|
||
CHAR_EVNUM,
|
||
CHAR_EVITEM,
|
||
#endif
|
||
#ifdef _JOB_AUTOPK
|
||
CHAR_JOBPKMODE,
|
||
CHAR_JOBPKTIME,
|
||
#endif
|
||
#ifdef _VIGOR_SYS
|
||
CHAR_VIGOR,
|
||
#endif
|
||
#ifdef _STU_SYS
|
||
CHAR_STUNUM,
|
||
#endif
|
||
#ifdef _ALL_TALK
|
||
CHAR_ATDATE,
|
||
CHAR_ATCNT,
|
||
#endif
|
||
#ifdef _SAFE_PASSWORD
|
||
CHAR_LOCK,
|
||
#endif
|
||
CHAR_NPCTIME,
|
||
#ifdef _OFFLINE_SYSTEM
|
||
CHAR_OFFTIME,
|
||
#endif
|
||
#ifdef _CAMEO_MONEY
|
||
CHAR_CAMEO,
|
||
#endif
|
||
#ifdef _MISSION_TRAIN
|
||
CHAR_MISSIONTRAIN_NUM,
|
||
CHAR_MISSIONTRAIN_TIME,
|
||
#endif
|
||
#ifdef _PET_EVOLVE
|
||
CHAR_EVOLVE,
|
||
#endif
|
||
#ifdef _FLOOR_DIFI_FIELD
|
||
CHAR_FLOORDIFI_TIME,
|
||
#endif
|
||
#ifdef _MISSION_TIME
|
||
CHAR_MISSION_TIME,
|
||
#endif
|
||
#ifdef _PLAYER_TITLE
|
||
CHAR_TITLE_LV,
|
||
CHAR_TITLE_TIME,
|
||
#endif
|
||
#ifdef _COWRIE
|
||
CHAR_BJ,
|
||
#endif
|
||
#ifdef _ONLINE_TIME
|
||
CHAR_ONLINE_TIME,
|
||
#endif
|
||
CHAR_LUASAVE_WORKINT_1,
|
||
CHAR_LUASAVE_WORKINT_2,
|
||
CHAR_LUASAVE_WORKINT_3,
|
||
CHAR_LUASAVE_INT_1,
|
||
CHAR_LUASAVE_INT_2,
|
||
CHAR_LUASAVE_INT_3,
|
||
#ifdef _CAX_ESC_REPORT
|
||
CHAR_REPORT,//每日签到
|
||
#endif
|
||
#ifdef _CAX_Mercenary
|
||
CHAR_MERCENARY,//佣兵字段
|
||
#endif
|
||
#ifdef _REGISTRATION_TIME
|
||
CHAR_REGISTRATION_TIME,
|
||
CHAR_REGISTRATION_COUNT,
|
||
CHAR_REGISTRATION_ONLINE_TIME,
|
||
#endif
|
||
CHAR_DATAINTNUM,
|
||
|
||
}CHAR_DATAINT;
|
||
|
||
typedef enum {
|
||
CHAR_MODAI = CHAR_CHARM, /* 矢永玄 及及镝擦艘膜恳袄 */
|
||
CHAR_VARIABLEAI = CHAR_LUCK, /* 矢永玄及镝擦艘 祭袄 ㄠㄟㄟ 仄凶袄匹 匀化云仁 */
|
||
CHAR_SLOT = CHAR_DEFAULTPET, /* 檗 毛本永玄请 月旦夫永玄醒 矢永玄互银迕 */
|
||
CHAR_PETGETLV = CHAR_CHATVOLUME, /* 必永玄今木凶伊矛伙 矢永玄及心银迕 */
|
||
CHAR_PUTPETTIME = CHAR_LOGINCOUNT, /* 矢永玄互哗 卞 井木凶凛棉 */
|
||
CHAR_MAILMODE = CHAR_RADARSTRENGTH, /* 矢永玄及心银迕 丢□伙霜耨橇谪 */
|
||
CHAR_ALLOCPOINT = CHAR_LEVELUPPOINT, /* 伊矛伙失永皿凛及喃曰蕊曰禾奶件玄(矢永玄迕) */
|
||
CHAR_PETMAILBUFINDEX = CHAR_GETPETCOUNT, /* 矢永玄丢□伙(offmsg)尺及index */
|
||
CHAR_PETMAILIDLETIME = CHAR_SENDMAILCOUNT, /* 矢永玄丢□伙及啃及凛棉卅升 */
|
||
CHAR_PETMAILFROMFLOOR = CHAR_DUELBATTLECOUNT, /* 丢□伙毛霜匀凶凛及白夫失 */
|
||
CHAR_PETMAILFROMX = CHAR_DUELWINCOUNT, /* 丢□伙毛霜匀凶凛及 甄 */
|
||
CHAR_PETMAILFROMY = CHAR_DUELLOSECOUNT, /* 丢□伙毛霜匀凶凛及 甄 */
|
||
CHAR_PETMAILEFFECT = CHAR_DUELSTWINCOUNT, /* 矢永玄丢□伙及请蜇及巨白尼弁玄 寞 */
|
||
CHAR_PETSENDMAILCOUNT = CHAR_TALKCOUNT, /* 矢永玄互丢□伙毛扪氏分荚醒 */
|
||
CHAR_PETRANK = CHAR_LASTTIMESETLUCK, /* 矢永玄及仿件弁(矢永玄迕 ㄠ ㄥ[ㄟ反巨仿□迕 */
|
||
CHAR_PETID = CHAR_DUELMAXSTWINCOUNT,/* 矢永玄及 件皿伊□玄及 */
|
||
CHAR_PETFAMILY = CHAR_FMLEADERFLAG, // CoolFish: Family 判断是否为家族守护兽
|
||
CHAR_PETENEMYID = CHAR_GAMBLENUM,
|
||
}CHAR_PET;
|
||
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_NAME,
|
||
CHAR_OWNTITLE,
|
||
CHAR_USERPETNAME = CHAR_OWNTITLE,
|
||
CHAR_NPCARGUMENT,
|
||
CHAR_CDKEY = CHAR_NPCARGUMENT,
|
||
CHAR_OWNERCDKEY,
|
||
CHAR_OWNERCHARANAME,
|
||
CHAR_FMNAME,
|
||
#ifdef _UNIQUE_P_I
|
||
CHAR_UNIQUECODE,
|
||
#endif
|
||
#ifdef _ACTION_GMQUE
|
||
CHAR_GMQUESTR1,
|
||
#endif
|
||
|
||
#ifdef _TEACHER_SYSTEM
|
||
CHAR_TEACHER_ID, // 导师帐号
|
||
CHAR_TEACHER_NAME, // 导师名字
|
||
#endif
|
||
#ifdef _ITEM_SETLOVER
|
||
CHAR_LOVE, // 结婚判断
|
||
CHAR_LOVERID, // 爱人帐号
|
||
CHAR_LOVERNAME, // 爱人名字
|
||
#endif
|
||
|
||
#ifdef _GM_ITEM
|
||
CHAR_GMFUNCTION, // 玩家GM命令
|
||
#endif
|
||
#ifdef _NEW_NAME //自定义称号
|
||
CHAR_NEWNAME,
|
||
#endif
|
||
#ifdef _EV_NUM
|
||
CHAR_EVCODE,
|
||
#endif
|
||
#ifdef _ALL_RANDMODE
|
||
CHAR_RANDTYPE,
|
||
#endif
|
||
#ifdef _OFFLINE_SYSTEM
|
||
CHAR_OFFBUF,
|
||
#endif
|
||
// CHAR_CHARPLAYIP, //玩家IP
|
||
CHAR_DATACHARNUM,
|
||
}CHAR_DATACHAR;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_ISATTACK,
|
||
CHAR_ISATTACKED,
|
||
CHAR_ISOVER,
|
||
CHAR_ISOVERED,
|
||
CHAR_HAVEHEIGHT,
|
||
CHAR_ISVISIBLE,
|
||
CHAR_ISTRANSPARENT,
|
||
CHAR_ISFLYING,
|
||
CHAR_ISDIE,
|
||
CHAR_ISBIG,
|
||
CHAR_ISSHOWBATTLEMSG,
|
||
CHAR_ISPARTY,
|
||
CHAR_ISWARP,
|
||
CHAR_ISDUEL,
|
||
CHAR_ISPARTYCHAT,
|
||
CHAR_ISTRADECARD,
|
||
CHAR_ISTRADE,
|
||
#ifdef _CHANNEL_MODIFY
|
||
CHAR_ISTELL, //密语频道开关
|
||
CHAR_ISFM, //家族频道开关
|
||
CHAR_ISOCC, //职业频道开关
|
||
CHAR_ISSAVE, //对话储存开关
|
||
CHAR_ISCHAT, //聊天室
|
||
CHAR_ISWORLD, //世界频道开关
|
||
#endif
|
||
CHAR_FLGNUM,
|
||
}CHAR_DATAFLG;
|
||
|
||
#define CHAR_FS_PARTY (1 << 0)
|
||
#define CHAR_FS_BATTLE (1 << 1)
|
||
#define CHAR_FS_DUEL (1 << 2)
|
||
#define CHAR_FS_PARTYCHAT (1 << 3) //队伍频道开关
|
||
#define CHAR_FS_TRADECARD (1 << 4)
|
||
#define CHAR_FS_TRADE (1 << 5)
|
||
#ifdef _CHANNEL_MODIFY
|
||
#define CHAR_FS_TELL (1 << 6) //密语频道开关
|
||
#define CHAR_FS_FM (1 << 7) //家族频道开关
|
||
#define CHAR_FS_OCC (1 << 8) //职业频道开关
|
||
#define CHAR_FS_SAVE (1 << 9) //对话储存开关
|
||
#define CHAR_FS_CHAT (1 << 10) //聊天室开关
|
||
|
||
#define CHAR_FS_WORLD (1 << 11) //世界频道开关
|
||
#endif
|
||
typedef enum
|
||
{
|
||
CHAR_WORKBATTLEMODE,
|
||
CHAR_WORKBATTLEINDEX,
|
||
CHAR_WORKBATTLESIDE,
|
||
CHAR_WORKBATTLECOM1,
|
||
CHAR_WORKBATTLECOM2,
|
||
CHAR_WORKBATTLECOM3,
|
||
#ifdef _PSKILL_MDFYATTACK
|
||
CHAR_WORKBATTLECOM4,
|
||
#endif
|
||
CHAR_WORKBATTLEFLG,
|
||
CHAR_WORKBATTLEWATCH,
|
||
|
||
CHAR_WORKFIXEARTHAT,
|
||
CHAR_WORKFIXWATERAT,
|
||
CHAR_WORKFIXFIREAT,
|
||
CHAR_WORKFIXWINDAT,
|
||
#ifdef _PROFESSION_ADDSKILL
|
||
CHAR_WORKFIXEARTHAT_BOUNDARY, //地结界 左16位元存放加强百分比 右16位元存放回合数
|
||
CHAR_WORKFIXWATERAT_BOUNDARY, //水结界
|
||
CHAR_WORKFIXFIREAT_BOUNDARY, //火结界
|
||
CHAR_WORKFIXWINDAT_BOUNDARY, //风结界
|
||
#endif
|
||
CHAR_WORKMAXHP,
|
||
CHAR_WORKMAXMP,
|
||
|
||
CHAR_WORKATTACKPOWER,
|
||
CHAR_WORKDEFENCEPOWER,
|
||
CHAR_WORKQUICK,
|
||
|
||
CHAR_WORKFIXVITAL,
|
||
CHAR_WORKFIXSTR,
|
||
CHAR_WORKFIXTOUGH,
|
||
CHAR_WORKFIXDEX,
|
||
|
||
#ifdef _ITEMSET5_TXT
|
||
CHAR_WORKFIXARRANGE,
|
||
CHAR_WORKARRANGEPOWER,
|
||
CHAR_WORKFIXSEQUENCE,
|
||
CHAR_WORKSEQUENCEPOWER,
|
||
CHAR_WORKATTACHPILE,
|
||
CHAR_WORKHITRIGHT, //额外命中
|
||
#endif
|
||
#ifdef _ITEMSET6_TXT
|
||
CHAR_WORKNEGLECTGUARD,
|
||
#endif
|
||
CHAR_WORKMODATTACK,
|
||
CHAR_WORKMODDEFENCE,
|
||
CHAR_WORKMODQUICK,
|
||
|
||
CHAR_WORKMODCAPTURE,
|
||
CHAR_WORKMODCHARM,
|
||
|
||
CHAR_WORKFIXCHARM,
|
||
CHAR_WORKFIXLUCK,
|
||
CHAR_WORKFIXAI,
|
||
CHAR_WORKFIXAVOID,
|
||
|
||
CHAR_WORKDAMAGEABSROB,
|
||
CHAR_WORKDAMAGEREFLEC,
|
||
CHAR_WORKDAMAGEVANISH,
|
||
CHAR_WORKPOISON,
|
||
CHAR_WORKPARALYSIS,
|
||
CHAR_WORKSLEEP,
|
||
CHAR_WORKSTONE,
|
||
CHAR_WORKDRUNK,
|
||
CHAR_WORKCONFUSION,
|
||
CHAR_WORKWEAKEN, //虚弱 vincent add _MAGIC_WEAKEN
|
||
CHAR_WORKDEEPPOISON, //剧毒 vincent add _MAGIC_DEEPPOISON
|
||
CHAR_WORKBARRIER, //魔障 vincent add _MAGIC_BARRIER
|
||
CHAR_WORKNOCAST, //沉默 vincent add _MAGIC_NOCAST
|
||
CHAR_WORKMODPOISON,
|
||
CHAR_WORKMODPARALYSIS,
|
||
CHAR_WORKMODSLEEP,
|
||
CHAR_WORKMODSTONE,
|
||
CHAR_WORKMODDRUNK,
|
||
CHAR_WORKMODCONFUSION,
|
||
CHAR_WORKMODWEAKEN,
|
||
CHAR_WORKMODDEEPPOISON,
|
||
CHAR_WORKMODBARRIER, //魔障
|
||
CHAR_WORKMODNOCAST, //沉默
|
||
CHAR_WORKMODCRITICAL, //一击必杀
|
||
CHAR_WORKULTIMATE,
|
||
CHAR_WORKPARTYMODE,
|
||
CHAR_WORKTRADEMODE, /* 交易模式
|
||
* 0: CHAR_TRADE_FREE :可交易
|
||
* 1: CHAR_TRADE_SENDING:交易请求中
|
||
* 2: CHAR_TRADE_TRADING:交易中
|
||
* 3: CHAR_TRADE_LOCK :交易锁定中
|
||
*/
|
||
CHAR_WORKPARTYINDEX1,
|
||
CHAR_WORKPARTYINDEX2,
|
||
CHAR_WORKPARTYINDEX3,
|
||
CHAR_WORKPARTYINDEX4,
|
||
CHAR_WORKPARTYINDEX5,
|
||
CHAR_WORKOBJINDEX,
|
||
CHAR_WORKWALKSTARTSEC,
|
||
CHAR_WORKWALKSTARTMSEC,
|
||
CHAR_WORKLOOPSTARTSEC,
|
||
CHAR_WORKLOOPSTARTMSEC,
|
||
CHAR_WORKLASTATTACKCHARAINDEX,
|
||
CHAR_WORKEVENTTYPE,
|
||
CHAR_WORKGETEXP,
|
||
CHAR_WORKMODCAPTUREDEFAULT,
|
||
CHAR_WORKACTION,
|
||
CHAR_WORKFD,
|
||
CHAR_WORKFLG,
|
||
CHAR_WORKGMLEVEL,
|
||
CHAR_NPCWORKINT1,
|
||
CHAR_NPCWORKINT2,
|
||
CHAR_NPCWORKINT3,
|
||
CHAR_NPCWORKINT4,
|
||
CHAR_NPCWORKINT5,
|
||
CHAR_NPCWORKINT6,
|
||
CHAR_NPCWORKINT7,
|
||
CHAR_NPCWORKINT8,
|
||
CHAR_NPCWORKINT9,
|
||
CHAR_NPCWORKINT10,
|
||
CHAR_NPCWORKINT11,
|
||
#ifdef _PETRACE
|
||
CHAR_NPCWORKINT12,
|
||
#endif
|
||
CHAR_NPCWORKINT13,
|
||
CHAR_WORKWARPCHECK,
|
||
CHAR_TENSEICHECKED,
|
||
CHAR_WORKFMINDEXI, // 家族索引 index
|
||
CHAR_WORKFMCHANNEL, // 家族频道
|
||
CHAR_WORKFMCHANNELQUICK,
|
||
CHAR_WORKFMFLOOR, // 家族据点图层
|
||
CHAR_WORKFMDP, // 家族DP值
|
||
CHAR_WORKFMPKFLAG, // 是否正参与家族PK 1:Yes
|
||
CHAR_WORKFMSETUPFLAG, // 家族是否已正式成立
|
||
CHAR_WORKFMMANINDEX, // FMWARPMAN Index
|
||
CHAR_WORKFMCHARINDEX, // 家族成员索引 index
|
||
CHAR_WORKBATTLEFLAG, // -1(战斗不能),1(可战斗)
|
||
|
||
CHAR_WORK_PET0_STAT,
|
||
CHAR_WORK_PET1_STAT,
|
||
CHAR_WORK_PET2_STAT,
|
||
CHAR_WORK_PET3_STAT,
|
||
CHAR_WORK_PET4_STAT,
|
||
|
||
CHAR_WORKLOGINTIME, // 玩家登入时间
|
||
CHAR_WORKTALKCOUNT,
|
||
CHAR_WORKTALKTIME,
|
||
CHAR_WORKPETFOLLOW, // 宠物跟随
|
||
CHAR_WORKPETFALL, // 战斗落马
|
||
CHAR_WORKLEADERCHANGE, // 族长换位index
|
||
#ifdef _EQUIT_DEFMAGIC
|
||
CHAR_EQUITDEFMAGIC_E,
|
||
CHAR_EQUITDEFMAGIC_WA,
|
||
CHAR_EQUITDEFMAGIC_F,
|
||
CHAR_EQUITDEFMAGIC_WI,
|
||
CHAR_EQUITQUIMAGIC,
|
||
#endif
|
||
#ifdef _EQUIT_RESIST
|
||
CHAR_WORKEQUITFIRE, //装备抗火
|
||
CHAR_WORKEQUITTHUNDER,//装备抗雷
|
||
CHAR_WORKEQUITICE,//装备抗冰
|
||
CHAR_WORKEQUITWEAKEN,//装备抗虚弱
|
||
CHAR_WORKEQUITBARRIER,//装备抗魔障
|
||
CHAR_WORKEQUITNOCAST,//装备抗沉默
|
||
CHAR_WORKEQUITFALLRIDE,//装备抗落马
|
||
#endif
|
||
#ifdef _PETMAIL_DEFNUMS
|
||
CHAR_PETMAILNUMS,
|
||
CHAR_PETMAILSENDTIME,
|
||
#endif
|
||
#ifdef _ITEM_METAMO
|
||
CHAR_WORKITEMMETAMO,
|
||
#endif
|
||
#ifdef _ADD_DEAMGEDEFC
|
||
CHAR_WORKOTHERDMAGE,
|
||
CHAR_WORKOTHERDEFC,
|
||
#endif
|
||
|
||
#ifdef _LOSE_FINCH_
|
||
CHAR_WORKSPETRELIFE, //宠物复活特性
|
||
#endif
|
||
|
||
#ifdef _CHIKULA_STONE
|
||
CHAR_WORKCHIKULAHP,
|
||
CHAR_WORKCHIKULAMP,
|
||
#endif
|
||
#ifdef _PETSKILL_SETDUCK
|
||
CHAR_MYSKILLDUCKPOWER,
|
||
CHAR_MYSKILLDUCK,
|
||
CHAR_MYSKILLSTRPOWER,
|
||
CHAR_MYSKILLSTR,
|
||
CHAR_MYSKILLTGHPOWER,
|
||
CHAR_MYSKILLTGH,
|
||
CHAR_MYSKILLDEXPOWER,
|
||
CHAR_MYSKILLDEX,
|
||
CHAR_MAGICPETMP,
|
||
#endif
|
||
CHAR_SKILLSTRPOWER,
|
||
CHAR_SKILLDEXPOWER,
|
||
#ifdef _NPC_MAKEPAIR
|
||
CHAR_MYPAIRINDEX,
|
||
CHAR_MYPAIRFLG,
|
||
CHAR_MYPAIRCODE,
|
||
#endif
|
||
#ifdef _OTHER_MAGICSTAUTS
|
||
CHAR_DEFMAGICSTATUS,
|
||
#ifdef _MAGIC_SUPERWALL
|
||
CHAR_MAGICSUPERWALL,
|
||
#endif
|
||
CHAR_OTHERSTATUSNUMS,
|
||
#endif
|
||
#ifdef _NPCCHANGE_PLAYERIMG
|
||
CHAR_WORKNPCMETAMO,
|
||
#endif
|
||
CHAR_PickAllPet,
|
||
#ifdef _DROPSTAKENEW
|
||
CHAR_WORKSTAKEFLAG,
|
||
CHAR_WORKSTAKETYPE1,
|
||
CHAR_WORKSTAKETYPE2,
|
||
CHAR_WORKSTAKETYPE3,
|
||
CHAR_WORKSTAKETYPE4,
|
||
CHAR_WORKSTAKETYPE5,
|
||
#endif
|
||
|
||
CHAR_WORKTOXICATION,
|
||
|
||
#ifdef _SUIT_ITEM
|
||
CHAR_WORKSUITITEM,
|
||
CHAR_WORKROUNDHP,
|
||
CHAR_WORKROUNDMP,
|
||
CHAR_WORKSUITVIT,
|
||
CHAR_WORKSUITSTR,
|
||
CHAR_WORKSUITTGH,
|
||
CHAR_WORKSUITDEX,
|
||
CHAR_WORKSUITMODSTR,
|
||
#ifdef _SUIT_ADDENDUM
|
||
CHAR_WORKRESIST, //异常抗性率
|
||
CHAR_WORKCOUNTER,//反击率
|
||
CHAR_WORKMPOWER, //加强法师的魔法( 受影响的法术:火山泉 火星球 召雷术 电流术 暴风雨 冰箭术 冰爆术 世界末日 火龙枪 嗜血成性 嗜血蛊 一针见血 附身术 )
|
||
#endif
|
||
#ifdef _SUIT_TWFWENDUM
|
||
CHAR_WORK_EA,//地
|
||
CHAR_WORK_WR,//水
|
||
CHAR_WORK_FI,//火
|
||
CHAR_WORK_WI,//风
|
||
#endif
|
||
#ifdef _SUIT_ADDPART3
|
||
CHAR_WORKDUCKPOWER,//套装回避
|
||
CHAR_WORKRENOCAST, //沉默抗性率
|
||
CHAR_WORKSUITSTR_P,//攻提升 单位为%
|
||
CHAR_WORKSUITTGH_P,//防提升 单位为%
|
||
CHAR_WORKSUITDEX_P,//敏提升 单位为%
|
||
#endif
|
||
#ifdef _SUIT_ADDPART4
|
||
CHAR_SUITPOISON, //装备带毒
|
||
CHAR_WORKMPOWER2, //与CHAR_WORKMPOWER相同
|
||
CHAR_WORKUNMPOWER, //抵抗法师的魔法( 受影响的法术:火山泉 火星球 召雷术 电流术 暴风雨 冰箭术 冰爆术 世界末日 火龙枪 嗜血成性 嗜血蛊 一针见血 附身术 )
|
||
#endif
|
||
#endif//_SUIT_ITEM
|
||
|
||
#ifdef _IMPRECATE_ITEM
|
||
CHAR_WORKHURTMP, //伤害 MP
|
||
CHAR_WORKWISHESHP, //祝福 hp
|
||
CHAR_WORKWISHESMP, //祝福 MP
|
||
CHAR_WORKIMPRECATENUM1,
|
||
CHAR_WORKIMPRECATENUM2,
|
||
CHAR_WORKIMPRECATENUM3,
|
||
#endif
|
||
#ifdef _STATUS_WATERWORD
|
||
CHAR_WORKMAPFLOORTYPE,
|
||
CHAR_WORKSTATUSWATER,
|
||
#endif
|
||
#ifdef _BATTLENPC_WARP_PLAYER
|
||
CHAR_WORKTURN,
|
||
#endif
|
||
#ifdef _MIND_ICON
|
||
CHAR_MIND_NUM,
|
||
#endif
|
||
#ifdef _ITEM_CRACKER
|
||
CHAR_WORKITEM_CRACKER,
|
||
#endif
|
||
#ifdef _ALLDOMAN // (不可开) Syu ADD 排行榜NPC
|
||
CHAR_WORKHEROFLOOR,
|
||
#endif
|
||
|
||
#ifdef _PROFESSION_SKILL // WON ADD 人物职业技能
|
||
CHAR_ENCOUNT_FIX, // 遇敌率
|
||
CHAR_ENCOUNT_NUM,
|
||
CHAR_WORK_F_PROFICIENCY,// 火熟练度
|
||
CHAR_WORK_I_PROFICIENCY,// 冰熟练度
|
||
CHAR_WORK_T_PROFICIENCY,// 电熟练度
|
||
CHAR_WORK_F_RESIST, // 火抗
|
||
CHAR_WORK_I_RESIST, // 冰抗
|
||
CHAR_WORK_T_RESIST, // 电抗
|
||
CHAR_MYSKILLHIT, // 命中率
|
||
CHAR_MYSKILLHIT_NUM,
|
||
CHAR_WORKDIZZY, // 晕眩
|
||
CHAR_WORKMODDIZZY,
|
||
CHAR_WORKENTWINE, // 树根缠绕
|
||
CHAR_WORKMODENTWINE,
|
||
CHAR_WORKTRAP, // 陷阱
|
||
CHAR_WORKMODTRAP,
|
||
CHAR_WORKDRAGNET, // 天罗地网
|
||
CHAR_WORKMODDRAGNET,
|
||
#ifdef _PROFESSION_ADDSKILL
|
||
//***********注意:这里的位置不可更动*************
|
||
CHAR_WORKICECRACK, // 冰爆术
|
||
CHAR_WORKICECRACK2, // 冰爆术存放处2
|
||
CHAR_WORKICECRACK3, // 冰爆术存放处3
|
||
CHAR_WORKICECRACK4, // 冰爆术存放处4
|
||
CHAR_WORKICECRACK5, // 冰爆术存放处5
|
||
CHAR_WORKICECRACK6, // 冰爆术存放处6
|
||
CHAR_WORKICECRACK7, // 冰爆术存放处7
|
||
CHAR_WORKICECRACK8, // 冰爆术存放处8
|
||
CHAR_WORKICECRACK9, // 冰爆术存放处9
|
||
CHAR_WORKICECRACK10, // 冰爆术存放处10
|
||
CHAR_WORKMODICECRACK,
|
||
CHAR_WORKMODICECRACK2,
|
||
CHAR_WORKMODICECRACK3,
|
||
CHAR_WORKMODICECRACK4,
|
||
CHAR_WORKMODICECRACK5,
|
||
CHAR_WORKMODICECRACK6,
|
||
CHAR_WORKMODICECRACK7,
|
||
CHAR_WORKMODICECRACK8,
|
||
CHAR_WORKMODICECRACK9,
|
||
CHAR_WORKMODICECRACK10,
|
||
//*****************************************
|
||
#else
|
||
CHAR_WORKICECRACK, // 冰爆术
|
||
CHAR_WORKMODICECRACK,
|
||
#endif //_PROFESSION_ADDSKILL
|
||
|
||
CHAR_WORKOBLIVION, // 遗忘
|
||
CHAR_WORKMODOBLIVION,
|
||
CHAR_WORKICEARROW, // 冰箭
|
||
CHAR_WORKMODICEARROW,
|
||
CHAR_WORKBLOODWORMS, // 嗜血蛊
|
||
CHAR_WORKMODBLOODWORMS,
|
||
CHAR_WORKBLOODWORMSID,
|
||
CHAR_WORKSIGN, // 一针见血
|
||
CHAR_WORKMODSIGN,
|
||
CHAR_WORKSIGNID,
|
||
CHAR_WORK_P_DUCK, // 回避
|
||
CHAR_WORKMOD_P_DUCK,
|
||
CHAR_WORK_WEAPON, // 武器专精
|
||
CHAR_WORKMOD_WEAPON,
|
||
CHAR_WORK_FOCUS, // 专注战斗
|
||
CHAR_WORKMOD_FOCUS,
|
||
CHAR_WORKINSTIGATE, // 挑拨
|
||
CHAR_WORKMODINSTIGATE,
|
||
CHAR_WORK_F_ENCLOSE, // 火附体
|
||
CHAR_WORK_I_ENCLOSE, // 冰附体
|
||
CHAR_WORK_T_ENCLOSE, // 雷附体
|
||
CHAR_WORKMOD_F_ENCLOSE,
|
||
CHAR_WORKMOD_I_ENCLOSE,
|
||
CHAR_WORKMOD_T_ENCLOSE,
|
||
CHAR_WORK_F_ENCLOSE_2, // 火附
|
||
CHAR_WORK_I_ENCLOSE_2, // 冰附
|
||
CHAR_WORK_T_ENCLOSE_2, // 雷附
|
||
CHAR_WORKMOD_F_ENCLOSE_2,
|
||
CHAR_WORKMOD_I_ENCLOSE_2,
|
||
CHAR_WORKMOD_T_ENCLOSE_2,
|
||
CHAR_WORKRESIST_F, // 提升火抗性
|
||
CHAR_WORKRESIST_I, // 提升冰抗性
|
||
CHAR_WORKRESIST_T, // 提升雷抗性
|
||
#ifdef _PROFESSION_ADDSKILL
|
||
CHAR_WORKERSIST_F_I_T, // 提升火冰雷抗性
|
||
CHAR_WORKANNEX, //附身
|
||
CHAR_WORKWATER, //水附体
|
||
CHAR_WORKFEAR, //恐惧
|
||
CHAR_DOOMTIME, //世界末日集气(与火龙枪共用)
|
||
CHAR_WORK_com1,
|
||
CHAR_WORK_toNo,
|
||
CHAR_WORK_mode,
|
||
CHAR_WORK_skill_level,
|
||
CHAR_WORK_array,
|
||
#endif
|
||
CHAR_WORKMODRESIST_F, // 提升火抗性百分比数值
|
||
CHAR_WORKMODRESIST_I, // 提升冰抗性百分比数值
|
||
CHAR_WORKMODRESIST_T, // 提升雷抗性百分比数值
|
||
#endif
|
||
|
||
#ifdef _MAGICSTAUTS_RESIST
|
||
CHAR_MAGICFIRE, //火抗精灵
|
||
CHAR_MAGICTHUNDER,//电抗精灵
|
||
CHAR_MAGICICE,//冰抗精灵
|
||
#endif
|
||
|
||
#ifdef _PET_SKILL_SARS // WON ADD 毒煞蔓延
|
||
CHAR_WORKSARS,
|
||
CHAR_WORKMODSARS,
|
||
#endif
|
||
|
||
#ifdef _PETSKILL_ACUPUNCTURE
|
||
CHAR_WORKACUPUNCTURE,
|
||
#endif
|
||
#ifdef _PETSKILL_RETRACE
|
||
CHAR_WORKRETRACE,
|
||
#endif
|
||
|
||
#ifdef _CHATROOMPROTOCOL // (不可开) Syu ADD 聊天室频道
|
||
CHAR_WORKCHATROOMTYPE ,
|
||
CHAR_WORKCHATROOMNUM ,
|
||
#endif
|
||
|
||
#ifdef _MAGIC_RESIST_EQUIT // WON ADD 职业抗性装备
|
||
CHAR_WORK_F_SUIT,
|
||
CHAR_WORK_I_SUIT,
|
||
CHAR_WORK_T_SUIT,
|
||
#endif
|
||
|
||
#ifdef _PETSKILL_BECOMEFOX
|
||
CHAR_WORKFOXROUND, //计算狐狸变身回合数
|
||
#endif
|
||
|
||
CHAR_WORKSTANDBYPET, // Robin add 待机宠
|
||
#ifdef _STREET_VENDOR
|
||
CHAR_WORKSTREETVENDOR, // 摆摊状态 -1:没在摆摊,也没在摆摊交易;1:摆摊中;2:卖方在交易中;3:摆摊的买方
|
||
CHAR_WORKSTREETVENDOR_WHO, // 谁和我交易
|
||
#endif
|
||
|
||
#ifdef _ANGEL_SUMMON
|
||
CHAR_WORKMISSION,
|
||
CHAR_WORKANGELMODE,
|
||
#endif
|
||
#ifdef _MAP_TIME
|
||
CHAR_WORK_MAP_TIME, // 特殊地图倒数
|
||
#endif
|
||
#ifdef _PETSKILL_LER
|
||
CHAR_WORK_RELIFE, // 雷尔复活
|
||
#endif
|
||
#ifdef _TEACHER_SYSTEM
|
||
CHAR_WORK_GET_TEACHER_FAME, // 导师领导声望
|
||
#endif
|
||
|
||
CHAR_WORKSKYWALKER, // GM天行者??
|
||
|
||
CHAR_WORKLASTMERGETIME, // 最後合成时间
|
||
|
||
#ifdef _FONT_SIZE
|
||
CHAR_WORKFONTSIZE, //
|
||
#endif
|
||
|
||
#ifdef _TIME_TICKET
|
||
CHAR_WORKTICKETTIME,
|
||
CHAR_WORKTICKETTIMESTART,
|
||
#endif
|
||
// CHAR_WORKAMPOINT,
|
||
CHAR_WORKDBATTLEESCAPE,
|
||
#ifdef _AUTO_PK
|
||
CHAR_WORK_AUTOPK, //自动化PK
|
||
CHAR_WORK_AUTOPK_DEAD, //死亡记
|
||
#endif
|
||
CHAR_WORKDEBUGMODE, // 除错模式中
|
||
#ifdef _TRADE_PK
|
||
CHAR_WORKTRADEPK,
|
||
#endif
|
||
CHAR_WORKSAFEMODE,
|
||
CHAR_WORKTRADETYPE,
|
||
CHAR_WORKSAVETIME,
|
||
#ifdef _ALL_TALK
|
||
CHAR_WORKALLTALKTIME,
|
||
CHAR_WORKALLTALKTYPE,
|
||
#endif
|
||
#ifdef _QUESTION_ONLINE
|
||
CHAR_WORKQUESTIONFLG,
|
||
#endif
|
||
CHAR_WORKPETSKILLBT,
|
||
#ifdef _VIGOR_SYS
|
||
CHAR_WORKVIGORTIME,
|
||
#endif
|
||
CHAR_WORKBATTLECOM5,
|
||
CHAR_WORKBATTLECOM6,
|
||
CHAR_WORKBATTLECOM7,
|
||
CHAR_WORKLISTPAGE,
|
||
CHAR_WORKLISTSELECT,
|
||
#ifdef _NPCENEMY_1
|
||
CHAR_WORKBATTLEHELP,
|
||
#endif
|
||
#ifdef _OFFLINE_SYSTEM
|
||
CHAR_WORK_OFFLINE,
|
||
#endif
|
||
#ifdef _PET_RESET
|
||
CHAR_WORKRESETPETINDEX,
|
||
#endif
|
||
#ifdef _BATTLEMAP_CTRL
|
||
CHAR_WORKBATTLETIME,
|
||
#endif
|
||
#ifdef _ZHIPIAO_SYSTEM
|
||
CHAR_WORKZHIPIAOPOINT,
|
||
CHAR_WORKZHIPIAOITEM,
|
||
#endif
|
||
#ifdef _NO_DROPITEM
|
||
CHAR_DROPITEMCHARAINDEX,
|
||
#endif
|
||
#ifdef _FMZUZHANG_MSG
|
||
CHAR_WORKLOGININTYPE,
|
||
#endif
|
||
#ifdef _WAN_FIX
|
||
CHAR_WORKBATTLEPROTYPE,
|
||
#endif
|
||
#ifdef _ITEM_RESET
|
||
CHAR_WORKFROMITEMINDEX,
|
||
CHAR_WORKTOITEMINDEX,
|
||
#endif
|
||
#ifdef _WARNPC_CTRL
|
||
CHAR_WORKNPCENEMYTIME,
|
||
CHAR_WORKNPCENEMYBATTLETIME,
|
||
CHAR_WORKNPCBATTLESAMEIP,
|
||
#endif
|
||
#ifdef _NO_DAOLUAN
|
||
CHAR_WORKNOTALKTRNTIME,
|
||
#endif
|
||
#ifdef _NPC_PETSKILLUP
|
||
CHAR_WORKPETSKILLUP,
|
||
#endif
|
||
#ifdef _DP_ZHIPIAO_ITEM
|
||
CHAR_WORKDPZHIPIAOITEM,
|
||
CHAR_WORKDPZHIPIAOSHUI,
|
||
CHAR_WORKDPZHIPIAORAND,
|
||
CHAR_WORKDPZHIPIAOPOINT,
|
||
#endif
|
||
CHAR_WORKRANDEDITBASETIME,
|
||
CHAR_WORKRANDTYPE,
|
||
#ifdef _LOOK_STREET_TIME
|
||
CHAR_LOOKSTREETTIME,
|
||
#endif
|
||
CHAR_WORKLUANPCINT,
|
||
CHAR_WORKLUANPCINT1,
|
||
#ifdef _BATTLEEND_FIX
|
||
CHAR_WORKBALLTELENDTIME,
|
||
#endif
|
||
CHAR_WORKBATTLEREVERSE,
|
||
CHAR_WORKNPCTYPE,
|
||
CHAR_WORKJILU,
|
||
CHAR_LASTCHARSAVETIME,
|
||
CHAR_WORKOFFLINETIME,
|
||
CHAR_WORKITEMEXP,
|
||
#ifdef _ONLINE_TIME
|
||
CHAR_WORK_LOGIN_TIME,
|
||
#endif
|
||
#ifdef _SPECIAL_COUNTER
|
||
CHAR_WORK_COUNTER,
|
||
#endif
|
||
#ifdef _SPECIAL_TIMER
|
||
CHAR_WORK_TIMER,
|
||
#endif
|
||
#ifdef _FIX_SAVE_CHAR
|
||
CHAR_WORK_SAVE_CHAR,
|
||
#endif
|
||
#ifdef _RECORD_IP
|
||
CHAR_WORK_RECORD_IP,
|
||
#endif
|
||
#ifdef _NULL_CHECK_ITEM
|
||
CHAR_WORKITEMINDEX, // 物品序号
|
||
#endif
|
||
#ifdef _FIX_STW_SPEED_ENEMY
|
||
CHAR_WORK_X,
|
||
CHAR_WORK_Y,
|
||
CHAR_WORK_W,
|
||
CHAR_WORK_DIR,
|
||
#endif
|
||
CHAR_WORKDATAINTNUM,
|
||
|
||
|
||
CHAR_WORKENCOUNTPROBABILITY_MIN = CHAR_NPCWORKINT1,
|
||
CHAR_WORKENCOUNTPROBABILITY_MAX = CHAR_NPCWORKINT2,
|
||
CHAR_WORK_TOHELOS_CUTRATE = CHAR_NPCWORKINT3,
|
||
CHAR_WORK_TOHELOS_COUNT = CHAR_NPCWORKINT4,
|
||
CHAR_WORKSHOPRELEVANT = CHAR_NPCWORKINT5,
|
||
CHAR_WORKSHOPRELEVANTSEC = CHAR_NPCWORKINT6,
|
||
CHAR_WORKSHOPRELEVANTTRD = CHAR_NPCWORKINT7,
|
||
CHAR_WORKTRADER = CHAR_NPCWORKINT8,
|
||
CHAR_WORKEFFECT = CHAR_NPCWORKINT9,
|
||
CHAR_WORKRENAMEITEMNUM = CHAR_NPCWORKINT10,
|
||
CHAR_WORKRENAMEITEMINDEX = CHAR_NPCWORKINT5,
|
||
CHAR_WORKPLAYERINDEX = CHAR_NPCWORKINT1,
|
||
CHAR_WORKTACTICS = CHAR_NPCWORKINT2,
|
||
CHAR_WORKPETFOLLOWMODE = CHAR_NPCWORKINT3,
|
||
CHAR_WORKPETFOLLOWCOUNT = CHAR_NPCWORKINT4,
|
||
CHAR_WORK_PETFLG = CHAR_NPCWORKINT1,
|
||
CHAR_WORKGENERATEINDEX = CHAR_NPCWORKINT1,
|
||
CHAR_WORKDOORCLOSETIME = CHAR_NPCWORKINT1,
|
||
CHAR_WORKDOORSWITCHCOUNT = CHAR_NPCWORKINT2,
|
||
CHAR_WORKDOOROPENG = CHAR_NPCWORKINT3,
|
||
CHAR_WORKDOORCLOSEG = CHAR_NPCWORKINT4,
|
||
CHAR_WORKDOORSOONFLG = CHAR_NPCWORKINT5,
|
||
CHAR_WORKDOORPASSFLG = CHAR_NPCWORKINT6,
|
||
CHAR_WORKDOORKEYITEMID = CHAR_NPCWORKINT7,
|
||
CHAR_WORKDOORSWITCHCURRENT = CHAR_NPCWORKINT8,
|
||
CHAR_WORKDOORORIGINALGRAPHIC = CHAR_NPCWORKINT9,
|
||
CHAR_WORKDOOREXPIRETIME = CHAR_NPCWORKINT10,
|
||
CHAR_WORKOLDMANID = CHAR_NPCWORKINT1,
|
||
CHAR_WORKSHOPCLIENTINDEX = CHAR_NPCWORKINT1,
|
||
CHAR_WORKDENGONMAXID = CHAR_NPCWORKINT1,
|
||
}CHAR_WORKDATAINT;
|
||
|
||
|
||
enum{
|
||
WORKFLG_DEBUGMODE = ( 1 << 0 ),
|
||
WORKFLG_MICMODE = ( 2 << 0 ),
|
||
};
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_INITFUNC,
|
||
CHAR_FIRSTFUNCTION = CHAR_INITFUNC,
|
||
CHAR_WALKPREFUNC,
|
||
CHAR_WALKPOSTFUNC,
|
||
CHAR_PREOVERFUNC,
|
||
CHAR_POSTOVERFUNC,
|
||
CHAR_WATCHFUNC,
|
||
CHAR_LOOPFUNC,
|
||
CHAR_DYINGFUNC,
|
||
CHAR_TALKEDFUNC,
|
||
CHAR_PREATTACKEDFUNC,
|
||
CHAR_POSTATTACKEDFUNC,
|
||
CHAR_OFFFUNC,
|
||
CHAR_LOOKEDFUNC,
|
||
CHAR_ITEMPUTFUNC,
|
||
CHAR_SPECIALTALKEDFUNC,
|
||
CHAR_WINDOWTALKEDFUNC,
|
||
#ifdef _USER_CHARLOOPS
|
||
CHAR_LOOPFUNCTEMP1,
|
||
CHAR_LOOPFUNCTEMP2,
|
||
CHAR_BATTLEPROPERTY,
|
||
#endif
|
||
#ifdef _ALLBLUES_LUA
|
||
CHAR_OVERLAPEDFUNC,
|
||
CHAR_BATTLEOVERDFUNC,
|
||
#ifdef _ALLBLUES_LUA_1_4
|
||
CHAR_LOGINOUTFUNC,
|
||
#endif
|
||
#ifdef _ALLBLUES_LUA_1_9
|
||
CHAR_BATTLESETFUNC,
|
||
#endif
|
||
#endif
|
||
CHAR_LASTFUNCTION,
|
||
CHAR_FUNCTABLENUM = CHAR_LASTFUNCTION,
|
||
}CHAR_FUNCTABLE;
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_WORKWALKARRAY,
|
||
CHAR_NPCWORKCHAR1,
|
||
CHAR_NPCWORKCHAR2,
|
||
CHAR_NPCWORKCHAR3,
|
||
CHAR_NPCWORKCHAR4,
|
||
CHAR_NPCWORKCHAR5,
|
||
CHAR_NPCWORKCHAR6,
|
||
#ifdef _ANGEL_SUMMON
|
||
CHAR_WORKHEROINFO,
|
||
#endif
|
||
#ifdef _STREET_VENDOR
|
||
CHAR_STREETVENDOR_NAME,
|
||
#endif
|
||
#ifdef _NO_QUICK_WAR
|
||
CHAR_WARWORKXYD,
|
||
#endif
|
||
CHAR_WORKDATACHARNUM,
|
||
CHAR_WORKBATTLE_TACTICSOPTION = CHAR_NPCWORKCHAR1,
|
||
#ifdef _BATTLENPC_WARP_PLAYER
|
||
CHAR_WORKBATTLE_ACT_CONDITION = CHAR_NPCWORKCHAR2,
|
||
#endif
|
||
CHAR_WORKDOORPASSWD = CHAR_NPCWORKCHAR1,
|
||
CHAR_WORKDOORNAME = CHAR_NPCWORKCHAR2,
|
||
CHAR_WORKDOORGOLDLIMIT = CHAR_NPCWORKCHAR3,
|
||
CHAR_WORKDOORWEEK = CHAR_NPCWORKCHAR4,
|
||
CHAR_WORKDOORHOUR = CHAR_NPCWORKCHAR5,
|
||
CHAR_WORKDOORMINUTE = CHAR_NPCWORKCHAR6,
|
||
CHAR_WORKDOORTITLE = CHAR_NPCWORKCHAR6,
|
||
CHAR_WORKDOORMANDOORNAME = CHAR_NPCWORKCHAR1,
|
||
CHAR_TIME1,
|
||
CHAR_TIME2 = CHAR_NPCWORKCHAR6,
|
||
CHAR_WORKRANDMSG,
|
||
CHAR_WORKRANDEDITBASE,
|
||
#ifdef _MM_NO_JIAOBEN
|
||
CHAR_WORKDROPMM,
|
||
#endif
|
||
}CHAR_WORKDATACHAR;
|
||
|
||
|
||
typedef enum
|
||
{
|
||
CHAR_IMAGETYPE_GIRL,
|
||
CHAR_IMAGETYPE_BOY,
|
||
CHAR_IMAGETYPE_CHILDBOY,
|
||
CHAR_IMAGETYPE_CHILDGIRL,
|
||
CHAR_IMAGETYPE_MAN,
|
||
CHAR_IMAGETYPE_WOMAN,
|
||
CHAR_IMAGETYPE_OLDMAN,
|
||
CHAR_IMAGETYPE_DOG,
|
||
CHAR_IMAGETYPENUM
|
||
}CHAR_ImageType;
|
||
|
||
|
||
#define CHAR_P_STRING_HP ( 1 << 1 ) // 0x00000002
|
||
#define CHAR_P_STRING_MAXHP ( 1 << 2 ) // 0x00000004
|
||
#define CHAR_P_STRING_MP ( 1 << 3 ) // 0x00000008
|
||
#define CHAR_P_STRING_MAXMP ( 1 << 4 ) // 0x00000010
|
||
#define CHAR_P_STRING_VITAL ( 1 << 5 )
|
||
#define CHAR_P_STRING_STR ( 1 << 6 )
|
||
#define CHAR_P_STRING_TOUGH ( 1 << 7 )
|
||
#define CHAR_P_STRING_DEX ( 1 << 8 )
|
||
#define CHAR_P_STRING_EXP ( 1 << 9 )
|
||
#define CHAR_P_STRING_NEXTEXP ( 1 << 10 )
|
||
#define CHAR_P_STRING_LV ( 1 << 11 )
|
||
#define CHAR_P_STRING_ATK ( 1 << 12 )
|
||
#define CHAR_P_STRING_DEF ( 1 << 13 )
|
||
#define CHAR_P_STRING_QUICK ( 1 << 14 )
|
||
#define CHAR_P_STRING_CHARM ( 1 << 15 )
|
||
#define CHAR_P_STRING_LUCK ( 1 << 16 )
|
||
#define CHAR_P_STRING_EARTH ( 1 << 17 )
|
||
#define CHAR_P_STRING_WATER ( 1 << 18 )
|
||
#define CHAR_P_STRING_FIRE ( 1 << 19 )
|
||
#define CHAR_P_STRING_WIND ( 1 << 20 )
|
||
#define CHAR_P_STRING_GOLD ( 1 << 21 )
|
||
#define CHAR_P_STRING_TITLE ( 1 << 22 )
|
||
#define CHAR_P_STRING_DUELPOINT ( 1 << 23 )
|
||
#define CHAR_P_STRING_TRANSMIGRATION ( 1 << 24 )
|
||
#define CHAR_P_STRING_NAME ( 1 << 25 )
|
||
#define CHAR_P_STRING_OWNTITLE ( 1 << 26 )
|
||
#define CHAR_P_STRING_RIDEPET ( 1 << 27 ) // 0x08000000
|
||
#define CHAR_P_STRING_LEARNRIDE ( 1 << 28 ) // 0x10000000
|
||
#define CHAR_P_STRING_BASEBASEIMAGENUMBER ( 1 << 29 ) // 0x20000000
|
||
//#define CHAR_P_STRING_PKDP ( 1 << 30 )
|
||
//#ifdef _CHAR_PROFESSION
|
||
//#define CHAR_P_STRING_PROFESSION ( 1 << 30 )
|
||
//#endif
|
||
#define CHAR_P_STRING_SKYWALKER ( 1 << 30 ) // 0x40000000
|
||
#define CHAR_P_STRING_DEBUGMODE ( 1 << 31 ) // 0x80000000
|
||
|
||
|
||
#define CHAR_N_STRING_OBJINDEX ( 1 << 1 )
|
||
#define CHAR_N_STRING_LV ( 1 << 2 )
|
||
#define CHAR_N_STRING_MAXHP ( 1 << 3 )
|
||
#define CHAR_N_STRING_HP ( 1 << 4 )
|
||
#define CHAR_N_STRING_MP ( 1 << 5 )
|
||
#define CHAR_N_STRING_NAME ( 1 << 6 )
|
||
|
||
#define CHAR_K_STRING_BASEIMAGENUMBER ( 1 << 1 )
|
||
#define CHAR_K_STRING_HP ( 1 << 2 )
|
||
#define CHAR_K_STRING_MAXHP ( 1 << 3 )
|
||
#define CHAR_K_STRING_MP ( 1 << 4 )
|
||
#define CHAR_K_STRING_MAXMP ( 1 << 5 )
|
||
#define CHAR_K_STRING_EXP ( 1 << 6 )
|
||
#define CHAR_K_STRING_NEXTEXP ( 1 << 7 )
|
||
#define CHAR_K_STRING_LV ( 1 << 8 )
|
||
#define CHAR_K_STRING_ATK ( 1 << 9 )
|
||
#define CHAR_K_STRING_DEF ( 1 << 10 )
|
||
#define CHAR_K_STRING_QUICK ( 1 << 11 )
|
||
#define CHAR_K_STRING_AI ( 1 << 12 )
|
||
#define CHAR_K_STRING_EARTH ( 1 << 13 )
|
||
#define CHAR_K_STRING_WATER ( 1 << 14 )
|
||
#define CHAR_K_STRING_FIRE ( 1 << 15 )
|
||
#define CHAR_K_STRING_WIND ( 1 << 16 )
|
||
#define CHAR_K_STRING_SLOT ( 1 << 17 )
|
||
#define CHAR_K_STRING_CHANGENAMEFLG ( 1 << 18 )
|
||
#define CHAR_K_STRING_NAME ( 1 << 19 )
|
||
#define CHAR_K_STRING_USERPETNAME ( 1 << 20 )
|
||
|
||
typedef union {
|
||
int indexOfPet[CHAR_MAXPETHAVE];
|
||
int indexOfPetskill[CHAR_MAXPETSKILLHAVE];
|
||
}CHAR_UNIONTABLE;
|
||
|
||
typedef struct tagChar
|
||
{
|
||
BOOL use;
|
||
|
||
int data[CHAR_DATAINTNUM];
|
||
STRING128 string[CHAR_DATACHARNUM];
|
||
char flg[(CHAR_FLGNUM%(sizeof(char)*8))
|
||
? (CHAR_FLGNUM/(sizeof(char)*8))+1
|
||
: (CHAR_FLGNUM/(sizeof(char)*8))];
|
||
int indexOfExistItems[CHAR_MAXITEMHAVE];
|
||
int indexOfExistPoolItems[CHAR_MAXPOOLITEMHAVE];
|
||
|
||
#ifdef _CHAR_POOLITEM
|
||
int *indexOfExistDepotItems;
|
||
#endif
|
||
#ifdef _CHAR_POOLPET
|
||
int *indexOfExistDepotPets;
|
||
#endif
|
||
|
||
CHAR_HaveSkill haveSkill[CHAR_SKILLMAXHAVE];
|
||
int indexOfHaveTitle[CHAR_TITLEMAXHAVE];
|
||
ADDRESSBOOK_entry addressBook[ADDRESSBOOK_MAX];
|
||
CHAR_UNIONTABLE unionTable;
|
||
int indexOfPoolPet[CHAR_MAXPOOLPETHAVE];
|
||
STRING32 charfunctable[CHAR_FUNCTABLENUM];
|
||
int workint[CHAR_WORKDATAINTNUM];
|
||
STRING64 workchar[CHAR_WORKDATACHARNUM];
|
||
int CharMakeSequenceNumber;
|
||
void* functable[CHAR_FUNCTABLENUM];
|
||
#ifdef _JZ_NEWSCRIPT_LUA
|
||
STRING32 lua_charfunctable[CHAR_FUNCTABLENUM];
|
||
|
||
void* sur_functable[CHAR_FUNCTABLENUM];
|
||
STRING32 sur_charfunctable[CHAR_FUNCTABLENUM];
|
||
#endif
|
||
|
||
#ifdef _STREET_VENDOR
|
||
StreetVendor_t StreetVendor[MAX_SELL_ITEM];
|
||
#endif
|
||
#ifdef _ALLBLUES_LUA
|
||
lua_State *lua[CHAR_FUNCTABLENUM];
|
||
char *luafunctable[CHAR_FUNCTABLENUM];
|
||
#endif
|
||
}Char;
|
||
|
||
|
||
#define CHAR_CHECKINDEX( index) _CHAR_CHECKINDEX( __FILE__, __LINE__, index)
|
||
INLINE BOOL _CHAR_CHECKINDEX( char *file, int line, int index);
|
||
#define CHAR_CHECKITEMINDEX( charaindex, iindex) _CHAR_CHECKITEMINDEX( __FILE__, __LINE__, charaindex, iindex)
|
||
INLINE BOOL _CHAR_CHECKITEMINDEX( char *file, int line, int charaindex, int iindex );
|
||
#define CHAR_CHECKPETINDEX( petindex) _CHAR_CHECKPETINDEX( __FILE__, __LINE__, petindex )
|
||
INLINE BOOL _CHAR_CHECKPETINDEX( char *file, int line, int petindex );
|
||
#define CHAR_CHECKPOOLPETINDEX( petindex) _CHAR_CHECKPOOLPETINDEX( __FILE__, __LINE__, petindex )
|
||
INLINE BOOL _CHAR_CHECKPOOLPETINDEX( char *file, int line, int petindex );
|
||
#define CHAR_CHECKPETSKILLINDEX( havepetskillindex) _CHAR_CHECKPETSKILLINDEX( __FILE__, __LINE__, havepetskillindex)
|
||
INLINE BOOL _CHAR_CHECKPETSKILLINDEX( char *file, int line, int havepetskillindex );
|
||
|
||
INLINE int CHAR_getInt( int index , CHAR_DATAINT element);
|
||
#define CHAR_setInt( index , element, data) _CHAR_setInt( __FILE__, __LINE__, index , element, data)
|
||
INLINE int _CHAR_setInt( char *file, int line, int index ,CHAR_DATAINT element, int data);
|
||
#ifdef _FIX_SETWORKINT
|
||
#define CHAR_getWorkInt( index , element) _CHAR_getWorkInt( __FILE__, __LINE__, index , element)
|
||
INLINE int _CHAR_getWorkInt( char *file, int line, int index ,CHAR_WORKDATAINT element);
|
||
#define CHAR_setWorkInt( index, element, data) _CHAR_setWorkInt( __FILE__, __LINE__, index , element, data)
|
||
INLINE int _CHAR_setWorkInt( char *file, int line, int index ,CHAR_WORKDATAINT element, int data);
|
||
#else
|
||
INLINE int CHAR_setWorkInt( int index ,CHAR_WORKDATAINT element, int data);
|
||
#endif
|
||
#define CHAR_getChar( index, elem) _CHAR_getChar( __FILE__, __LINE__, index, elem)
|
||
INLINE char* _CHAR_getChar( char *file, int line, int index ,CHAR_DATACHAR element );
|
||
#define CHAR_setChar( index, elem, n) _CHAR_setChar( __FILE__, __LINE__, index, elem, n)
|
||
INLINE BOOL _CHAR_setChar( char *file, int line, int index ,CHAR_DATACHAR element, char* new );
|
||
#define CHAR_getFlg( index, elem) _CHAR_getFlg( __FILE__, __LINE__, index, elem)
|
||
INLINE BOOL _CHAR_getFlg( char *file, int line, int index ,CHAR_DATAFLG element );
|
||
#define CHAR_setFlg( index, elem, n) _CHAR_setFlg( __FILE__, __LINE__, index, elem, n)
|
||
INLINE BOOL _CHAR_setFlg( char *file, int line, int index , CHAR_DATACHAR element, int newdata );
|
||
#define CHAR_getWorkChar( index, elem) _CHAR_getWorkChar( __FILE__, __LINE__, index, elem)
|
||
INLINE char * _CHAR_getWorkChar( char *file, int line, int index, CHAR_WORKDATACHAR element );
|
||
#define CHAR_setWorkChar( index, elem, n) _CHAR_setWorkChar( __FILE__, __LINE__, index, elem, n)
|
||
INLINE BOOL _CHAR_setWorkChar( char *file, int line, int index, CHAR_WORKDATACHAR element, char * new);
|
||
|
||
#define CHAR_getItemIndex( index, iindex) _CHAR_getItemIndex( __FILE__, __LINE__, index, iindex)
|
||
INLINE int _CHAR_getItemIndex( char *file, int line, int charaindex, int ti);
|
||
#define CHAR_setItemIndex( index, iindex,id) _CHAR_setItemIndex( __FILE__, __LINE__, index, iindex, id)
|
||
INLINE int _CHAR_setItemIndex( char *file, int line, int index ,int iindex,int id );
|
||
#define CHAR_getPoolItemIndex( index, iindex) _CHAR_getPoolItemIndex( __FILE__, __LINE__, index, iindex)
|
||
INLINE int _CHAR_getPoolItemIndex( char *file, int line, int index, int iindex);
|
||
#define CHAR_setPoolItemIndex( index, iindex,id) _CHAR_setPoolItemIndex( __FILE__, __LINE__, index, iindex, id)
|
||
INLINE int _CHAR_setPoolItemIndex( char *file, int line, int index ,int iindex,int id );
|
||
INLINE BOOL CHAR_setAddressbookEntry( int index , int aindex , ADDRESSBOOK_entry *a );
|
||
INLINE ADDRESSBOOK_entry* CHAR_getAddressbookEntry( int index , int aindex);
|
||
INLINE Char* CHAR_getCharPointer( int index );
|
||
INLINE int CHAR_getCharNum( void );
|
||
INLINE int CHAR_getPlayerMaxNum( void );
|
||
INLINE int CHAR_getPetMaxNum( void );
|
||
INLINE int CHAR_getOthersMaxNum( void );
|
||
INLINE BOOL CHAR_getCharUse( int index );
|
||
INLINE CHAR_HaveSkill* CHAR_getCharHaveSkill( int index,int sindex );
|
||
INLINE int CHAR_getCharHaveTitle( int index,int tindex );
|
||
INLINE int CHAR_setCharHaveTitle( int charaindex,int tindex, int new );
|
||
INLINE int CHAR_getCharPet( int charaindex,int petindex );
|
||
INLINE int CHAR_setCharPet( int charaindex,int petindex, int new );
|
||
INLINE int CHAR_getCharPoolPet( int charaindex,int petindex );
|
||
INLINE int CHAR_setCharPoolPet( int charaindex,int petindex, int new );
|
||
int CHAR_getCharPetElement( int charaindex );
|
||
int CHAR_getCharPoolPetElement( int charaindex );
|
||
int CHAR_getCharPoolItemIndexElement( int charaindex );
|
||
int CHAR_getEmptyCharPoolItemIndexNum( int charaindex);
|
||
#ifdef _CHAR_POOLPET
|
||
int CHAR_getCharDepotPetElement( int charaindex );
|
||
#endif
|
||
#define CHAR_getIntPSkill( index, skillti, ti) _CHAR_getIntPSkill( __FILE__, __LINE__, index, skillti, ti)
|
||
INLINE int _CHAR_getIntPSkill( char *file, int line, int index, int skillti, SKILL_DATAINT ti);
|
||
|
||
#define CHAR_setIntPSkill( index, skillti, ti, data) _CHAR_setIntPSkill( __FILE__, __LINE__, index, skillti, ti, data)
|
||
INLINE void _CHAR_setIntPSkill( char *file, int line, int index, int skillti, SKILL_DATAINT ti, int data);
|
||
|
||
|
||
extern Char *CHAR_chara;
|
||
|
||
|
||
INLINE int CHAR_getCharMakeSequenceNumber( int charaindex );
|
||
void CHAR_constructFunctable( int charaindex );
|
||
void* CHAR_getFunctionPointer( int charaindex, int functype );
|
||
#ifdef _ALLBLUES_LUA
|
||
|
||
INLINE BOOL CHAR_setLUAFunction( int charaindex, int functype, lua_State *L, const char *luafunctable );
|
||
INLINE BOOL CHAR_delLUAFunction( int charaindex, int functype);
|
||
INLINE lua_State *CHAR_getLUAFunction( int charaindex, int functype);
|
||
#endif
|
||
BOOL CHAR_initCharArray( int pnum, int petnum,int onum );
|
||
BOOL CHAR_endCharArray( void );
|
||
int CHAR_initCharOneArray( Char* ch );
|
||
void CHAR_endCharOneArray( int index );
|
||
void CHAR_removeHaveItem( Char* ch );
|
||
void CHAR_endCharData( Char* ch );
|
||
char* CHAR_makeStringFromCharData( Char* one );
|
||
char* CHAR_makeStringFromCharIndex( int index );
|
||
BOOL CHAR_makeCharFromStringToArg( char* data, Char* one);
|
||
int CHAR_makePetFromStringToArg( char *src, Char *ch, int ti);
|
||
char *CHAR_makePetStringFromPetIndex( int petindex);
|
||
#define CHAR_getPetSkillElement( petindex) _CHAR_getPetSkillElement( __FILE__, __LINE__, petindex)
|
||
int _CHAR_getPetSkillElement( char *file, int line, int petindex );
|
||
#define CHAR_setPetSkill( petindex, havepetskillindex, n) _CHAR_setPetSkill( __FILE__, __LINE__, petindex, havepetskillindex, n)
|
||
INLINE int _CHAR_setPetSkill( char *file, int line, int petindex,int havepetskillindex, int new );
|
||
#define CHAR_getPetSkill( petindex, havepetskillindex) _CHAR_getPetSkill( __FILE__, __LINE__, petindex, havepetskillindex)
|
||
INLINE int _CHAR_getPetSkill( char *file, int line, int petindex,int havepetskillindex );
|
||
#define SETFLG(a,b,c,d,e,f,g,h) (((a)<<0)+((b)<<1)+((c)<<2)+((d)<<3)+((e)<<4)+((f)<<5)+((g)<<6)+((h)<<7))
|
||
|
||
INLINE int CHAR_AddMaxExp( int charaindex, int addexp);
|
||
INLINE int CHAR_setMaxExpFromLevel( int charaindex, int level);
|
||
INLINE int CHAR_setMaxExp( int charaindex, unsigned long int Setexp);
|
||
#ifdef _NEWOPEN_MAXEXP
|
||
INLINE int CHAR_ChangeExp( int charaindex );
|
||
INLINE int CHAR_HandleExp( int charaindex );
|
||
|
||
#endif
|
||
|
||
// ride Pet table
|
||
typedef struct tagtagRidePetTable
|
||
{
|
||
int rideNo;
|
||
int charNo;
|
||
int petNo;
|
||
int petId;
|
||
|
||
} tagRidePetTable;
|
||
|
||
|
||
// CoolFish: Family Member Kind 2001/8/28
|
||
typedef enum
|
||
{
|
||
FMMEMBER_NONE = -1,
|
||
FMMEMBER_MEMBER = 1,
|
||
FMMEMBER_APPLY,
|
||
FMMEMBER_LEADER,
|
||
FMMEMBER_ELDER,
|
||
} CHAR_FM_MEMBERKIND;
|
||
|
||
// shan 2002/01/10
|
||
typedef enum
|
||
{
|
||
PET_STAT_NONE = 0,
|
||
PET_STAT_SELECT,
|
||
PET_STAT_MAIL = 4,
|
||
} CHAR_PET_STAT;
|
||
|
||
|
||
#ifdef _PERSONAL_FAME // Arminius: 家族个人声望
|
||
void CHAR_earnFame(int index, int fame);
|
||
#endif
|
||
|
||
// CoolFish: 2001/10/11
|
||
#ifdef _UNIQUE_P_I
|
||
void CHAR_setPetUniCode(int petindex);
|
||
void ITEM_setItemUniCode(int itemindex);
|
||
void Check_P_I_UniCode(int charindex);
|
||
#endif
|
||
|
||
// Arminius 12.15 判断是否是男士
|
||
int IsMale(int charindex);
|
||
|
||
// Arminius 12.15 判断是否是女士
|
||
int IsFemale(int charindex);
|
||
|
||
|
||
#ifdef _NEW_RIDEPETS
|
||
#define RIDE_PET0 1
|
||
#define RIDE_PET1 ( 1 << 1 )
|
||
#define RIDE_PET2 ( 1 << 2 )
|
||
#define RIDE_PET3 ( 1 << 3 )
|
||
#define RIDE_PET4 ( 1 << 4 )
|
||
#define RIDE_PET5 ( 1 << 5 )
|
||
#define RIDE_PET6 ( 1 << 6 )
|
||
#define RIDE_PET7 ( 1 << 7 )
|
||
#define RIDE_PET8 ( 1 << 8 )
|
||
#define RIDE_PET9 ( 1 << 9 )
|
||
#define RIDE_PET10 ( 1 << 11 )
|
||
#define RIDE_PET11 ( 1 << 10 )
|
||
#define RIDE_PET12 ( 1 << 12 )
|
||
#define RIDE_PET13 ( 1 << 13 )
|
||
#define RIDE_PET14 ( 1 << 14 )
|
||
#ifdef _RIDE_CF
|
||
#define RIDE_PET15 ( 1 << 15 )
|
||
#define RIDE_PET16 ( 1 << 16 )
|
||
#define RIDE_PET17 ( 1 << 17 )
|
||
#define RIDE_PET19 ( 1 << 19 )
|
||
#define RIDE_PET18 ( 1 << 18 )
|
||
#define RIDE_PET20 ( 1 << 20 )
|
||
#define RIDE_PET21 ( 1 << 21 )
|
||
#define RIDE_PET22 ( 1 << 22 )
|
||
#define RIDE_PET23 ( 1 << 23 )
|
||
#define RIDE_PET24 ( 1 << 24 )
|
||
#define RIDE_PET25 ( 1 << 25 )
|
||
#define RIDE_PET26 ( 1 << 26 )
|
||
#define RIDE_PET27 ( 1 << 27 )
|
||
#define RIDE_PET28 ( 1 << 28 )
|
||
#define RIDE_PET29 ( 1 << 29 )
|
||
#define RIDE_PET30 ( 1 << 30 )
|
||
#define RIDE_PET31 ( 1 << 31 )
|
||
|
||
#define RIDE_TPYE1 1
|
||
#define RIDE_TPYE2 ( 1 << 1 )
|
||
|
||
#define RIDE_PET_ALL ( 0xFFFFFFFF )
|
||
#define RIDE_TPYE_ALL ( 0xFFFFFFFF )
|
||
#define MAXNOINDEX 32*3
|
||
#else
|
||
#define RIDE_PET_ALL ( RIDE_PET0|RIDE_PET1|RIDE_PET2|RIDE_PET3|RIDE_PET4|RIDE_PET5|RIDE_PET6|RIDE_PET7|RIDE_PET8|RIDE_PET9|RIDE_PET10|RIDE_PET11 )
|
||
#define MAXNOINDEX 15
|
||
#endif
|
||
|
||
|
||
#ifdef _PET_BEATITUDE
|
||
#define BEATITUDE_VITAL ( 1 << 0 )
|
||
#define BEATITUDE_STR ( 1 << 1 )
|
||
#define BEATITUDE_TOUGH ( 1 << 2 )
|
||
#define BEATITUDE_DEX ( 1 << 3 )
|
||
#endif
|
||
|
||
#ifdef _FM_LEADER_RIDE
|
||
typedef struct {
|
||
int fmfloor;
|
||
int ride[6];
|
||
}tagFmLeaderRide;
|
||
#endif
|
||
|
||
#ifdef _FM_LEADER_RIDE
|
||
int CHAR_FmLeaderRide(int meindex,int pet);
|
||
#endif
|
||
|
||
typedef struct {
|
||
int petNo;
|
||
#ifdef _RIDE_CF
|
||
int petNo1;
|
||
#endif
|
||
unsigned int learnCode;
|
||
}tagRideCodeMode;
|
||
|
||
typedef struct {
|
||
int RideNo[MAXNOINDEX];
|
||
int flg;
|
||
}tagRideNoList;
|
||
|
||
typedef struct {
|
||
int charNo;
|
||
int Noindex;
|
||
int sex;
|
||
}tagRidePetList;
|
||
|
||
int RIDEPET_getNOindex( int baseNo);
|
||
#ifdef _RIDE_CF
|
||
int RIDEPET_getPETindex( int PetNo, unsigned int learnCode, unsigned int learnCode1, unsigned int learnCode2 );
|
||
int CHAR_CheckLearnCode(int charindex, int ridno);
|
||
#else
|
||
int RIDEPET_getPETindex( int PetNo, unsigned int learnCode);
|
||
#endif
|
||
int RIDEPET_getRIDEno( int index, int ti);
|
||
#endif
|
||
|
||
#ifdef _FUSION_TWO
|
||
int CHAR_OldFusion_init();
|
||
#endif
|
||
|
||
#ifdef _PET_EVOLUTION
|
||
int EVOLUTION_getPetTable( int charaindex, int petindex1, int petindex2);
|
||
int EVOLUTION_getPropertyTable( int charaindex, int petindex1, int petindex2);
|
||
int EVOLUTION_getFusionTable( int charaindex, int px, int py);
|
||
int EVOLUTION_getPetFusionCode( int petid);
|
||
#endif
|
||
|
||
#ifdef _PET_AMOI__E
|
||
int EVOLUTION_getPetENABLETRADE( int petid);
|
||
int EVOLUTION_getPETTYPE( int petid);
|
||
int EVOLUTION_getPETTYPESUB( int petid);
|
||
#endif
|
||
|
||
#ifdef _EMENY_CHANCEMAN
|
||
int CHAR_getSexInt( int baseNo );
|
||
#endif
|
||
#ifdef _TYPE_TOXICATION
|
||
BOOL CHAR_CanCureFlg( int charaindex, char *arg);
|
||
#endif
|
||
|
||
BOOL CHAR_getCharOnArrayPercentage( int mode, int *max, int *min, int *cnt);
|
||
|
||
|
||
#define CHAR_DelItemMess( index, ti, flg) _CHAR_DelItem( __FILE__, __LINE__, index, ti, 1, flg)
|
||
#define CHAR_DelItem( index, ti) _CHAR_DelItem( __FILE__, __LINE__, index, ti, 1, 1)
|
||
#define CHAR_DelPileItemMess( index, ti, num, flg) _CHAR_DelItem( __FILE__, __LINE__, index, ti, num, flg)
|
||
|
||
#define CHAR_AddPileItem( index, itemindex) _CHAR_AddPileItem( __FILE__, __LINE__, index, itemindex)
|
||
INLINE int _CHAR_AddPileItem( char *file, int line, int charaindex, int itemindex);
|
||
|
||
INLINE int _CHAR_DelItem( char *file, int line, int charaindex, int ti, int num, int flg);
|
||
|
||
#define CHAR_AddGold( index, ti) _CHAR_AddGold( __FILE__, __LINE__, index, ti)
|
||
INLINE int _CHAR_AddGold( char *file, int line, int charaindex, int gold);
|
||
#define CHAR_DelGold( index, ti) _CHAR_DelGold( __FILE__, __LINE__, index, ti)
|
||
INLINE int _CHAR_DelGold( char *file, int line, int charaindex, int gold);
|
||
int CHAR_getMaxHaveGold( int charaindex);
|
||
|
||
|
||
#ifdef _CHAR_PROFESSION // WON ADD 人物职业
|
||
|
||
int CHAR_getCharSkill( int index,int sindex );
|
||
int CHAR_setCharSkill( int index,int sindex,int new );
|
||
#define CHAR_CHECK_PROFESSION_SKILLINDEX( skillindex) _CHAR_CHECK_PROFESSION_SKILLINDEX( __FILE__, __LINE__, skillindex)
|
||
INLINE BOOL _CHAR_CHECK_PROFESSION_SKILLINDEX( char *file, int line, int skillindex );
|
||
#define PROFESSION_SKILL_getSkill( charaindex, skillindex) _PROFESSION_SKILL_getSkill( __FILE__, __LINE__, charaindex, skillindex)
|
||
INLINE int _PROFESSION_SKILL_getSkill( char *file, int line, int charaindex, int skillindex );
|
||
#define PROFESSION_SKILL_setSkill( charaindex, skillindex, n) _PROFESSION_SKILL_setSkill( __FILE__, __LINE__, charaindex, skillindex, n)
|
||
INLINE int _PROFESSION_SKILL_setSkill( char *file, int line, int charaindex,int skillindex, int new );
|
||
#define PROFESSION_SKILL_getSkillElement(charaindex) _PROFESSION_SKILL_getSkillElement( __FILE__, __LINE__, charaindex)
|
||
int _PROFESSION_SKILL_getSkillElement( char *file, int line, int charaindex );
|
||
|
||
#endif
|
||
|
||
#ifdef _NPC_SEPARATEDATA
|
||
void CHAR_showTempInt( int index);
|
||
BOOL CHAR_InitCharTempNum( Char* ch );
|
||
void CHAR_EndCharTempNum( void);
|
||
void CHAR_getDefaultCharTempNum( Char* ch );
|
||
#endif
|
||
|
||
#ifdef _CHAR_POOLITEM
|
||
|
||
#define CHAR_getDepotItemIndex( index, iindex) _CHAR_getDepotItemIndex( __FILE__, __LINE__, index, iindex)
|
||
INLINE int _CHAR_getDepotItemIndex( char *file, int line, int index ,int iindex);
|
||
#define CHAR_setDepotItemIndex( index, iindex,id) _CHAR_setDepotItemIndex( __FILE__, __LINE__, index, iindex, id)
|
||
INLINE int _CHAR_setDepotItemIndex( char *file, int line, int index ,int iindex,int id );
|
||
|
||
void CHAR_removeHaveDepotItem( Char* ch);
|
||
void CHAR_removeDepotItem( int charaindex);
|
||
|
||
char *CHAR_makeDepotItemFromCharIndex( int charaindex);
|
||
BOOL CHAR_makeDepotItemStringToChar( int charaindex, char* data);
|
||
|
||
BOOL CHAR_SaveDepotItem( int charaindex);
|
||
BOOL CHAR_GetDepotItem( int meindex, int charaindex);
|
||
void CHAR_ShowMyDepotItems( int charaindex);
|
||
|
||
int CHAR_findEmptyDepotItem( int charaindex);
|
||
int CHAR_getfindEmptyDepotItem( int charaindex);
|
||
BOOL CHAR_CheckDepotItem( int charaindex);
|
||
#endif
|
||
|
||
#ifdef _CHAR_POOLPET
|
||
|
||
#define CHAR_getDepotPetIndex( index, iindex) _CHAR_getDepotPetIndex( __FILE__, __LINE__, index, iindex)
|
||
INLINE int _CHAR_getDepotPetIndex( char *file, int line, int index ,int iindex);
|
||
#define CHAR_setDepotPetIndex( index, iindex,id) _CHAR_setDepotPetIndex( __FILE__, __LINE__, index, iindex, id)
|
||
INLINE int _CHAR_setDepotPetIndex( char *file, int line, int index ,int iindex,int id );
|
||
|
||
void CHAR_removeHaveDepotPet( Char* ch);
|
||
void CHAR_removeDepotPet( int charaindex);
|
||
|
||
char *CHAR_makeDepotPetFromCharIndex( int charaindex);
|
||
BOOL CHAR_makeDepotPetStringToChar( int charaindex, char* data);
|
||
|
||
BOOL CHAR_SaveDepotPet( int charaindex);
|
||
BOOL CHAR_GetDepotPet( int meindex, int charaindex);
|
||
void CHAR_ShowMyDepotPets( int charaindex);
|
||
|
||
int CHAR_findEmptyDepotPet( int charaindex);
|
||
int CHAR_getfindEmptyDepotPet( int charaindex);
|
||
BOOL CHAR_CheckDepotPet( int charaindex);
|
||
#endif
|
||
|
||
#ifdef _RIDE_CF
|
||
int CHAR_Ride_CF_init();
|
||
#endif
|
||
|
||
void LodBadPetString( char *data, char *err, int ti);
|
||
|
||
#ifdef _STREET_VENDOR
|
||
BOOL CHAR_setStreetVendor(int charindex,int index,int set,int num);
|
||
INLINE void CHAR_clearStreetVendor(int charindex,int index);
|
||
int CHAR_getStreetVendor(int charindex,int index,int set);
|
||
#endif
|
||
#ifdef _SAFE_PASSWORD
|
||
void CHAR_SafePassword(int charaindex);
|
||
void CHAR_AddSafePassword(int charaindex);
|
||
void CHAR_UnSafePassword(int charaindex);
|
||
#endif
|
||
char *replace_s(char *str, char *str1, char *str2, char *strretu);
|
||
char *str_ganrao(char *oldstr);
|
||
char *str_ganraoan(char *oldstr);
|
||
char *str_hanzi_ganrao(char *tmpbuff1,char *tmpbuff2,char *tmpbuff3,char *tmpbuff4,int flg,int rand1,int rand2,int rand3,int rand4,int rand5);
|
||
#ifdef _ANGEL_SUMMON
|
||
|
||
#define ANGELITEM 2884 //20701 //使者的信物 道具编号
|
||
#define HEROITEM 2885 //20702 //勇者的信物 道具编号
|
||
|
||
typedef enum
|
||
{
|
||
ANGEL_NONE =0,
|
||
ANGEL_ANGEL,
|
||
ANGEL_HERO,
|
||
}ANGEL_TYPE;
|
||
|
||
typedef enum
|
||
{
|
||
MISSION_NONE =0,
|
||
MISSION_WAIT_ANSWER,
|
||
MISSION_DOING,
|
||
MISSION_HERO_COMPLETE,
|
||
MISSION_TIMEOVER,
|
||
}ANGEL_MISSIONFLAG;
|
||
#endif
|
||
|
||
#ifdef _CAX_LNS_CHARSUOXU
|
||
int CHAR_getEmptyItemBoxNum(int charaindex);
|
||
int CHAR_getEmptyPetBoxNum(int charaindex);
|
||
int CHAR_getPlayerPetNum(int charaindex,int petid);
|
||
int CHAR_getPlayerItemNum(int charaindex,int itemid,BOOL IsContainEquip,BOOL IsContainPile);
|
||
#endif
|
||
|
||
#endif
|