From 9ec66731c8a551035958aebe1fa974a140b99cf1 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 02 七月 2025 17:34:10 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(初版战斗,支持基础的三维属性战斗,支持简单的普攻技能、怒气技能、回血技能;主线章节关卡过关支持;阵容保存支持多阵容;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
index f32577c..df217a5 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py
@@ -1192,9 +1192,6 @@
 #朋友
 Type_Relation_Friend = 2
 
-Def_NpcDictKey_CampType = 'CampType'
-#阵营 三种 中立 正义 邪恶
-
 CampType_Neutral = ShareDefine.CampType_Neutral  # 中立
 CampType_Justice = ShareDefine.CampType_Justice  # 正义
 CampType_Evil = ShareDefine.CampType_Evil  # 邪恶
@@ -1238,7 +1235,7 @@
 ) = range(Def_UseSkillAim_Type)
 
 #技能施法目标类型, 修改此处应在Def_Dict_UseSkillTag_ObjType 相应更改
-Def_UseSkillTag_Type = 16
+Def_UseSkillTag_Type = 17
 (
     Def_UseSkillTag_None      ,        #无需选择对象 0
     Def_UseSkillTag_Self      ,        #自己 1 
@@ -1256,6 +1253,7 @@
     Def_UseSkillTag_CanAttackBaseNPC,      #可攻击的野外小怪(含精英)怪物 13
     Def_UseSkillTag_FriendNPC,         #友好NPC 14
     Def_UseSkillTag_AppointNPC,         #指定NPC 15 必须和效果值配合 Def_Skill_Effect_AppointNPC
+    Def_UseSkillTag_FriendDeath,        #友方死亡目标16
     
 ) = range( 0, Def_UseSkillTag_Type )
 
@@ -1294,6 +1292,13 @@
 Def_ST_CanNPCUseSkill = [ 
                         Def_UseSkillTag_None,
                         Def_UseSkillTag_Self, 
+                        ]
+
+#NPC技能:可以对友好目标释放的技能
+Def_ST_CanNPCUseSkillFriend = [ 
+                        Def_UseSkillTag_Friend, 
+                        Def_UseSkillTag_SelfAndFriend, 
+                        Def_UseSkillTag_FriendNPC, 
                         ]
 
 #自动攻击技能类型
@@ -1343,7 +1348,7 @@
                        Def_SkillType_PlsBuff    : IPY_GameWorld.bfBuff   ,  #增益BUFF 5
                        Def_SkillType_DepBuff    : IPY_GameWorld.bfDeBuff ,  #减益BUFF 6
                        Def_SkillType_PassiveBuff    : IPY_GameWorld.btPassiveBuf,  # 被动技能 7 (废弃,无此定义分散为其他buff)
-                       Def_SkillType_Revive     : IPY_GameWorld.bfIncBuff,  #复活     8
+                       #Def_SkillType_Revive     : IPY_GameWorld.bfIncBuff,  #复活     8
                        Def_SkillType_Increment  : IPY_GameWorld.bfIncBuff,  #增值技能(不可清除)9
                        Def_SkillType_Aura       : IPY_GameWorld.bfAura   ,  #光环技能  10
                        Def_SkillType_Equip      : IPY_GameWorld.bfEquipBuff,#装备技能  11
@@ -1733,6 +1738,11 @@
 Def_NstNull, Def_NstMoving, Def_NstDead, Def_NstAttack = range(4)
 
 #-------------------------------#副本相关#------------------------
+# 主线小怪
+Def_FBMapID_Main = 1
+# 主线Boss
+Def_FBMapID_MainBoss = 2
+
 #创角新手村地图ID列表
 Def_CreatRoleMapIDList = [10000]
 #PK周赛
@@ -1850,9 +1860,6 @@
 TurnFightMapIDList = (
 Def_TFMapID_MineArea, # 福地 1
 ) = range(1, 1 + 1)
-
-#回合战斗自定义地图需要发送GameServer的列表
-Def_TFMapID_SendToGameServer = [Def_TFMapID_MineArea]
 
 #前端自定义场景地图
 ClientCustomSceneList = [Def_FBMapID_PersonalBoss, Def_FBMapID_ArenaBattle, Def_FBMapID_MirrorBattle]
@@ -2966,7 +2973,7 @@
 
 # 回合攻击战斗类型
 (
-TurnBattleType_Normal, # 普通
+TurnBattleType_Normal, # 常规攻击
 TurnBattleType_Combo, # 连击
 TurnBattleType_AtkBack, # 反击
 ) = range(3)
@@ -2974,9 +2981,20 @@
 Def_PerTurnTick = 1000 # 每回合等同于常规tick时长
 
 # 回合战斗目标类型
-TurnBattle_TagType_NPC = 0
+TurnBattle_TagType_NPCLineup = 0 # NPC阵容
 TurnBattle_TagType_Player = 1
 TurnBattle_TagType_Team = 2
+
+#---Obj字典-------
+Def_Obj_Dict_Faction = 'Faction' # 所属阵营
+Def_Obj_Dict_LineupPlayerID = 'LineupPlayerID' # 阵容所属玩家ID,可用于判断是否玩家阵容,PVP或PVE
+Def_Obj_Dict_TurnFightPosInfo = 'TurnFightPosInfo' # 回合制站位: 阵营编号*100+阵型站位,阵型站位为0时代表非主战单位
+Def_Obj_Dict_TurnFightTimeline = 'TurnFightTimeline' # 回合制战斗时间线: 回合数*100+行动编号节点
+Def_Obj_Dict_TurnComboNum = 'TurnComboNum' # 单次累计连击次数
+Def_Obj_Dict_TurnAtkBackNum = 'TurnAtkBackNum' # 单次累计反击次数
+Def_Obj_Dict_TurnParryNum = 'TurnParryNum' # 单次累计格挡次数
+Def_Obj_Dict_TurnMissNum = 'TurnMissNum' # 单次累计闪避次数
+Def_Obj_Dict_TurnBattleType = 'TurnBattleType' # 本次攻击战斗类型:TurnBattleType_xxx
 
 #---NPC字典-------
 #每道龙卷风最终坐标
@@ -3203,6 +3221,7 @@
 Def_PlayerKey_AttrPerLVAtk = "PerLVAtk"    #每1级+%s攻击, 数值取万分率,支持小数算法
 Def_PlayerKey_AttrPerLVMaxHP = "PerLVMaxHP"    #每1级+%s生命, 数值为固定值
 Def_PlayerKey_AttrShieldMPCostRate = "AttrShieldMPCostRate"    #魔法盾伤害吸收蓝耗比率
+Def_PlayerKey_AttrXP = "AttrXP"    #当前XP
 Def_PlayerKey_AttrXPRestorePer = "AttrXPRestorePer"    #自动恢复XP值比率
 Def_PlayerKey_MarkLoadMapTick = "LoadMapTickVIP"        #记录切换地图后的tick,VIP
 Def_PlayerKey_MTFreeOnlineRefreshTick = "MTFreeOnlineRTick"        # 寻宝在线计算时间
@@ -4422,6 +4441,10 @@
 #武将
 Def_PDict_HeroSkin = "HeroSkin_%s" # 武将皮肤解锁状态,按皮肤索引二进制存储,参数(武将ID)
 Def_PDict_HeroBook = "HeroBook_%s" # 武将图鉴激活等级,参数(武将ID) cccbbba a-初始激活状态1-英雄激活,2-初始图鉴激活; bbb-存星级图鉴激活等级;ccc-存突破图鉴激活等级
+
+#主线
+Def_PDict_UnXiantaoCnt = "UnXiantaoCnt" # 累计未结算的战锤数
+
 #-------------------------------------------------------------------------------
 #可以从07 41封包购买的背包类型,和对应字典{背包类型:[字典key, 默认格子数]}
 
@@ -4515,6 +4538,7 @@
 AttrName_FightExpRate = "FightExpRate"  # 杀怪经验倍率
 AttrName_GameExpRate = "GameExpRate"  # 游戏事件经验倍率
 AttrName_SkillAtkRate = "SkillAtkRate"  # 技能伤害加成 (用作伤害加成)
+AttrName_AtkBackHP = "AtkBackHP"    # 攻击回复血量固定值
 AttrName_AtkBackHPPer = "AtkBackHPPer"    # 攻击回复血量比率
 AttrName_SuperHit = "SuperHit"  # 暴击伤害固定值
 AttrName_SuperHitRate = "SuperHitRate"  # 暴击概率
@@ -4545,6 +4569,17 @@
 AttrName_PetAtk = "PetAtk"  # 灵宠攻击
 AttrName_PetSkillAtkRate = "PetSkillAtkRate"  # 灵宠技能
 AttrName_PetDamPer = "PetDamPer"  # 灵宠伤害增加
+AttrName_ComboDefRate = "ComboDefRate"  # 抗连击概率
+AttrName_AtkBackRate = "AtkBackRate"  # 反击概率
+AttrName_AtkBackDefRate = "AtkBackDefRate"  # 抗反击概率
+AttrName_SuckHPPer = "SuckHPPer"  # 吸血比率
+AttrName_SuckHPDefPer = "SuckHPDefPer"  # 抗吸血比率
+AttrName_CurePer = "CurePer"  # 强化治疗
+AttrName_CureDefPer = "CureDefPer"  # 弱化治疗
+AttrName_PetStrengthenPer = "PetStrengthenPer"  # 强化灵兽
+AttrName_PetWeakenPer = "PetWeakenPer"  # 弱化灵兽
+AttrName_SuperHitHurtPer = "SuperHitHurtPer"  # 强化暴伤
+AttrName_SuperHitHurtDefPer = "SuperHitHurtDefPer"  # 弱化暴伤
 
 #物品效果(ID或指定类型)对应的属性计算信息 {效果(ID/指定类型):[[属性索引, ...], 是否基础属性,(非)线性]}
 #对应 Def_Calc_AllAttrType_MAX
@@ -4735,6 +4770,22 @@
     ShareDefine.Def_Effect_FamilyWarHPPer:[[TYPE_Calc_FamilyWarHPPer], False, TYPE_Linear],
     ShareDefine.Def_Effect_FamilyWarAtkPer:[[TYPE_Calc_FamilyWarAtkPer], False, TYPE_Linear],
     ShareDefine.Def_Effect_FamilySitExpPer:[[TYPE_Calc_FamilySitExpPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_ComboDefRate:[[TYPE_Calc_ComboDefRate], False, TYPE_Linear],
+    AttrName_ComboDefRate:[[TYPE_Calc_ComboDefRate], False, TYPE_Linear],
+    ShareDefine.Def_Effect_AtkBackRate:[[TYPE_Calc_AtkBackRate], False, TYPE_Linear],
+    AttrName_AtkBackRate:[[TYPE_Calc_AtkBackRate], False, TYPE_Linear],
+    ShareDefine.Def_Effect_AtkBackDefRate:[[TYPE_Calc_AtkBackDefRate], False, TYPE_Linear],
+    AttrName_AtkBackDefRate:[[TYPE_Calc_AtkBackDefRate], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuckHPPer:[[TYPE_Calc_SuckHPPer], False, TYPE_Linear],
+    AttrName_SuckHPPer:[[TYPE_Calc_SuckHPPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuckHPDefPer:[[TYPE_Calc_SuckHPDefPer], False, TYPE_Linear],
+    AttrName_SuckHPDefPer:[[TYPE_Calc_SuckHPDefPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_CurePer:[[TYPE_Calc_CurePer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_CureDefPer:[[TYPE_Calc_CureDefPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_PetStrengthenPer:[[TYPE_Calc_PetStrengthenPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_PetWeakenPer:[[TYPE_Calc_PetWeakenPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuperHitHurtPer:[[TYPE_Calc_SuperHitHurtPer], False, TYPE_Linear],
+    ShareDefine.Def_Effect_SuperHitHurtDefPer:[[TYPE_Calc_SuperHitHurtDefPer], False, TYPE_Linear],
     
     #战斗非线性
     ShareDefine.Def_Effect_SuperHitPer:[[TYPE_Calc_SuperHit], False, TYPE_NoLinear],

--
Gitblit v1.8.0