From efc4f490488935020d1b58a451a396ee420de9da Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 06 八月 2025 18:21:05 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(NPC、技能使用新表N.NPC表卡牌、J.技能表卡牌;重构战斗系统;优化战利品掉落;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py |   51 ++++++++++++++++++++++++---------------------------
 1 files changed, 24 insertions(+), 27 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 9080305..a6a329f 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/NPC/NPCCommon.py
@@ -129,12 +129,12 @@
             return realmNPCIpyData.GetLV()
     return curNPC.GetLV()
 
-def GetNPCDataEx(npcID):
-    ## 获取NPC扩展数据表,可热更
-    npcDataEx = IpyGameDataPY.GetIpyGameDataNotLog("NPCEx", npcID)
+def GetNPCDataPy(npcID):
+    ## 获取NPC数据表,py自定义的表,可热更
+    npcDataEx = IpyGameDataPY.GetIpyGameDataNotLog("NPC", npcID)
     if not npcDataEx:
         if False: # 不可能成立的条件,只为了 . 出代码提示
-            npcDataEx = IpyGameDataPY.IPY_NPCEx()
+            npcDataEx = IpyGameDataPY.IPY_NPC()
         return npcDataEx
     return npcDataEx
 
@@ -142,11 +142,9 @@
 def SetRealmLV(curNPC, realmLV): return curNPC.SetMAtkMin(realmLV)      # NPC表中此字段含义改成境界等级
 def GetIsLVSuppress(curNPC): return curNPC.GetWindDef() # 风防代表是否等级压制
 def GetFightPowerLackAtkLimit(curNPC): # 战力不足限制攻击,默认不限制
-    npcDataEx = GetNPCDataEx(curNPC.GetNPCID())
-    return npcDataEx.GetFightPowerLackAtkLimit() if npcDataEx else 0
-def GetSuppressFightPower(curNPC):
-    npcDataEx = GetNPCDataEx(curNPC.GetNPCID())
-    return npcDataEx.GetSuppressFightPower() if npcDataEx else curNPC.GetThunderDef() # 雷防代表压制战力
+    return 0
+def GetSuppressFightPower(curNPC): # 压制战力
+    return 0
 def SetSuppressFightPower(curNPC, value): return curNPC.SetThunderDef(min(value, ShareDefine.Def_UpperLimit_DWord))
 def GetCommendFightPower(curNPC): return curNPC.GetFireDef() # 火防代表推荐战力
 def GetDropOwnerType(curNPC): return curNPC.GetThunderAtk() # 雷攻代表掉落归属类型
@@ -1124,19 +1122,18 @@
             
     # C++设置npc死亡
     notifyClient = True
-    tfMgr = TurnAttack.GetTurnFightMgr()
-    turnFight = tfMgr.getNPCTurnFight(objID)
-    if turnFight:
-        notifyClient = False # 回合制战斗的由py自己通知
-        # //04 07 NPC消失#tagNPCDisappear 此处通知消失,与回合制死亡区分
-        clientPack = ChNetSendPack.tagNPCDisappear()
-        clientPack.NPCID = [objID]
-        clientPack.Count = len(clientPack.NPCID)
-        turnFight.addBatPack(clientPack)
+    #tfMgr = TurnAttack.GetTurnFightMgr()
+    #turnFight = tfMgr.getNPCTurnFight(objID)
+    #if turnFight:
+    #    notifyClient = False # 回合制战斗的由py自己通知
+    #    # //04 07 NPC消失#tagNPCDisappear 此处通知消失,与回合制死亡区分
+    #    clientPack = ChNetSendPack.tagNPCDisappear()
+    #    clientPack.NPCID = [objID]
+    #    clientPack.Count = len(clientPack.NPCID)
+    #    turnFight.addBatPack(clientPack)
     curNPC.SetDead(curNPC.GetDictByKey(ChConfig.Def_NPCDead_Reason),
                    curNPC.GetDictByKey(ChConfig.Def_NPCDead_KillerType),
                    curNPC.GetDictByKey(ChConfig.Def_NPCDead_KillerID), notifyClient)
-    tfMgr.delNPCGUID(objID)
     return
 
 def GameServer_KillGameWorldBoss(bossID, killPlayerName, hurtValue, isNotify=True, killerIDList=[]):
@@ -2444,13 +2441,13 @@
     
     def __notifyAppear(self):
         ## //04 06 NPC出现#tagNPCAppear,可能也有 04 08 玩家召唤NPC出现#tagPlayerSummonNPCAppear,卡牌先简化,只使用0406
-        curNPC = self.__Instance
-        objID = curNPC.GetID()
-        turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(objID)
-        if not turnFight:
-            # 非回合制怪保留原通知
-            curNPC.NotifyAppear()
-            return
+        #curNPC = self.__Instance
+        #objID = curNPC.GetID()
+        #turnFight = TurnAttack.GetTurnFightMgr().getNPCTurnFight(objID)
+        #if not turnFight:
+        #    # 非回合制怪保留原通知
+        #    curNPC.NotifyAppear()
+        #    return
         
         # 回合制怪不通知,统一由 // B4 24 回合战斗初始化 #tagSCTurnFightInit
         return
@@ -2583,7 +2580,7 @@
                                  ChConfig.AttrID_MaxHP:3000000000,
                                  })
         else:
-            npcDataEx = GetNPCDataEx(curNPC.GetNPCID())
+            npcDataEx = GetNPCDataPy(curNPC.GetNPCID())
             if not npcDataEx:
                 return
             heroAttrDict.update({

--
Gitblit v1.8.0