| | |
| | | if not GameFuncComm.GetFuncCanUse(atkPlayer, funcID):
|
| | | PlayerControl.NotifyCode(atkPlayer, funcSysMark)
|
| | | return
|
| | |
|
| | | hasKillCnt = atkPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCnt%index, 0)
|
| | | itemAddKillCnt = atkPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCntItemAddCnt%index, 0)
|
| | | killLimitPrivilege = IpyGameDataPY.GetFuncEvalCfg('KillBossCntLimit', 4, {}).get(index, 0)
|
| | | if killLimitPrivilege:
|
| | | limitCnt = PlayerVip.GetPrivilegeValue(atkPlayer, killLimitPrivilege)
|
| | | else:
|
| | | limitCnt = IpyGameDataPY.GetFuncEvalCfg('KillBossCntLimit', 2, {}).get(index, 0)
|
| | | canKillCnt, limitCnt = GetBossCanKillRemainCnt(atkPlayer, index)
|
| | |
|
| | | |
| | | if hasKillCnt >= limitCnt + itemAddKillCnt:
|
| | | if canKillCnt <= 0:
|
| | | #if BossHurtMng.GetPlayerBossHurt(atkPlayer, defender):
|
| | | # GameWorld.DebugLog("攻击过该boss可继续攻击")
|
| | | # return True
|
| | |
| | | return False
|
| | | return True
|
| | |
|
| | | def GetBossCanKillRemainCnt(curPlayer, funcIndex):
|
| | | #获取BOSS剩余可击杀数量与最大数量
|
| | | hasKillCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCnt%funcIndex, 0)
|
| | | itemAddKillCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_Boss_KillCntItemAddCnt%funcIndex, 0)
|
| | | killLimitPrivilege = IpyGameDataPY.GetFuncEvalCfg('KillBossCntLimit', 4, {}).get(funcIndex, 0)
|
| | | if killLimitPrivilege:
|
| | | limitCnt = PlayerVip.GetPrivilegeValue(curPlayer, killLimitPrivilege)
|
| | | else:
|
| | | limitCnt = IpyGameDataPY.GetFuncEvalCfg('KillBossCntLimit', 2, {}).get(funcIndex, 0)
|
| | | return max(0, limitCnt + itemAddKillCnt - hasKillCnt), limitCnt
|
| | |
|
| | | def CheckAttackNPCByCnt(attacker, defender, isNotify=True):
|
| | | ''' 判断当日攻击该NPC次数是否已满 '''
|