hxp
2024-01-06 776cf3759b9801f3795ee975cd77078f505b90d6
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -624,11 +624,11 @@
    if skillTag != ChConfig.Def_UseSkillTag_PetMaster:
        return False
    if not PetControl.IsPet(curNPC):
    if not PetControl.IsPetNPC(curNPC):
        GameWorld.ErrLog("NPCID %s AI %s 非宠物,无法获得主人释放技能"%(curNPC.GetNPCID(), curNPC.GetAIType()))
        return False
    
    petOwner = PetControl.GetPetOwner(curNPC)
    petOwner = PetControl.GetPetNPCOwner(curNPC)
    
    if petOwner == None:
        GameWorld.ErrLog("宠物(%s)对主人释放技能,找不到主人"%curNPC.GetRolePet().PetID)
@@ -1757,11 +1757,11 @@
                  
        # 宠物对主人释放技能
        elif skillAffectTag == ChConfig.Def_UseSkillTag_PetMaster:
            if not PetControl.IsPet(attacker):
            if not PetControl.IsPetNPC(attacker):
                GameWorld.ErrLog("该NPC非宠物,无法获得主人释放技能")
                return False
            
            petOwner = PetControl.GetPetOwner(attacker)
            petOwner = PetControl.GetPetNPCOwner(attacker)
            
            if petOwner == None:
                GameWorld.ErrLog("宠物(%s)对主人释放技能,找不到主人"%attacker.GetRolePet().PetID)
@@ -3844,10 +3844,10 @@
    
    else:
        if affectTag == ChConfig.Def_UseSkillTag_PetMaster:
            if not PetControl.IsPet(attacker):
            if not PetControl.IsPetNPC(attacker):
                return False
            
            petOwner = PetControl.GetPetOwner(attacker)
            petOwner = PetControl.GetPetNPCOwner(attacker)
            if petOwner == None:
                return False
            
@@ -3898,15 +3898,19 @@
## 获取技能总等级
#  @param curPlayer
#  @return allSkillLV:总技能等级
def GetAllSkillLV(curPlayer, funcType):
    allSkillLV = 0
def GetAllSkillInfo(curPlayer, funcTypeList):
    # @return: {funcType:{skillID:skillLV, ...}, ...}
    skillDict = {}
    skillManager = curPlayer.GetSkillManager()
    for i in xrange(skillManager.GetSkillCount()):
        curPlayerSkill = skillManager.GetSkillByIndex(i)
        if curPlayerSkill == None:
            continue
        if curPlayerSkill.GetFuncType() != funcType:
        funcType = curPlayerSkill.GetFuncType()
        if funcType not in funcTypeList:
            continue
        skillLV = curPlayerSkill.GetSkillLV()
        allSkillLV += skillLV
    return allSkillLV
        if funcType not in skillDict:
            skillDict[funcType] = {}
        skillLVDict = skillDict[funcType]
        skillLVDict[curPlayerSkill.GetSkillID()] = curPlayerSkill.GetSkillLV()
    return skillDict