266 lines
9.7 KiB
C
266 lines
9.7 KiB
C
/*这里是各种实体的属性的定义
|
||
*定义规则是:
|
||
* 为了客户端的解析麻烦,不要使用word,byte等1,2个字节的长度
|
||
* 整数(有符号,无符号)都用n开头,比如nSex
|
||
* 长整形用l开头,比如lExp
|
||
* buff用 a开头(array),比如int aUserQuest[64];
|
||
*/
|
||
|
||
#pragma once
|
||
#pragma pack(4)
|
||
|
||
|
||
|
||
typedef struct tagEntityData
|
||
{
|
||
unsigned int nID; // 玩家的actorid或者怪物ID
|
||
int nPosX; // 位置x
|
||
int nPosY; // 位置y
|
||
int nModelId; // 模型ID
|
||
unsigned int nIcon; // 头像ID
|
||
int nDir; // 实体的朝向
|
||
}ENTITYDATA, *PENTITYDATA;
|
||
|
||
|
||
typedef struct tagCreatureData
|
||
{
|
||
unsigned int nLevel; //等级
|
||
unsigned int nHp; //当前血
|
||
unsigned int nMp; //当前蓝
|
||
unsigned int nState; //实体当前的状态
|
||
unsigned int nColor; //实体的颜色
|
||
|
||
unsigned int nMaxHp; //最大血(生命)
|
||
unsigned int nMaxMp; //最大蓝(内力)
|
||
|
||
int nPhysicalAttackMin; //最小物理攻击
|
||
int nPhysicalAttackMax; //最大物理攻击
|
||
|
||
int nMagicAttackMin; //最小魔法攻击
|
||
int nMagicAttackMax; //最大魔法攻击
|
||
|
||
int nWizardAttackMin; //最小道术攻击
|
||
int nWizardAttackMax; //最大道术攻击
|
||
|
||
int nHysicalDefenceMin; //最小物理防御
|
||
int nHysicalDefenceMax; //最大物理防御
|
||
|
||
int nMagicDefenceMin; //最小魔法防御
|
||
int nMagicDefenceMax; //最大魔法防御
|
||
|
||
int nHitrate; //物理命中
|
||
int nDogerate; //物理闪避
|
||
|
||
int nMagicHitRate; //魔法命中
|
||
int nMagicDogerate; //魔法闪避
|
||
|
||
unsigned int nHpRateRenew; //生命万分比恢复
|
||
unsigned int nMpRateRenew; //魔法万分比恢复
|
||
|
||
unsigned int nMoveOneSlotTime; //移动1格需要的时间,也就是移动速度,如果是0表示不能移动
|
||
unsigned int nAttackSpeed; //增加了攻击速度
|
||
|
||
int nLuck; //幸运
|
||
|
||
int nHpRenew; //生命恢复
|
||
int nMpRenew; //魔法恢复
|
||
|
||
int n34;
|
||
|
||
}CREATUREDATA,*PCREATUREDATA;
|
||
|
||
//怪物的基本数据
|
||
typedef struct tagMonsterData
|
||
{
|
||
int nBornPointID; // 怪物的出生点
|
||
int nLevelDifference; // 小队平均等级与副本推荐的等级差(用在副本根据组队玩家等级来设置怪物攻击、防御相关属性)
|
||
int nHpRenewValue; // 怪物出生的血量比例
|
||
int nLiveTime; // 怪物生命到期时间(0-无生命期限)
|
||
int nCircle; // 转生
|
||
unsigned int nMonsterBeLongId; // 怪物归属Id
|
||
} MONSTERDATA, *PMONSTERDATA;
|
||
|
||
//这些都是玩家的数据,但是不存盘
|
||
typedef struct tagActorHeadPartData
|
||
{
|
||
unsigned int nMonsterModleId; //怪物模型id
|
||
|
||
int nTeamOutput; //团队副本输出伤害
|
||
int nTeamID; //团队副本(团队ID)
|
||
int nTeamFBID; //团队副本(副本ID)
|
||
|
||
float fDecuctDamage; //伤害减免
|
||
float fAbsorbDamage; //伤害吸收
|
||
|
||
int nWeaponAppearance; //武器的外观
|
||
int nSwingAppearce; //翅膀的外观
|
||
unsigned int nSoldierSoulAppearance; //兵魂外观
|
||
unsigned int nWeaponId; //武器物品id
|
||
}ACTORHEADPARTDATA,*PACTORHEADPARTDATA;
|
||
|
||
|
||
//人和英雄的共有的数据
|
||
typedef struct tagActorHeroCommonData
|
||
{
|
||
unsigned int nSex; //男女
|
||
unsigned int nVocation; // 职业
|
||
unsigned int nBattlePower; //玩家的战力
|
||
unsigned int nCircle; //转生次数
|
||
}ACTORHEROCOMMONDATA,*PACTORHEROCOMMONDATA;
|
||
|
||
typedef struct tagActorDbPardData
|
||
{
|
||
unsigned int nPkMod; //玩家的pk模式
|
||
unsigned int nSex; //性别
|
||
unsigned int nVocation; //职业
|
||
unsigned long long lExp; //经验
|
||
int nPKValue; //玩家的pk值(杀戮值)
|
||
unsigned int nBagGridCount; //背包的格子数量
|
||
unsigned int nMonthCardTime; //月卡到期时间
|
||
unsigned int nMedicineCardTime; //大药月卡到期时间
|
||
unsigned int nBindCoin; //绑定金钱
|
||
unsigned int nNonBindCoin; //非绑定金钱 --金币
|
||
unsigned int nBindYuanbao; //绑定元宝
|
||
unsigned int nNonBindYuanbao; //非绑定元宝 -银两
|
||
unsigned int nEvilPkStatus; //恶意PK状态
|
||
unsigned int nGuildID; //帮派的ID
|
||
unsigned int nTeamID; //队伍的ID
|
||
unsigned int nSocialMask; //社会关系的mask,是一些bit位合用的
|
||
unsigned int nGuildExp; //玩家个人当前的贡献度
|
||
unsigned int nGmLevel; //gm等级
|
||
unsigned int nDefaultSkillID; //玩家的默认技能的ID
|
||
LONGLONG lMultiExpUnused; //未使用的多倍经验,64位的
|
||
int achievepoint; //累计功勋(玩家的成就点)
|
||
unsigned int nCurCustomTitle; //当前自定义称号
|
||
unsigned int nMeritoriousDay; //每日功勋
|
||
unsigned int nForeverCardFlag; //免费特权(第0位)及永久卡(第1位)的开启标志
|
||
unsigned int nActivity; //玩家的活跃度
|
||
unsigned nDrawYbCount; //提取元宝数目
|
||
unsigned int nBattlePower; //玩家的战力
|
||
unsigned int nRecoverState; //转生阶
|
||
unsigned int nLootPetId; //宠物id
|
||
unsigned int nLastLoginOpendayNo_; //上次登录是开服的第几天
|
||
unsigned int nPersonBossJifen; //个人BOSS积分(开服活动)
|
||
unsigned int nDeportGridCount ; //仓库的格子数目(原始大小+ 购买大小)
|
||
unsigned int nCircle; //转生次数
|
||
unsigned int nCircleSoul; //转生灵魄
|
||
unsigned int nAnger; //怒气 低两位表示当前怒气值 高两位表示最大怒气值
|
||
unsigned int nCheckIns; //签到次数
|
||
unsigned int nPrestige; //声望
|
||
unsigned int nBless; //当前祝福值
|
||
unsigned int nCardAwardFlag; //免费特权(第0位)/月卡(第1位)/大药(第2位)/永久卡(第3位)的当日领取标记
|
||
unsigned int nTotalOnlineMin; //总在线时间,单位:分
|
||
unsigned int nWingPoint; //翅膀幸运值 nWingPoint
|
||
unsigned int nCurnewTitel; //当前头衔
|
||
unsigned long long nDimensionalKey; //次元钥匙
|
||
unsigned long long nDefaultLootPetDis;//默认捡取拾取宠物的捡取距离
|
||
unsigned long long nRebateDrawYbCount;// 返利卡提取元宝数目
|
||
unsigned int nCSActorId; //跨服玩家id
|
||
unsigned int nOffice; //仓库元宝
|
||
unsigned int nDepotCoin; //仓库金币
|
||
unsigned int nSupperPlayLvl; //超玩VIP等级
|
||
unsigned int nFrenzy; //狂暴状态(0/1)
|
||
unsigned int nBeKilledCount; //被杀总次数
|
||
unsigned int nKillMonsterCount; //杀怪总数
|
||
unsigned int nFlyShoes; //飞鞋
|
||
unsigned int nBroatNum; //喇叭
|
||
unsigned int nRecyclepoints; //回收积分
|
||
unsigned int nMeridianLv; //经脉等级
|
||
unsigned int n_106;
|
||
}ACTORDBPARTDATA,*PACTORDBPARTDATA;
|
||
|
||
|
||
//这些属性不存盘的,是玩家的动态属性
|
||
typedef struct tagACTORTAILDATA
|
||
{
|
||
int nNextSkillFlag; //下一次技能标记(标记战士的下一次附加技能:攻杀,刺杀,半月,烈火,逐日)
|
||
int nZy; //阵营类型
|
||
unsigned int nCritDamage; //新版暴击最终造成的伤害值
|
||
unsigned int nCritRate; //新版暴击几率(万分比)
|
||
int nCritPower; //新版暴击力(int)
|
||
float fDamagePower; //抗暴
|
||
float fDMedicanceRenew; //药品恢复增益(1为100%)
|
||
unsigned int nAreaAttr; //区域属性存储位
|
||
unsigned int nAreaAttr_0;
|
||
unsigned int nGoldAttr_1; //新加属性
|
||
unsigned int nGoldAttr_2;
|
||
unsigned int nGoldAttr_3;
|
||
unsigned int nGoldAttr_4;
|
||
unsigned int nGoldAttr_5;
|
||
unsigned int nGoldAttr_6;
|
||
unsigned int nGoldAttr_7;
|
||
unsigned int nGoldAttr_8;
|
||
unsigned int nCritMutRate; //新版暴击倍率几率(万分比)
|
||
unsigned int nBanChat;//禁言时间
|
||
unsigned int nPetStatus;//宠物状态
|
||
unsigned int nDamageBonus;//伤害加成
|
||
unsigned int nIgnorDefence;//无视防御
|
||
unsigned int nSuckBlood;//吸血
|
||
unsigned int nExpPower;//经验倍率
|
||
unsigned int nLootBindCoin;//金币倍率
|
||
unsigned int nCutting;//切割
|
||
unsigned int nNormalAttackAcc;//普攻加速度万分比
|
||
unsigned int nHpAddRate;//血量加成万分比
|
||
unsigned int nPkDecuctDamage;//pk减免万分比
|
||
unsigned int nHp2MpDamage;//护身
|
||
unsigned int nZLMoney;//战令币
|
||
int nCurReviveDuration;//当前复活特权持续时间
|
||
unsigned int nHalfMonthsIncreaseDamage; //半月增伤
|
||
unsigned int nFireIncreaseDamage; //烈火增伤
|
||
unsigned int nDayByDayIncreaseDamage; //逐日增伤
|
||
unsigned int nIceStormIncreaseDamage; //冰咆哮增伤
|
||
unsigned int nFireRainIncreaseDamage; //火雨增伤
|
||
unsigned int nThunderIncreaseDamage; //雷电增伤
|
||
unsigned int nBloodBiteIncreaseDamage; //噬血术增伤
|
||
unsigned int nFireSignIncreaseDamage; //火符增伤
|
||
unsigned int nHalfMonthsReduceDamage; //半月减伤
|
||
unsigned int nFireReduceDamage; //烈火减伤
|
||
unsigned int nDayByDayReduceDamage; //逐日减伤
|
||
unsigned int nIceStormReduceDamage; //冰咆哮减伤
|
||
unsigned int nFireRainReduceDamage; //火雨减伤
|
||
unsigned int nThunderReduceDamage; //雷电减伤
|
||
unsigned int nBloodBiteReduceDamage; //噬血术减伤
|
||
unsigned int nFireSignReduceDamage; //火符减伤
|
||
|
||
unsigned int nCreateTime;
|
||
unsigned long long nTradingQuota; //交易额度
|
||
unsigned int nGuildLevel; //行会等级
|
||
unsigned int n_159; //目前暂未使用
|
||
}ACTORTAILDATA, PACTORTAILDATA;
|
||
|
||
|
||
|
||
//怪物或者宠物的三级战斗属性
|
||
typedef struct tagCreatureBattleData :public CREATUREDATA
|
||
{
|
||
int _53; //伤害抵消的BUFF状态
|
||
int _54; //伤害减免
|
||
int _55; //麻痹,不可移动,不可释放技能
|
||
int _56; //经验增加一个数值
|
||
int _57; //治愈的BUFF状态
|
||
|
||
int _58; //隐身状态
|
||
int _59; //经验的增加倍率,万分比
|
||
|
||
int _60; //冻结,只能走,不能跑
|
||
int _61; //pk保护状态
|
||
|
||
int _62; // 真·冻结,不能走不能跑
|
||
int _63; //持续回蓝的BUFF状态
|
||
|
||
int _64; //按比例将MP抵消HP
|
||
int _65; //麻痹概率,万分比
|
||
|
||
int nDeductDizzyRate; //抗麻痹概率,万分比
|
||
int _67; //麻痹时长增加
|
||
|
||
int nDizzyTimeAbsorbAdd; //麻痹时长减免 68
|
||
tagCreatureBattleData()
|
||
{
|
||
memset(this, 0, sizeof(*this));
|
||
}
|
||
}CREATURBATTLEEDATA,*PCREATURBATTLEEDATA;
|
||
|
||
|
||
#pragma pack()
|