| | |
| | | import PlayerDogz
|
| | | import ChPlayer
|
| | | import GMShell
|
| | | import GameObj
|
| | |
|
| | | import random
|
| | | import types
|
| | |
| | | beforeMaxHP = curPlayer.GetMaxHP()
|
| | | beforeMoveSpeedValue = GetSpeedValue(curPlayer)
|
| | | beforeMaxProDef = GetMaxProDef(curPlayer)
|
| | | #[金木水火土]
|
| | | beforePointList = [GetMetal(curPlayer), GetWood(curPlayer), GetWater(curPlayer), GetFire(curPlayer), GetEarth(curPlayer)]
|
| | | #构建玩家刷新通知客户端字典, 缓存[索引, 数值]
|
| | | playerStateDict = {}
|
| | | for index in xrange(1, ChConfig.Def_Calc_AllAttrType_MAX):
|
| | |
| | |
|
| | | #通知基础属性
|
| | | self.__SyncBaseAttr(curPlayer, baseAttrList)
|
| | | |
| | | #五行灵根变更需要处理的逻辑
|
| | | afterPointList = [GetMetal(curPlayer), GetWood(curPlayer), GetWater(curPlayer), GetFire(curPlayer), GetEarth(curPlayer)]
|
| | | if beforePointList !=afterPointList:
|
| | | diffPointAttrList = []
|
| | | for i, attrID in enumerate([ShareDefine.Def_Effect_Metal, ShareDefine.Def_Effect_Wood, ShareDefine.Def_Effect_Water,
|
| | | ShareDefine.Def_Effect_Fire, ShareDefine.Def_Effect_Earth]):
|
| | | if beforePointList[i] != afterPointList[i]:
|
| | | diffPointAttrList.append(attrID)
|
| | | SkillShell.RefreshElementSkillByAttr(curPlayer, diffPointAttrList)
|
| | | |
| | | |
| | | # 同步前端战力,因为有 SetFightPower 所以累加战力放在这里所有刷新及计算处理完后才处理,才能正常触发set同步前端
|
| | | self.SendModuleFightPowerPack(curPlayer, mfpDict)
|
| | | billFuncCnt = len(PyGameData.g_refreshAttrBillboardFunc) # 只处理固定次数,防止死循环
|
| | |
| | | DoPlayerDead(curPlayer)
|
| | |
|
| | | PlayerTJG.PlayerTJGReborn(curPlayer, tick)
|
| | | GameObj.ClearPyPlayerState(curPlayer)
|
| | | return
|
| | |
|
| | |
|
| | |
| | | def SetYinjiCnt(curPlayer, value):
|
| | | curPlayer.SetDict(ChConfig.Def_PlayerKey_YinjiCnt, value)
|
| | | curPlayer.SendPropertyRefresh(ShareDefine.CDBPlayerRefresh_YinjiCnt, value, False)
|
| | | |
| | |
|
| | | # 减少指定技能组CD XX%
|
| | | def GetTheFBSkillsCD(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_TheFBSkillsCD)
|
| | | def SetTheFBSkillsCD(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_TheFBSkillsCD, value)
|
| | | # 灼烧固定伤害
|
| | | def GetBurnValue(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_BurnValue)
|
| | | def SetBurnValue(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_BurnValue, value)
|
| | | # 延长灼烧时间百分比
|
| | | def GetBurnTimePer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_BurnTimePer)
|
| | | def SetBurnTimePer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_BurnTimePer, value)
|
| | | # 减移动速度百分比
|
| | | def GetSubSpeedPer(curPlayer): return curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_SubSpeedPer)
|
| | | def SetSubSpeedPer(curPlayer, value): curPlayer.SetDict(ChConfig.Def_PlayerKey_SubSpeedPer, value)
|
| | |
|
| | | ## 计算功能背包物品属性
|
| | | # @param curPlayer 当前玩家
|
| | | # @param packType 背包类型
|