hxp
2018-12-04 eedea82efc5a271e902355420ff80111bda6a566
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -1986,9 +1986,8 @@
        # 设置npc死亡及自身处理
        SetDeadEx(summonNPC)
        
    if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC and \
        curNPC.GetGameNPCObjType() == IPY_GameWorld.gnotSummon:
        FBLogic.DoFB_SummonNPCDead(curNPC)
    if curNPC.GetGameObjType() == IPY_GameWorld.gotNPC:
        FBLogic.DoFB_NPCDead(curNPC)
    
    summonPlayerID = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_SummonMapNPCPlayerID)
    if summonPlayerID > 0:
@@ -3654,7 +3653,7 @@
    #  @remarks 刷新NPC属性
    def RefreshNPCAttrState(self, canSyncClient=True, isReborn=False):
        curNPC = self.__Instance
        curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
        #curNPCMaxHP_Before = GameObj.GetMaxHP(curNPC)
        #清空NPC战斗属性
        curNPC.ClearBattleEffect()
        #--------------------------------------------
@@ -3691,6 +3690,28 @@
            
        return
    
    def SetHelpBattleRobotRebornAttr(self, fightPower):
        '''助战机器人只设置血量属性
                        血量算法,(助战玩家=助战机器人):每个副本配置伤害*(助战玩家战力/副本规定战力)*系数值  系数值暂定为50
        '''
        curNPC = self.__Instance
        mapID = FBCommon.GetRecordMapID(GameWorld.GetMap().GetMapID())
        funcLineID = FBCommon.GetFBPropertyMark()
        ipyData = IpyGameDataPY.GetIpyGameData("FBHelpBattle", mapID, funcLineID)
        if not ipyData:
            return
        SetSuppressFightPower(curNPC, fightPower)
        fbFightPower = ipyData.GetFightPowerMin()
        baseHurt = ipyData.GetRobotBaseHurt()
        hpCoefficient = ipyData.GetRobotHPCoefficient()
        maxHP = int(eval(IpyGameDataPY.GetFuncCompileCfg("HelpBattleRobot", 2)))
        GameWorld.DebugLog("设置助战机器人属性: objID=%s,fightPower=%s,maxHP=%s" % (curNPC.GetID(), fightPower, maxHP))
        GameObj.SetMaxHP(curNPC, maxHP)
        GameObj.SetHP(curNPC, maxHP)
        curNPC.Notify_HPEx()
        curNPC.Notify_MaxHPEx()
        return
    
    # NPC移动速度特殊处理,只处理百分比不能处理固定值 
    # 因为 ChConfig.TYPE_Calc_AttrSpeed 非服务端移动速度,偷懒处理法
@@ -3715,7 +3736,6 @@
    #  @remarks 刷新NPC行为属性
    def RefreshNPCActionState(self):
        curNPC = self.__Instance
        OperControlManager.ClearObjActionState(curNPC)
        
        #根据BUFF 加上状态