From 3beded4a9ae2e126158d89a4e7048f595ea0bc1b Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期一, 25 八月 2025 12:01:24 +0800
Subject: [PATCH] 129 【战斗】战斗系统-服务端(技能触发来源触发逻辑优化;增加承伤盾支持,0428通知buff相关值;增加嘲讽支持,优化技能选择目标逻辑;增加连击、反击、格挡、暴击、通用击晕支持;)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py |  130 ++++++++++++++++++++-----------------------
 1 files changed, 60 insertions(+), 70 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
index 761950d..78630bc 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Player/PlayerRefineStove.py
@@ -25,10 +25,7 @@
 import ShareDefine
 import ItemCommon
 import PlayerSuccess
-import PlayerAttrFruit
 import IpyGameDataPY
-import EventShell
-import PlayerActivity
 import PlayerFairyCeremony
 import PlayerNewFairyCeremony
 import PlayerActGarbageSorting
@@ -132,9 +129,6 @@
             GameWorld.DebugLog("配方材料不足!alchemyID=%s,needMaterialDict=%s,lackItemDict=%s,hasItemDict=%s"
                                % (alchemyItemID, needMaterialDict, lackItemDict, delInfoDict), playerID)
             return
-        #任务
-        for _ in xrange(refineTimes):
-            EventShell.EventRespons_RefineItem(curPlayer, alchemyQuality, alchemyItemID)
             
         #扣消耗
         ItemCommon.DelCostItem(curPlayer, itemPack, delInfoDict, ChConfig.ItemDel_Alchemy)
@@ -226,10 +220,6 @@
             notNotifyItemIDList = IpyGameDataPY.GetFuncEvalCfg("AlchemyNotify", 3)
             if alchemyItemID not in notNotifyItemIDList and (alchemyItemID in needNotifyItemIDList or makeItemData.GetItemColor() >= notifyColor):
                 PlayerControl.WorldNotify(0, "AchemyGreatSuccess", [curPlayer.GetPlayerName(), alchemyItemID])
-
-#        #任务,改为开始炼丹触发
-#        for _ in xrange(refineTimes):
-#            EventShell.EventRespons_RefineItem(curPlayer, alchemyQuality, alchemyItemID)
         #重置
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyItemID % alchemType, 0)
         PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyStartTime % alchemyID, 0)
@@ -280,7 +270,6 @@
         alchemyLV += 1
         GameWorld.DebugLog("    炼丹升级: alchemyLV=%s,alchemyExp=%s" % (alchemyLV, alchemyExp), curPlayer.GetPlayerID())
         isLVUp = True
-        EventShell.EventRespons_RefineStoveUp(curPlayer, alchemyLV)
     PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyExp, alchemyExp)
     if not isLVUp:
         return False
@@ -331,10 +320,10 @@
 
 def CalcStoveAttr(curPlayer):
     # 果实加成
-    allAttrYaoList = [{} for _ in range(4)]
-    fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrYaoList, ShareDefine.Def_AttrFruitFunc_Stove)
-    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_StoveYao, allAttrYaoList)
-    PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_StoveYao, fightPowerEx)
+#    allAttrYaoList = [{} for _ in range(4)]
+#    fightPowerEx = PlayerAttrFruit.CalcAttrFruitAddAtrr(curPlayer, allAttrYaoList, ShareDefine.Def_AttrFruitFunc_Stove)
+#    PlayerControl.SetCalcAttrListValue(curPlayer, ChConfig.Def_CalcAttrFunc_StoveYao, allAttrYaoList)
+#    PlayerControl.SetMFPExFightPower(curPlayer, ShareDefine.Def_MFPType_StoveYao, fightPowerEx)
     return
 
 
@@ -346,62 +335,63 @@
 #    tagHead        Head;
 #};
 def PlayerPrayElixir(index, clientPack, tick):
-    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
-    prayCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyPrayCnt)
-    limitCnt = PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_PrayElixir)
-    if prayCnt >= limitCnt:
-        GameWorld.DebugLog('今日祈福丹药次数已满!prayCnt=%s' % prayCnt)
-        return
-    packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, 1)
-    if not packSpace:
-        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
-        return
-
-    alchemyItemList = IpyGameDataPY.GetFuncEvalCfg('GodAlchemy')
-
-    newItemInfoList = []
-    for itemInfo in alchemyItemList:
-        itemID = itemInfo[1]
-#        if not GetIsCanOutByAlchemyLV(curPlayer, itemID):
-#            #GameWorld.DebugLog('祈福丹药,炼丹等级未达到,移除产出库!itemID=%s'%itemID)
-#            continue
-        if PlayerAttrFruit.IsFruitEatFull(curPlayer, itemID):
-            #GameWorld.DebugLog('祈福丹药,使用次数已满,移除产出库!itemID=%s'%itemID)
-            continue
-        newItemInfoList.append(itemInfo)
-    if not newItemInfoList:
-        GameWorld.DebugLog('祈福丹药,没有丹药可产出!!')
-        return
-
-    makeItemInfo = GameWorld.GetResultByWeightList(newItemInfoList)
-    if not makeItemInfo:
-        GameWorld.DebugLog("祈福丹药, 结果错误!")
-        return
-
-    makeItemID, itemCount = makeItemInfo
-    makeItemData = GameWorld.GetGameData().GetItemByTypeID(makeItemID)
-    if not makeItemData:
-        return
-
-    costMoney = IpyGameDataPY.GetFuncCfg('GodAlchemy', 2)
-    if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, costMoney, ChConfig.Def_Cost_AlchemyPray):
-        return
-    #给物品
-    ItemControler.GivePlayerItem(curPlayer, makeItemID, itemCount, 0, [IPY_GameWorld.rptItem],
-                                 event=[ChConfig.ItemGive_Refine, False, {}])
-    #GameWorld.DebugLog('makeItemID=%s,newItemInfoList=%s'%(makeItemID, newItemInfoList))
-
-    #紫色及以上全服广播
-    notifyColor = IpyGameDataPY.GetFuncCfg("AlchemyNotify", 1)
-    needNotifyItemIDList = IpyGameDataPY.GetFuncEvalCfg("AlchemyNotify", 2)
-    notNotifyItemIDList = IpyGameDataPY.GetFuncEvalCfg("AlchemyNotify", 3)
-    if makeItemID not in notNotifyItemIDList and (makeItemID in needNotifyItemIDList or makeItemData.GetItemColor() >= notifyColor):
-        PlayerControl.WorldNotify(0, "BlastfurnaceBlessing", [curPlayer.GetPlayerName(), makeItemID])
-
-    #更新次数
-    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyPrayCnt, prayCnt + 1)
-    Sycn_AlchemyPrayMsg(curPlayer, makeItemID)
     return
+#    curPlayer = GameWorld.GetPlayerManager().GetPlayerByIndex(index)
+#    prayCnt = curPlayer.NomalDictGetProperty(ChConfig.Def_PDict_AlchemyPrayCnt)
+#    limitCnt = PlayerVip.GetPrivilegeValue(curPlayer, ChConfig.VIPPrivilege_PrayElixir)
+#    if prayCnt >= limitCnt:
+#        GameWorld.DebugLog('今日祈福丹药次数已满!prayCnt=%s' % prayCnt)
+#        return
+#    packSpace = ItemCommon.GetItemPackSpace(curPlayer, IPY_GameWorld.rptItem, 1)
+#    if not packSpace:
+#        PlayerControl.NotifyCode(curPlayer, "GeRen_chenxin_998371")
+#        return
+#
+#    alchemyItemList = IpyGameDataPY.GetFuncEvalCfg('GodAlchemy')
+#
+#    newItemInfoList = []
+#    for itemInfo in alchemyItemList:
+#        itemID = itemInfo[1]
+##        if not GetIsCanOutByAlchemyLV(curPlayer, itemID):
+##            #GameWorld.DebugLog('祈福丹药,炼丹等级未达到,移除产出库!itemID=%s'%itemID)
+##            continue
+#        if PlayerAttrFruit.IsFruitEatFull(curPlayer, itemID):
+#            #GameWorld.DebugLog('祈福丹药,使用次数已满,移除产出库!itemID=%s'%itemID)
+#            continue
+#        newItemInfoList.append(itemInfo)
+#    if not newItemInfoList:
+#        GameWorld.DebugLog('祈福丹药,没有丹药可产出!!')
+#        return
+#
+#    makeItemInfo = GameWorld.GetResultByWeightList(newItemInfoList)
+#    if not makeItemInfo:
+#        GameWorld.DebugLog("祈福丹药, 结果错误!")
+#        return
+#
+#    makeItemID, itemCount = makeItemInfo
+#    makeItemData = GameWorld.GetGameData().GetItemByTypeID(makeItemID)
+#    if not makeItemData:
+#        return
+#
+#    costMoney = IpyGameDataPY.GetFuncCfg('GodAlchemy', 2)
+#    if not PlayerControl.PayMoney(curPlayer, IPY_GameWorld.TYPE_Price_Gold_Money, costMoney, ChConfig.Def_Cost_AlchemyPray):
+#        return
+#    #给物品
+#    ItemControler.GivePlayerItem(curPlayer, makeItemID, itemCount, 0, [IPY_GameWorld.rptItem],
+#                                 event=[ChConfig.ItemGive_Refine, False, {}])
+#    #GameWorld.DebugLog('makeItemID=%s,newItemInfoList=%s'%(makeItemID, newItemInfoList))
+#
+#    #紫色及以上全服广播
+#    notifyColor = IpyGameDataPY.GetFuncCfg("AlchemyNotify", 1)
+#    needNotifyItemIDList = IpyGameDataPY.GetFuncEvalCfg("AlchemyNotify", 2)
+#    notNotifyItemIDList = IpyGameDataPY.GetFuncEvalCfg("AlchemyNotify", 3)
+#    if makeItemID not in notNotifyItemIDList and (makeItemID in needNotifyItemIDList or makeItemData.GetItemColor() >= notifyColor):
+#        PlayerControl.WorldNotify(0, "BlastfurnaceBlessing", [curPlayer.GetPlayerName(), makeItemID])
+#
+#    #更新次数
+#    PlayerControl.NomalDictSetProperty(curPlayer, ChConfig.Def_PDict_AlchemyPrayCnt, prayCnt + 1)
+#    Sycn_AlchemyPrayMsg(curPlayer, makeItemID)
+#    return
 
 
 def Sycn_AlchemyPrayMsg(curPlayer, itemID=0):

--
Gitblit v1.8.0