From 05251cfca26ce5f044923793da7c97597413ed1b Mon Sep 17 00:00:00 2001 From: hxp <ale99527@vip.qq.com> Date: 星期三, 13 八月 2025 19:18:54 +0800 Subject: [PATCH] 129 【战斗】战斗系统-服务端(主线掉落物品默认不堆叠;注:单个物品的个数可能大于1,单个战利品ID可能一次掉多个;) --- ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py | 121 +++++++++++++++++++++++++++------------ 1 files changed, 83 insertions(+), 38 deletions(-) diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py index c0cbe0f..9abacf7 100644 --- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py +++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/ChConfig.py @@ -184,8 +184,6 @@ } # 属性ID对应0418刷新类型 {属性ID:[刷新同步类型, 是否支持超20亿的大数值], ...} -# 卡牌项目玩家/主公属性仅为中间层属性,并非最终属性,最终属性体现在卡牌上,暂定全部前端自己算 -# 所以仅配置战斗场景需要同步的属性即可 CDBRefresh_AttrIDDict = { AttrID_MaxHP:[IPY_PlayerDefine.CDBPlayerRefresh_MaxHP, 1], AttrID_HP:[IPY_PlayerDefine.CDBPlayerRefresh_HP, 1], @@ -573,7 +571,7 @@ def GetItemPackType(itemData, defaultPack=IPY_GameWorld.rptItem): ## 获取物品对应存放的默认背包类型 - if defaultPack in [ShareDefine.rptTreasure, ShareDefine.rptTempItem]: + if defaultPack in [ShareDefine.rptTreasure, ShareDefine.rptTempItem, IPY_GameWorld.rptIdentify]: #寻宝背包、临时背包不做处理 return defaultPack import IpyGameDataPY @@ -772,6 +770,8 @@ Def_Skill_Effect_BoomSeedHurt = 804 # BUFF种子单层伤害 Def_Skill_Effect_StoreBlood = 809 # 将期间受到的伤害总值,用于最后回血,不影响伤害 Def_Skill_Effect_AttackReplace = 1009 #攻击计算,野外小怪伤害替换1010 (2018-03-07增加精英怪) +Def_Skill_Effect_Cure = 1000 #治疗 +Def_Skill_Effect_Anger = 1001 #怒气增减偷 Def_Skill_Effect_Attack = 1010 #攻击计算 Def_Skill_Effect_LayerCnt = 1011 # BUFF层级数量 A值层数;B值:10位-是否非叠加属性,个位-层数处理方式0递增1递减;C值: 是否攻击减层 Def_Skill_Effect_MasterBuff = 1012 # 主从技能(同步buff持续时间) @@ -951,6 +951,20 @@ #伤害类型 ( +HurtType_Fail, # 失败 - 如概率没有触发 0 +HurtType_Normal, # 普通伤害 1 +HurtTYpe_Recovery, # 回血 2 +HurtType_3, +HurtType_4, +HurtType_Parry, # 格挡 5 +HurtType_IgnoreDef, # 无视防御 6 +HurtType_SuperHit, # 暴击 7 +HurtType_8, +HurtType_Miss, # 闪避 9 +) = range(10) + +#伤害类型 +( Def_HurtType_Normal, # 普通伤害 1 Def_HurtTYpe_Recovery, # 回复 2 Def_HurtType_BounceHurt, # 反弹伤害 3 @@ -969,7 +983,7 @@ Def_HurtType_ThumpHit, # 重击 16 Def_HurtType_Yinji, # 印记 17 Def_HurtType_Burn, # 灼烧 18 -) = range(1, 19) +) = range(1001, 1001 + 18) #Def_HurtType_SuckBlood, # 吸血 ( @@ -1319,6 +1333,24 @@ Def_Skill_HappenState_LuckyHit = 0x0004 # 必会心一击 Def_Skill_HappenState_ThumpHit = 0x0008 # 必重击 +# 技能目标 - 瞄准范围 +( +SkillTagAim_All, # 全部 0 +SkillTagAim_Relative, # 对位位置 1 +SkillTagAim_FrontRow, # 前排 2 +SkillTagAim_BackRow, # 后排 3 +SkillTagAim_Vertical, # 竖排/纵排 4 +SkillTagAim_Self, # 自己 5 +SkillTagAim_MainSkill, # 继承主技能目标 6 +) = range(7) + +# 技能目标 - 细分 +( +SkillTagAffect_None, # 无 0 +SkillTagAffect_HPLowest, # 血量最低 1 +SkillTagAffect_HPHighest, # 血量最高 2 +SkillTagAffect_Death, # 死亡单位 3 +) = range(4) #技能施法目标 Def_UseSkillAim_Type = 3 @@ -1827,10 +1859,9 @@ Def_NstNull, Def_NstMoving, Def_NstDead, Def_NstAttack = range(4) #-------------------------------#副本相关#------------------------ -# 主线小怪 -Def_FBMapID_Main = 1 -# 主线Boss -Def_FBMapID_MainBoss = 2 + +Def_FBMapID_Main = 1 # 主线小怪 +Def_FBMapID_MainBoss = 2 # 主线Boss #创角新手村地图ID列表 Def_CreatRoleMapIDList = [10000] @@ -2278,6 +2309,10 @@ DropOwnerType_Contend, # 争夺 8 第一个攻击的获得归属,击杀当前归属者的玩家成为新归属者 DropOwnerType_RankHurtPlayer, # 个人伤血排行奖励归属 9 根据玩家个人伤血排行给奖励,伤血不重置 ) = range(10) + +#阵营 +Def_FactionA = 1 +Def_FactionB = 2 #------------------------------------------------ #技能类型 @@ -3022,7 +3057,8 @@ TurnBattleType_Normal, # 常规攻击 TurnBattleType_Combo, # 连击 TurnBattleType_AtkBack, # 反击 -) = range(3) +TurnBattleType_Pursue , # 追击 +) = range(4) Def_PerTurnTick = 1000 # 每回合等同于常规tick时长 @@ -3101,6 +3137,30 @@ Def_NPC_Dict_TimeLostHPPlayerCount = 'TimeLostHPPlayerCount' # 按时间掉血有效人数 Def_NPC_Dict_TimeLostHPFightPower = 'TimeLostHPFightPower' # 按时间掉血战力 Def_NPC_Dict_TimeLostHPFightPowerEx = 'TimeLostHPFightPowerEx' # 按时间掉血战力 + +#玩家状态定义,不能超过31个,如超过,需扩展多个key支持 +BatObjStateList = ( + BatObjState_Normal, # 无 0 + BatObjState_Freezed, # 定身状态 1 + BatObjState_Slow, # 减速状态 2 + BatObjState_LoseBlood, # 持续掉血状态 3 + BatObjState_Shield, # 麒麟佑身4 + BatObjState_DamBackShield, # 东皇附体5 + BatObjState_Sneer, # 嘲讽 6 + BatObjState_Stun, # 晕眩状态 7 + BatObjState_AddAtk, # 加攻状态 8 + BatObjState_WeakDef, # 减防状态 9 + BatObjState_LimitSkill, # 禁魔状态 10 + BatObjState_LimitAddHP, # 禁疗状态 11 + BatObjState_Blind, # 致盲状态 12 + BatObjState_Burn, # 灼烧 13 + BatObjState_LoseBlood2, # 职业2持续掉血状态 14 + BatObjState_LoseBlood3, # 职业3持续掉血状态 15 + BatObjState_MissSneerAtk, # 对嘲讽攻击免疫表现为miss 16 + BatObjState_BeInAir, # 浮空(做法同眩晕类) 17 + BatObjState_zqdlj, # 紫气东来金灵根技能状态 18 + BatObjState_Ice, # 寒冰状态(同减速) 19 +) = range(20) #玩家状态定义,不能超过31个,如超过,需扩展多个key支持 Def_PlayerStateList = ( @@ -3541,9 +3601,6 @@ Def_PDict_SplitExpLVCnt = "SplitExpLVCnt_%s" # 单位等级经验已拆分过的等级数, 参数为实际等级 Def_PDict_IsAddReviveTired = "IsAddReviveTired" # 死亡是否增加复活疲劳 - -Def_PDict_ComposeMustSuccess = "ComposeMustSuccess_%s" # 前X次合成必定成功,参数(合成归组) -Def_PDict_FirstSuccMakeJobItem = "FirstSuccMakeJobItem_%s" # 首次合成成功给本职业物品记录,参数为(合成ID) Def_PDict_DownloadAwardState = "DownloadAwardState" # 分包包下载奖励状态 0-未领 >0-已领奖励编号 Def_PDict_DownloadPatchAward = "DownloadPatchAward" # 更新包下载奖励状态 0-未领 >0-已领奖励编号 @@ -4088,11 +4145,6 @@ Def_PDict_TTL_TaskAwardRecord = "TTL_TaskAwardRecord_%s" # 通天任务领奖记录,参数(key编号),按索引位存储0-未领,1-已领 Def_PDict_TTL_DailyTaskPointToday = "TTL_DailyTaskPointToday" # 每日通天任务每日可获得积分点上限 -# 大师 Def_PDictType_GreatMaster -Def_PDict_Master_Exp = "Master_Exp" # 当前大师经验 -Def_PDict_Master_ExpPoint = "Master_ExpPoint" # 当前大师经验点 -Def_PDict_Master_FreeSkillPoint = "Master_FreeSkillPoint" # 当前剩余大师技能点 - # 跨服竞技场 Def_PDict_CrossPK_TotalScore = "CrossPK_TotalScore" # 当前总积分 Def_PDict_CrossPK_DanLV = "CrossPK_DanLV" # 当前段位 @@ -4292,10 +4344,12 @@ #武将 Def_PDict_HeroSkin = "HeroSkin_%s" # 武将皮肤解锁状态,按皮肤索引二进制存储,参数(武将ID) Def_PDict_HeroBook = "HeroBook_%s" # 武将图鉴激活等级,参数(武将ID) cccbbba a-初始激活状态1-英雄激活,2-初始图鉴激活; bbb-存星级图鉴激活等级;ccc-存突破图鉴激活等级 +Def_PDict_HeroAwakeRebirthCnt = "HeroAwakeRebirthCnt" # 已觉醒过的武将今日已重生次数,共享次数 #主线 Def_PDict_UnXiantaoCntExp = "UnXiantaoCntExp" # 累计未结算经验的战锤数 -Def_PDict_UnXiantaoCntEquip = "UnXiantaoCntEquip" # 累计未结算掉落的战锤数 +Def_PDict_UnXiantaoCntEquip = "UnXiantaoCntEquip" # 累计未结算装备掉落的战锤数 +Def_PDict_UnXiantaoCntBooty = "UnXiantaoCntBooty_%s" # 累计未结算战利品掉落的战锤数,参数(itemID) Def_PDict_BootyDropToday = "BootyDropToday_%s" # 今日已累计掉落战利品数量,参数(itemID) #------------------------------------------------------------------------------- @@ -5103,6 +5157,16 @@ ) = range(27) +# 回合卡牌 +( +Def_SkillFuncType_Common, #0为通用技能 +Def_SkillFuncType_TurnNormaSkill, #1 普攻技能 +Def_SkillFuncType_AngerSkill, #2 怒气技能 +Def_SkillFuncType_PotentialSkill, #3 潜能技能 +Def_SkillFuncType_AtkbackSkill, #4 反击技能 +) = range(5) + +# MMO项目 - 先保留,重新定义从1000开始,后续可陆续删除 (Def_SkillFuncType_Common, #0为通用技能 Def_SkillFuncType_FbSkill, #1为法宝功能获得的主动技能 Def_SkillFuncType_FbPassiveSkill, #2为法宝功能获得的被动技能 @@ -5126,8 +5190,7 @@ Def_SkillFuncType_ShentongSkill, #20 神通技能 Def_SkillFuncType_ElfSkill, #21 精怪技能 Def_SkillFuncType_GatherTheSoul, #22 聚魂技能 -Def_SkillFuncType_TurnNormaSkill, #23 回合普攻技能 -) = range(24) +) = range(1000, 1000 + 23) # 受技能效果完全影响的怪, 对应 Def_BattleRelationType_CommNoBoss Def_SkillAttack_NPCIsBoss = [ Def_NPCType_Ogre_Normal , #平凡小怪 0 # c++ 定义为普通NPC视野刷新 @@ -5154,24 +5217,6 @@ ExpRateLimitType_Recover, # 资源找回 ExpRateLimitType_Sweep, # 扫荡 ) = range(2) - -# 技能功能类对应战斗力模块 -Def_SkillFuncType_MFPType={ - Def_SkillFuncType_FbSkill:ShareDefine.Def_MFPType_MagicWeapon1, - Def_SkillFuncType_FbPassiveSkill:ShareDefine.Def_MFPType_MagicWeapon2, - Def_SkillFuncType_FbSPSkill:ShareDefine.Def_MFPType_MagicWeapon1, - Def_SkillFuncType_GiftSkill:ShareDefine.Def_MFPType_Role, - - Def_SkillFuncType_HorseSkill:ShareDefine.Def_MFPType_Horse, - Def_SkillFuncType_PetSkill:ShareDefine.Def_MFPType_Pet, - Def_SkillFuncType_PetOwnerSkill:ShareDefine.Def_MFPType_Pet, - Def_SkillFuncType_GWSkill:ShareDefine.Def_MFPType_Prestige, - Def_SkillFuncType_SuiteSkill:ShareDefine.Def_MFPType_Equip, - Def_SkillFuncType_TitleSkill:ShareDefine.Def_MFPType_Dienstgrad, - Def_SkillFuncType_LianTiSkill:ShareDefine.Def_MFPType_LianTi, - Def_SkillFuncType_ShentongSkill:ShareDefine.Def_MFPType_Shentong, - } - # 投资理财类型,和前端对应,从7开始 InvestTypeList = ( -- Gitblit v1.8.0