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