xdh
2019-01-21 17ba04732178a3442a3e3a361c7a1d3676a4844f
5924 【后端】【1.5.100】诛仙Boss功能
4个文件已修改
31 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFB.py 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/GameWorldLogic/FBProcess/GameLogic_ZhuXianBoss.py
@@ -82,10 +82,11 @@
    if curPlayer.GetOfficialRank() < ipyData.GetRealmLV():
        return
    #诛仙总评分
    if ItemCommon.GetZhuXianEquipTotalGS(curPlayer) < ipyData.GetZhuXianScore():
        return
    
    enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_ZhuXianBoss)
    if enterCnt >= FBCommon.GetEnterFBMaxCnt:
    if enterCnt >= FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss):
        if not curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhuXianBossHelpCnt):
            return
        if not curPlayer.GetFamilyID():
@@ -328,7 +329,7 @@
#
def UpdateHurtInfo(curPlayer, hurtHP, isAdd=False):
    enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_ZhuXianBoss)
    if enterCnt >= FBCommon.GetEnterFBMaxCnt:
    if enterCnt >= FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss):
        #没归属的不进伤害榜
        return
    lineID = GameWorld.GetGameWorld().GetPropertyID() - 1
@@ -661,4 +662,17 @@
def DoPlayerDead(curPlayer):
    return
## 检查是否可攻击, 主判定不可攻击的情况,其他逻辑由外层决定
#  @param attacker 攻击方
#  @param defender 防守方
#  @return bool
def CheckCanAttackTagObjInFB(attacker, defender):
    atkObjType = attacker.GetGameObjType()
    defObjType = defender.GetGameObjType()
    if atkObjType == IPY_GameWorld.gotPlayer and defObjType == IPY_GameWorld.gotNPC:
        gameWorld = GameWorld.GetGameWorld()
        lineID = gameWorld.GetPropertyID() - 1
        if not gameWorld.GetGameWorldDictByKey(FBDict_IsReduceing%lineID):
            PlayerControl.NotifyCode(attacker, 'TryEnterJadeDynastyBossError_7')
            return False
    return True
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/UseItem/ItemCommon.py
@@ -482,6 +482,9 @@
        value = eval(FormulaControl.GetCompileFormula("EquipGSFormula", IpyGameDataPY.GetFuncCfg("EquipGSFormula")))
    return value
def GetZhuXianEquipTotalGS(curPlayer):
    ##诛仙装备总评分
    return 10000000
#---------------------------------------------------------------------
## 通过效果ID,检查是否为指定物品 
#  @param curPlayer 当前玩家
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerControl.py
@@ -1704,7 +1704,7 @@
            bossID = GameLogic_ZhuXianBoss.CurFBLineBOSSID(lineID)
            extendParamList = [bossID, -1]
            enterCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_Player_Dict_EnterFbCntDay % ChConfig.Def_FBMapID_ZhuXianBoss)
            if enterCnt >= FBCommon.GetEnterFBMaxCnt:
            if enterCnt >= FBCommon.GetEnterFBMaxCnt(curPlayer, ChConfig.Def_FBMapID_ZhuXianBoss):
                if curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_ZhuXianBossHelpCnt):
                    extendParamList = [bossID, curPlayer.GetFamilyID()]
            
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/RemoteQuery/GY_Query_EnterFB.py
@@ -179,11 +179,11 @@
                        break
                    
                findGameWord = gameWorld
                findPlayerManager = gameWorld
                findPlayerManager = playerManager
                break
            if not findGameWord and propertyID == 0:
                findGameWord = gameWorld
                findPlayerManager = gameWorld
                findPlayerManager = playerManager
        
        if findPlayerManager and tagMapID == ChConfig.Def_FBMapID_ZhuXianBoss:
            if packCMDList[3] !=-1 and not GameLogic_ZhuXianBoss.GetHasSameFamilyMerber(packCMDList[3], findPlayerManager):