From 203ce0cc61f8da777c2a1046a1f736fb786b9741 Mon Sep 17 00:00:00 2001
From: hxp <ale99527@vip.qq.com>
Date: 星期三, 11 八月 2021 18:27:04 +0800
Subject: [PATCH] 9134 【BT3】【主干】新增物品获得活动积分(增加直接给货币物品类型65,A值数量,B值货币类型 主干冲突提交)

---
 ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
index c6fb9f3..fe590e0 100644
--- a/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
+++ b/ServerPython/ZoneServerGroup/map1_8G/MapServer/MapServerData/Script/Item/ItemControler.py
@@ -1014,8 +1014,6 @@
     def DoTransformItem(self, curPlayer, tagItem, event=["", False, {}]):
         ## 将特殊物品转化为对应数值
         itemID = tagItem.GetItemTypeID()
-        if itemID not in ChConfig.Def_TransformItemIDList:
-            return False
         itemCount = max(tagItem.GetUserAttr(ShareDefine.Def_IudetItemCount), tagItem.GetCount())
         eventName, isForceEvent, addDict = event
         if isForceEvent:
@@ -1023,6 +1021,14 @@
         addDict["reason_name_son"] = itemID
         addDict["GiveItemEvent"] = ChConfig.ItemGiveTypeDict.get(eventName, eventName) # 获取该物品的事件
         moneyEventName = ChConfig.Def_GiveMoney_TransformItem # 货币的事件类型,因为传进来的事件类型是物品的
+        if tagItem.GetType() == ChConfig.Def_ItemType_AutoUseMoney:
+            curEff = tagItem.GetEffectByIndex(0)
+            moneyCount = curEff.GetEffectValue(0) * tagItem.GetCount()
+            moneyType = curEff.GetEffectValue(1)
+            PlayerControl.GiveMoney(curPlayer, moneyType, moneyCount, moneyEventName, addDict)
+            return True
+        if itemID not in ChConfig.Def_TransformItemIDList:
+            return False
         if itemID == ChConfig.Def_ItemID_FamilyContribution:
             PlayerFamily.AddPlayerFamilyActiveValue(curPlayer, itemCount, True, ShareDefine.Def_AddFAVReason_UseItem, True)
         elif itemID == ChConfig.Def_ItemID_SilverMoney:
@@ -1115,7 +1121,7 @@
                     tagItem.Clear()
                     return True
                 
-        if itemID in ChConfig.Def_TransformItemIDList:
+        if itemID in ChConfig.Def_TransformItemIDList or tagItem.GetType() == ChConfig.Def_ItemType_AutoUseMoney:
             # 直接转化为对应货币的物品仅在放入背包时直接转化,否则还是以真实物品的形式存在,但堆叠上限需要做特殊处理
             if packIndex == IPY_GameWorld.rptItem:
                 self.DoTransformItem(curPlayer, tagItem, event)
@@ -1294,7 +1300,7 @@
             GameWorld.Log("找不到ItemID = %d" % curItemID)
             return False, 0 
         
-        if curItemID in ChConfig.Def_TransformItemIDList:
+        if curItemID in ChConfig.Def_TransformItemIDList or curItemData.GetType() == ChConfig.Def_ItemType_AutoUseMoney:
             # 货币直接转换的物品如果是放入背包的则直接转化,无需暂用格子
             if packIndex == IPY_GameWorld.rptItem:
                 return True, 0
@@ -2321,7 +2327,7 @@
 #    if isAuctionItem:
 #        if IpyGameDataPY.GetIpyGameDataNotLog("AuctionItem", itemData.GetItemTypeID()):
 #            return 1
-    if itemData.GetItemTypeID() in ChConfig.Def_TransformItemIDList:
+    if itemData.GetItemTypeID() in ChConfig.Def_TransformItemIDList or itemData.GetType() == ChConfig.Def_ItemType_AutoUseMoney:
         # 货币直接转换的物品如果是放入背包的则不需要暂用格子,放入其他的背包的则按物品叠加上限算
         if packType == IPY_GameWorld.rptItem:
             return 0

--
Gitblit v1.8.0