589 【公会】攻防战-服务端(本服、跨服攻防战;优化战斗支持不同基础属性百分比战斗;增加玩家历史最高战力记录;优化新公会ID分配,增加系统公会ID规则,废弃解散公会ID复用逻辑;增加公会周x累计贡献统计;)
1. 攻防战支持本服、跨服攻防战;GM命令 Family 支持攻防战相关;
2. 优化战斗支持不同基础属性百分比战斗,默认100%属性;
3. 增加玩家历史最高战力记录;
4. 优化新公会ID分配,增加系统公会ID规则,废弃解散公会后ID复用逻辑,确保数据唯一;
5. 增加公会周x累计贡献统计
6. 优化内网环境不验证跨服中心唯一性;
6个文件已添加
60 ■■■■■ 已修改文件
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HA5_Family/FamilyAtkDefBatInfo 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HA5_Family/FamilyAtkDefBatInfo.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HA5_Family/FamilyAtkDefBatInfo.h 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem.des
New file
@@ -0,0 +1 @@
A6 35 更换攻防战备战成员位置 #tagCSFamilyAtkDefBatChangeMem
ClientPack/CA6_Family/FamilyAtkDefBatChangeMem.h
New file
@@ -0,0 +1,8 @@
// A6 35 更换攻防战备战成员位置 #tagCSFamilyAtkDefBatChangeMem
struct    tagCSFamilyAtkDefBatChangeMem
{
    tagHead        Head;
    DWORD        PlayerIDA;    // 要被替换的成员ID
    DWORD        PlayerIDB;    // 替换A成员的成员ID
};
ServerPack/HA5_Family/FamilyAtkDefBatInfo
Binary files differ
ServerPack/HA5_Family/FamilyAtkDefBatInfo.des
New file
@@ -0,0 +1 @@
A5 25 公会攻防战信息 #tagSCFamilyAtkDefBatInfo
ServerPack/HA5_Family/FamilyAtkDefBatInfo.h
New file
@@ -0,0 +1,50 @@
// A5 25 公会攻防战信息 #tagSCFamilyAtkDefBatInfo
struct    tagSCFamilyAtkDefBatMem
{
    DWORD        PlayerID;
    BYTE        NameLen;
    char        Name[NameLen];    //size = NameLen
    WORD        LV;        //等级
    BYTE        Job;        //ְҵ
    BYTE        RealmLV;        //境界
    DWORD        Face;        //基本脸型
    DWORD        FacePic;        //头像框
    DWORD        ModelMark;    //变形模型mark
    DWORD        EquipShowSwitch;    //其他外观信息
    DWORD        TitleID;        //称号
    DWORD        FightPower;    //战力,求余亿部分
    DWORD        FightPowerEx;    //战力,整除亿部分
    DWORD        ServerID;        //所属区服ID
    BYTE        DefType;        //防守人员类型,非防守人员时为0
    BYTE        PosNum;        //防守位置,每种类型位置独立算,都从1开始
    BYTE        BatCnt;        //已战斗次数
    WORD        DWinCnt;        //防守胜利次数
    BYTE        Star;        //累计获得星数
    BYTE        KilledState;    //被击败记录,按属性百分比索引位判断是否已被击败,剩余星可根据此状态计算出
    BYTE        GridNum;        //开宝库格子编号,0-未打开,>0对应打开的格子编号
    WORD        AwardID;        //开宝库格子奖励ID
};
struct    tagSCFamilyAtkDefBatFamily
{
    DWORD        FamilyID;        //非自己的公会ID,就是对手公会ID;为1时代表系统马赛克军团
    char        FamilyName[33];
    DWORD        ServerID;        //公会区服ID
    DWORD        EmblemID;    //旗帜
    char        EmblemWord[3];    //旗号
    BYTE        IsDismiss;        //是否已解散,解散的公会算输
    WORD        TotalStar;    //总星数
    BYTE        OverState;    //胜负结算结果:0-未结算;1-已结算-胜利;2-已结算-失败;3-未结算-提前胜利;4-未结算-提前失败
    BYTE        BatMemCount;
    tagSCFamilyAtkDefBatMem        BatMemList[BatMemCount];    // 参与成员列表,非列表中成员无法备战、进攻、防守
};
struct    tagSCFamilyAtkDefBatInfo
{
    tagHead        Head;
    BYTE        BatState;        //0-无;1-休战期;2-备战期;3-激战期
    BYTE        FamilyCount;
    tagSCFamilyAtkDefBatFamily        BatFamilyList[FamilyCount];
    DWORD        DelMemID;    //删除参战成员ID,可能是己方或者对方的成员,参赛成员退出时该值不为0,收到同步时前端同步删除该参赛成员
};