hxp
2019-03-28 cdaa0f6d8e428e1c28ff36a1b1a986ec59e354b4
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,6 +44,7 @@
import SkillShell
import FBCommon
import IpyGameDataPY
#import EquipZhuXian
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -247,7 +246,8 @@
    #还在冷却时间内无法释放
    if SkillCommon.RefreshSkillRemainTime(playerSkill, tick) != 0:
        PlayerControl.NotifyCode(curPlayer, "UseSkillCDLimit")
        AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
        #AttackFailNotify(curPlayer, curSkill, ChConfig.SkillFail_CD)
        playerSkill.Sync_Skill()
        return False
    #5:检查玩家的魔法值是否够用这个技能
@@ -887,6 +887,7 @@
    Def_Attack_DelayTick = 5000
    # tick 误差过大则过滤
    if abs(clientTick - tick) > Def_Attack_DelayTick:
        curPlayer.Sync_ClientTick()
        GameWorld.DebugLog("tick 误差过大则过滤 > 5000")
        return False
    
@@ -1063,6 +1064,7 @@
def AttackFailNotify(curPlayer, curSkill, reason=0):
    sendPack = ChPyNetSendPack.tagMCAttackFail()
    sendPack.SkillID = curSkill.GetSkillID()
    sendPack.Reason = reason
    NetPackCommon.SendFakePack(curPlayer, sendPack)
#--------------------------玩家使用技能
#===============================================================================
@@ -1832,8 +1834,11 @@
    
    #升级技能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()])
@@ -1875,6 +1880,11 @@
    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()
    
@@ -2240,14 +2250,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
        
@@ -2273,10 +2275,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
@@ -2716,7 +2715,8 @@
        if curPlayerSkill.GetFuncType() not in [ChConfig.Def_SkillFuncType_FbSkill,
                                            ChConfig.Def_SkillFuncType_FbSPSkill,
                                            ChConfig.Def_SkillFuncType_GiftSkill,
                                            ChConfig.Def_SkillFuncType_GWSkill]:
                                            ChConfig.Def_SkillFuncType_GWSkill,
                                            ChConfig.Def_SkillFuncType_ZhuXian]:
            # 根据技能情况调整
            continue
        
@@ -3425,7 +3425,7 @@
    
    return curSkill.GetExAttr2()
# 只有在指定地图才能生效的buff效果
# 只有在指定地图才能生效的buff效果,或者指定地图可被动触发
def GetAttrMapID(curSkill):
    return curSkill.GetExAttr3()