hch
2019-04-16 fab0b1bd0579614f960c243fa1de53fdbbf827c8
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -27,12 +27,10 @@
import FBLogic
import ItemCommon
import OperControlManager
import GameLogic_ManorWar
import PetControl
import ReadChConfig
import DataRecordPack
import ChItem
import PlayerActivity
#import ChItem
import ShareDefine
import PlayerGreatMaster
import PlayerHorse
@@ -46,7 +44,7 @@
import SkillShell
import FBCommon
import IpyGameDataPY
import EquipZhuXian
#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -967,10 +965,12 @@
        #GameWorld.ErrLog('UseSkill findSkillErr = %s'%(pack_SkillID), curPlayerID)
        return
    if not CheckClientAttackTick(curPlayer, clientTick, tick):
        AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_AtkInterval)
        curPlayer.Sync_ClientTick()
        return
    if pack_SkillID != ChConfig.Def_SkillID_Somersault:
        # 翻滚特殊处理,实时响应, 由CD 总控制
        if not CheckClientAttackTick(curPlayer, clientTick, tick):
            AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_AtkInterval)
            curPlayer.Sync_ClientTick()
            return
    #已经在攻击中
    if curPlayer.GetPlayerAction() == IPY_GameWorld.paAttack:
@@ -1883,9 +1883,9 @@
        if not PlayerGreatMaster.GetGreatMasterFreeSkillPoint(curPlayer):
            return False
    #诛仙技能学习判断
    if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
        if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
            return False
    #if upSkill.GetFuncType() == ChConfig.Def_SkillFuncType_ZhuXian:
    #    if not EquipZhuXian.CheckLearnZhuXianSkill(curPlayer, curSkillTypeID):
    #        return False
        
    #经验检测
    skillLvUpNeedExp = upSkill.GetLVUpCostExp()
@@ -2252,14 +2252,6 @@
            #GameWorld.Log("删除场景Buff %d"%skillID)
            processResult = True
            continue
        else:
            # 非领地战期间, 该区域有领地旗buff, 删除区域buff
            if skillID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
                mapBuffManager.DeleteBuffByIndex(index)
                ClearBuffEffectBySkillID(curPlayer, skillID, ownerID, ownerType)
                processResult = True
                #GameWorld.DebugLog("非领地战期间, 该区域有领地旗buff, 删除区域buff")
                continue
        
        index += 1
        
@@ -2285,10 +2277,7 @@
                continue
            if findBuff.GetSkill().GetSkillLV() > curSkill.GetSkillLV():
                continue
        if skillTypeID == ChConfig.Def_SkillID_ManorFlagArea and not GameLogic_ManorWar.CanManorWarAtk():
            #GameWorld.DebugLog("    i=%s,effectID=%s,skillID=%s, 该位置有buff, 非领地战期间, 不添加" % (i, effectID, skillTypeID))
            continue
        #添加场景buff
        isOK = BuffSkill.AddBuffNoRefreshState(curPlayer, IPY_GameWorld.bfMapBuff, curSkill, tick)
        processResult = processResult or isOK
@@ -2393,6 +2382,9 @@
        #骑马触发技能
        houseSkill = ChConfig.Def_Skill_TypeID_Speed
        curSkillType = curSkill.GetSkillTypeID()
        if not SkillCommon.IsBuff(curSkill):
            continue
        
        if curSkillType in houseSkill:
            #不使用,不添加buff
@@ -3438,7 +3430,7 @@
    
    return curSkill.GetExAttr2()
# 只有在指定地图才能生效的buff效果
# 只有在指定地图才能生效的buff效果,或者指定地图可被动触发
def GetAttrMapID(curSkill):
    return curSkill.GetExAttr3()