|  |  | 
 |  |  | import PlayerActivity
 | 
 |  |  | import PlayerControl
 | 
 |  |  | import IpyGameDataPY
 | 
 |  |  | import SkillCommon
 | 
 |  |  | import PyGameData
 | 
 |  |  | import BuffSkill
 | 
 |  |  | import PlayerTJG
 | 
 |  |  | import NPCCommon
 | 
 |  |  | import ChConfig
 | 
 |  |  | import GameObj
 | 
 |  |  | 
 |  |  |     if not g_familyOwnerBossHurt:
 | 
 |  |  |         g_familyOwnerBossHurt = FamilyOwnerBossHurt()
 | 
 |  |  |     return g_familyOwnerBossHurt
 | 
 |  |  | 
 | 
 |  |  | def OnPlayerLogin(curPlayer):
 | 
 |  |  |     if GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_DailyActionState % ShareDefine.DailyActionID_FamilyRobBoss):
 | 
 |  |  |         __DoCheckHorsePetRobBossKillCntBuff(curPlayer, GameWorld.GetGameWorld().GetTick())
 | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def IsHorsePetRobBoss(bossID):
 | 
 |  |  |     ## 是否骑宠争夺bossID
 | 
 |  |  | 
 |  |  |     return hurtPack
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | def OnFamilyKillHorsePetRobBossCntChange(tick):
 | 
 |  |  |     ## 仙盟击杀骑宠boss个数变更
 | 
 |  |  |      | 
 |  |  |     playerManager = GameWorld.GetPlayerManager()
 | 
 |  |  |     for i in xrange(playerManager.OnlineCount()):
 | 
 |  |  |         curPlayer = playerManager.OnlineAt(i)
 | 
 |  |  |         if curPlayer.IsEmpty():
 | 
 |  |  |             continue
 | 
 |  |  |         __DoCheckHorsePetRobBossKillCntBuff(curPlayer, tick)
 | 
 |  |  |          | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | def __DoCheckHorsePetRobBossKillCntBuff(curPlayer, tick):
 | 
 |  |  |     familyID = curPlayer.GetFamilyID()
 | 
 |  |  |     if not familyID:
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     if PlayerTJG.GetIsTJG(curPlayer):
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     killCount = PyGameData.g_familyKillHorsePetRobBossCntDict.get(familyID, 0)
 | 
 |  |  |     skillTypeID = ChConfig.Def_SkillID_HorsePetRobBossKillCntBuff
 | 
 |  |  |      | 
 |  |  |     skillInfo = SkillCommon.FindBuffByID(curPlayer, skillTypeID)
 | 
 |  |  |     findBuff, buffManager, buffType, findSkill = skillInfo
 | 
 |  |  |     if not findSkill:
 | 
 |  |  |         return
 | 
 |  |  |     killLV = min(killCount, findSkill.GetSkillMaxLV())
 | 
 |  |  |      | 
 |  |  |     if findBuff:
 | 
 |  |  |         buffSkill = findBuff.GetSkill()
 | 
 |  |  |         if not buffSkill:
 | 
 |  |  |             return
 | 
 |  |  |         curBuffLV = buffSkill.GetSkillLV()
 | 
 |  |  |         if curBuffLV == killLV:
 | 
 |  |  |             #GameWorld.DebugLog("骑宠怨念buff等级不变: familyID=%s,killLV=%s,curBuffLV=%s" % (familyID, killLV, curBuffLV), curPlayer.GetPlayerID())
 | 
 |  |  |             return
 | 
 |  |  |          | 
 |  |  |     elif not killLV:
 | 
 |  |  |         #GameWorld.DebugLog("无骑宠怨念buff: familyID=%s,killLV=%s" % (familyID, killLV), curPlayer.GetPlayerID())
 | 
 |  |  |         return
 | 
 |  |  |      | 
 |  |  |     if not killLV:
 | 
 |  |  |         #GameWorld.DebugLog("删除骑宠怨念buff: familyID=%s,killLV=%s" % (familyID, killLV), curPlayer.GetPlayerID())
 | 
 |  |  |         BuffSkill.DelBuffBySkillID(curPlayer, skillTypeID, tick)
 | 
 |  |  |     else:
 | 
 |  |  |         #GameWorld.DebugLog("变更骑宠怨念buff等级: familyID=%s,killLV=%s" % (familyID, killLV), curPlayer.GetPlayerID())
 | 
 |  |  |         curSkill = GameWorld.GetGameData().FindSkillByType(skillTypeID, killLV)
 | 
 |  |  |         BuffSkill.AddBuffNoRefreshState(curPlayer, buffType, curSkill, tick, [], curPlayer)
 | 
 |  |  |          | 
 |  |  |     return
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | 
 | 
 |  |  | 
 |