| | |
| | | if not curFamily:
|
| | | return
|
| | |
|
| | | atkCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaCnt)
|
| | | itemAddCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaItemAddCnt)
|
| | | freeCnt = IpyGameDataPY.GetFuncCfg("FamilyTaofaAtk", 1)
|
| | | canAtkCnt = freeCnt + itemAddCnt - atkCnt
|
| | | if canAtkCnt <= 0:
|
| | | GameWorld.DebugLog("公会讨伐没有斩杀次数: atkCnt=%s >= freeCnt(%s) + itemAddCnt(%s)" % (atkCnt, freeCnt, itemAddCnt), playerID)
|
| | | return
|
| | | commAddAnger, superAddAnger, maxAnger = IpyGameDataPY.GetFuncEvalCfg("FamilyTaofaAtk", 4)
|
| | | anger = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaAnger)
|
| | | atkType = AtkType_Anger if anger >= maxAnger else AtkType_Normal
|
| | |
|
| | | if atkType == AtkType_Normal:
|
| | | atkCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaCnt)
|
| | | itemAddCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaItemAddCnt)
|
| | | freeCnt = IpyGameDataPY.GetFuncCfg("FamilyTaofaAtk", 1)
|
| | | canAtkCnt = freeCnt + itemAddCnt - atkCnt
|
| | | if canAtkCnt <= 0:
|
| | | GameWorld.DebugLog("公会讨伐没有斩杀次数: atkCnt=%s >= freeCnt(%s) + itemAddCnt(%s)" % (atkCnt, freeCnt, itemAddCnt), playerID)
|
| | | return
|
| | | |
| | | atkTime = int(time.time())
|
| | |
|
| | | # 计算属性
|
| | |
| | | if gLayer > 0:
|
| | | superRate += gLayer * addSuperRatePerLayer
|
| | | damRatio += gLayer * addDamPerLayer / 10000.0
|
| | | |
| | | commAddAnger, superAddAnger, maxAnger = IpyGameDataPY.GetFuncEvalCfg("FamilyTaofaAtk", 4)
|
| | | anger = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_FamilyTaofaAnger)
|
| | |
|
| | | GameWorld.DebugLog("---公会讨伐斩杀: fightPower=%s,gLayer=%s,superRate=%s,superRatio=%s,damRatio=%s,anger=%s/%s" |
| | | % (fightPower, gLayer, superRate, superRatio, damRatio, anger, maxAnger), playerID)
|
| | | GameWorld.DebugLog("---公会讨伐斩杀: fightPower=%s,gLayer=%s,superRate=%s,superRatio=%s,damRatio=%s,anger=%s/%s,atkType=%s" |
| | | % (fightPower, gLayer, superRate, superRatio, damRatio, anger, maxAnger, atkType), playerID)
|
| | |
|
| | | familyAction = DBDataMgr.GetFamilyActionMgr().GetFamilyAction(familyID, ActionType)
|
| | | actionData = familyAction.GetActionDataByValue1(playerID, True)
|
| | |
| | | boxHurtTotalHis = boxHurtHis + boxHurtHisEx * ChConfig.Def_PerPointValue
|
| | | GameWorld.DebugLog("boxContribCnt=%s,boxHurtTotal=%s,boxHurtTotalHis=%s" % (boxContribCnt, boxHurtTotal, boxHurtTotalHis), playerID)
|
| | |
|
| | | atkType = AtkType_Normal
|
| | | calcHurtCnt = 1 # 计算伤害次数
|
| | | if anger >= maxAnger:
|
| | | if atkType == AtkType_Anger: # 怒气攻击
|
| | | anger -= maxAnger
|
| | | atkType = AtkType_Anger # 怒气攻击
|
| | | calcHurtCnt = IpyGameDataPY.GetFuncCfg("FamilyTaofaAtk", 5)
|
| | |
|
| | | hurtTotal = 0 # 本次总伤害
|