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