ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/SkillShell.py
@@ -28,11 +28,9 @@
import ItemCommon
import OperControlManager
import PetControl
import ReadChConfig
import DataRecordPack
#import ChItem
import ShareDefine
import PlayerHorse
import GameObj
import random
import NetPackCommon
@@ -40,12 +38,10 @@
import GameMap
import collections
import PassiveBuffEffMng
import ChEquip
import SkillShell
import FBCommon
import IpyGameDataPY
import PyGameData
import TurnAttack
#---------------------------------------------------------------------
GameWorld.ImportAll("Script\\Skill\\" , "GameSkills")
GameWorld.ImportAll("Script\\Skill\\" , "GameBuffs")
@@ -708,29 +704,29 @@
            continue
        npcObj.StopMove()
        npcObj.ChangePos(npcPos.PosX, npcPos.PosY)
        BeatBackMove(curPlayer, npcObj)
        #BeatBackMove(curPlayer, npcObj)
    return
# 针对NPC被推出远距离一直卡墙角问题,法宝挑战副本特殊处理为超过4米 NPC自动回退一些
def BeatBackMove(curPlayer, npcObj):
    if GameWorld.GetMap().GetMapID() != ChConfig.Def_FBMapID_MagicWeapon:
        return
    if npcObj.GetCurAction() == IPY_GameWorld.laNPCSkillWarning:
        return
    posMap = npcObj.GetRefreshPosAt(npcObj.GetCurRefreshPointIndex())
    if not posMap:
        return
    #范围校验
    posMapX = posMap.GetPosX()
    posMapY = posMap.GetPosY()
    if GameWorld.GetDist(npcObj.GetPosX(), npcObj.GetPosY(), posMapX, posMapY) < 8:
        # 单次位移不超过5米
        return
    npcControl = NPCCommon.NPCControl(npcObj)
    moveDestX, moveDestY = npcControl.GetMoveNearPosEx(posMapX, posMapY, 5)
    npcObj.Move(moveDestX, moveDestY)
    return
## 针对NPC被推出远距离一直卡墙角问题,法宝挑战副本特殊处理为超过4米 NPC自动回退一些
#def BeatBackMove(curPlayer, npcObj):
#    if GameWorld.GetMap().GetMapID() != ChConfig.Def_FBMapID_MagicWeapon:
#        return
#    if npcObj.GetCurAction() == IPY_GameWorld.laNPCSkillWarning:
#        return
#
#    posMap = npcObj.GetRefreshPosAt(npcObj.GetCurRefreshPointIndex())
#    if not posMap:
#        return
#    #范围校验
#    posMapX = posMap.GetPosX()
#    posMapY = posMap.GetPosY()
#    if GameWorld.GetDist(npcObj.GetPosX(), npcObj.GetPosY(), posMapX, posMapY) < 8:
#        # 单次位移不超过5米
#        return
#    npcControl = NPCCommon.NPCControl(npcObj)
#    moveDestX, moveDestY = npcControl.GetMoveNearPosEx(posMapX, posMapY, 5)
#    npcObj.Move(moveDestX, moveDestY)
#    return
#===============================================================================
# //B4 03 吸引NPC仇恨 #tagNPCAttention
@@ -1352,18 +1348,14 @@
    if GameObj.GetHP(curPlayer) <= 0:
        return
    
    if curPlayer.GetDictByKey(ChConfig.Def_PlayerKey_ClientCustomScene):
        #GameWorld.DebugLog("自定义场景中,不检查!")
        return True
    #===========================================================================
    # if curPlayer.IsMoving():
    #    GameWorld.DebugLog("移动中不可使用技能")
    #    return False
    #===========================================================================
    if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse:
        #GameWorld.DebugLog("骑马中不允许释放技能", curPlayerID)
        PlayerHorse.PlayerRideHorseDown(curPlayer)
    #if curPlayer.GetPlayerVehicle() == IPY_GameWorld.pvHorse:
    #    #GameWorld.DebugLog("骑马中不允许释放技能", curPlayerID)
    #    PlayerHorse.PlayerRideHorseDown(curPlayer)
    
    if not PlayerControl.PlayerCanStateTransfer(curPlayer):
        #GameWorld.DebugLog('CheckUseSkill, PlayerStateErr = %s '%( curPlayer.GetPlayerAction() ), curPlayerID )
@@ -1837,7 +1829,7 @@
    #===========================================================================
        
    if curSkill.GetFuncType() == ChConfig.Def_SkillFuncType_HorseSkill and SkillCommon.isPassiveAttr(curSkill):
        PlayerHorse.RefreshHorseAttr(curPlayer)
        pass#PlayerHorse.RefreshHorseAttr(curPlayer)
    else:
        if SkillCommon.isPassiveAttr(curSkill):
            curControl = PlayerControl.PlayerControl(curPlayer)