From 8ad500e682b83c0b78c3f527c66fad529c0db5fd Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期四, 28 八月 2025 10:43:15 +0800
Subject: [PATCH] 102 【主界面】官职晋升-服务端(初始官职改为0)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py |   22 +++++++++++++++-------
 1 files changed, 15 insertions(+), 7 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
index a12550f..f595ce4 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Attack/TurnAttack.py
@@ -20,11 +20,11 @@
 #-------------------------------------------------------------------------------
 
 import ChConfig
+import PlayerTask
 import ChPyNetSendPack
 import NetPackCommon
 import PlayerControl
 import GameWorld
-import GameObj
 import FBCommon
 import IpyGameDataPY
 import PlayerOnline
@@ -33,7 +33,6 @@
 import PyGameData
 import ItemControler
 import SkillCommon
-import AttackCommon
 import BattleObj
 import TurnPassive
 import TurnSkill
@@ -1153,20 +1152,24 @@
                 buffMgr = batObj.GetBuffManager()
                 for index in range(buffMgr.GetBuffCount())[::-1]:
                     buff = buffMgr.GetBuffByIndex(index)
+                    buffID = buff.GetBuffID()
+                    skillID = buff.GetSkillID()
+                    skillData = buff.GetSkillData()
+                    if skillData.GetSkillType() in ChConfig.Def_LstBuff_List:
+                        #GameWorld.DebugLog("    持续类buff由触发时机决定剩余时间! curID=%s,index=%s,skillID=%s,buffID=%s" % (curID, index, skillID, buffID))
+                        continue
                     remainTime = buff.GetRemainTime()
                     if not remainTime:
                         # 永久buff不处理
-                        #GameWorld.DebugLog("    永久buff不处理! curID=%s,index=%s,skillID=%s" % (curID, index, buff.GetSkillID()))
+                        #GameWorld.DebugLog("    永久buff不处理! curID=%s,index=%s,skillID=%s" % (curID, index, skillID))
                         continue
                     calcTimeline = buff.GetCalcTime()
                     passTurn = __calcPassturn(calcTimeline, nowTimeline, False)
                     if passTurn <= 0:
-                        #GameWorld.DebugLog("    passTurn <= 0 passTurn=%s,calcTimeline=%s,nowTimeline=%s,skillID=%s" % (passTurn, calcTimeline, nowTimeline, buff.GetSkillID()))
+                        #GameWorld.DebugLog("    passTurn <= 0 passTurn=%s,calcTimeline=%s,nowTimeline=%s,skillID=%s" % (passTurn, calcTimeline, nowTimeline, skillID))
                         continue
                     
                     updRemainTime = max(0, remainTime - passTurn)
-                    buffID = buff.GetBuffID()
-                    skillID = buff.GetSkillID()
                     GameWorld.DebugLog("更新buff剩余回合数: curID=%s,buffID=%s,skillID=%s,updRemainTime=%s,calcTimeline=%s,passTurn=%s" 
                                        % (curID, buffID, skillID, updRemainTime, calcTimeline, passTurn))
                     if updRemainTime > 0:
@@ -1345,7 +1348,12 @@
     clientPack.ObjID = objID
     clientPack.KillerObjID = killerObjID
     clientPack.SkillID = skillID
-    turnFight.addBatPack(clientPack)        
+    turnFight.addBatPack(clientPack)
+    
+    curPlayer = turnFight.curPlayer
+    # 暂时只算主线小怪
+    if curPlayer and turnFight.mapID == ChConfig.Def_FBMapID_Main and gameObj.GetFaction() != ChConfig.Def_FactionA:
+        PlayerTask.AddTaskValue(curPlayer, ChConfig.TaskType_KillNPC, 1)    
     return True
 
 def OnTurnAllOver(guid):

--
Gitblit v1.8.0