2996 子 【设计】新增一个可均摊的技能 / 【后端】新增一个伤害均摊的技能, 修复均摊保底数值为1%
fix:当客户端和服务端tick不一致时,立即同步一次
| | |
| | | resultDict[familyID].append(obj)
|
| | |
|
| | | skillEffect = SkillCommon.GetSkillEffectByEffectID(curSkill, ChConfig.Def_Skill_Effect_AvgHurtFMCnt)
|
| | | minSkillPer = 100 # 如果未配置默认最低值
|
| | | minSkillPer = 0.01 # 如果未配置默认最低值
|
| | | if skillEffect:
|
| | | minSkillPer = skillEffect.GetEffectValue(0)
|
| | |
|
| | | attackList = []
|
| | | for familyID in resultDict:
|
| | | cnt = len(resultDict[familyID]) if familyID != 0 else 1 # 无仙盟承受100%伤害
|
| | | |
| | | skillPercent = max(skillPercent/cnt, minSkillPer)
|
| | | attackList.extend(__DoAreaAttack(attacker, curSkill, skillEnhance/cnt, skillPercent, resultDict[familyID],
|
| | | [], g_skillHurtList, tick))
|
| | |
| | | #时间相差过大,可能因网络引起,拉回
|
| | | GameWorld.DebugLog("PlayerMoveCheckClientWorldTick -- 服务器tick %s-客户端%s时间相差过大,可能因网络引起,拉回" % (
|
| | | gameWorldTick, clientWorldTick), curPlayer.GetID())
|
| | | curPlayer.Sync_ClientTick()
|
| | | return False
|
| | |
|
| | | if gameWorldTick - curPlayer.GetDictByKey("CheckTick") > 60000:
|