9687 【后端】【越南】【主干】【BT7】野外根据境界动态刷怪(取NPC怪物等级逻辑优化)
4个文件已修改
17 ■■■■ 已修改文件
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActCollectWords.py 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_16.py 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Event/EventShell.py
@@ -670,7 +670,7 @@
        return
    
    #得到NPC的TypeID
    npcLV = curNPC.GetLV()
    npcLV = NPCCommon.GetNPCLV(curNPC)
    
    #运行on_kill_by_lv目录下的[NPCTypeID].xml文件
    #QuestRunner.SetKillNPC(curNPC)
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -109,10 +109,16 @@
    curNPC.SetTickTypeCount(ChConfig.TYPE_NPC_Tick_Count)
    return
def GetNPCLV(curNPC):
def GetNPCLV(curNPC, curPlayer=None):
    # NPC等级
    if hasattr(curNPC, "GetCurLV"):
        return max(curNPC.GetCurLV(), curNPC.GetLV())
    if curPlayer and PlayerControl.GetRealmDifficulty(curPlayer):
        npcID = curNPC.GetNPCID()
        needRealmLV = PlayerControl.GetDifficultyRealmLV(PlayerControl.GetRealmDifficulty(curPlayer))
        realmNPCIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCRealmStrengthen", npcID, needRealmLV)
        if realmNPCIpyData:
            return realmNPCIpyData.GetLV()
    return curNPC.GetLV()
def GetNPCDataEx(npcID):
@@ -5076,7 +5082,7 @@
        if mapFBType != IPY_GameWorld.fbtNull:
            FBLogic.DoFB_DropOwner(curPlayer , curNPC)
        else:
            if curNPC.GetLV()>=curPlayer.GetLV() - IpyGameDataPY.GetFuncCfg('DailyQuestKillMonster'):
            if GetNPCLV(curNPC) >= curPlayer.GetLV() - IpyGameDataPY.GetFuncCfg('DailyQuestKillMonster'):
                PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_KillNPC)
                PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_KillNPC)
            PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_KillSpecificNPC, 1, [npcID])
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerActCollectWords.py
@@ -132,7 +132,8 @@
    
    isBoss = ChConfig.IsGameBoss(npcData)
    playerLV = curPlayer.GetLV()
    npcLV = npcData.GetLV()
    import NPCCommon
    npcLV = NPCCommon.GetNPCLV(npcData, curPlayer)
    limitLV = ipyData.GetLVLimit()
    if not isBoss and limitLV and limitLV > playerLV:
        #GameWorld.DebugLog("    集字活动玩家等级不足,无法掉落! actName=%s,cfgID=%s,limitLV=%s" % (actName, cfgID, limitLV))
ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Skill/GameSkills/SkillModule_16.py
@@ -155,7 +155,7 @@
def SummonNPCByInstance(curNPC, summonNPC, curSkill, tagRoundPosX, tagRoundPosY, tick):
    
    #设置召唤兽基础信息
    lvSummonNPC = curNPC.GetLV()
    lvSummonNPC = NPCCommon.GetNPCLV(curNPC)
    summonNPC.SetLV(lvSummonNPC)
    #初始化