ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -41,13 +41,12 @@
import GameMap
import collections
import PassiveBuffEffMng
import EffGetSet
import ChEquip
import SkillShell
import FBCommon
import IpyGameDataPY
import PyGameData
import EventShell
#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -1872,11 +1871,8 @@
    
    #升级技能CD直接冷却
    curSkill.SetRemainTime(0)
    learnSkillNotifyDict = IpyGameDataPY.GetFuncEvalCfg("SPSkillType", 3, {})
    if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill:
        PlayerControl.WorldNotify(0, 'GetMountSkill', [curPlayer.GetName(), curSkillID])
    elif skillTypeID in learnSkillNotifyDict:
        PlayerControl.WorldNotify(0, learnSkillNotifyDict[skillTypeID], [curPlayer.GetName(), curSkillID])
    else:
        #通知技能已升级成功 GeRen_admin_31379
        PlayerControl.NotifyCode(curPlayer, "GeRen_admin_31379", [curSkillID, curSkill.GetSkillLV()])
@@ -1917,10 +1913,6 @@
    if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_GiftSkill:
        if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
            return False
    #诛仙技能学习判断
    #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
    #    if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
    #        return False
        
    #经验检测
    skillLvUpNeedExp = upSkill.GetLVUpCostExp()
@@ -2142,6 +2134,7 @@
            return
        
        PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, selectSkillID)
        ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
        if curElementSkillID and curElementSkillID != selectSkillID:
            #原技能删除
            skillManager.DeleteSkillBySkillTypeID(curElementSkillID)
@@ -2200,6 +2193,7 @@
            ipyData = IpyGameDataPY.GetIpyGameData('SkillElement', skillTypeID)
            mainSkillID = ipyData.GetMainSkillID()
            PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_SkillElementID % mainSkillID, 0)
            ChEquip.ChangeEquipfacadeByLingGen(curPlayer)
            isNotify = True
    else:
        for _ in xrange(updSkillLV-curSkillLV):
@@ -3473,7 +3467,7 @@
    
    #这个技能是Buff
    if SkillCommon.IsBuff(curSkill):
        if ChConfig.Def_SkillType_LstPlsBuffAtk == curSkill.GetSkillType():
        if curSkill.GetSkillType() in [ChConfig.Def_SkillType_LstPlsBuffAtk, ChConfig.Def_SkillType_PassiveLstPlsBuffAtk]:
            defender = attacker
        return __DoLogic_AddBuff(attacker, defender, curSkill, isEnhanceSkill, tick, tagRoundPosX, tagRoundPosY)
    
@@ -3757,11 +3751,11 @@
        
        # 当技能类型为被动技能并且tag字段为0,则此技能为媒介用于触发技能 SkillEnhance1 SkillEnhance2
        skill1 = GameWorld.GetGameData().GetSkillBySkillID(curSkill.GetSkillEnhance1())
        if skill1:
        if skill1 and GameWorld.CanHappen(skill1.GetHappenRate(), ChConfig.Def_MaxRateValue):
            result = True if UsePassiveTriggerSkill(attacker, skill1, target, tick, True) else result
            
        skill2 = GameWorld.GetGameData().GetSkillBySkillID(curSkill.GetSkillEnhance2())
        if skill2:
        if skill2 and GameWorld.CanHappen(skill2.GetHappenRate(), ChConfig.Def_MaxRateValue):
            result = True if UsePassiveTriggerSkill(attacker, skill2, target, tick, True) else result
        
        SkillCommon.SetSkillRemainTime(curSkill, PlayerControl.GetReduceSkillCDPer(attacker), tick, attacker)
@@ -3772,7 +3766,7 @@
    GameWorld.DebugLog("释放被动触发技能 : %s- %s"%(skillAim, curSkill.GetSkillID()))
    if skillAim == ChConfig.Def_UseSkillAim_None:
        if curSkill.GetSkillType() in ChConfig.Def_CanAttackSkill_List:
        if curSkill.GetSkillType() in ChConfig.Def_CanAttackSkill_List and affectTag != ChConfig.Def_UseSkillTag_Self:
            if target and target.GetGameObjType() == IPY_GameWorld.gotNPC and target.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
                owner = NPCCommon.GetNpcObjOwnerDetail(target)
                if owner and owner.GetID() == attacker.GetID():