129 【战斗】战斗系统-服务端(初版战斗,支持基础的三维属性战斗,支持简单的普攻技能、怒气技能、回血技能;主线章节关卡过关支持;阵容保存支持多阵容;)
1 文件已重命名
2个文件已修改
2个文件已删除
8 文件已复制
18个文件已添加
158 ■■■■ 已修改文件
ClientPack/CB4_FightDefine/HeroBattlePosSave.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/HeroBattlePosSave.h 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/HeroLineupSave 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/HeroLineupSave.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/HeroLineupSave.h 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/MainFightReq 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/MainFightReq.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/MainFightReq.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/TurnFight.h 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/TurnFightReportView 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/TurnFightReportView.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/TurnFightReportView.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightInit 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightInit.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightInit.h 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjAction 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjAction.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjAction.h 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjDead 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjDead.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjDead.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjReborn 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjReborn.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightObjReborn.h 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportRet 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportRet.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportRet.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportSign 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportSign.des 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightReportSign.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPack/HB4_FightDefine/TurnFightState.h 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ClientPack/CB4_FightDefine/HeroBattlePosSave.des
File was deleted
ClientPack/CB4_FightDefine/HeroBattlePosSave.h
File was deleted
ClientPack/CB4_FightDefine/HeroLineupSave
ClientPack/CB4_FightDefine/HeroLineupSave.des
New file
@@ -0,0 +1 @@
B4 12 战斗阵容保存 #tagCSHeroLineupSave
ClientPack/CB4_FightDefine/HeroLineupSave.h
New file
@@ -0,0 +1,16 @@
// B4 12 战斗阵容保存 #tagCSHeroLineupSave
struct    tagCSHeroLineupPos
{
    WORD        ItemIndex;    //武将物品所在武将背包位置索引
    BYTE        PosNum;        //1~n上阵位置编号
};
struct    tagCSHeroLineupSave
{
    tagHead        Head;
    BYTE        LineupID;        //阵容ID:1-主阵容;其他待扩展,如某个防守阵容
    BYTE        ShapeType;    //本阵容阵型,0为默认阵型,可扩展不同的阵型
    BYTE        PosCnt;
    tagCSHeroLineupPos    HeroPosList[PosCnt];    // 保存的阵容,只发送最终的阵容武将位置即可
};
ClientPack/CB4_FightDefine/MainFightReq
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ClientPack/CB4_FightDefine/MainFightReq
ClientPack/CB4_FightDefine/MainFightReq.des
New file
@@ -0,0 +1 @@
B4 13 主线战斗请求 #tagCSMainFightReq
ClientPack/CB4_FightDefine/MainFightReq.h
New file
@@ -0,0 +1,8 @@
// B4 13 主线战斗请求 #tagCSMainFightReq
struct    tagCSMainFightReq
{
    tagHead        Head;
    BYTE        ReqType;        // 0-停止战斗回城;1-设置消耗倍值;2-挑战关卡小怪;3-挑战关卡boss;4-继续战斗;
    DWORD        ReqValue;    // 请求值,ReqType为1时发送消耗倍值
};
ClientPack/CB4_FightDefine/TurnFight.h
@@ -3,10 +3,10 @@
struct    tagCMTurnFight
{
    tagHead        Head;
    DWORD        MapID;    // 自定义地图ID,可用于绑定战斗场景功能(如野外关卡,爬塔功能,竞技场等)
    WORD        FuncLineID;
    BYTE        TagType;    // 战斗目标类型,0-NPC,1-玩家,2-队伍
    DWORD        TagID;    // 战斗目标类型对应的ID
    DWORD        MapID;        // 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等)
    DWORD        FuncLineID;    // MapID对应的扩展值,如具体某个关卡等
    BYTE        TagType;    // 目标类型,0-NPC阵容,1-玩家
    DWORD        TagID;    // 目标类型对应的ID,如阵容ID或玩家ID
    BYTE        ValueCount;
    DWORD        ValueList[ValueCount]; // 附加值列表,可选,具体含义由MapID决定
};
ClientPack/CB4_FightDefine/TurnFightReportView
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ClientPack/CB4_FightDefine/TurnFightReportView
ClientPack/CB4_FightDefine/TurnFightReportView.des
New file
@@ -0,0 +1 @@
B4 14 查看战报 #tagCSTurnFightReportView
ClientPack/CB4_FightDefine/TurnFightReportView.h
New file
@@ -0,0 +1,7 @@
// B4 14 查看战报 #tagCSTurnFightReportView
struct    tagCSTurnFightReportView
{
    tagHead        Head;
    char        GUID[40];    //战报guid
};
ServerPack/HB4_FightDefine/TurnFightInit
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightInit
ServerPack/HB4_FightDefine/TurnFightInit.des
New file
@@ -0,0 +1 @@
B4 24 回合战斗初始化 #tagSCTurnFightInit
ServerPack/HB4_FightDefine/TurnFightInit.h
New file
@@ -0,0 +1,42 @@
// B4 24 回合战斗初始化 #tagSCTurnFightInit
struct    tagSCTurnFightObj
{
    DWORD        ObjID;        // 实例唯一ID
    DWORD        NPCID;        // 绑定的NPCID,不同的实例ID对应的NPCID可能一样
    DWORD        HP;        // 当前血量,求余20亿部分
    DWORD        HPEx;        // 当前血量,整除20亿部分
    DWORD        MaxHP;        // 最大血量,求余20亿部分
    DWORD        MaxHPEx;    // 最大血量,整除20亿部分
    WORD        LV;        // 等级
    BYTE        PosNum;        // 在本阵容中的站位,从1开始,非主战斗武将为0,如红颜
    WORD        AngreXP;        // 当前怒气值
};
struct    tagSCTurnFightLineup
{
    BYTE        Num;    // 该阵容在本阵营的编号,不同阵营的阵容编号可能相同,都是从1开始,一般1V1时每个阵营为1个阵容,多V多时则每个阵营为多个阵容
    DWORD        OwnerID;        // 阵容所属的玩家ID,可能为0,0代表非玩家阵容
    BYTE        ShapeType;    // 本阵容阵型,0为默认阵型,可扩展不同的阵型,如boss特殊战斗阵型,或者其他不同站位的阵型
    BYTE        ObjCnt;
    tagSCTurnFightObj        ObjList[ObjCnt];    // 本阵容战斗单位列表
};
struct    tagSCTurnFightFaction
{
    BYTE        Faction;    //阵营编号,1或2,1为发起方的阵营编号
    BYTE        LineupCnt;
    tagSCTurnFightLineup        LineupList[LineupCnt];    // 本阵营所有阵容列表,为支持多V多扩展用,通常情况下每个阵营只有一个阵容
};
struct    tagSCTurnFightInit
{
    tagHead        Head;
    DWORD        MapID;        // 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等)
    DWORD        FuncLineID;    // MapID对应的扩展值,如具体某个关卡等
    BYTE        TurnMax;        // 最大轮次
    WORD        Len;
    char        Msg[Len];    // 本场战斗扩展信息,一般为json格式,具体内容由MapID决定
    BYTE        FactionCnt;
    tagSCTurnFightFaction        FactionList[FactionCnt];    // 阵营列表,通常固定只有两个阵营
};
ServerPack/HB4_FightDefine/TurnFightObjAction
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightObjAction
ServerPack/HB4_FightDefine/TurnFightObjAction.des
New file
@@ -0,0 +1 @@
B4 21 回合战斗对象开始行动 #tagMCTurnFightObjAction
ServerPack/HB4_FightDefine/TurnFightObjAction.h
New file
@@ -0,0 +1,8 @@
// B4 21 回合战斗对象开始行动 #tagMCTurnFightObjAction
struct    tagMCTurnFightObjAction
{
    tagHead        Head;
    BYTE        TurnNum;        // 当前轮次
    DWORD        ObjID;
};
ServerPack/HB4_FightDefine/TurnFightObjDead
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightObjDead
ServerPack/HB4_FightDefine/TurnFightObjDead.des
New file
@@ -0,0 +1 @@
B4 22 回合战斗对象死亡 #tagMCTurnFightObjDead
ServerPack/HB4_FightDefine/TurnFightObjDead.h
New file
@@ -0,0 +1,7 @@
// B4 22 回合战斗对象死亡 #tagMCTurnFightObjDead
struct    tagMCTurnFightObjDead
{
    tagHead        Head;
    DWORD        ObjID;
};
ServerPack/HB4_FightDefine/TurnFightObjReborn
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightObjReborn
ServerPack/HB4_FightDefine/TurnFightObjReborn.des
New file
@@ -0,0 +1 @@
B4 23 回合战斗对象复活 #tagMCTurnFightObjReborn
ServerPack/HB4_FightDefine/TurnFightObjReborn.h
New file
@@ -0,0 +1,12 @@
// B4 23 回合战斗对象复活 #tagMCTurnFightObjReborn
struct    tagMCTurnFightObjReborn
{
    tagHead        Head;
    DWORD        ObjID;
    DWORD        HP;    // 复活后血量,求余亿部分
    DWORD        HPEx;    // 复活后血量,整除亿部分
    BYTE        RebornType;    // 复活方式:1-灵宠技能复活;2-待扩展
    DWORD        RebornValue1;    // 复活方式对应值1,由复活方式决定其值意义
    DWORD        RebornValue2;    // 复活方式对应值2
};
ServerPack/HB4_FightDefine/TurnFightReportRet
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightReportRet
ServerPack/HB4_FightDefine/TurnFightReportRet.des
New file
@@ -0,0 +1 @@
B4 30 查看战报结果 #tagSCTurnFightReportRet
ServerPack/HB4_FightDefine/TurnFightReportRet.h
New file
@@ -0,0 +1,9 @@
// B4 30 查看战报结果 #tagSCTurnFightReportRet
struct    tagSCTurnFightReport
{
    tagHead        Head;
    char        GUID[40];    //该战报guid
    DWORD        Len;
    char        Report[Len];    //完整战报
};
ServerPack/HB4_FightDefine/TurnFightReportSign
copy from ClientPack/CB4_FightDefine/HeroBattlePosSave copy to ServerPack/HB4_FightDefine/TurnFightReportSign
ServerPack/HB4_FightDefine/TurnFightReportSign.des
New file
@@ -0,0 +1 @@
B4 25 回合战斗战报片段标记 #tagSCTurnFightReportSign
ServerPack/HB4_FightDefine/TurnFightReportSign.h
New file
@@ -0,0 +1,7 @@
// B4 25 回合战斗战报片段标记 #tagSCTurnFightReportSign
struct    tagSCTurnFightReportSign
{
    tagHead        Head;
    BYTE        Sign;    // 0-战报片段开始;1-战报片段结束;
};
ServerPack/HB4_FightDefine/TurnFightState.h
@@ -3,13 +3,10 @@
struct    tagMCTurnFightState
{
    tagHead        Head;
    DWORD        MapID;    // 自定义地图ID,可用于绑定战斗场景功能(如野外关卡,爬塔功能,竞技场等)
    WORD        FuncLineID;
    BYTE        TagType;    // 战斗目标类型,0-NPC,1-玩家,2-队伍
    DWORD        TagID;    // 战斗目标类型对应的ID
    BYTE        State;    // 0-起始状态标记;1-准备完毕;2-战斗中;3-战斗结束;4-结算奖励;5-结束状态标记
    DWORD        MapID;        // 自定义地图ID,可用于绑定战斗地图场景功能(如主线关卡、主线boss、爬塔、竞技场等)
    DWORD        FuncLineID;    // MapID对应的扩展值,如具体某个关卡等
    BYTE        State;        // 0-起始状态标记;1-准备完毕;2-战斗中;3-战斗结束;4-结算奖励;5-结束状态标记
    BYTE        TurnNum;        // 当前轮次
    BYTE        TurnMax;        // 最大轮次
    WORD        Len;
    char        Msg[Len];        //size = Len
};