7813 【后端】【主干】npc时间掉血增加成长型标准战力
| | |
| | | DWORD LostHPPerSecond; //单人每秒掉血量
|
| | | BYTE MaxPlayerCount; //最大人数
|
| | | DWORD LostHPPerSecondEx; //每增加一人附加掉血量
|
| | | BYTE FightPowerMinByLV; //标准战力是否取等级表
|
| | | DWORD FightPowerMin; //标准战力
|
| | | DWORD FightPowerMax; //上限战力
|
| | | DWORD EveryFightPower; //每x点战力
|
| | |
| | | lostHPPerSecond = ipyData.GetLostHPPerSecond()
|
| | | maxPlayerCount = ipyData.GetMaxPlayerCount()
|
| | | lostHPPerSecondEx = ipyData.GetLostHPPerSecondEx()
|
| | | fightPowerMinByLV = ipyData.GetFightPowerMinByLV()
|
| | | fightPowerMin = ipyData.GetFightPowerMin()
|
| | | fightPowerMax = ipyData.GetFightPowerMax()
|
| | | everyFightPower = ipyData.GetEveryFightPower()
|
| | | everyFightPowerLostHPEx = ipyData.GetEveryFightPowerLostHPEx()
|
| | | |
| | | if fightPowerMinByLV and fightPowerMin:
|
| | | npcLV = NPCCommon.GetNPCLV(curNPC)
|
| | | playerCurLVIpyData = PlayerControl.GetPlayerLVIpyData(npcLV)
|
| | | if not playerCurLVIpyData:
|
| | | return
|
| | | ReFightPower = playerCurLVIpyData.GetReFightPower() # 战斗力
|
| | | reRate = ReFightPower / float(fightPowerMin)
|
| | | #GameWorld.DebugLog("标准战力需要取等级表: fightPowerMin=%s,fightPowerMax=%s,everyFightPower=%s,npcLV=%s,ReFightPower=%s,reRate=%s" |
| | | # % (fightPowerMin, fightPowerMax, everyFightPower, npcLV, ReFightPower, reRate))
|
| | | fightPowerMin = ReFightPower
|
| | | fightPowerMax = int(fightPowerMax * reRate)
|
| | | everyFightPower = int(everyFightPower * reRate)
|
| | | #GameWorld.DebugLog("按比例更新战力值信息: fightPowerMin=%s,fightPowerMax=%s,everyFightPower=%s" |
| | | # % (fightPowerMin, fightPowerMax, everyFightPower))
|
| | | |
| | | effFightPower = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_TimeLostHPFightPower)
|
| | | effPlayerCount = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_TimeLostHPPlayerCount)
|
| | | refreshPlayerCountTick = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_TimeLostHPPlayerCountTick)
|
| | |
| | | ("DWORD", "LostHPPerSecond", 0),
|
| | | ("BYTE", "MaxPlayerCount", 0),
|
| | | ("DWORD", "LostHPPerSecondEx", 0),
|
| | | ("BYTE", "FightPowerMinByLV", 0),
|
| | | ("DWORD", "FightPowerMin", 0),
|
| | | ("DWORD", "FightPowerMax", 0),
|
| | | ("DWORD", "EveryFightPower", 0),
|
| | |
| | | self.LostHPPerSecond = 0
|
| | | self.MaxPlayerCount = 0
|
| | | self.LostHPPerSecondEx = 0
|
| | | self.FightPowerMinByLV = 0
|
| | | self.FightPowerMin = 0
|
| | | self.FightPowerMax = 0
|
| | | self.EveryFightPower = 0
|
| | |
| | | def GetLostHPPerSecond(self): return self.LostHPPerSecond # 单人每秒掉血量
|
| | | def GetMaxPlayerCount(self): return self.MaxPlayerCount # 最大人数
|
| | | def GetLostHPPerSecondEx(self): return self.LostHPPerSecondEx # 每增加一人附加掉血量
|
| | | def GetFightPowerMinByLV(self): return self.FightPowerMinByLV # 标准战力是否取等级表
|
| | | def GetFightPowerMin(self): return self.FightPowerMin # 标准战力
|
| | | def GetFightPowerMax(self): return self.FightPowerMax # 上限战力
|
| | | def GetEveryFightPower(self): return self.EveryFightPower # 每x点战力
|