From 03fdb924f00ceb435105d23f1ef4be488cc03b0a Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期二, 11 六月 2024 19:35:49 +0800
Subject: [PATCH] 8605 【主干】【港台】【越南】【砍树】【后端】集字活动boss掉字优化,支持单次掉落多种字;

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py |   17 ++++++++++++++---
 1 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py
index ae6aa90..0a5446e 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/AttackLogic/Player_Attack_NormalNPC.py
@@ -62,9 +62,21 @@
 #  @remarks 函数详细说明.
 def GetTagRelation(curPlayer, curTagNormalNPC, skill, tick):
     defenderCampType = NPCCommon.GetFaction(curTagNormalNPC)
+    curFaction = curPlayer.GetFaction()
+    if curFaction and defenderCampType:
+        if curFaction == defenderCampType:
+            return ChConfig.Type_Relation_Friend , ChConfig.Def_PASysMessage_None
+        return ChConfig.Type_Relation_Enemy , ChConfig.Def_PASysMessage_None
     #不攻击正义的需要去保护的 这里有女神和守卫
-    if defenderCampType == ChConfig.CampType_Justice:
+    elif defenderCampType == ChConfig.CampType_Justice:
         return ChConfig.Type_Relation_Friend, ChConfig.Def_PASysMessage_None
+    
+    #私有木桩只能自己打自己的
+    if curTagNormalNPC.GetType() in [ChConfig.ntPriWoodPilePVE, ChConfig.ntPriWoodPilePVP]:
+        summonPlayerID = curTagNormalNPC.GetDictByKey(ChConfig.Def_NPC_Dict_PriWoodPilePlayerID)
+        if curPlayer.GetPlayerID() != summonPlayerID:
+            return ChConfig.Type_Relation_Friend , ChConfig.Def_PASysMessage_None
+        return ChConfig.Type_Relation_Enemy , ChConfig.Def_PASysMessage_None
     
     return ChConfig.Type_Relation_Enemy , ChConfig.Def_PASysMessage_None
 
@@ -111,11 +123,10 @@
     
     if GameObj.GetHP(curTagNormalNPC) <= 0:
         if not ChNPC.OnCheckCanDie(curPlayer, curTagNormalNPC, skill, tick):
-            GameObj.SetHP(curTagNormalNPC, 1)
             return
         #执行击杀NPC逻辑
-        FBLogic.DoFB_Player_KillNPC(curPlayer , curTagNormalNPC , tick)
         NPCCommon.OnPlayerAttackNPCDie(curTagNormalNPC, curPlayer, skill)
+        FBLogic.DoFB_Player_KillNPC(curPlayer , curTagNormalNPC , tick)
         #NPC死亡
         curTagNormalNPCControl = NPCCommon.NPCControl(curTagNormalNPC)
         curTagNormalNPCControl.SetKilled()

--
Gitblit v1.8.0