From 30dd8ff93a00ada8262a35da0ede9c2088a7fd37 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 23 九月 2025 16:52:52 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(诸葛亮技能; 目标细分增加攻击力最高5; buff状态增加军令19;增加效果6006增加本次技能万分比验证职业;增加效果5015集火攻击军令目标;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |  120 ------------------------------------------------------------
 1 files changed, 0 insertions(+), 120 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
index 11a06b4..5059b04 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -48,8 +48,6 @@
 import PlayerBossReborn
 import PlayerCrossYaomoBoss
 import PlayerActCollectWords
-import PlayerActGarbageSorting
-import PlayerActBossTrial
 import PlayerTongTianLing
 import CrossPlayerData
 import PlayerFeastWish
@@ -145,119 +143,6 @@
 def GetNPCSeries(curNPC): return curNPC.GetPoisionDef() # 毒防字段代表NPC系,按二进制位区分
 
 def DoNPCAttrStrengthen(curNPC, isReborn, isDyn=False):
-    '''NPC属性增强, NPC属性成长由两个因素决定
-    1.NPC成长等级,成长等级决定成长属性,与成长表结合使用
-            可设置地图NPC等级动态成长,但是已经刷新出来的NPC等级不变,动态等级变更后刷新的NPC等级才会使用最新等级
-            
-    2.玩家人数因素,决定NPC属性的额外成长系数,可单独使用,或者和1一起使用
-            可设置马上刷新NPC属性
-            除血量外,其他属性会根据动态因素直接变更
-            血量会根据血量百分比动态变更至相应的百分比
-    '''
-    npcID = curNPC.GetNPCID()
-    strengthenIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCStrengthen", npcID)
-    if not strengthenIpyData:
-        #GameWorld.DebugLog("该NPC属性不成长!npcID=%s" % npcID)
-        return
-    
-    strengthenLV = 0
-    strengthenPlayerCnt = 0
-    
-    gameFB = GameWorld.GetGameFB()
-    
-    if strengthenIpyData.GetIsStrengthenByPlayerCount():
-        strengthenPlayerCnt = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenPlayerCnt)
-        if not strengthenPlayerCnt:
-            GameWorld.ErrLog("NPC配置了按玩家人数成长类型,但是无法获取到对应的玩家人数!npcID=%s" % (npcID))
-            return
-            
-    lvStrengthenType = strengthenIpyData.GetLVStrengthenType()
-    # 根据世界等级
-    if lvStrengthenType == 3:
-        strengthenLV = GameWorld.GetGameWorld().GetGameWorldDictByKey(ShareDefine.Def_Notify_WorldKey_WorldAverageLv)
-    # 根据最大等级
-    elif lvStrengthenType == 2:
-        strengthenLV = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenMaxLV)
-    # 根据平均等级
-    elif lvStrengthenType == 1:
-        strengthenLV = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenAverageLV)
-    # 根据按成长等级的上下限随机
-    elif lvStrengthenType == 4:
-        randMinLV = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenMinLV)
-        randMaxLV = gameFB.GetGameFBDictByKey(ChConfig.Def_FB_NPCStrengthenMaxLV)
-        strengthenLV = random.randint(randMinLV, randMaxLV)
-    # 根据境界难度
-    elif lvStrengthenType == 5:
-        realmLV = PlayerControl.GetDifficultyRealmLV(curNPC.GetSightLevel())
-        realmNPCIpyData = IpyGameDataPY.GetIpyGameDataNotLog("NPCRealmStrengthen", npcID, realmLV)
-        if realmNPCIpyData:
-            strengthenLV = realmNPCIpyData.GetLV()
-        else:
-            lvStrengthenType = 0
-            
-    # 木桩怪最大、平均成长等级处理,直接取归属玩家等级
-    if lvStrengthenType in [1, 2] and curNPC.GetType() in [ChConfig.ntPriWoodPilePVE, ChConfig.ntPriWoodPilePVP]:
-        owner = None
-        summonPlayerID = curNPC.GetDictByKey(ChConfig.Def_NPC_Dict_PriWoodPilePlayerID)
-        if summonPlayerID:
-            owner = GameWorld.GetObj(summonPlayerID, IPY_GameWorld.gotPlayer)
-        if owner:
-            strengthenLV = owner.GetLV()
-            
-    if strengthenIpyData.GetCmpNPCBaseLV():
-        strengthenLV = max(strengthenLV, curNPC.GetLV())
-    
-    if lvStrengthenType in [1, 2] and not strengthenLV:
-        GameWorld.ErrLog("NPC配置了成长等级类型,但是无法获取到对应的成长等级值!npcID=%s,lvStrengthenType=%s" % (npcID, lvStrengthenType))
-        return
-    
-    # 副本特殊指定
-    npcFBAttrDict = FBLogic.GetFBNPCStrengthenAttr(curNPC, isReborn)
-    if "LV" in npcFBAttrDict:
-        strengthenLV = npcFBAttrDict["LV"]
-        
-    attrDict = {} #GetNPCStrengthenAttrDict(npcID, strengthenLV, strengthenPlayerCnt, strengthenIpyData)
-    attrDict.update(npcFBAttrDict) # 如果副本有指定属性,则以副本为主
-    if not attrDict:
-        return
-    
-    # 成长等级只在重生的时候设置一次
-    if isReborn and curNPC.GetCurLV() != strengthenLV:
-        curNPC.SetCurLV(strengthenLV, False) # 重生的不通知等级变更,属性成长刷新后由NPC出现包通知
-        
-    befMaxHP = GameObj.GetMaxHP(curNPC)
-    befHP = GameObj.GetHP(curNPC)
-    #GameWorld.DebugLog("NPC属性成长刷新,isReborn=%s,npcID=%s,LV=%s,curLV=%s,befMaxHP=%s,befHP=%s,attrDict=%s" 
-    #                   % (isReborn, npcID, curNPC.GetLV(), curNPC.GetCurLV(), befMaxHP, befHP, attrDict))
-    for attrKey, strengthenValue in attrDict.items():
-        if not hasattr(curNPC, "Set%s" % attrKey):
-            if attrKey == "FightPower":
-                SetSuppressFightPower(curNPC, strengthenValue)
-            continue
-        
-        if attrKey == "MaxHP":
-            GameObj.SetMaxHP(curNPC, strengthenValue)
-        else:
-            strengthenValue = min(strengthenValue, ChConfig.Def_UpperLimit_DWord)
-            getattr(curNPC, "Set%s" % attrKey)(strengthenValue)
-        #GameWorld.DebugLog("    %s=%s" % (attrKey, strengthenValue))
-        
-    aftMaxHP = GameObj.GetMaxHP(curNPC)
-    if befMaxHP != aftMaxHP:
-        if isReborn:
-            GameObj.SetHP(curNPC, aftMaxHP)
-        elif isDyn:
-            # 动态刷新属性的,血量按百分比继承
-            aftHP = int(aftMaxHP * befHP / befMaxHP)
-            GameObj.SetHP(curNPC, aftHP)
-            curNPC.Notify_HP()
-            curNPC.Notify_MaxHP()
-            #GameWorld.DebugLog("    aftHP=%s,aftMaxHP=%s" % (aftHP, aftMaxHP))
-    
-    # 机器人复活初始化给技能
-    if isReborn and curNPC.GetType() == ChConfig.ntRobot:
-        __OnFBRobotReborn(curNPC, strengthenLV)
-        
     return
 
 def __OnFBRobotReborn(curNPC, npcLV):
@@ -1193,11 +1078,7 @@
         PlayerGubao.AddGubaoItemEffValue(curPlayer, PlayerGubao.GubaoEffType_KillCrossDemonLandBoss, 1)
         PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_CrossDemonLandBoss, 1)
     if mapID in [ChConfig.Def_FBMapID_CrossPenglai, ChConfig.Def_FBMapID_CrossDemonLand]:
-        PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_CrossBoss)
         PlayerTongTianLing.AddTongTianTaskValue(curPlayer, ChConfig.TTLTaskType_CrossBoss, 1)
-        
-    if npcData.GetIsBoss() == ChConfig.Def_NPCType_Boss_Dark:
-        PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_KillBoss)
         
     # 个人首杀记录
     ipyData = IpyGameDataPY.GetIpyGameDataNotLog("BOSSFirstKill", npcID)
@@ -3434,7 +3315,6 @@
         else:
             if GetNPCLV(curNPC) >= curPlayer.GetLV() - IpyGameDataPY.GetFuncCfg('DailyQuestKillMonster'):
                 PlayerActivity.AddDailyActionFinishCnt(curPlayer, ShareDefine.DailyActionID_KillNPC)
-                PlayerActGarbageSorting.AddActGarbageTaskProgress(curPlayer, ChConfig.Def_GarbageTask_KillNPC)
                 PlayerActTask.AddActTaskValue(curPlayer, ChConfig.ActTaskType_KillNPC)
             PlayerSuccess.DoAddSuccessProgress(curPlayer, ShareDefine.SuccType_FeastRedPack_KillSpecificNPC, 1, [npcID])
         #PlayerPrestigeSys.AddRealmTaskValue(curPlayer, PlayerPrestigeSys.RealmTaskType_KillNPC, 1)

--
Gitblit v1.8.0